@import"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;0,900;1,400;1,700&display=swap";@import"./font/roboto.css";:root{--fs-xxs: 12px;--fs-xs: 13.5px;--fs-sm: 15px;--fs-base: 16px;--fs-md: 18px;--fs-lg: 21px;--fs-xl: 26px;--fs-2xl: 32px;--fs-3xl: 40px;--r-sm: 10px;--r-md: 16px;--r-lg: 22px;--r-full: 999px;--sidebar-w: 236px;--brand: #16a34a;--brand-2: #84cc16;--c-orange: #ff7a45;--c-red: #ff4d6d;--c-blue: #38bdf8;--c-teal: #22c7e0;--c-green: #2fc98e;--c-purple: #14b8a6;--c-violet: #a78bfa;--c-yellow: #f5b400;--c-pink: #ff5e9c;--grad-brand: linear-gradient(135deg, #16a34a 0%, #84cc16 100%)}:root,html[data-theme=dark]{--bg: #0d1a14;--panel: #13251c;--card: #16291f;--card-2: #1b3327;--sidebar: #0f1f17;--elev: #1f3d2d;--text: #e9f5ee;--muted: #9db8a9;--faint: #6d8a7a;--border: rgba(255, 255, 255, .07);--border-2: rgba(255, 255, 255, .12);--track: rgba(255, 255, 255, .08);--shadow: 0 18px 40px -20px rgba(0, 0, 0, .6);--active-text: #ffffff}html[data-theme=light]{--bg: #e8f0ea;--panel: #ffffff;--card: #ffffff;--card-2: #f4f8f5;--sidebar: #ffffff;--elev: #edf4ef;--text: #0f2418;--muted: #516a5c;--faint: #5b7166;--border: rgba(16, 40, 28, .05);--border-2: rgba(16, 40, 28, .09);--track: rgba(16, 40, 28, .07);--shadow: 0 1px 2px rgba(16, 40, 28, .05), 0 10px 26px -18px rgba(16, 40, 28, .28);--active-text: #ffffff;--c-orange: #c04a1f;--c-red: #d42a4e;--c-blue: #09769a;--c-teal: #0a7280;--c-green: #0f7b54;--c-purple: #0d7f74;--c-violet: #6d28d9;--c-yellow: #906400;--brand: #12833d;--brand-2: #5a9c0f}[data-theme=light] .card{box-shadow:var(--shadow)}[data-theme=light] .sidebar,[data-theme=light] .topbar{box-shadow:0 1px 2px #10281c0d}[data-theme=light] .dd-menu,[data-theme=light] .modal,[data-theme=light] .xsel-pop{box-shadow:0 2px 6px #10281c14,0 22px 48px -26px #10281c6b}[data-theme=light] .tbl th{color:var(--muted)}[data-theme=light] .tbl tbody tr{border-top-color:#10281c0d}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:Roboto,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:var(--fs-base);line-height:1.45;-webkit-font-smoothing:antialiased;overflow:hidden}a{color:inherit;text-decoration:none}.material-symbols-rounded{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;font-size:20px;line-height:1}.layout{display:flex;height:100vh;width:100%}.content-scroll{scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}.content-scroll::-webkit-scrollbar{width:6px;height:6px}.content-scroll::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:99px}.sidebar{flex:0 0 clamp(190px,15vw,290px);width:clamp(190px,15vw,290px);background:var(--sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 10px;height:100vh;z-index:60;transition:transform .28s ease}.brand{display:flex;flex-direction:column;padding:4px 8px 18px}.brand .logo{font-size:20px;font-weight:800;letter-spacing:.5px;color:var(--brand);line-height:1}.brand .logo b{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand .ver{font-size:var(--fs-xxs);font-weight:600;letter-spacing:2px;color:var(--faint);text-transform:uppercase;margin-top:3px}.nav{display:flex;flex-direction:column;gap:4px;margin-top:4px}.nav-label{font-size:var(--fs-xxs);letter-spacing:1.5px;text-transform:uppercase;color:var(--faint);font-weight:600;margin:14px 10px 6px}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:var(--r-sm);color:var(--muted);font-size:var(--fs-sm);font-weight:500;position:relative;transition:.18s;cursor:pointer;line-height:1.2}.nav-item .material-symbols-rounded{font-size:19px;flex:0 0 auto}.nav-item:hover{background:var(--elev);color:var(--text)}.nav-item.active{background:var(--grad-brand);color:var(--active-text);box-shadow:0 8px 20px -8px var(--brand)}.nav-item .badge{margin-left:auto;background:var(--c-red);color:#fff;font-size:var(--fs-xxs);font-weight:700;min-width:19px;height:19px;border-radius:99px;display:grid;place-items:center;padding:0 5px}.nav-item.active .badge{background:#ffffff40}.sidebar .spacer{flex:1}.side-foot{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border);padding-top:12px}.theme-toggle{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-top:6px}.switch{width:44px;height:24px;border-radius:99px;background:var(--track);position:relative;cursor:pointer;flex:0 0 auto;border:1px solid var(--border-2)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:99px;background:var(--brand-2);transition:.22s}html[data-theme=light] .switch:after{left:22px;background:var(--c-yellow)}.theme-toggle .material-symbols-rounded{font-size:18px;color:var(--faint)}.main{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh}.topbar{height:64px;flex:0 0 64px;display:flex;align-items:center;gap:16px;padding:0 24px;border-bottom:1px solid var(--border);background:var(--bg)}.topbar h1{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.3px;white-space:nowrap}.hamburger{display:none;background:var(--card);border:1px solid var(--border);border-radius:var(--r-sm);width:38px;height:38px;place-items:center;cursor:pointer;color:var(--text)}.top-right{margin-left:auto;display:flex;align-items:center;gap:10px}.search{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-full);padding:8px 14px;min-width:210px}.search input{background:none;border:none;outline:none;color:var(--text);font-family:inherit;font-size:var(--fs-sm);width:100%}.search .material-symbols-rounded{font-size:18px;color:var(--faint)}.icon-btn{position:relative;width:40px;height:40px;border-radius:var(--r-full);background:var(--card);border:1px solid var(--border);display:grid;place-items:center;cursor:pointer;color:var(--muted)}.icon-btn:hover{color:var(--text)}.icon-btn .dot{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:99px;background:var(--c-red);border:2px solid var(--bg)}.user-chip{display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-full);padding:5px 12px 5px 5px;cursor:pointer}.user-chip .av{width:32px;height:32px;border-radius:99px;background:var(--grad-brand);display:grid;place-items:center;color:#fff;font-size:18px}.user-chip .nm{font-size:var(--fs-sm);font-weight:600;line-height:1.1}.user-chip .rl{font-size:var(--fs-xxs);color:var(--faint);text-transform:uppercase;letter-spacing:.5px}.content{flex:1;overflow-y:auto;padding:20px 24px 24px}.content.no-scroll{overflow:hidden}.grid{display:grid;gap:16px}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow)}.card.tight{padding:16px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-head h3{font-size:var(--fs-md);font-weight:600}.card-head .material-symbols-rounded{color:var(--faint)}.pill{font-size:var(--fs-xs);color:var(--muted);background:var(--elev);border:1px solid var(--border);border-radius:var(--r-full);padding:5px 11px;display:inline-flex;align-items:center;gap:5px;cursor:pointer}.muted{color:var(--muted)}.faint{color:var(--faint)}.stat-num{font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.5px;line-height:1.1}.stat-lbl{font-size:var(--fs-sm);color:var(--muted);font-weight:500}.delta{font-size:var(--fs-sm);font-weight:600;display:inline-flex;align-items:center;gap:2px}.delta.up{color:var(--c-green)}.delta.down{color:var(--c-red)}.chip{font-size:var(--fs-xs);font-weight:600;padding:4px 10px;border-radius:var(--r-full);display:inline-flex;align-items:center;gap:5px}.chip .d{width:7px;height:7px;border-radius:99px;background:currentColor}.chip.green{color:var(--c-green);background:color-mix(in srgb,var(--c-green) 15%,transparent)}.chip.red{color:var(--c-red);background:color-mix(in srgb,var(--c-red) 15%,transparent)}.chip.blue{color:var(--c-blue);background:color-mix(in srgb,var(--c-blue) 15%,transparent)}.chip.orange{color:var(--c-orange);background:color-mix(in srgb,var(--c-orange) 15%,transparent)}.chip.violet{color:var(--brand);background:color-mix(in srgb,var(--brand) 16%,transparent)}.chip.yellow{color:var(--c-yellow);background:color-mix(in srgb,var(--c-yellow) 16%,transparent)}.bar{height:6px;border-radius:99px;background:var(--track);overflow:hidden}.bar>i{display:block;height:100%;border-radius:99px}.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.tbl th{text-align:center;font-size:var(--fs-xxs);letter-spacing:.6px;text-transform:uppercase;color:var(--faint);font-weight:600;padding:14px 12px 12px;border-bottom:2px solid color-mix(in srgb,var(--brand) 45%,transparent)}.tbl thead+tbody tr:first-child td{border-top:none}.tbl td{padding:11px 12px;border-top:1px solid var(--border);vertical-align:middle;text-align:center}.tbl th.cot-trai,.tbl td.cot-trai{text-align:left}.tbl th.cot-giua,.tbl td.cot-giua{text-align:center}.tbl tbody tr:hover{background:var(--elev)}.tbl .mono{font-family:Roboto,system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--muted)}.av-sm{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:var(--fs-xs);font-weight:700;color:#fff;flex:0 0 auto}.cellflex{display:flex;align-items:center;gap:10px}.link{color:var(--brand);font-weight:600;cursor:pointer}.link:hover{text-decoration:underline}.pager{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:10px;flex-wrap:wrap}.pager .info{font-size:var(--fs-sm);color:var(--muted)}.pager .pages{display:flex;gap:6px}.pg{min-width:32px;height:32px;padding:0 8px;border-radius:9px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-size:var(--fs-sm);font-weight:600;display:grid;place-items:center;cursor:pointer}.pg:hover{background:var(--elev);color:var(--text)}.pg.active{background:var(--grad-brand);color:#fff;border-color:transparent}.pg[disabled]{opacity:.4;cursor:default}.legend{display:flex;flex-direction:column;gap:9px}.legend .row{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm)}.legend .d{width:9px;height:9px;border-radius:3px;flex:0 0 auto}.legend .row .v{margin-left:auto;color:var(--muted);font-weight:600}.donut-wrap{position:relative;display:grid;place-items:center}.donut-center{position:absolute;text-align:center}.donut-center .t{font-size:var(--fs-xs);color:var(--muted)}.donut-center .n{font-size:var(--fs-xl);font-weight:800}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:var(--fs-xs);color:var(--muted);font-weight:600}.field input,.field select{background:var(--card-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 12px;color:var(--text);font-family:inherit;font-size:var(--fs-sm);outline:none}.field input:focus,.field select:focus{border-color:var(--brand)}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--border)}.toggle-row:first-child{border-top:none}.btn{border:none;border-radius:var(--r-sm);padding:10px 18px;font-family:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.btn.primary{background:var(--grad-brand);color:#fff}.btn.ghost{background:transparent;border:1px solid var(--border-2);color:var(--muted)}.btn:disabled,.btn:disabled:hover,.btn.primary:disabled,.btn.primary:disabled:hover,.btn.ghost:disabled,.btn.ghost:disabled:hover,.btn.nguy:disabled,.btn.nguy:disabled:hover{cursor:not-allowed;background:var(--track);border:1px solid transparent;color:var(--faint);box-shadow:none;transform:none}.sw{width:42px;height:23px;border-radius:99px;background:var(--track);position:relative;cursor:pointer;border:1px solid var(--border-2);flex:0 0 auto}.sw:after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:99px;background:var(--faint);transition:.2s}.sw.on{background:var(--grad-brand);border-color:transparent}.sw.on:after{left:21px;background:#fff}.section-title{font-size:var(--fs-xs);letter-spacing:.6px;text-transform:uppercase;color:var(--faint);font-weight:600;margin-bottom:10px}.scrim{position:fixed;inset:0;background:#00000080;opacity:0;pointer-events:none;transition:.25s;z-index:55}.scrim.show{opacity:1;pointer-events:auto}@media(max-width:1100px){.col-3{grid-column:span 6!important}.hide-md{display:none!important}}@media(max-width:860px){body{overflow:auto}.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);box-shadow:0 0 60px #00000080}.sidebar.open{transform:translate(0)}.hamburger{display:grid}.main{height:auto;min-height:100vh}.content{overflow:visible}.search{display:none}[class*=col-]{grid-column:1 / -1!important}.grid{grid-template-columns:1fr!important}}.login-page{overflow:auto}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1100px 600px at 15% -10%,color-mix(in srgb,var(--brand) 22%,transparent),transparent),radial-gradient(900px 600px at 100% 110%,color-mix(in srgb,var(--brand-2) 20%,transparent),transparent),var(--bg)}.login-card{width:100%;max-width:532px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:40px 37px;box-shadow:var(--shadow);font-size:1.33em}.login-card .logo{display:flex;align-items:center;gap:13px;font-size:29px;font-weight:800;color:var(--brand);line-height:1.2}.login-card .logo img{width:53px;height:53px;object-fit:contain;flex:0 0 auto;display:block}.login-card .logo b{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-sub{color:var(--muted);font-size:var(--fs-sm);margin:4px 0 22px}.login-card .field{margin-bottom:14px}.login-err{color:var(--c-red);font-size:var(--fs-sm);min-height:18px;margin-top:2px}.sample-accounts{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.sample-accounts .section-title{margin-bottom:8px}.sample-chip{font-size:var(--fs-xs);border:1px solid var(--border);background:var(--card-2);color:var(--muted);border-radius:var(--r-full);padding:5px 10px;cursor:pointer;display:inline-flex;gap:5px;margin:0 6px 6px 0}.sample-chip:hover{border-color:var(--brand);color:var(--text)}.perm-yes{color:var(--c-green);font-weight:700}.perm-no{color:var(--c-red);font-weight:700}.perm-note{color:var(--muted);font-size:var(--fs-xs)}.tbl.perm td{vertical-align:top}.role-tag{font-size:var(--fs-xxs);font-weight:700;padding:3px 8px;border-radius:var(--r-full);white-space:nowrap}@media(max-width:860px){.row-split{flex-direction:column}.row-split>div{width:auto!important;max-width:none!important}}@media(max-width:560px){.login-wrap{padding:max(20px,9vh) 12px 28px;align-items:start;min-height:100dvh}.login-card{padding:26px 20px;font-size:1.05em;border-radius:16px}.login-card .logo{min-width:0;flex-wrap:wrap;font-size:22px;gap:9px;line-height:1.15}.login-card .logo b{min-width:0;word-break:break-word}.login-card .logo img{width:40px;height:40px}.login-sub{margin:4px 0 18px}.login-card .btn.primary{min-height:48px;font-size:16px}.lang-seg button{min-height:34px;padding:7px 14px;font-size:12px}.login-card input{font-size:16px;min-height:46px}}@media(max-width:380px){.login-card{padding:22px 16px;font-size:1em}.login-card .logo{font-size:19px;gap:8px}.login-card .logo img{width:34px;height:34px}}.chk{width:21px;height:21px;min-width:21px;flex:0 0 21px;box-sizing:border-box;border-radius:6px;border:1.5px solid var(--border-2);background:var(--card-2);display:inline-grid;place-items:center;cursor:pointer;transition:.15s}.chk:after{content:"✓";font-size:12px;font-weight:800;color:#fff;opacity:0;transform:scale(.5);transition:.15s;line-height:1}.chk.on{background:var(--grad-brand);border-color:transparent}.chk.on:after{opacity:1;transform:scale(1)}.perm-cell{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.perm-cond{font-size:var(--fs-xs);color:var(--muted);line-height:1.3}.tbl.perm2{table-layout:fixed;width:100%}.tbl.perm2 th,.tbl.perm2 td{text-align:center}.tbl.perm2 th:first-child,.tbl.perm2 td:first-child{text-align:left;width:150px}.tbl.perm2 th{padding-bottom:8px}.tbl.perm2 td{vertical-align:top;padding:12px}.perm-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:var(--fs-xs);color:var(--muted);margin-bottom:14px}.perm-legend span{display:inline-flex;align-items:center;gap:6px}.toast-wrap{position:fixed;bottom:22px;right:22px;display:flex;flex-direction:column;gap:10px;z-index:200}.toast{background:var(--elev);border:1px solid var(--border-2);border-left:3px solid var(--brand);color:var(--text);padding:12px 15px;border-radius:12px;box-shadow:var(--shadow);font-size:var(--fs-sm);display:flex;align-items:center;gap:10px;min-width:230px;max-width:360px;animation:pop .24s ease}.toast .material-symbols-rounded{color:var(--brand);font-size:20px}.toast.ok{border-left-color:var(--c-green)}.toast.ok .material-symbols-rounded{color:var(--c-green)}.toast.warn{border-left-color:var(--c-yellow)}.toast.warn .material-symbols-rounded{color:var(--c-yellow)}@keyframes pop{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.modal-scrim{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;z-index:190;opacity:0;pointer-events:none;transition:.2s;padding:20px}.modal-scrim.show{opacity:1;pointer-events:auto}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);width:50vw;height:50vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow);transform:translateY(10px);transition:.2s}.modal-scrim.show .modal{transform:none}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--panel);flex:0 0 auto}.modal-head h3{font-size:var(--fs-lg)}.modal.modal-fit{height:auto;max-height:min(88vh,760px)}.modal-body{padding:18px 20px;flex:1 1 auto;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:99px}.modal-foot{padding:13px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;flex:0 0 auto}.modal .x{cursor:pointer;color:var(--faint);width:34px;height:34px;display:grid;place-items:center;border-radius:9px;flex:0 0 auto}.modal .x:hover{background:var(--elev);color:var(--text)}.kv{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--border);font-size:var(--fs-sm)}.kv:first-child{border-top:none}.kv .k{color:var(--muted)}.kv .val{font-weight:600;text-align:right}.dd{position:relative}.dd-menu{position:absolute;right:0;top:calc(100% + 8px);background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);min-width:230px;padding:6px;z-index:120;display:none}.dd-menu.show{display:block;animation:pop .16s ease}.dd-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;font-size:var(--fs-sm);color:var(--text);cursor:pointer}.dd-item:hover{background:var(--elev)}.dd-item .material-symbols-rounded{font-size:19px;color:var(--muted)}.dd-item.danger,.dd-item.danger .material-symbols-rounded{color:var(--c-red)}.dd-head{padding:9px 12px 6px;font-size:var(--fs-xxs);color:var(--faint);text-transform:uppercase;letter-spacing:.6px;font-weight:700}.dd-sep{height:1px;background:var(--border);margin:5px 8px}.dd-note{display:flex;gap:10px;padding:9px 12px;border-radius:9px;cursor:pointer}.dd-note:hover{background:var(--elev)}.dd-note .di{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#fff;flex:0 0 auto;font-size:16px}.dd-note .t{font-size:var(--fs-sm);line-height:1.25}.dd-note .m{font-size:var(--fs-xxs);color:var(--faint);margin-top:2px}.foot-controls{margin-top:6px;display:flex;flex-direction:column;gap:2px}.ctl-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px}.ctl-lbl{display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--muted)}.ctl-lbl .material-symbols-rounded{font-size:17px}.lang-seg{display:inline-flex;background:var(--track);border-radius:99px;padding:3px;gap:2px;border:1px solid var(--border-2)}.lang-seg button{border:none;background:none;color:var(--muted);font-family:inherit;font-size:var(--fs-xxs);font-weight:800;padding:3px 9px;border-radius:99px;cursor:pointer;letter-spacing:.5px}.lang-seg button.active{background:var(--grad-brand);color:#fff}.click{cursor:pointer;transition:.15s}.row-click{cursor:pointer}.row-click:hover{background:var(--elev)}.is-hidden{display:none!important}@media(max-width:1100px){.topbar h1{font-size:var(--fs-lg)}.search{min-width:150px}}@media(max-width:860px){.topbar{padding:0 14px;gap:10px;height:58px;flex:0 0 58px;position:sticky;top:0;z-index:50}.topbar h1{font-size:var(--fs-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content{padding:14px}.grid{gap:12px}.card{padding:14px;border-radius:16px}.user-chip{padding:4px}.user-chip>div:not(.av){display:none}.user-chip .material-symbols-rounded{display:none}.icon-btn{width:36px;height:36px}.card>table.tbl{min-width:620px}.card:has(>table.tbl){overflow-x:auto}.tbl th,.tbl td{padding:9px 10px;white-space:nowrap}.tbl td .faint{white-space:normal}.perm2-scope table.perm2{min-width:660px}.card.tight .stat-num{font-size:var(--fs-xl)}.card.tight>div:last-child>div:last-child{width:78px!important}.pager{justify-content:center}.pager .info{width:100%;text-align:center}.modal{width:94vw;height:auto;max-height:88vh}.dd-menu{min-width:200px;right:-6px}.toast-wrap{left:14px;right:14px;bottom:14px}.toast{min-width:0;max-width:none}.sidebar{flex-basis:264px;width:264px}.row-split{flex-direction:column}.row-split>div{width:auto!important;max-width:none!important}.card[style*=aspect-ratio]{aspect-ratio:auto!important;min-height:260px}}@media(max-width:520px){.content{padding:12px}.stat-num{font-size:var(--fs-xl)}.card.tight>div:last-child{flex-direction:column;align-items:flex-start!important;gap:6px}.card.tight>div:last-child>div:last-child{width:100%!important}.card-head{flex-wrap:wrap;gap:8px}.btn{padding:9px 13px}.perm-legend{flex-direction:column;align-items:flex-start!important;gap:8px!important}.pl-div{display:none}}@media(max-width:900px){html,body{overflow-x:hidden}.grid{grid-template-columns:repeat(2,1fr)!important}[class*=col-]{grid-column:span 2!important}.col-3{grid-column:span 1!important}.content{padding:14px}.card{padding:14px;border-radius:16px}.topbar{height:56px;flex:0 0 56px;padding:0 12px;position:sticky;top:0;z-index:50}.topbar h1{font-size:var(--fs-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hamburger{display:grid;width:40px;height:40px}.sidebar{padding:16px 12px;flex-basis:272px;width:272px}.nav-item{padding:12px;font-size:var(--fs-base)}.nav-item .material-symbols-rounded{font-size:21px}.dd-menu{max-width:calc(100vw - 24px)}.card>table.tbl{min-width:600px}.tbl th,.tbl td{padding:10px;white-space:nowrap}.pager{justify-content:center}.btn,.pill{min-height:38px}.proc-desc{min-height:0}*{-webkit-tap-highlight-color:rgba(22,163,74,.15)}}@media(max-width:520px){.grid{grid-template-columns:1fr!important}[class*=col-],.col-3{grid-column:span 1!important}.content{padding:12px}.topbar h1{font-size:var(--fs-base)}.card-head{flex-wrap:wrap;gap:8px}.stat-num{font-size:var(--fs-xl)}.modal{width:100%;height:auto;max-height:90vh}.toast-wrap{left:12px;right:12px;bottom:12px}.rate-row .lb{width:78px}}@media(min-width:901px){.content{display:flex;flex-direction:column}.content>.grid{flex:1 1 auto;min-height:0}.content>.row-split{flex:1 1 auto;min-height:0}.card{align-content:start}.card:has(>table.tbl){display:flex;flex-direction:column}.card:has(>table.tbl)>table.tbl{flex:0 0 auto}.card:has(>table.tbl)>.pager{margin-top:auto;padding-top:14px}}.qr-calc{border:1px solid var(--border);border-radius:12px;background:var(--card-2);padding:12px 14px;margin-top:2px}.qr-calc.short{border-color:var(--c-red)}.qc-row{display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:var(--fs-sm);padding:5px 0}.qc-row span{color:var(--muted)}.qc-row b{font-variant-numeric:tabular-nums;color:var(--text);font-weight:700}.qc-left{border-top:1px solid var(--border);margin-top:4px;padding-top:9px}.qc-warn:empty{display:none}.qc-warn{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--c-red) 12%,transparent);color:var(--c-red);font-size:var(--fs-xs);font-weight:600;line-height:1.6}.qc-warn .material-symbols-rounded{font-size:17px;flex:0 0 auto}
