@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--red-600: #E53935;--red-700: #C62828;--red-800: #A61F1C;--red-50: #FFF1F0;--red-100: #FFE0DD;--danger-700: #B42318;--danger-50: #FEF3F2;--success-600: #16803C;--success-50: #ECFDF3;--warning-600: #B54708;--warning-50: #FFFAEB;--info-600: #2459C6;--info-50: #EFF4FF;--ink-950: #171717;--ink-900: #242426;--ink-600: #5C5F66;--ink-400: #8B8E95;--line-200: #E4E6EA;--line-100: #EEF0F2;--surface-50: #F7F7F8;--surface-0: #FFFFFF;--surface-100: #F1F2F4;--gold-500: #B8892E;--charcoal-500: #3F4248;--brand-beige: #AFA089;--brand-beige-dark: #9E8F78;--brand-ink: #2A2622;--brand-ink-soft: #4A4239;--r-field: 10px;--r-card: 14px;--r-panel: 18px;--shadow-pop: 0 4px 16px rgba(20,20,20,.06);--shadow-modal: 0 24px 64px rgba(20,20,20,.18);--focus: 0 0 0 3px rgba(229,57,53,.25);--font: "Manrope Variable", "Manrope", "Inter", Arial, sans-serif;--sidebar: 264px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:20px;font-weight:500;color:var(--ink-950);background:var(--surface-50);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--focus)}.num,.tabular{font-variant-numeric:tabular-nums}h1,h2,h3,h4{margin:0;letter-spacing:-.01em}.display{font-size:32px;line-height:40px;font-weight:750}h1,.h1{font-size:28px;line-height:36px;font-weight:750}h2,.h2{font-size:20px;line-height:28px;font-weight:700}h3,.h3{font-size:16px;line-height:24px;font-weight:700}.small{font-size:12px;line-height:16px}.muted{color:var(--ink-600)}.faint{color:var(--ink-400)}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100%}.shell.collapsed{--sidebar: 72px}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--surface-0);border-right:1px solid var(--line-200);display:flex;flex-direction:column;padding:16px 12px}.brand{display:flex;align-items:center;gap:10px;padding:8px 10px 18px;min-height:52px}.brand-logo{height:20px;width:auto;display:block}.brand-monogram{width:36px;height:36px;border-radius:10px;display:block}.collapsed .brand{justify-content:center;padding:8px 0 18px}.brand-mark{width:32px;height:32px;border-radius:9px;background:var(--red-600);display:grid;place-items:center;color:#fff;flex:none}.nav-group{margin-top:12px}.nav-group-title{font-size:11px;line-height:16px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-400);padding:4px 12px;font-weight:700}.nav-item{position:relative;display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;border-radius:10px;color:var(--ink-600);font-weight:600;white-space:nowrap}.nav-item:hover{background:var(--surface-100);color:var(--ink-950)}.nav-item.active{background:var(--red-50);color:var(--red-700)}.nav-item.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--red-600)}.nav-item .count{margin-left:auto;background:var(--red-600);color:#fff;border-radius:999px;font-size:11px;padding:0 6px;line-height:18px}.collapsed .nav-item span,.collapsed .nav-group-title,.collapsed .brand span,.collapsed .nav-item .count{display:none}.collapsed .nav-item{justify-content:center;padding:0}.sidebar-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line-100)}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;height:64px;display:flex;align-items:center;gap:16px;padding:0 32px;background:#f7f7f8db;-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line-200)}.crumbs{display:flex;gap:8px;align-items:center;color:var(--ink-600);font-size:13px}.crumbs a:hover{color:var(--ink-950)}.search-trigger{margin-left:auto;display:flex;align-items:center;gap:10px;height:40px;width:320px;padding:0 12px;border:1px solid var(--line-200);border-radius:var(--r-field);background:var(--surface-0);color:var(--ink-400);cursor:pointer}.kbd{margin-left:auto;font-size:11px;border:1px solid var(--line-200);border-radius:6px;padding:0 6px;color:var(--ink-600)}.content{padding:24px 32px 48px;max-width:1600px;width:100%}.page-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-head .titles{min-width:0}.page-head .sub{color:var(--ink-600);margin-top:4px}.page-head .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-12{grid-column:span 12}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;gap:12px;align-items:center}.row.wrap{flex-wrap:wrap}.between{justify-content:space-between}.gap-8{gap:8px}.gap-16{gap:16px}.gap-24{gap:24px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.grow{flex:1;min-width:0}.card{background:var(--surface-0);border:1px solid var(--line-200);border-radius:var(--r-card)}.card-pad{padding:20px}.card-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line-100)}.card-head h3{flex:1}.card-body{padding:20px}.card.dark{background:var(--ink-900);color:#fff;border-color:var(--ink-900)}.card.dark .muted{color:#b9bbc0}.kpi{padding:20px;display:flex;flex-direction:column;gap:8px;min-height:120px;cursor:default;transition:border-color .15s}a.kpi:hover,button.kpi:hover{border-color:var(--ink-400);cursor:pointer}.kpi-label{color:var(--ink-600);font-size:13px;display:flex;align-items:center;gap:8px}.kpi-value{font-size:24px;line-height:28px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.kpi-foot{font-size:12px;color:var(--ink-600);margin-top:auto}.trend-up{color:var(--success-600)}.trend-down{color:var(--danger-700)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--r-field);border:1px solid transparent;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--red-600);color:#fff}.btn-primary:hover:not(:disabled){background:var(--red-700)}.btn-primary:active:not(:disabled){background:var(--red-800)}.btn-secondary{background:var(--surface-0);border-color:var(--line-200);color:var(--ink-950)}.btn-secondary:hover:not(:disabled){border-color:var(--ink-400)}.btn-tertiary{background:transparent;color:var(--ink-950);padding:0 10px}.btn-tertiary:hover:not(:disabled){background:var(--surface-100)}.btn-tertiary.active{background:var(--surface-100)}.btn-danger{background:var(--danger-50);color:var(--danger-700);border-color:#fdd0cb}.btn-danger:hover:not(:disabled){background:#fee4e2}.btn-dark{background:var(--ink-900);color:#fff}.btn-sm{height:32px;padding:0 12px;font-size:13px;border-radius:8px}.btn-lg{height:52px;padding:0 24px;font-size:16px;border-radius:12px}.btn-block{width:100%}.icon-btn{width:40px;height:40px;display:inline-grid;place-items:center;border-radius:var(--r-field);border:1px solid transparent;background:transparent;cursor:pointer;color:var(--ink-600);position:relative}.icon-btn:hover{background:var(--surface-100);color:var(--ink-950)}.icon-btn.sm{width:32px;height:32px}.dot{position:absolute;top:8px;right:8px;min-width:16px;height:16px;border-radius:999px;background:var(--red-600);color:#fff;font-size:10px;line-height:16px;text-align:center;padding:0 4px;font-weight:700}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label,.label{font-size:13px;font-weight:700;color:var(--ink-950)}.field .hint{font-size:12px;color:var(--ink-600)}.field .error{font-size:12px;color:var(--danger-700);font-weight:600}.input,.select,.textarea{height:40px;width:100%;padding:0 12px;border:1px solid var(--line-200);border-radius:var(--r-field);background:var(--surface-0);transition:border-color .12s}.textarea{height:auto;min-height:88px;padding:10px 12px;resize:vertical}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-400)}.input:focus,.select:focus,.textarea:focus{border-color:var(--red-600);box-shadow:var(--focus);outline:none}.input.invalid,.select.invalid,.textarea.invalid{border-color:var(--danger-700)}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap .suffix{position:absolute;right:12px;color:var(--ink-600);pointer-events:none}.input-wrap .prefix{position:absolute;left:12px;color:var(--ink-400);pointer-events:none;display:flex}.input-wrap .prefix+.input{padding-left:38px}.input.sm,.select.sm{height:36px}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--red-600)}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.filters .input,.filters .select{height:36px;width:auto;min-width:160px}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--surface-100);border-radius:10px}.seg button{height:30px;padding:0 12px;border:0;background:transparent;border-radius:8px;font-weight:700;color:var(--ink-600);cursor:pointer;font-size:13px}.seg button.on{background:var(--surface-0);color:var(--ink-950);box-shadow:0 1px 2px #00000014}.table-wrap{overflow-x:auto}table.table{width:100%;border-collapse:separate;border-spacing:0}.table th{position:sticky;top:0;z-index:1;text-align:left;font-size:12px;font-weight:700;color:var(--ink-600);background:var(--surface-0);padding:10px 16px;border-bottom:1px solid var(--line-200);white-space:nowrap}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table td{padding:0 16px;height:56px;border-bottom:1px solid var(--line-100);vertical-align:middle}.table.dense td{height:44px}.table tbody tr{transition:background .1s}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover,.table tbody tr.selected{background:var(--red-50)}.table tbody tr:last-child td{border-bottom:0}.table .r{text-align:right;font-variant-numeric:tabular-nums}.table .c{text-align:center}.table td.strong{font-weight:700}.table tfoot td{font-weight:750;border-top:1px solid var(--line-200);height:48px}.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;background:var(--surface-100);color:var(--ink-600)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.plain:before{display:none}.badge.success{background:var(--success-50);color:var(--success-600)}.badge.warning{background:var(--warning-50);color:var(--warning-600)}.badge.danger{background:var(--danger-50);color:var(--danger-700)}.badge.info{background:var(--info-50);color:var(--info-600)}.badge.red{background:var(--red-50);color:var(--red-700)}.badge.dark{background:var(--ink-900);color:#fff}.swatch{width:14px;height:14px;border-radius:4px;border:1px solid rgba(0,0,0,.12);flex:none;display:inline-block}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--line-200);border-radius:8px;background:var(--surface-0);font-size:13px;font-weight:600}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1717175c;display:flex;animation:fade .15s}@keyframes fade{0%{opacity:0}}.modal{margin:auto;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;background:var(--surface-0);border-radius:var(--r-panel);box-shadow:var(--shadow-modal);animation:pop .18s}.modal.wide{width:min(880px,calc(100vw - 32px))}@keyframes pop{0%{transform:translateY(8px);opacity:0}}.modal-head{padding:20px 24px 0;display:flex;gap:12px;align-items:flex-start}.modal-head h3{flex:1;font-size:18px;line-height:26px}.modal-body{padding:16px 24px;display:flex;flex-direction:column;gap:16px}.modal-foot{padding:16px 24px 20px;display:flex;gap:8px;justify-content:flex-end}.drawer{margin-left:auto;height:100%;width:min(520px,100vw);background:var(--surface-0);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;animation:slide .2s}@keyframes slide{0%{transform:translate(24px);opacity:.6}}.drawer-head{padding:20px 24px;border-bottom:1px solid var(--line-100);display:flex;gap:12px;align-items:flex-start}.drawer-body{padding:20px 24px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:20px}.drawer-foot{padding:16px 24px;border-top:1px solid var(--line-100);display:flex;gap:8px}.consequences{background:var(--surface-50);border:1px solid var(--line-200);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.consequences .line{display:flex;justify-content:space-between;gap:12px}.alert{display:flex;gap:12px;padding:12px 16px;border-radius:12px;border:1px solid;align-items:flex-start}.alert.danger{background:var(--danger-50);border-color:#fdd0cb;color:var(--danger-700)}.alert.warning{background:var(--warning-50);border-color:#fedf89;color:var(--warning-600)}.alert.info{background:var(--info-50);border-color:#c7d7fe;color:var(--info-600)}.alert.success{background:var(--success-50);border-color:#abefc6;color:var(--success-600)}.alert .alert-text{color:var(--ink-950)}.toasts{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;flex-direction:column;gap:8px}.toast{min-width:280px;max-width:420px;background:var(--ink-900);color:#fff;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow-modal);display:flex;gap:10px;align-items:flex-start;animation:pop .2s}.toast.error{background:var(--danger-700)}.toast a{text-decoration:underline}.empty{padding:48px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink-600)}.empty .ico{width:48px;height:48px;border-radius:14px;background:var(--surface-100);display:grid;place-items:center;color:var(--ink-400);margin-bottom:4px}.empty h3{color:var(--ink-950)}.skeleton{background:linear-gradient(90deg,var(--surface-100),#E9EBEE,var(--surface-100));background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:8px}@keyframes shimmer{to{background-position:-200% 0}}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line-200);margin-bottom:20px;overflow-x:auto}.tab{height:40px;padding:0 14px;border:0;background:none;font-weight:700;color:var(--ink-600);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab.on{color:var(--ink-950);border-bottom-color:var(--red-600)}.scan-box{display:flex;gap:12px;align-items:center;padding:12px 12px 12px 16px;border-radius:14px;border:2px solid var(--line-200);background:var(--surface-0);transition:border-color .15s,background .15s}.scan-box:focus-within{border-color:var(--red-600);box-shadow:var(--focus)}.scan-box input{border:0;outline:none;flex:1;font-size:18px;font-weight:700;height:40px;background:transparent;min-width:0}.scan-box.ok{border-color:var(--success-600);background:var(--success-50)}.scan-box.err{border-color:var(--danger-700);background:var(--danger-50)}.scan-status{font-weight:700;font-size:13px;padding:8px 2px 0;min-height:28px}.scan-status.ok{color:var(--success-600)}.scan-status.err{color:var(--danger-700)}.progress{height:8px;background:var(--surface-100);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--red-600);border-radius:999px;transition:width .3s}.progress.success>div{background:var(--success-600)}.photo{aspect-ratio:4/5;border-radius:12px;background:linear-gradient(160deg,var(--surface-100),#E3E5E8);display:grid;place-items:center;color:var(--ink-400);font-weight:800;position:relative;overflow:hidden}.photo .code{position:absolute;bottom:10px;left:10px;font-size:11px;font-family:ui-monospace,monospace;color:var(--ink-600)}.timeline{display:flex;flex-direction:column;gap:0}.tl-item{display:flex;gap:12px;padding-bottom:16px;position:relative}.tl-item:before{content:"";position:absolute;left:5px;top:14px;bottom:0;width:2px;background:var(--line-200)}.tl-item:last-child:before{display:none}.tl-dot{width:12px;height:12px;border-radius:50%;background:var(--surface-0);border:2px solid var(--red-600);margin-top:4px;flex:none}.dl{display:grid;grid-template-columns:140px 1fr;gap:10px 16px}.dl dt{color:var(--ink-600)}.dl dd{margin:0;font-weight:600}.chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--ink-600)}.chart-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.bar-row{display:grid;grid-template-columns:140px 1fr 110px;gap:12px;align-items:center;height:32px}.bar-track{height:10px;background:var(--surface-100);border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:var(--red-600);border-radius:999px}.offline-banner{background:var(--warning-50);color:var(--warning-600);border-bottom:1px solid #FEDF89;padding:8px 32px;font-weight:700;display:flex;gap:8px;align-items:center}.cmdk{margin:10vh auto auto;width:min(640px,calc(100vw - 32px));background:var(--surface-0);border-radius:var(--r-panel);box-shadow:var(--shadow-modal);overflow:hidden}.cmdk-input{display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid var(--line-100)}.cmdk-input input{flex:1;height:60px;border:0;outline:none;font-size:16px}.cmdk-list{max-height:420px;overflow-y:auto;padding:8px}.cmdk-item{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;cursor:pointer}.cmdk-item.on,.cmdk-item:hover{background:var(--red-50)}.cmdk-type{font-size:11px;font-weight:700;color:var(--ink-600);background:var(--surface-100);border-radius:6px;padding:2px 6px;min-width:72px;text-align:center}.login{min-height:100%;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:var(--brand-beige);color:var(--brand-ink);padding:48px;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;right:-160px;bottom:-200px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,#ffffff38,#fff0 70%)}.login-logo{width:min(420px,80%);height:auto;display:block;position:relative;z-index:1;margin-top:24px}.login-logo-sm{display:none;height:22px;width:auto}.login-form{display:flex;align-items:center;justify-content:center;padding:32px}.login-card{width:min(400px,100%);display:flex;flex-direction:column;gap:20px}.terminal{min-height:100%;background:var(--ink-900);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px;text-align:center}.terminal .clock{font-size:96px;line-height:1;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.pin-pad{display:grid;grid-template-columns:repeat(3,88px);gap:12px}.pin-pad button{height:72px;border-radius:16px;border:1px solid #3a3a3e;background:#2e2e31;color:#fff;font-size:26px;font-weight:700;cursor:pointer}.pin-pad button:active{background:var(--red-600)}.mobile-nav{display:none}@media print{.sidebar,.topbar,.no-print,.toasts,.mobile-nav{display:none!important}.shell{display:block}.content{padding:0}.card{border:0}body{background:#fff}}@media (max-width: 1180px){.col-3,.col-4{grid-column:span 6}.col-5,.col-7,.col-8,.col-9{grid-column:span 12}}@media (max-width: 1023px){.shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:0 16px}.search-trigger{width:auto;flex:1}.search-trigger .kbd,.crumbs{display:none}.content{padding:16px 16px 96px}.grid{gap:16px}.col-3,.col-4,.col-6{grid-column:span 12}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--surface-0);border-top:1px solid var(--line-200);padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;font-size:11px;font-weight:700;color:var(--ink-600);min-height:56px;justify-content:center}.mobile-nav a.active{color:var(--red-600)}.login{grid-template-columns:1fr}.login-art{display:none}.login-logo-sm{display:block}.page-head .actions{margin-left:0}.bar-row{grid-template-columns:96px 1fr 90px}.dl{grid-template-columns:110px 1fr}}@media (max-width: 600px){.col-3{grid-column:span 12}h1,.h1{font-size:24px;line-height:32px}}@media (max-width: 1023px){.hide-sm{display:none}}.search-trigger{white-space:nowrap;min-width:0}.search-label{overflow:hidden;text-overflow:ellipsis}.nav-modules{margin-top:12px;padding-top:12px;border-top:1px solid var(--line-100);display:flex;flex-direction:column;gap:2px}.nav-module-head{width:100%;display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;border:0;border-radius:10px;background:none;color:var(--ink-950);font-weight:700;cursor:pointer;text-align:left;white-space:nowrap}.nav-module-head:hover{background:var(--surface-100)}.nav-module-head span{flex:1}.nav-chevron{color:var(--ink-400);transition:transform .15s}.nav-module.open .nav-chevron{transform:rotate(180deg)}.nav-module.has-active:not(.open) .nav-module-head{color:var(--red-700)}.nav-module.has-active:not(.open) .nav-module-head:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--red-600);margin-left:-4px}.nav-sub{position:relative;margin:2px 0 6px 21px;padding-left:10px;border-left:1px solid var(--line-200);display:flex;flex-direction:column;gap:1px}.nav-sub .nav-item{height:36px;gap:10px;font-size:13.5px}.nav-sub .nav-item svg{width:18px;height:18px}.nav-sub .nav-item.active:before{left:-11px;top:6px;bottom:6px}.collapsed .nav-module-head{justify-content:center;padding:0}.collapsed .nav-module-head span,.collapsed .nav-chevron,.collapsed .nav-module-head:after{display:none}.collapsed .nav-modules{border-top:0;margin-top:4px}.collapsed .nav-module.has-active .nav-module-head{background:var(--red-50);color:var(--red-700)}@media (prefers-reduced-motion: reduce){.nav-chevron{transition:none}}.sections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.section-block{padding:20px;display:flex;flex-direction:column;gap:16px}.section-block-head{display:flex;gap:12px;align-items:flex-start}.section-block-icon{width:40px;height:40px;border-radius:12px;background:var(--red-50);color:var(--red-700);display:grid;place-items:center;flex:none}.section-block-links{display:grid;grid-template-columns:1fr 1fr;gap:4px}.section-link{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 10px;border-radius:10px;font-weight:600;color:var(--ink-600)}.section-link svg{width:18px;height:18px;flex:none}.section-link:hover{background:var(--surface-100);color:var(--ink-950)}.mobile-only{display:none}@media (max-width: 1023px){.mobile-only{display:inline-flex}.section-block-links{grid-template-columns:1fr}}.scan-cam{flex:none;width:44px;height:44px;border:1px solid var(--line-200);background:var(--surface-0)}.cam-trigger{flex:none}.cam-overlay{background:#0a0a0cb8}.cam-dialog{margin:auto;width:min(560px,calc(100vw - 16px));background:var(--ink-900);color:#fff;border-radius:var(--r-panel);overflow:hidden;box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:calc(100vh - 16px)}.cam-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 16px}.cam-btn{color:#fff}.cam-btn:hover{background:#ffffff1a;color:#fff}.cam-view{position:relative;aspect-ratio:4 / 3;background:#000;display:grid;place-items:center}.cam-view video{width:100%;height:100%;object-fit:cover}.cam-frame{position:absolute;top:22%;right:12%;bottom:22%;left:12%;border-radius:14px;box-shadow:0 0 0 9999px #00000059;border:2px solid rgba(255,255,255,.85)}.cam-frame span{position:absolute;left:6%;right:6%;top:50%;height:2px;background:var(--red-600);box-shadow:0 0 12px var(--red-600);animation:camline 1.6s ease-in-out infinite alternate}@keyframes camline{0%{top:18%}to{top:82%}}.cam-hint{position:absolute;left:0;right:0;bottom:10px;text-align:center;font-size:12px;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.6);padding:0 12px}.cam-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;text-align:center;color:#e6e7ea;max-width:420px}.cam-status{padding:12px 16px;font-weight:700;min-height:46px;color:#c9cbd0}.cam-status.ok{color:#6be09a}.cam-status.err{color:#ff9c94}.cam-actions{display:flex;gap:8px;padding:0 12px 12px;flex-wrap:wrap}.cam-actions .btn-secondary{background:transparent;color:#fff;border-color:#ffffff40}@media (prefers-reduced-motion: reduce){.cam-frame span{animation:none}}
