:root{--bg:#f8fafc;--surface:#fff;--hover:#f1f5f9;--border:#e2e8f0;--border-strong:#cbd5e1;--ink:#0f172a;--ink2:#475569;--muted:#64748b;--brand:#1e3a8a;--brand-hover:#172554;--brand-soft:#eef2ff;--done:#1e3a8a;--done-bg:#eef2ff;--done-bd:#c7d2fe;--ok:#10b981;--ok-tx:#047857;--ok-bg:#ecfdf5;--ok-bd:#a7f3d0;--d1:#f59e0b;--d1-tx:#b45309;--d1-bg:#fffbeb;--d1-bd:#fde68a;--d2:#ef4444;--d2-tx:#b91c1c;--d2-bg:#fef2f2;--d2-bd:#fecaca;--pl:#64748b;--pl-tx:#475569;--pl-bg:#f1f5f9;--pl-bd:#cbd5e1;--ui:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--ui);margin:0;font-size:14px;line-height:1.45}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:30;background:var(--surface);position:fixed;inset:0 0 auto}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{text-wrap:balance;margin:0}.gut{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.top{top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--border);position:sticky}.top-in{flex-wrap:wrap;align-items:center;gap:10px 20px;max-width:1320px;margin:0 auto;padding-block:10px;display:flex}.logo{align-items:center;gap:10px;min-width:0;display:flex}.logo i{color:#fff;background:var(--brand);border-radius:8px;flex:none;place-items:center;width:36px;height:36px;font-style:normal;font-weight:800;display:grid}.logo b{letter-spacing:.01em;font-weight:800;display:block}.logo span{color:var(--ink2);font-size:11.5px;display:block}.nav{background:var(--hover);border-radius:8px;flex-wrap:wrap;gap:2px;margin-inline:auto;padding:3px;display:flex}.nav button{color:var(--ink2);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:7px 10px;font-size:13px;font-weight:600;display:flex}.nav button[aria-current=page]{background:var(--brand);color:#fff}.cnt{background:var(--d2);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 6px;font-size:11px;font-weight:700}.who{align-items:center;gap:10px;min-width:0;display:flex}.who .av{background:var(--brand-soft);width:32px;height:32px;color:var(--brand);border-radius:999px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.who b{font-size:13px;display:block}.who span{color:var(--ink2);font-size:11.5px;display:block}main{flex-direction:column;gap:16px;max-width:1320px;margin:0 auto;padding-block:20px 48px;display:flex}.demo{color:var(--ink2);background:var(--d1-bg);border:1px solid var(--d1-bd);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 12px;font-size:12px;display:flex}.demo button{margin-left:auto}.head{flex-wrap:wrap;align-items:flex-end;gap:10px 16px;display:flex}.head h1{font-size:22px;font-weight:800}.head p{color:var(--ink2);max-width:70ch;margin:2px 0 0}.head .sp{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px}.pad{padding:16px}.btn{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:7px;padding:8px 14px;font-weight:600}.btn:hover{background:var(--hover)}.btn.pri{background:var(--brand);border-color:var(--brand);color:#fff}.btn.pri:hover{background:var(--brand-hover)}.btn.line{border-color:var(--brand);color:var(--brand)}.btn.dng{border-color:var(--d2-bd);color:var(--d2-tx)}.btn.sm{padding:5px 10px;font-size:12.5px}.btn.ghost{color:var(--brand);background:0 0;border-color:#0000}.btn:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.stat{padding:14px 16px}.stat small{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700;display:block}.stat b{font-variant-numeric:tabular-nums;margin-top:2px;font-size:24px;font-weight:800;display:block}.stat span{color:var(--ink2);font-size:12px}.units{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.unit{text-align:left;cursor:pointer;flex-direction:column;gap:8px;padding:16px;display:flex}.unit:hover{border-color:var(--brand)}.unit h3{font-size:15px}.unit p{color:var(--ink2);margin:0;font-size:12px}.unit .row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.unit .big{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.seg{background:var(--hover);border-radius:999px;height:10px;display:flex;overflow:hidden}.seg i{display:block}.legend{color:var(--ink2);flex-wrap:wrap;gap:6px 16px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.dot{border-radius:999px;flex:none;width:9px;height:9px;display:inline-block}.bars{gap:10px;display:grid}.bar-row{grid-template-columns:150px 1fr 44px;align-items:center;gap:10px;font-size:13px;display:grid}.bar-row .tr{background:var(--hover);border-radius:4px;height:14px;overflow:hidden}.bar-row .tr i{height:100%;display:block}.bar-row b{text-align:right;font-variant-numeric:tabular-nums}.tabs{flex-wrap:wrap;gap:8px;display:flex}.tab{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink2);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:8px 14px;font-weight:600;display:flex}.tab[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.tab em{background:var(--hover);color:var(--ink2);font-variant-numeric:tabular-nums;border-radius:999px;padding:0 7px;font-size:11.5px;font-style:normal;font-weight:700}.tab[aria-pressed=true] em{color:#fff;background:#3b5bc0}.filters{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.fld{flex-direction:column;gap:4px;min-width:0;display:flex}.fld>span:first-child,.lbl{letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);font-size:11px;font-weight:700}.lbl i{color:var(--d2);font-style:normal}.lbl small{text-transform:none;letter-spacing:0;color:var(--muted);font-size:11.5px;font-weight:500}input[type=text],input[type=password],input[type=search],input[type=date],input[type=number],select,textarea{border:1px solid var(--border-strong);background:var(--surface);border-radius:7px;width:100%;min-width:0;padding:8px 10px}textarea{resize:vertical;min-height:38px}.filters .fld{flex:150px}.filters .grow{flex:2 220px}.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{color:#fff;text-align:left;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:#0f2a4a;padding:9px 10px;font-size:11px}td{border-top:1px solid var(--border);vertical-align:top;padding:10px}tr.open>td{background:#f8faff}td small{color:var(--brand);font-size:11.5px;font-weight:600;display:block}td .nm{font-weight:600}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.prog{min-width:110px}.prog .tr{background:var(--hover);border-radius:999px;height:5px;margin-top:4px;overflow:hidden}.prog .tr i{height:100%;display:block}.badge{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.s-done{background:var(--done-bg);color:var(--done);border-color:var(--done-bd)}.s-ok{background:var(--ok-bg);color:var(--ok-tx);border-color:var(--ok-bd)}.s-d1{background:var(--d1-bg);color:var(--d1-tx);border-color:var(--d1-bd)}.s-d2{background:var(--d2-bg);color:var(--d2-tx);border-color:var(--d2-bd)}.s-pl{background:var(--pl-bg);color:var(--pl-tx);border-color:var(--pl-bd)}.avs{display:flex}.avs span{background:var(--brand-soft);width:26px;height:26px;color:var(--brand);border:2px solid var(--surface);border-radius:999px;place-items:center;margin-left:-6px;font-size:10.5px;font-weight:700;display:grid}.avs span:first-child{margin-left:0}.detail{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;padding:6px 2px 10px;display:grid}.box{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;padding:12px 14px}.box h4{letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;gap:8px;margin:0 0 6px;font-size:11.5px;display:flex}.box h4 em{color:var(--brand);background:var(--brand-soft);text-transform:none;letter-spacing:0;border-radius:999px;padding:0 8px;font-style:normal;font-weight:700}.box ol{gap:3px;margin:0;padding-left:18px;display:grid}.box.wide{grid-column:1/-1}.months{grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;display:grid}.months div{border:1px solid var(--border);text-align:center;font-variant-numeric:tabular-nums;border-radius:6px;padding:3px 0;font-size:11px}.months div b{color:var(--ink2);font-size:10px;display:block}.months .off{color:var(--muted);background:var(--hover)}.acts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.note{color:var(--ink2);font-size:12px}.empty{text-align:center;color:var(--ink2);padding:28px 16px}.q{gap:12px;display:grid}.qi{gap:12px;padding:16px;display:grid}.qi .hd{flex-wrap:wrap;align-items:flex-start;gap:8px 14px;display:flex}.qi .hd div{flex:260px;min-width:0}.qi h3{font-size:16px}dialog{width:min(1000px,100% - 24px);max-height:calc(100% - 24px);color:var(--ink);background:var(--surface);border:0;border-radius:12px;padding:0;box-shadow:0 24px 60px #0f172a59}dialog::backdrop{background:#0f172a99}.dlg{gap:16px;padding:22px 24px;display:grid}.dlg header{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.dlg header div{flex:1;min-width:0}.dlg header h2{font-size:19px;font-weight:800}.dlg header p{color:var(--ink2);margin:2px 0 0;font-size:13px}.g3{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}.hint{color:var(--brand);font-size:12px}.err{color:var(--d2-tx);font-size:12px;font-weight:600}.chips{border:1px solid var(--border-strong);border-radius:7px;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 6px;display:flex}.chip{background:var(--brand-soft);color:var(--brand);border:1px solid var(--done-bd);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:12.5px;font-weight:600;display:flex}.chip button,.x{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:14px;line-height:1}.chip button:hover,.x:hover{color:var(--d2-tx);background:var(--d2-bg)}.chips select{width:auto;color:var(--ink2);border:0;flex:110px;padding:4px}.rep{gap:6px;display:grid}.rep .it{align-items:flex-start;gap:6px;display:flex}.rep .it>span{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;width:18px;padding-top:9px}.rep .it input[type=date]{flex:none;width:150px}.sec{border:1px solid var(--border);background:#fbfcfe;border-radius:8px;gap:10px;padding:14px;display:grid}.sec.extra{border-color:var(--done-bd);background:#f3f6ff}.mchips{grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:6px;display:grid}.mchips button{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;color:var(--ink2);border-radius:6px;padding:6px 0;font-size:12.5px;font-weight:700}.mchips button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.mgrid{grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:6px;display:grid}.mgrid label{color:var(--ink2);text-align:center;gap:2px;font-size:11px;font-weight:700;display:grid}.mgrid input{text-align:center;padding:6px 2px}.mgrid input:disabled{background:var(--hover);color:var(--muted)}.kum{background:var(--hover);border:1px solid var(--border);border-radius:7px;flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:38px;padding:7px 10px;display:flex}.kum b{font-variant-numeric:tabular-nums;font-size:16px}.kum span{color:var(--ok-tx);font-size:12.5px;font-weight:600}.kum input{width:90px}.files{gap:6px;display:grid}.file{border:1px solid var(--border);background:var(--surface);border-radius:7px;align-items:center;gap:10px;padding:7px 10px;font-size:13px;font-weight:600;display:flex}.file span{color:var(--muted);margin-left:auto;font-size:12px;font-weight:500}.foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding-top:14px;display:flex}.foot .note{margin-right:auto}.login{place-items:center;min-height:100%;padding-block:32px;display:grid}.login .card{gap:16px;width:min(440px,100%);padding:28px;display:grid}.login h1{font-size:20px;font-weight:800}.accts{gap:8px;display:grid}.acct{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.acct:hover{border-color:var(--brand);background:var(--brand-soft)}.acct b{display:block}.acct span{color:var(--ink2);font-size:12px;display:block}.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--ink);color:#fff;border-radius:8px;max-width:calc(100% - 32px);padding:10px 16px;font-size:13px;font-weight:600;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0f172a4d}@media (max-width:640px){.nav{order:3;width:100%;margin-inline:0}.bar-row{grid-template-columns:96px 1fr 40px}.dlg{padding:16px}}a{color:var(--brand)}.menu{position:relative}.pop{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:2px;width:min(340px,100vw - 32px);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px #0f172a2e}.pop button.it{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px;font-weight:600}.pop button.it:hover{background:var(--hover)}.pop .nt{border-radius:6px;gap:2px;padding:8px 10px;font-size:12.5px;display:grid}.pop .nt.new{background:var(--brand-soft)}.pop .nt small{color:var(--muted)}.bell{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;place-items:center;width:36px;height:36px;display:grid;position:relative}.bell .cnt{position:absolute;top:-6px;right:-6px}.userbtn{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:10px;padding:4px 10px 4px 4px;display:flex}.sub{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;display:flex}.sub button{color:var(--ink2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-weight:600}.sub button[aria-pressed=true]{color:var(--brand);border-bottom-color:var(--brand)}.grid2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;display:grid}.kv{grid-template-columns:minmax(120px,max-content) 1fr;gap:6px 16px;font-size:13px;display:grid}.kv dt{color:var(--ink2)}.kv dd{margin:0;font-weight:600}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--hover);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:12.5px;display:inline-flex}.vbars{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:6px;height:150px;display:grid}.vbars div{height:100%;color:var(--ink2);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;font-size:11px;display:flex}.vbars i{background:var(--brand);border-radius:3px 3px 0 0;width:100%;min-height:1px;display:block}.hl{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.hl .card{align-content:start;gap:10px;padding:16px;display:grid}.hl h3{font-size:15px}.hl ul{gap:4px;margin:0;padding-left:18px;font-size:13px;display:grid}.ver{gap:8px;padding:6px 2px 10px;display:grid}.ver .v{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 12px;display:flex}.ver .v b{font-variant-numeric:tabular-nums}.ver .v .sp{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.perm td,.perm th{text-align:center}.perm td:first-child,.perm th:first-child{text-align:left}.creds{color:var(--ink2);border:1px dashed var(--border-strong);border-radius:8px;gap:6px;padding:10px 12px;font-size:12px;display:grid}.creds button{text-align:left;cursor:pointer;color:var(--brand);background:0 0;border:0;padding:3px 0;font-size:12.5px;font-weight:600}.creds code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.otp{letter-spacing:.5em;text-align:center;font-size:20px;font-weight:700}.viewer{gap:12px;display:grid}.vbar{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.vbar .pg{font-variant-numeric:tabular-nums;color:var(--ink2);font-weight:600}.vbar .sp{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.stagewrap{border:1px solid var(--border);background:#fff;border-radius:8px;margin:0 auto;overflow:hidden;box-shadow:0 8px 24px #0f172a14}.slide{color:#0f172a;transform-origin:0 0;background:#fff 50%/cover no-repeat;width:960px;height:540px;font-family:Tw Cen MT,Twentieth Century,Inter,system-ui,sans-serif;position:relative;overflow:hidden}.slide .st{color:#002060;width:735px;font-size:22px;font-weight:800;line-height:1.15;position:absolute;top:20px;left:28px}.slide .st small{color:#475569;margin-top:2px;font-size:11px;font-weight:600;display:block}.slide .sb{height:424px;font-size:10px;line-height:1.3;position:absolute;top:84px;left:28px;right:28px;overflow:hidden}.slide .sf{color:#7f7f7f;justify-content:space-between;font-size:8.5px;display:flex;position:absolute;bottom:8px;left:28px;right:28px}.slide table{border-collapse:collapse;width:100%;font-size:9px}.slide th{color:#fff;letter-spacing:.03em;text-transform:none;white-space:normal;text-align:left;background:#002060;padding:4px 5px;font-size:8px}.slide td{vertical-align:top;border:1px solid #d9dee7;padding:4px 5px}.slide td ul{margin:0;padding-left:12px}.slide .mc{text-align:center;font-variant-numeric:tabular-nums;width:26px;padding:3px 0;font-size:8px}.slide .cov{color:#fff;width:350px;position:absolute;left:580px}.slide .lg{color:#475569;gap:12px;margin-top:6px;font-size:8.5px;display:flex}.slide .lg span{align-items:center;gap:4px;display:flex}.slide .cols{gap:10px;height:100%;display:grid}.slide .pn{border:1px solid #d9dee7;border-radius:4px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.slide .pn h5{color:#fff;background:#002060;margin:0;padding:5px 8px;font-size:10px}.slide .pn .in{align-content:start;gap:5px;padding:7px 8px;display:grid}.slide .big{color:#002060;font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.slide .vbars{height:120px}.slide .vbars i{background:#002060}.printonly{display:none}@media print{@page{size:13.333in 7.5in;margin:0}body{background:#fff}.top,.toast,.viewer>:not(.printonly){display:none!important}main{max-width:none!important;padding:0!important;display:block!important}.printonly{display:block}.printonly>div{break-inside:avoid;height:7.5in;overflow:hidden}.printonly>div+div{break-before:page}.printonly .slide{zoom:1.3333;-webkit-print-color-adjust:exact;print-color-adjust:exact}html,body{height:auto!important}}.lnk{color:var(--brand);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:600;display:inline}.lnk:hover{text-decoration:underline}img{max-width:100%}[hidden]{display:none!important}
