:root{--navy:#164A73;--navy-dark:#103A5C;--bg:#F5F7FA;--surface:#FFFFFF;--border:#DCE3EA;--text:#17212B;--text-2:#66717D;--success:#198754;--warning:#D98E04;--danger:#C93C37;--info:#2878B5;--navy-soft:#E7EEF5;--success-soft:#E4F1EA;--warning-soft:#FBF0DB;--danger-soft:#F8E6E5;--info-soft:#E3EEF7;--gray-soft:#EEF1F4;--s-1:8px;--s-2:16px;--s-3:24px;--s-4:32px;--s-5:40px;--r-input:8px;--r-card:12px;--r-pill:999px;--shadow-sm:0 1px 2px rgba(16,58,92,0.05);--shadow-md:0 4px 12px rgba(16,58,92,0.08);--sidebar-w:264px;--sidebar-w-collapsed:72px;--topbar-h:64px;--font:"Inter","Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4,h5{margin:0;font-weight:700;color:var(--text)}p,ul{margin:0}ul{padding:0;list-style:none}.t-page{font-size:22px;font-weight:700;letter-spacing:-.01em}.t-section{font-size:16px;font-weight:700}.t-card{font-size:15px;font-weight:600}.t-body{font-size:14px;font-weight:400}.t-support{font-size:13px;color:var(--text-2)}.t-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.muted,.t-label{color:var(--text-2)}.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--navy-dark);color:#DCE6F0;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:60;transition:transform .25s ease,width .2s ease}.sidebar,.sidebar__brand{flex-shrink:0;display:flex}.sidebar__brand{height:auto;align-items:center;gap:12px;padding:0;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar__logo{width:100%;height:auto;flex-shrink:0;object-fit:contain;display:block;padding:0;margin:0}.sidebar__brand-text{line-height:1.25;overflow:hidden}.sidebar__brand-text b{color:#fff;font-size:16px;letter-spacing:.02em;display:block}.sidebar__brand-text span{display:block;font-size:11.5px;color:#9FB4C9;white-space:nowrap}.sidebar__nav{flex:1 1;overflow-y:auto;padding:var(--s-2) var(--s-1)}.sidebar__group-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#7C93AB;padding:var(--s-2) var(--s-2) var(--s-1)}.nav-item{display:flex;align-items:center;gap:12px;padding:10px var(--s-2);margin:2px 0;border-radius:8px;color:#C6D4E3;font-size:13.5px;font-weight:500;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.nav-item:hover{background:rgba(255,255,255,.07);color:#fff;text-decoration:none}.nav-item.active{background:var(--navy);color:#fff;font-weight:600}.nav-item .ico{width:18px;height:18px;flex-shrink:0;opacity:.9}.nav-item .caret{margin-left:auto;transition:transform .2s}.nav-item.open .caret{transform:rotate(90deg)}.nav-sub{overflow:hidden;max-height:0;transition:max-height .25s ease}.nav-sub.open{max-height:320px}.nav-sub .nav-item{padding-left:46px;font-size:13px}.badge-count{margin-left:auto;background:var(--danger);color:#fff;font-size:11px;font-weight:700;border-radius:var(--r-pill);min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center}.app.collapsed .sidebar{width:var(--sidebar-w-collapsed)}.app.collapsed .badge-count,.app.collapsed .nav-item .caret,.app.collapsed .nav-item span:not(.ico),.app.collapsed .sidebar__brand-text,.app.collapsed .sidebar__group-label{display:none}.app.collapsed .nav-item{justify-content:center;padding:10px}.app.collapsed .nav-sub{display:none}.app.collapsed .main{margin-left:var(--sidebar-w-collapsed)}.main{flex:1 1;margin-left:var(--sidebar-w);min-width:0;display:flex;flex-direction:column;transition:margin .2s ease}.topbar{height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:var(--s-2);padding:0 var(--s-3);position:-webkit-sticky;position:sticky;top:0;z-index:50}.topbar__toggle{background:none;border:none;padding:8px;border-radius:8px;color:var(--text-2);display:grid;place-items:center}.topbar__toggle:hover{background:var(--gray-soft);color:var(--text)}.topbar__titles{min-width:0}.breadcrumb{font-size:12px;display:flex;gap:6px;flex-wrap:wrap}.breadcrumb,.breadcrumb a{color:var(--text-2)}.breadcrumb .sep{opacity:.6}.breadcrumb .current{color:var(--text);font-weight:500}.topbar__page-title{font-size:16px;font-weight:700;line-height:1.2}.topbar__spacer{flex:1 1}.topbar__actions{display:flex;align-items:center;gap:6px}.icon-btn{background:none;border:1px solid transparent;width:38px;height:38px;border-radius:8px;display:grid;place-items:center;color:var(--text-2);position:relative}.icon-btn:hover{background:var(--gray-soft);color:var(--text)}.icon-btn .dot{position:absolute;top:8px;right:9px;width:8px;height:8px;background:var(--danger);border-radius:50%;border:2px solid var(--surface)}.user-chip{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 6px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface)}.user-chip:hover{background:var(--gray-soft)}.avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}.user-chip__meta{text-align:left;line-height:1.15}.user-chip__meta b{font-size:13px}.user-chip__meta span{display:block;font-size:11px;color:var(--text-2)}.page{padding:var(--s-3);flex:1 1}.page-head{display:flex;align-items:flex-start;gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap}.page-head__text{flex:1 1;min-width:200px}.page-head__text h1{font-size:22px;letter-spacing:-.01em}.page-head__text p{color:var(--text-2);margin-top:4px;font-size:13.5px}.page-head__actions{display:flex;gap:var(--s-1);flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--r-input);font-size:13.5px;font-weight:600;border:1px solid transparent;background:var(--gray-soft);color:var(--text);white-space:nowrap}.btn:hover{text-decoration:none;filter:brightness(.97)}.btn:focus-visible{outline:2px solid var(--info);outline-offset:2px}.btn .ico{width:16px;height:16px}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-dark);filter:none}.btn-outline{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-outline:hover{background:var(--gray-soft)}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--gray-soft);color:var(--text)}.btn-sm{height:32px;padding:0 12px;font-size:12.5px}.btn-icon{width:38px;padding:0}.btn-block{width:100%}.btn[disabled]{opacity:.5;pointer-events:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-sm)}.card__head{display:flex;align-items:center;gap:var(--s-1);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border)}.card__head h3{font-size:15px}.card__head .muted{font-size:12.5px}.card__head .spacer{flex:1 1}.card__body{padding:var(--s-3)}.card__foot{padding:var(--s-2) var(--s-3);border-top:1px solid var(--border)}.stat-grid{display:grid;grid-gap:var(--s-2);gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));margin-bottom:var(--s-3)}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s-2) var(--s-3);display:flex;flex-direction:column;gap:10px}.stat__top{display:flex;align-items:center;justify-content:space-between}.stat__icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center}.stat__label{font-size:12.5px;color:var(--text-2);font-weight:500}.stat__value{font-size:26px;font-weight:700;line-height:1;letter-spacing:-.02em}.stat__delta{font-size:12px;display:inline-flex;align-items:center;gap:4px}.stat__delta.up{color:var(--success)}.stat__delta.down{color:var(--danger)}.i-navy{background:var(--navy-soft);color:var(--navy)}.i-success{background:var(--success-soft);color:var(--success)}.i-warning{background:var(--warning-soft);color:var(--warning)}.i-danger{background:var(--danger-soft);color:var(--danger)}.i-info{background:var(--info-soft);color:var(--info)}.i-gray{background:var(--gray-soft);color:var(--text-2)}.grid{display:grid;grid-gap:var(--s-3);gap:var(--s-3)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2-1{grid-template-columns:2fr 1fr}.grid-1-1{grid-template-columns:1fr 1fr}@media (max-width:1100px){.grid-1-1,.grid-2,.grid-2-1,.grid-3{grid-template-columns:1fr}}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge.no-dot:before{display:none}.b-success{background:var(--success-soft);color:#146c44}.b-warning{background:var(--warning-soft);color:#a06b02}.b-danger{background:var(--danger-soft);color:#a72f2b}.b-info{background:var(--info-soft);color:#1f5f92}.b-navy{background:var(--navy-soft);color:var(--navy)}.b-gray{background:var(--gray-soft);color:var(--text-2)}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data td,table.data th{padding:12px var(--s-2);text-align:left;vertical-align:middle}table.data thead th{font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-2);font-weight:600;background:#FAFBFC;border-bottom:1px solid var(--border);white-space:nowrap;position:-webkit-sticky;position:sticky;top:0}table.data th.sortable{cursor:pointer}table.data th.sortable:after{content:" ↕";opacity:.4}table.data tbody td{border-bottom:1px solid var(--border)}table.data tbody tr:hover{background:#FAFBFC}table.data tbody tr:last-child td{border-bottom:none}table.data .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cell-vehicle{display:flex;align-items:center;gap:10px}.thumb{width:44px;height:34px;border-radius:6px;object-fit:cover;background:var(--gray-soft);flex-shrink:0;border:1px solid var(--border)}.thumb.round{width:34px;height:34px;border-radius:50%}.plate{display:inline-block;font-weight:700;letter-spacing:.5px;background:#17212B;color:#fff;padding:2px 8px;border-radius:5px;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.row-actions{display:flex;gap:4px;justify-content:flex-end}.toolbar{display:flex;gap:var(--s-1);align-items:center;flex-wrap:wrap;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border)}.toolbar .spacer{flex:1 1}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--s-2)}.field label{font-size:13px;font-weight:600;color:var(--text)}.field label .req{color:var(--danger);margin-left:2px}.field .hint{font-size:12px;color:var(--text-2)}.field .error-msg{font-size:12px;color:var(--danger);display:none;align-items:center;gap:4px}.field.has-error .error-msg{display:flex}.field.has-error .input,.field.has-error .select{border-color:var(--danger)}.input,.select,textarea.input{height:38px;border:1px solid var(--border);border-radius:var(--r-input);padding:0 12px;font-size:13.5px;color:var(--text);background:var(--surface);width:100%;font-family:inherit}textarea.input{height:auto;padding:10px 12px;resize:vertical;min-height:80px;line-height:1.5}.input:focus,.select:focus,textarea.input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(22,74,115,.12)}.input::placeholder{color:#9AA5B1}.input[disabled],.select[disabled]{background:var(--gray-soft);color:var(--text-2)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2366717D' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.input-group{position:relative}.input-group .input{padding-left:36px}.input-group .in-ico{left:11px;pointer-events:none}.input-group .in-btn,.input-group .in-ico{position:absolute;top:50%;transform:translateY(-50%);color:var(--text-2)}.input-group .in-btn{right:6px;background:none;border:none;padding:6px;border-radius:6px}.input-group .in-btn:hover{background:var(--gray-soft)}.search-field{max-width:320px}.check{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--navy)}.switch{position:relative;width:40px;height:22px;display:inline-block}.switch input{opacity:0;width:0;height:0}.switch .track{position:absolute;inset:0;background:#C4CDD6;border-radius:var(--r-pill);transition:.2s}.switch .track:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+.track{background:var(--success)}.switch input:checked+.track:before{transform:translateX(18px)}.form-section{margin-bottom:var(--s-3)}.form-section__title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;margin-bottom:var(--s-2);padding-bottom:10px;border-bottom:1px solid var(--border)}.form-section__title .n{width:22px;height:22px;border-radius:6px;background:var(--navy-soft);color:var(--navy);display:grid;place-items:center;font-size:12px}.form-grid{display:grid;grid-gap:0 var(--s-2);gap:0 var(--s-2);grid-template-columns:1fr 1fr}.form-grid .col-2{grid-column:1/-1}@media (max-width:720px){.form-grid{grid-template-columns:1fr}}.form-actions{display:flex;gap:var(--s-1);justify-content:flex-end;padding-top:var(--s-2);border-top:1px solid var(--border)}.form-actions .left{margin-right:auto}.uploader{border:2px dashed var(--border);border-radius:var(--r-card);padding:var(--s-3);text-align:center;color:var(--text-2);background:#FAFBFC;cursor:pointer}.uploader.drag,.uploader:hover{border-color:var(--navy);background:var(--navy-soft)}.uploader .up-ico{width:40px;height:40px;margin:0 auto var(--s-1);color:var(--navy)}.uploader b{color:var(--text)}.file-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;margin-top:8px}.file-item .f-ico{width:34px;height:34px;border-radius:8px;background:var(--info-soft);color:var(--info);display:grid;place-items:center;flex-shrink:0}.file-item .f-meta{flex:1 1;min-width:0}.file-item .f-meta b{font-size:13px}.file-item .f-meta span{font-size:11.5px;color:var(--text-2)}.progress{height:6px;background:var(--gray-soft);overflow:hidden;margin-top:6px}.progress,.progress>span{border-radius:var(--r-pill)}.progress>span{display:block;height:100%;background:var(--navy)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);overflow-x:auto}.tab{padding:12px 16px;font-size:13.5px;font-weight:600;color:var(--text-2);white-space:nowrap;cursor:pointer;background:none;border:none;border-bottom:2px solid transparent}.tab:hover{color:var(--text)}.tab.active{color:var(--navy);border-bottom-color:var(--navy)}.tab .count{background:var(--gray-soft);color:var(--text-2);border-radius:var(--r-pill);font-size:11px;padding:1px 7px;margin-left:6px}.tab.active .count{background:var(--navy-soft);color:var(--navy)}.tab-panel{display:none}.tab-panel.active{display:block}.stepper{gap:0;margin-bottom:var(--s-3)}.step,.stepper{display:flex;align-items:center}.step{gap:12px;flex:1 1}.step__num{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--gray-soft);color:var(--text-2);flex-shrink:0;border:2px solid transparent}.step__text b{font-size:13.5px;display:block}.step__text span{font-size:12px;color:var(--text-2)}.step__line{flex:1 1;height:2px;background:var(--border);margin:0 12px}.step.active .step__num{background:var(--navy);color:#fff}.step.done .step__num{color:#fff}.step.done .step__line,.step.done .step__num{background:var(--success)}.timeline{position:relative;padding-left:28px}.timeline:before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--border)}.tl-item{position:relative;padding-bottom:var(--s-3)}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";position:absolute;left:-24px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--surface);border:3px solid var(--navy)}.tl-item.done:before{border-color:var(--success)}.tl-item.late:before{border-color:var(--danger)}.tl-date{font-size:12px;color:var(--text-2);font-weight:600}.tl-card{background:#FAFBFC;border:1px solid var(--border);border-radius:10px;padding:var(--s-2);margin-top:6px}.tl-card h4{font-size:14px;margin-bottom:4px}.tl-meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12.5px;color:var(--text-2);margin-top:8px}.tl-meta b{color:var(--text);font-weight:600}.overlay{position:fixed;inset:0;background:rgba(23,33,43,.5);z-index:100;display:none;align-items:center;justify-content:center;padding:var(--s-2)}.modal,.overlay.open{display:flex}.modal{background:var(--surface);border-radius:var(--r-card);width:100%;max-width:520px;box-shadow:var(--shadow-md);max-height:90vh;flex-direction:column}.modal.lg{max-width:760px}.modal__head{display:flex;align-items:center;gap:var(--s-1);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border)}.modal__head h3{font-size:16px;flex:1 1}.modal__body{padding:var(--s-3);overflow-y:auto}.modal__foot{display:flex;gap:var(--s-1);justify-content:flex-end;padding:var(--s-2) var(--s-3);border-top:1px solid var(--border)}.confirm-ico{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin-bottom:var(--s-2)}.drawer{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:92vw;background:var(--surface);z-index:100;box-shadow:-4px 0 20px rgba(16,58,92,.12);transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawer__head{display:flex;align-items:center;gap:var(--s-1);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border)}.drawer__head h3{flex:1 1;font-size:15px}.drawer__body{padding:var(--s-3);overflow-y:auto;flex:1 1}.toast-wrap{position:fixed;bottom:var(--s-3);right:var(--s-3);z-index:200;flex-direction:column}.toast,.toast-wrap{display:flex;gap:10px}.toast{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--navy);border-radius:10px;box-shadow:var(--shadow-md);padding:12px 14px;align-items:flex-start;min-width:300px;max-width:380px}.toast.ok{border-left-color:var(--success)}.toast.warn{border-left-color:var(--warning)}.toast.err{border-left-color:var(--danger)}.toast b{font-size:13.5px}.toast p{font-size:12.5px;color:var(--text-2)}.toast .t-ico{flex-shrink:0;margin-top:1px}.alert{display:flex;gap:12px;padding:12px 16px;border-radius:10px;font-size:13px;align-items:flex-start}.alert .a-ico{flex-shrink:0;margin-top:1px}.alert b{font-weight:700}.alert-info{background:var(--info-soft);color:#1f5f92}.alert-warning{background:var(--warning-soft);color:#8a5d02}.alert-danger{background:var(--danger-soft);color:#a72f2b}.alert-success{background:var(--success-soft);color:#146c44}.empty,.error-state{text-align:center;padding:var(--s-5) var(--s-3);color:var(--text-2)}.empty__ico,.error-state__ico{width:64px;height:64px;border-radius:50%;background:var(--gray-soft);display:grid;place-items:center;margin:0 auto var(--s-2);color:var(--text-2)}.error-state__ico{background:var(--danger-soft);color:var(--danger)}.empty h3,.error-state h3{color:var(--text);margin-bottom:6px}.empty p,.error-state p{max-width:380px;margin:0 auto var(--s-2)}.skeleton{background:linear-gradient(90deg,#EDF1F5 25%,#E2E8EF 37%,#EDF1F5 63%);background-size:400% 100%;animation:sk 1.4s ease infinite}@keyframes sk{0%{background-position:100% 0}to{background-position:0 0}}.sk-line{height:12px;margin:8px 0}.sk-row{display:flex;gap:12px;align-items:center;padding:12px 0}.chart-bars{display:flex;align-items:flex-end;gap:10px;height:200px;padding-top:var(--s-2)}.chart-bars .bar-col{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.chart-bars .bar{width:100%;max-width:34px;background:var(--navy);border-radius:6px 6px 0 0;min-height:4px;transition:height .3s}.chart-bars .bar.alt{background:var(--info)}.chart-bars .bar-label{font-size:11px;color:var(--text-2)}.legend{display:flex;gap:var(--s-2);flex-wrap:wrap;font-size:12px;color:var(--text-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.donut{width:160px;height:160px;border-radius:50%;flex-shrink:0;display:grid;place-items:center}.donut:after{content:"";width:96px;height:96px;background:var(--surface);border-radius:50%}.donut-wrap{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap}.donut-legend{display:flex;flex-direction:column;gap:10px;font-size:13px}.donut-legend .row{display:flex;align-items:center;gap:8px}.donut-legend i{width:12px;height:12px;border-radius:3px}.donut-legend b{margin-left:auto}.bar-track{height:8px;background:var(--gray-soft);overflow:hidden}.bar-track,.bar-track>span{border-radius:var(--r-pill)}.bar-track>span{display:block;height:100%;background:var(--navy)}.list-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:none}.list-row .lr-main{flex:1 1;min-width:0}.list-row .lr-main b{font-size:13.5px}.list-row .lr-main span{font-size:12px;color:var(--text-2);display:block}.pagination{display:flex;align-items:center;gap:6px;justify-content:space-between;flex-wrap:wrap;padding:var(--s-2) var(--s-3)}.pagination .pages{display:flex;gap:4px}.page-btn{min-width:34px;height:34px;border:1px solid var(--border);background:var(--surface);border-radius:8px;font-size:13px;color:var(--text)}.page-btn:hover{background:var(--gray-soft)}.page-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}.page-btn[disabled]{opacity:.5;pointer-events:none}.menu{position:absolute;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:6px;min-width:200px;z-index:80;display:none}.menu.open{display:block}.menu a,.menu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 12px;border-radius:7px;font-size:13px;color:var(--text);background:none;border:none}.menu a:hover,.menu button:hover{background:var(--gray-soft);text-decoration:none}.menu a.danger,.menu button.danger{color:var(--danger)}.menu .divider{height:1px;background:var(--border);margin:6px 4px}.menu__head{padding:8px 12px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}.notif{display:flex;gap:12px;padding:12px;border-radius:10px}.notif:hover{background:var(--gray-soft)}.notif.unread{background:var(--navy-soft)}.notif .n-ico{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}.notif .n-body{flex:1 1;min-width:0}.notif .n-body b{font-size:13px}.notif .n-body p{font-size:12.5px;color:var(--text-2)}.notif .n-time{font-size:11px;color:var(--text-2)}.flex{display:flex}.items-center{align-items:center}.gap-1{gap:var(--s-1)}.gap-2{gap:var(--s-2)}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.mt-1{margin-top:var(--s-1)}.mt-2{margin-top:var(--s-2)}.mt-3{margin-top:var(--s-3)}.mb-1{margin-bottom:var(--s-1)}.mb-2{margin-bottom:var(--s-2)}.mb-3{margin-bottom:var(--s-3)}.text-right{text-align:right}.hidden{display:none!important}.divider-h{height:1px;background:var(--border);margin:var(--s-2) 0}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);background:var(--gray-soft);font-size:12px;color:var(--text)}.chip .x{cursor:pointer;opacity:.6}.kv{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.kv:last-child{border-bottom:none}.kv .k{color:var(--text-2)}.kv .v{font-weight:600;text-align:right}.scrim{position:fixed;inset:0;background:rgba(23,33,43,.45);z-index:55;display:none}.scrim.open{display:block}.card-list{display:none}.mini-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s-2);margin-bottom:var(--s-1)}.mini-card .mc-head{align-items:center;gap:8px;margin-bottom:8px}.mini-card .mc-head,.mini-card .mc-row{display:flex;justify-content:space-between}.mini-card .mc-row{font-size:12.5px;padding:3px 0}.mini-card .mc-row .k{color:var(--text-2)}@media (max-width:1024px){.sidebar{transform:translateX(-100%);box-shadow:4px 0 20px rgba(16,58,92,.15)}.sidebar.open{transform:translateX(0)}.app.collapsed .main,.main{margin-left:0}.page{padding:var(--s-2)}}@media (max-width:720px){.topbar{padding:0 var(--s-2);gap:var(--s-1)}.user-chip__meta{display:none}.page-head__actions{width:100%}.page-head__actions .btn{flex:1 1}.stat-grid{grid-template-columns:1fr 1fr}.stat__value{font-size:22px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.card-list,.table-wrap{display:block}.drawer{width:100%}.sticky-action{position:-webkit-sticky;position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--border);padding:var(--s-1) var(--s-2);margin:0 calc(-1 * var(--s-2));display:flex;gap:8px}.sticky-action .btn{flex:1 1}}@media (max-width:420px){.stat-grid{grid-template-columns:1fr}}@media print{.no-print,.sidebar,.topbar{display:none!important}.main{margin-left:0}.page{padding:0}body{background:#fff}.card{box-shadow:none;border:1px solid #ccc}}.print-doc{background:#fff;max-width:800px;margin:0 auto;padding:var(--s-4);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-sm)}.print-doc__kop{display:flex;gap:var(--s-2);align-items:center;border-bottom:3px double var(--text);padding-bottom:var(--s-2);margin-bottom:var(--s-3)}@keyframes skeleton-shimmer{to{background-position:-200% 0}}.skeleton{display:block;border-radius:6px;background:linear-gradient(90deg,#e8edf3 25%,#f8fafc 50%,#e8edf3 75%);background-size:200% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.skeleton-label{width:44%;height:12px}.skeleton-value{width:30%;height:29px;margin-top:18px}.skeleton-note{width:62%;height:11px;margin-top:12px}.skeleton-title{width:180px;height:18px}.skeleton-card .card__body{display:grid;grid-gap:18px;gap:18px;padding:24px 30px}.skeleton-form-line{height:15px;width:100%}.skeleton-form-line--1{width:82%}.skeleton-form-line--2{width:66%}.skeleton-form-line--3{width:88%}.skeleton-form-line--4{width:52%}.skeleton-chart .card__body{min-height:226px;align-content:end}.skeleton-table__body{padding:0 20px 16px}.skeleton-table__row{display:grid;grid-template-columns:repeat(var(--skeleton-columns,4),minmax(0,1fr));grid-gap:24px;gap:24px;align-items:center;min-height:50px;border-top:1px solid var(--border)}.skeleton-cell{height:13px}.skeleton-cell--0{width:72%}.skeleton-cell--1{width:88%}.skeleton-cell--2{width:56%}.skeleton-cell--3{width:66%}.topbar-profile-skeleton__avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0}.topbar-profile-skeleton__meta{display:grid;width:82px;grid-gap:5px;gap:5px}.topbar-profile-skeleton__name{width:76px;height:11px}.topbar-profile-skeleton__role{width:52px;height:9px}.topbar-profile-skeleton__menu{width:150px;height:13px}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.modal-form-skeleton{display:grid;grid-gap:8px;gap:8px}.modal-form-skeleton .skeleton-label{width:34%;margin-top:4px}.modal-form-skeleton .skeleton-input{width:100%;height:40px;margin-bottom:12px}.modal-form-skeleton .skeleton-detail-line{width:72%;height:18px;margin-bottom:14px}.chart-bars .bar-col{position:relative;cursor:pointer;outline:none}.chart-bars .bar-col:focus-visible .bar{box-shadow:0 0 0 3px rgba(22,74,115,.25)}.bar-tooltip{position:absolute;z-index:2;bottom:calc(100% - 4px);left:50%;width:max-content;max-width:160px;padding:6px 8px;border-radius:6px;background:#172b3a;color:#fff;font-size:11px;font-weight:600;line-height:1.3;opacity:0;pointer-events:none;transform:translate(-50%,6px);transition:opacity .15s ease,transform .15s ease}.bar-tooltip.is-visible{opacity:1;transform:translate(-50%)}.donut-tooltip{position:fixed;z-index:20;width:max-content;max-width:180px;padding:6px 8px;border-radius:6px;background:#172b3a;color:#fff;font-size:11px;font-weight:600;line-height:1.3;pointer-events:none;transform:translate(-50%,-100%)}.notification-menu{width:min(360px,calc(100vw - 24px));padding:8px;overflow:hidden;border-radius:14px;box-shadow:0 14px 34px rgba(22,74,115,.16)}.notification-menu__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 12px}.notification-menu__mark{width:auto!important;padding:4px 0!important;color:var(--navy)!important;font-size:11px!important;font-weight:700;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.notification-menu__mark:hover{background:transparent!important;color:var(--navy-dark)!important;text-decoration:underline!important}.notification-menu__item{align-items:flex-start;gap:12px;margin:4px 0;padding:14px;border:1px solid transparent;border-radius:12px;transition:background .15s,border-color .15s}.notification-menu__item.unread{background:#f1f6fa;border-color:#e4edf4}.notification-menu__item:hover{background:#eaf2f8;border-color:#d7e4ee}.notification-menu__item .n-ico{width:40px;height:40px;border-radius:11px}.notification-menu__item .n-body b{display:block;margin:1px 0 4px;font-size:13px;line-height:1.3}.notification-menu__item .n-body p{margin:0 0 6px;font-size:12.5px;line-height:1.45}.notification-menu__item .n-time{display:block;font-size:11px}.notification-menu .divider{margin:8px 4px}.notification-menu__all{justify-content:center!important;min-height:38px;color:var(--navy)!important;font-weight:600}.notification-menu__all:hover{background:var(--navy-soft)!important}.notification-menu__status{padding:24px 14px;color:var(--text-2);font-size:12.5px;text-align:center}.notification-menu__status--error{color:var(--danger)}.notification-menu__list{max-height:min(480px,calc(100vh - 110px));overflow-y:auto;overscroll-behavior:contain}.row-actions{position:relative;display:inline-flex}.table-wrap:has(.row-actions){overflow:visible}.row-menu{position:absolute;z-index:10;top:calc(100% + 4px);right:0;min-width:148px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-md)}.row-menu--up{top:auto;bottom:calc(100% + 4px)}.row-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.row-menu button:hover{background:var(--gray-soft)}.row-menu .row-menu__delete{color:var(--danger)}.row-menu .row-menu__delete:hover{background:#fff0f0}.row-menu .ico{width:16px;height:16px;color:var(--text-2)}.row-menu .row-menu__delete .ico{color:var(--danger)}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px 24px;gap:16px 24px;margin:0}.detail-list div{min-width:0}.detail-list dt{margin-bottom:4px;color:var(--text-2);font-size:12px}.detail-list dd{margin:0;overflow-wrap:anywhere;font-size:14px}.detail-list div:last-child{grid-column:1/-1}.vehicle-detail-photo img{display:block;width:100%;max-height:280px;object-fit:contain;border:1px solid var(--border);border-radius:8px;background:var(--gray-soft)}.vehicle-detail-photo__frame{position:relative;display:block;min-height:180px;border-radius:8px;overflow:hidden}.vehicle-detail-photo__frame.is-loaded{min-height:0}.vehicle-detail-photo__frame img{opacity:0;transition:opacity .35s ease}.vehicle-detail-photo__frame.is-loaded img{opacity:1}.vehicle-detail-photo__shimmer{position:absolute;inset:0;border-radius:8px}.modal__body>p.muted:first-child{height:150px;margin:0;overflow:hidden;color:transparent;font-size:0;background-image:linear-gradient(90deg,#e8edf3 25%,#f8fafc 50%,#e8edf3 75%),linear-gradient(90deg,#e8edf3 25%,#f8fafc 50%,#e8edf3 75%),linear-gradient(90deg,#e8edf3 25%,#f8fafc 50%,#e8edf3 75%),linear-gradient(90deg,#e8edf3 25%,#f8fafc 50%,#e8edf3 75%);background-repeat:no-repeat;background-size:200% 14px,200% 14px,200% 14px,200% 14px;background-position:0 8px,0 42px,0 76px,0 110px;animation:detail-shimmer 1.35s ease-in-out infinite}@keyframes detail-shimmer{to{background-position:-200% 8px,-200% 42px,-200% 76px,-200% 110px}}.vehicle-photo-input{position:absolute;inline-size:1px;block-size:1px;opacity:0;overflow:hidden;pointer-events:none}.form-grid:has(.vehicle-photo-input)>label.field:nth-of-type(14),.form-grid:has(.vehicle-photo-input)>label.field:nth-of-type(15){display:none}.vehicle-photo-upload{position:relative;min-height:156px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px;overflow:hidden;border:1.5px dashed #9db4c7;border-radius:10px;background:#f7fafc;color:var(--text-2);text-align:center;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}.vehicle-photo-upload.is-dragging,.vehicle-photo-upload:hover{border-color:var(--navy);background:var(--navy-soft)}.vehicle-photo-upload.is-dragging{border-style:solid;box-shadow:0 0 0 3px rgba(22,74,115,.14)}.vehicle-photo-input:focus-visible+.vehicle-photo-upload{border-color:var(--navy);box-shadow:0 0 0 3px rgba(22,74,115,.18)}.vehicle-photo-upload__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e3edf5;color:var(--navy)}.vehicle-photo-upload__icon .ico{width:22px;height:22px}.vehicle-photo-preview{position:absolute;inset:0;display:block;overflow:hidden;background:#e8edf3}.vehicle-photo-preview img{display:block;width:100%;height:100%;object-fit:contain}.vehicle-photo-upload:has(.vehicle-photo-preview) .vehicle-photo-upload__formats,.vehicle-photo-upload:has(.vehicle-photo-preview) .vehicle-photo-upload__hint,.vehicle-photo-upload:has(.vehicle-photo-preview) .vehicle-photo-upload__title{display:none}.vehicle-photo-upload__title{max-width:100%;overflow:hidden;color:var(--text);font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.vehicle-photo-upload__hint{font-size:12px}.vehicle-photo-upload__formats{color:#8392a0;font-size:11px}.modal__foot,.modal__head{flex-shrink:0}.modal__body{min-height:0}dialog.modal:not([open]){display:none}dialog.modal{margin:auto;color:var(--text)}dialog.modal::-webkit-backdrop{background:rgba(15,23,42,.5)}dialog.modal::backdrop{background:rgba(15,23,42,.5)}.modal>form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.modal>form .modal__body{flex:1 1 auto;overflow-y:auto}@media (max-width:560px){.detail-list{grid-template-columns:1fr}.detail-list div:last-child{grid-column:auto}}.pic-detail-modal{position:fixed;top:50%;right:24px;width:340px;max-width:calc(100vw - 24px);max-height:70vh;z-index:110;transform:translateY(-50%)}.pic-detail-modal .modal__body{overflow-y:auto}@media (min-width:1100px){.pic-detail-modal{right:max(24px,calc(50% - 380px))}.pic-detail-modal~.overlay .modal{transform:translateX(-250px)}}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-brand{background:linear-gradient(160deg,var(--navy-dark) 0,var(--navy) 100%);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between}.login-brand__logo{margin-bottom:32px}.login-brand__logo img{height:96px;width:auto;display:block}.login-brand h2{color:#fff;font-size:30px;line-height:1.25;max-width:440px;letter-spacing:-.01em}.login-brand p{color:#B9CBDC;margin-top:16px;max-width:420px}.login-brand__foot{font-size:12px;color:#8CA3BB}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px;background:var(--bg)}.login-card{width:100%;max-width:404px}.login-card h1{font-size:22px}.login-card>p.sub{color:var(--text-2);margin:6px 0 24px;font-size:13.5px}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:28px;box-shadow:var(--shadow-sm)}.login-alt{text-align:center;margin-top:20px;font-size:12.5px;color:var(--text-2)}.password-control{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:stretch}.password-control .input{grid-column:1/-1;grid-row:1;padding:0 44px 0 12px}.password-control__toggle{grid-column:2;grid-row:1;position:relative;z-index:1;align-self:center;height:32px;border:0;border-radius:6px;background:transparent;color:var(--text-2);cursor:pointer}.password-control__toggle:hover{background:var(--gray-soft)}.password-control__toggle:disabled{cursor:not-allowed}.demo-roles{display:flex;gap:8px;margin-top:14px}.demo-roles a{flex:1 1;text-align:center;padding:8px;border:1px solid var(--border);border-radius:8px;font-size:12px;background:var(--surface);color:var(--text)}.demo-roles a:hover{background:var(--navy-soft);border-color:var(--navy);text-decoration:none}@media (max-width:900px){.login-wrap{grid-template-columns:1fr}.login-brand{display:none}}.ico-flip{transform:scaleX(-1)}.guide-cover{display:flex;align-items:center;gap:20px;padding:26px 30px;margin-bottom:var(--s-3);border-radius:var(--r-card);background:linear-gradient(160deg,var(--navy-dark) 0,var(--navy) 100%);color:#fff;box-shadow:var(--shadow-md)}.guide-cover__icon{flex-shrink:0;width:56px;height:56px;border-radius:14px;background:rgba(255,255,255,.14);display:grid;place-items:center}.guide-cover__icon .ico{width:30px;height:30px;color:#fff}.guide-cover__text{min-width:0}.guide-cover h1{color:#fff;font-size:23px;letter-spacing:-.01em}.guide-cover p{color:#C9D9E8;margin-top:6px;font-size:13.5px}.guide-cover__actions{margin-left:auto;display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;gap:12px}.guide-cover__download{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;background:#fff;color:var(--navy-dark);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.guide-cover__download:hover{background:#E5EEF5}.guide-cover__download:focus-visible{outline:2px solid #fff;outline-offset:3px}.guide-book{display:grid;grid-template-columns:264px 1fr;min-height:560px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-md)}.guide-toc{align-self:start;position:-webkit-sticky;position:sticky;top:calc(var(--topbar-h) + var(--s-2));max-height:calc(100vh - var(--topbar-h) - var(--s-3));overflow-y:auto;padding:18px 12px;border-right:1px solid var(--border);border-radius:var(--r-card) 0 0 var(--r-card);background:linear-gradient(90deg,#F1F5F9,#FAFBFC)}.guide-toc__title{padding:0 10px 10px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.guide-toc__item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;margin-bottom:2px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:background .15s}.guide-toc__item:hover{background:var(--navy-soft)}.guide-toc__item.active{background:var(--navy);color:#fff}.guide-toc__item .ico{width:16px;height:16px;color:var(--text-2);flex-shrink:0}.guide-toc__item.active .ico{color:#fff}.guide-toc__num{flex-shrink:0;display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--gray-soft);color:var(--text-2);font-size:11px;font-weight:700}.guide-toc__item.active .guide-toc__num{background:rgba(255,255,255,.22);color:#fff}.guide-toc__label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guide-page{display:flex;flex-direction:column;padding:28px 34px;box-shadow:inset 16px 0 28px -20px rgba(16,58,92,.22)}.guide-page__head{padding-bottom:16px;border-bottom:1px solid var(--border)}.guide-page__eyebrow{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--info)}.guide-page__title{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:20px;letter-spacing:-.01em}.guide-page__title .ico{width:22px;height:22px;color:var(--navy);flex-shrink:0}.guide-page__body{flex:1 1;margin-top:20px}.guide-lead{font-size:14.5px;color:var(--text)}.guide-visual{margin:20px 0 0;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#F7FAFD;box-shadow:0 8px 22px rgba(16,58,92,.08)}.guide-visual img{display:block;width:100%;max-height:330px;object-fit:cover;object-position:center}.guide-visual figcaption{padding:10px 14px;border-top:1px solid var(--border);color:var(--text-2);font-size:12.5px;line-height:1.45;background:var(--surface)}.guide-subhead{margin:22px 0 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2)}.guide-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.guide-flow__item{display:inline-flex;align-items:center;gap:8px}.guide-flow__sep{width:14px;height:14px;color:var(--text-2)}.guide-legend{display:grid;grid-gap:10px;gap:10px;margin-top:10px}.guide-legend__row{display:flex;align-items:center;gap:14px}.guide-legend__row .badge{flex-shrink:0;min-width:168px;justify-content:center}.guide-legend__row .muted{font-size:13px}.guide-pager{display:flex;gap:12px;margin-top:28px;padding-top:18px;border-top:1px solid var(--border)}.guide-pager__btn{display:inline-flex;align-items:center;gap:10px;max-width:48%;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer;transition:background .15s,border-color .15s}.guide-pager__btn:hover:not(:disabled){background:var(--navy-soft);border-color:var(--navy)}.guide-pager__btn:disabled{opacity:.4;cursor:not-allowed}.guide-pager__btn .ico{width:18px;height:18px;color:var(--navy);flex-shrink:0}.guide-pager__btn--next{margin-left:auto}.guide-pager__meta{display:flex;flex-direction:column;min-width:0}.guide-pager__meta small{font-size:11px;color:var(--text-2)}.guide-pager__meta b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.guide-pager__meta--right{text-align:right}@media (max-width:900px){.guide-book{grid-template-columns:1fr}.guide-toc{position:static;max-height:none;overflow:visible;display:flex;flex-wrap:wrap;gap:6px;border-right:0;border-bottom:1px solid var(--border);border-radius:var(--r-card) var(--r-card) 0 0}.guide-toc__title{width:100%}.guide-toc__item{width:auto;flex:0 0 auto;margin-bottom:0}.guide-toc__label{flex:0 0 auto}.guide-page{box-shadow:none;padding:22px}.guide-visual img{max-height:240px}.guide-cover{flex-wrap:wrap}.guide-cover__actions{margin-left:0;width:100%}}.report-photos{display:inline-flex;flex-wrap:wrap;gap:6px}.report-id-cell{min-width:132px;max-width:160px}.report-id{display:block;overflow:hidden;color:var(--text-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.report-detail-list div:last-child{grid-column:auto}.report-detail-list .report-detail-list__wide{grid-column:1/-1;padding-top:2px}.report-detail-list dd{line-height:1.55}.report-photo-view{position:relative;display:flex;align-items:center;justify-content:center;min-height:220px;border-radius:8px;overflow:hidden;background:var(--gray-soft)}.report-photo-view.is-loaded{min-height:0}.report-photo-view__shimmer{position:absolute;inset:0;border-radius:8px}.report-photo-view img{display:block;max-width:100%;max-height:72vh;object-fit:contain;opacity:0;transition:opacity .35s ease}.report-photo-view.is-loaded img{opacity:1}.report-export-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}@media (max-width:760px){.card__head:has(.report-export-actions){align-items:flex-start;flex-wrap:wrap}.card__head:has(.report-export-actions) .spacer{display:none}.report-export-actions{width:100%;justify-content:flex-start}}.settings-reminder{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);grid-gap:24px;gap:24px;align-items:start}.settings-toggle{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.settings-toggle input{position:absolute;opacity:0;pointer-events:none}.settings-toggle__switch{position:relative;flex:0 0 auto;width:42px;height:24px;margin-top:1px;border-radius:999px;background:#CBD5E1;transition:background .18s ease}.settings-toggle__switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.25);transition:transform .18s ease}.settings-toggle input:checked+.settings-toggle__switch{background:var(--navy)}.settings-toggle input:checked+.settings-toggle__switch:after{transform:translateX(18px)}.settings-toggle input:focus-visible+.settings-toggle__switch{outline:3px solid rgba(22,74,115,.25);outline-offset:2px}.settings-toggle b,.settings-toggle small{display:block}.settings-toggle small{margin-top:4px;color:var(--text-2);font-size:12.5px;line-height:1.45}.settings-reminder__time{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.settings-reminder__time>small{grid-column:1/-1;display:block;font-size:12px;line-height:1.4}@media (max-width:640px){.settings-reminder{grid-template-columns:1fr;gap:18px}}.responsible-picker{display:grid;grid-gap:10px;gap:10px;max-height:360px;overflow-y:auto;padding-right:2px}.responsible-picker__item{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.responsible-picker__item.is-selected,.responsible-picker__item:hover{border-color:var(--navy);background:#f2f8fd;box-shadow:0 0 0 2px rgba(22,74,115,.12)}.responsible-picker__item>span:nth-child(2){display:grid;grid-gap:3px;gap:3px;flex:1 1;min-width:0}.responsible-picker__item small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.responsible-picker__avatar{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700}.responsible-picker__item .ico{color:var(--navy)}.schedule-toolbar{display:flex;align-items:center;gap:12px}.schedule-toolbar>input{flex:1 1;min-width:0}.schedule-toolbar>select{flex:0 0 230px;width:230px}@media (max-width:720px){body{overflow-x:hidden}.page{padding:16px 12px}.topbar{min-height:56px;height:auto;padding:8px 12px}.breadcrumb{display:none}.topbar__page-title{font-size:14px}.topbar__actions{gap:2px}.icon-btn{width:40px;height:40px}.page-head{margin-bottom:16px}.page-head__text{min-width:0;width:100%}.page-head__text h1{font-size:20px}.page-head__actions{gap:8px}.page-head__actions .btn{min-width:0}.card__head{padding:14px 16px}.card__body{padding:16px}.schedule-toolbar{align-items:stretch;flex-direction:column}.schedule-toolbar>input,.schedule-toolbar>select{width:100%;flex:0 0 auto}.toolbar{align-items:stretch;padding:12px 16px}.toolbar .search-field,.toolbar>.input,.toolbar>.select{max-width:none;width:100%}.toolbar .spacer{display:none}.table-wrap{margin:0;border-radius:0}table.data{min-width:max-content}table.data td,table.data th{padding:11px 12px}.row-actions{white-space:nowrap}.form-actions,.modal__foot{align-items:stretch;flex-wrap:wrap}.form-actions .btn,.modal__foot .btn{flex:1 1 140px}.form-actions .left{width:100%;margin-right:0}.overlay{padding:12px;align-items:flex-end}.modal,.modal.lg{width:100%;max-width:100%;max-height:calc(100dvh - 24px);border-radius:14px}.modal__body,.modal__head{padding:16px}.modal__foot{padding:12px 16px}.pic-detail-modal{top:auto;right:12px;bottom:12px;width:auto;max-width:none;max-height:calc(100dvh - 24px);transform:none}.guide-cover{padding:20px;gap:14px}.guide-cover__icon{width:44px;height:44px}.guide-cover h1{font-size:19px}.guide-page{padding:18px 16px}.guide-legend__row{align-items:flex-start;flex-direction:column;gap:4px}.guide-legend__row .badge{min-width:0}.guide-pager{gap:8px}.guide-pager__btn{flex:1 1;padding:10px}.guide-pager__meta b,.guide-pager__meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width:420px){.topbar__actions .icon-btn:not(:last-child){display:none}.page-head__actions .btn{flex:1 1 100%}.form-actions .btn,.modal__foot .btn{flex-basis:100%}.guide-pager__btn{padding:9px}.guide-pager__btn .ico{display:none}}@media (max-width:720px){.card__head>*,.page-head>*,.topbar>*{min-width:0}.card__head>.input{width:100%}.alert,.file-item,.kv,.list-row{min-width:0}.alert,.file-item,.list-row{align-items:flex-start}.kv{flex-wrap:wrap}.kv .v{overflow-wrap:anywhere}.menu,.notification-menu{max-width:calc(100vw - 24px)}.table-wrap:has(.row-actions){overflow-x:auto}.resource-list__table{display:none}.resource-list__cards{padding:12px}.resource-list__cards .mini-card{margin:0 0 10px}.resource-list__cards .mc-row{align-items:flex-start;gap:12px;padding:8px 0}.resource-list__cards .mc-row+.mc-row{border-top:1px solid var(--border)}.resource-list__cards .mc-row .k{flex:0 0 88px}.resource-list__cards .mc-row .v{min-width:0;margin-left:auto;overflow-wrap:anywhere;text-align:right}.resource-list__cards .row-actions{justify-content:flex-end}}