@import"https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,500&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--bg: #f4f3ef;--surface: #ffffff;--surface-2: #faf9f6;--sunken: #efeee9;--ink: #1b2330;--ink-2: #495260;--ink-3: #79818d;--ink-4: #a7acb4;--line: #e6e3db;--line-2: #efece5;--line-strong:#d6d2c8;--navy: #1f3a5c;--navy-700: #19314f;--navy-600: #284a72;--navy-tint: #eaeef4;--navy-tint-2:#dde5ef;--lvl1: #b04a42;--lvl1-bg:#f7e9e7;--lvl1-line:#e7c9c4;--lvl2: #b3823a;--lvl2-bg:#f6efdd;--lvl2-line:#e8d6ab;--lvl3: #4a8a60;--lvl3-bg:#e6f1e9;--lvl3-line:#c2ddc9;--lvl4: #2f6f82;--lvl4-bg:#e1eef1;--lvl4-line:#bcdadf;--ok: #4a8a60;--ok-bg:#e6f1e9;--warn: #b3823a;--warn-bg:#f6efdd;--bad: #b04a42;--bad-bg:#f7e9e7;--info: #284a72;--info-bg:#eaeef4;--r-xs:5px;--r-sm:8px;--r:11px;--r-lg:16px;--r-xl:22px;--sh-1:0 1px 2px rgba(27,35,48,.05), 0 1px 3px rgba(27,35,48,.04);--sh-2:0 2px 5px rgba(27,35,48,.06), 0 6px 16px rgba(27,35,48,.07);--sh-3:0 12px 32px rgba(27,35,48,.12), 0 4px 10px rgba(27,35,48,.07);--sh-pop:0 18px 50px rgba(20,30,48,.2);--ui:"Public Sans", -apple-system, system-ui, sans-serif;--serif:"Newsreader", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--maxw:1240px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--ui);background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}::selection{background:var(--navy-tint-2)}a{color:var(--navy-600);text-underline-offset:2px}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-thumb{background:#d3cfc5;border-radius:8px;border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#bdb8ac;background-clip:content-box}.serif{font-family:var(--serif)}.mono{font-family:var(--mono)}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.muted{color:var(--ink-3)}.dim{color:var(--ink-2)}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{height:60px;flex:0 0 60px;display:flex;align-items:center;gap:18px;padding:0 24px;background:var(--navy);color:#fff;position:sticky;top:0;z-index:40}.topbar .brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.01em}.topbar .brand .mark{width:30px;height:30px;border-radius:8px;background:#fff;color:var(--navy);display:grid;place-items:center;font-family:var(--serif);font-weight:600;font-size:18px;flex:0 0 auto}.topbar .brand .sub{font-size:11px;font-weight:500;opacity:.6;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:1px}.topbar .spacer{flex:1}.topbar .tb-btn{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:9px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff;font-size:13.5px;font-weight:500;transition:background .15s}.topbar .tb-btn:hover{background:#ffffff29}.topbar .tb-icon{width:36px;justify-content:center;padding:0;position:relative}.tb-dot{position:absolute;top:7px;right:8px;width:7px;height:7px;border-radius:50%;background:#e8a13a;border:1.5px solid var(--navy)}.roleswitch{display:flex;background:#0000002e;border-radius:10px;padding:3px;gap:2px}.roleswitch button{display:flex;align-items:center;gap:7px;height:30px;padding:0 13px;border-radius:7px;border:none;background:transparent;color:#ffffff9e;font-size:13px;font-weight:600;transition:all .15s}.roleswitch button.on{background:#fff;color:var(--navy);box-shadow:var(--sh-1)}.shell{flex:1;display:flex;max-width:var(--maxw);width:100%;margin:0 auto}.side{flex:0 0 250px;padding:22px 14px;position:sticky;top:60px;align-self:flex-start;height:calc(100vh - 60px);overflow:auto;border-right:1px solid var(--line)}.side .grp{margin-bottom:22px}.side .grp-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-4);padding:0 10px 8px}.navitem{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:none;background:transparent;padding:9px 10px;border-radius:9px;color:var(--ink-2);font-size:14px;font-weight:500;transition:all .13s;margin-bottom:1px}.navitem:hover{background:var(--sunken);color:var(--ink)}.navitem.on{background:var(--navy);color:#fff;font-weight:600}.navitem.on svg{opacity:1}.navitem svg{opacity:.6;flex:0 0 auto}.navitem .count{margin-left:auto;font-family:var(--mono);font-size:11px;font-weight:600;background:var(--sunken);color:var(--ink-3);padding:1px 7px;border-radius:20px}.navitem.on .count{background:#ffffff2e;color:#fff}.main{flex:1;min-width:0;padding:30px 36px 80px}.page-w{max-width:920px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1)}.card-pad{padding:22px 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:14px;font-weight:600;transition:all .14s;white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:var(--ink-4)}.btn-pri{background:var(--navy);border-color:var(--navy);color:#fff}.btn-pri:hover{background:var(--navy-700);border-color:var(--navy-700)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--sunken)}.btn-sm{height:32px;padding:0 12px;font-size:13px;border-radius:8px}.btn-lg{height:46px;padding:0 24px;font-size:15px}.btn:disabled{opacity:.5;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:7px;font-size:12px;font-weight:600;font-family:var(--ui)}.chip .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.chip-ok{background:var(--ok-bg);color:#2f6243}.chip-warn{background:var(--warn-bg);color:#8a6322}.chip-bad{background:var(--bad-bg);color:#8a352e}.chip-info{background:var(--info-bg);color:var(--navy)}.chip-neutral{background:var(--sunken);color:var(--ink-3)}.badge-lvl{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:7px;font-size:12.5px;font-weight:700}.lvl1{background:var(--lvl1-bg);color:var(--lvl1)}.lvl2{background:var(--lvl2-bg);color:var(--lvl2)}.lvl3{background:var(--lvl3-bg);color:var(--lvl3)}.lvl4{background:var(--lvl4-bg);color:var(--lvl4)}.lvl0{background:var(--sunken);color:var(--ink-4)}.divider{height:1px;background:var(--line);border:none;margin:0}.ring{position:relative;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.ring .hole{background:var(--surface);border-radius:50%;display:grid;place-items:center;text-align:center}.ring .hole .pct{font-family:var(--serif);font-weight:600;line-height:1;color:var(--ink)}.ring .hole .lbl{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:3px}.bar{height:7px;border-radius:20px;background:var(--sunken);overflow:hidden}.bar>span{display:block;height:100%;border-radius:20px;background:var(--navy);transition:width .5s cubic-bezier(.4,0,.2,1)}.phasebar{display:inline-flex;background:var(--sunken);border-radius:11px;padding:4px;gap:3px}.phasebar button{display:flex;align-items:center;gap:8px;height:34px;padding:0 15px;border-radius:8px;border:none;background:transparent;color:var(--ink-2);font-size:13.5px;font-weight:600;transition:all .15s;white-space:nowrap}.phasebar button .ph-dot{width:8px;height:8px;border-radius:50%}.phasebar button.on{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1)}.phead{display:flex;align-items:flex-end;gap:18px;margin-bottom:24px;flex-wrap:wrap}.phead h1{font-family:var(--serif);font-weight:500;font-size:32px;letter-spacing:-.01em;margin:0;line-height:1.1}.phead .sub{color:var(--ink-3);font-size:14.5px;margin-top:5px}.phead .ph-r{margin-left:auto;display:flex;align-items:center;gap:10px}.stats{display:grid;gap:14px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}.stat .v{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1;color:var(--ink)}.stat .v small{font-size:16px;color:var(--ink-3)}.stat .k{font-size:12.5px;color:var(--ink-3);margin-top:7px;font-weight:500}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th{text-align:left;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:500;padding:0 14px 10px;border-bottom:1px solid var(--line)}.tbl td{padding:13px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background .12s}.tbl tbody tr.click{cursor:pointer}.tbl tbody tr.click:hover{background:var(--surface-2)}.av{border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;flex:0 0 auto;font-size:13px;letter-spacing:.01em}.lvlgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.lvlcol{border:1.5px solid var(--line);border-radius:var(--r);background:var(--surface-2);display:flex;flex-direction:column;overflow:hidden;transition:all .15s;text-align:left;padding:0;position:relative;cursor:pointer}.lvlcol:hover{border-color:var(--ink-4);background:var(--surface)}.lvlcol .lvlhead{padding:11px 13px;border-bottom:1px solid var(--line-2);display:flex;align-items:center;gap:8px}.lvlcol .lvlhead .num{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:600;background:var(--sunken);color:var(--ink-3);flex:0 0 auto}.lvlcol .lvlhead .nm{font-size:13px;font-weight:700;color:var(--ink-2)}.lvlcol .lvlbody{padding:12px 13px;font-size:12.7px;line-height:1.5;color:var(--ink-2);flex:1}.lvlcol .lvlpick{margin:0 13px 13px;height:30px;border-radius:7px;border:1px dashed var(--line-strong);background:transparent;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:600;color:var(--ink-3);transition:all .14s}.lvlcol:hover .lvlpick{border-color:var(--ink-4);color:var(--ink-2)}.lvlcol.sel{background:var(--surface)}.lvlcol.sel-1{border-color:var(--lvl1);box-shadow:0 0 0 3px var(--lvl1-bg)}.lvlcol.sel-2{border-color:var(--lvl2);box-shadow:0 0 0 3px var(--lvl2-bg)}.lvlcol.sel-3{border-color:var(--lvl3);box-shadow:0 0 0 3px var(--lvl3-bg)}.lvlcol.sel-4{border-color:var(--lvl4);box-shadow:0 0 0 3px var(--lvl4-bg)}.lvlcol.sel .lvlpick{border-style:solid;color:#fff;border:none}.lvlcol.sel-1 .lvlpick{background:var(--lvl1)}.lvlcol.sel-2 .lvlpick{background:var(--lvl2)}.lvlcol.sel-3 .lvlpick{background:var(--lvl3)}.lvlcol.sel-4 .lvlpick{background:var(--lvl4)}.lvlcol.sel .num{color:#fff}.lvlcol.sel-1 .num{background:var(--lvl1)}.lvlcol.sel-2 .num{background:var(--lvl2)}.lvlcol.sel-3 .num{background:var(--lvl3)}.lvlcol.sel-4 .num{background:var(--lvl4)}.lvlcol.sel .nm{color:var(--ink)}.lvlcol.spring{outline:2px solid var(--lvl3);outline-offset:1px}.spring-tag{position:absolute;top:8px;right:8px;font-family:var(--mono);font-size:9px;font-weight:600;color:var(--lvl3);background:var(--lvl3-bg);padding:2px 6px;border-radius:5px;letter-spacing:.05em}.crail{display:flex;flex-direction:column;gap:3px}.crail .ci{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;border:none;background:transparent;text-align:left;width:100%;transition:all .12s}.crail .ci:hover{background:var(--surface-2)}.crail .ci.on{background:var(--navy-tint)}.crail .ci .code{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink-3);width:22px;flex:0 0 auto}.crail .ci.on .code{color:var(--navy)}.crail .ci .nm{font-size:13px;font-weight:500;color:var(--ink-2);line-height:1.25;flex:1;min-width:0}.crail .ci.on .nm{color:var(--ink);font-weight:600}.crail .ci .st{width:16px;height:16px;flex:0 0 auto}.smark{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.smark.done{background:var(--ok)}.smark.part{background:var(--warn-bg);border:2px solid var(--warn)}.smark.none{background:transparent;border:2px solid var(--line-strong)}.evbox{border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);padding:16px 18px}.evitem{display:flex;align-items:center;gap:11px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:9px;margin-bottom:8px}.evitem .ic{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto}.evitem .ic.link{background:var(--navy-tint);color:var(--navy)}.evitem .ic.file{background:#efe7f3;color:#73508f}.evitem .ic.photo{background:#e6f1e9;color:#3f7553}.evitem .meta{flex:1;min-width:0}.evitem .meta .t{font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.evitem .meta .s{font-size:11.5px;color:var(--ink-3);font-family:var(--mono)}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--r);padding:18px;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;background:var(--surface-2)}.dropzone .dz-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:8px;border:1px solid var(--line-strong);background:var(--surface);font-size:13px;font-weight:600;color:var(--ink-2);transition:all .13s}.dropzone .dz-btn:hover{border-color:var(--navy);color:var(--navy);background:var(--navy-tint)}.ta{width:100%;border:1px solid var(--line-strong);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.55;color:var(--ink);background:var(--surface);resize:vertical;min-height:90px;transition:border .14s,box-shadow .14s}.ta:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-tint)}.inp{width:100%;height:40px;border:1px solid var(--line-strong);border-radius:10px;padding:0 14px;font-size:14px;color:var(--ink);background:var(--surface);transition:border .14s,box-shadow .14s}.inp:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-tint)}.req{display:flex;align-items:flex-start;gap:11px;padding:11px 0;border-bottom:1px solid var(--line-2)}.req:last-child{border-bottom:none}.req .rmark{width:20px;height:20px;border-radius:6px;flex:0 0 auto;display:grid;place-items:center;margin-top:1px}.req .rmark.met{background:var(--ok);color:#fff}.req .rmark.unmet{background:var(--surface);border:1.5px solid var(--line-strong)}.req .rtxt{font-size:13.5px;line-height:1.45;color:var(--ink-2)}.req .rtxt b{color:var(--ink);font-weight:600}.tline{display:flex;align-items:stretch;gap:0}.tline .tstep{flex:1;position:relative;padding-top:26px}.tline .tstep .tline-bar{position:absolute;top:9px;left:0;right:0;height:3px;background:var(--line)}.tline .tstep:first-child .tline-bar{left:50%}.tline .tstep:last-child .tline-bar{right:50%}.tline .tstep .tline-bar.fill{background:var(--navy)}.tline .tstep .tnode{position:absolute;top:3px;left:50%;transform:translate(-50%);width:15px;height:15px;border-radius:50%;background:var(--surface);border:3px solid var(--line-strong);z-index:2}.tline .tstep.done .tnode{background:var(--navy);border-color:var(--navy)}.tline .tstep.active .tnode{border-color:var(--navy);box-shadow:0 0 0 4px var(--navy-tint)}.tline .tstep .tc{text-align:center;padding:0 8px}.tline .tstep .tc .tt{font-size:13px;font-weight:600;color:var(--ink)}.tline .tstep .tc .td{font-size:11.5px;color:var(--ink-3);font-family:var(--mono);margin-top:2px}.tline .tstep:not(.done):not(.active) .tc .tt{color:var(--ink-3)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#141c2a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;display:grid;place-items:center;padding:24px;animation:fade .18s ease}.modal{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-pop);width:100%;max-width:540px;max-height:88vh;overflow:auto;animation:pop .22s cubic-bezier(.2,.8,.3,1)}.modal-lg{max-width:760px}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.modal-head{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.modal-head h3{margin:0;font-size:18px;font-weight:700;letter-spacing:-.01em}.modal-body{padding:22px 24px}.modal-foot{padding:16px 24px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;background:var(--surface-2);position:sticky;bottom:0}.toastwrap{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:90;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{display:flex;align-items:center;gap:10px;background:var(--ink);color:#fff;padding:11px 16px;border-radius:11px;box-shadow:var(--sh-3);font-size:13.5px;font-weight:500;animation:toastin .25s cubic-bezier(.2,.8,.3,1)}.toast .tdot{width:8px;height:8px;border-radius:50%;background:var(--lvl3)}@keyframes toastin{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.sigpad{border:1.5px solid var(--line-strong);border-radius:10px;background:var(--surface);height:120px;position:relative;overflow:hidden;cursor:crosshair}.sigpad .sline{position:absolute;left:18px;right:18px;bottom:30px;border-bottom:1px solid var(--line)}.sigpad .shint{position:absolute;left:18px;bottom:11px;font-family:var(--mono);font-size:11px;color:var(--ink-4)}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.gap6{gap:6px}.gap8{gap:8px}.gap10{gap:10px}.gap12{gap:12px}.gap14{gap:14px}.gap16{gap:16px}.gap20{gap:20px}.gap24{gap:24px}.wrap{flex-wrap:wrap}.grow{flex:1}.mt4{margin-top:4px}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mt20{margin-top:20px}.mt24{margin-top:24px}.mt32{margin-top:32px}.mb4{margin-bottom:4px}.mb8{margin-bottom:8px}.mb12{margin-bottom:12px}.mb16{margin-bottom:16px}.mb20{margin-bottom:20px}.mb24{margin-bottom:24px}.center{align-items:center}.between{justify-content:space-between}.end{justify-content:flex-end}.sec-title{font-size:13px;font-weight:700;color:var(--ink);letter-spacing:.01em}.hl{background:linear-gradient(transparent 60%,#d8ecdd 60%);padding:0 2px}@media (max-width:1100px){.side{display:none}}.login-wrap{min-height:100vh;display:flex;background:var(--bg)}.login-brand{flex:0 0 44%;max-width:560px;background:var(--navy);color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:46px 52px}.login-brand:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5;pointer-events:none;background:radial-gradient(900px 500px at 110% -10%,rgba(255,255,255,.08),transparent 60%),radial-gradient(700px 460px at -10% 120%,rgba(47,111,130,.5),transparent 55%)}.login-brand>*{position:relative;z-index:1}.login-brand .lb-mark{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;letter-spacing:-.01em}.login-brand .lb-mark .mark{width:38px;height:38px;border-radius:10px;background:#fff;color:var(--navy);display:grid;place-items:center;font-family:var(--serif);font-weight:600;font-size:22px;flex:0 0 auto}.login-brand .lb-mark .sub{display:block;font-size:11px;font-weight:500;opacity:.6;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.login-brand .lb-body{margin-top:auto}.login-brand h2{font-family:var(--serif);font-weight:500;font-size:34px;line-height:1.18;letter-spacing:-.01em;margin:0 0 16px;max-width:18ch}.login-brand .lb-sub{font-size:15px;line-height:1.6;color:#ffffffbd;max-width:42ch;margin:0}.login-cadence{display:flex;gap:0;margin-top:34px;border-top:1px solid rgba(255,255,255,.16);padding-top:26px;max-width:430px}.login-cadence .lc-step{flex:1;position:relative}.login-cadence .lc-step .lc-dot{width:11px;height:11px;border-radius:50%;margin-bottom:11px}.login-cadence .lc-step .lc-bar{position:absolute;top:5px;left:11px;right:0;height:2px;background:#ffffff2e}.login-cadence .lc-step:last-child .lc-bar{display:none}.login-cadence .lc-t{font-size:13px;font-weight:600}.login-cadence .lc-d{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#ffffff80;margin-top:3px}.login-brand .lb-foot{margin-top:34px;font-size:11.5px;color:#ffffff75;font-family:var(--mono);letter-spacing:.03em;line-height:1.6}.login-main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px}.login-card{width:100%;max-width:392px}.login-card .lm-mark{display:none;align-items:center;gap:11px;font-weight:700;margin-bottom:28px}.login-card .lm-mark .mark{width:34px;height:34px;border-radius:9px;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:19px;flex:0 0 auto}.login-card h1{font-family:var(--serif);font-weight:500;font-size:30px;letter-spacing:-.01em;margin:0 0 6px}.login-card .lm-sub{color:var(--ink-3);font-size:14.5px;margin:0 0 28px}.sso-btn{width:100%;height:48px;border-radius:11px;border:1px solid var(--line-strong);background:var(--surface);display:flex;align-items:center;justify-content:center;gap:11px;font-size:14.5px;font-weight:600;color:var(--ink);transition:all .14s;margin-bottom:11px;position:relative}.sso-btn:hover{background:var(--surface-2);border-color:var(--ink-4);box-shadow:var(--sh-1)}.sso-btn:disabled{opacity:.6;cursor:wait}.sso-btn .spin{position:absolute;right:16px;width:17px;height:17px;border:2px solid var(--line-strong);border-top-color:var(--navy);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-or{display:flex;align-items:center;gap:14px;margin:20px 0;color:var(--ink-4);font-size:12px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:var(--line)}.login-field{margin-bottom:14px}.login-field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.login-field .fl-row{display:flex;align-items:center;justify-content:space-between}.login-field .fl-row a{font-size:12px;font-weight:600}.login-foot{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3);text-align:center;line-height:1.6}.login-foot .powered{margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-4)}.login-foot .powered a{color:var(--ink-3);font-weight:600}@media (max-width:880px){.login-brand{display:none}.login-card .lm-mark{display:flex}}.av-wrap{position:relative}.av-btn{border:none;background:transparent;padding:0;border-radius:50%;display:grid;place-items:center}.av-btn:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}.av-menu{position:absolute;top:46px;right:0;width:228px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-pop);z-index:80;overflow:hidden;animation:pop .16s cubic-bezier(.2,.8,.3,1)}.av-menu .am-head{padding:14px 15px;border-bottom:1px solid var(--line-2);display:flex;align-items:center;gap:11px}.av-menu .am-head .nm{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.2}.av-menu .am-head .rl{font-size:11.5px;color:var(--ink-3)}.av-menu .am-item{display:flex;align-items:center;gap:11px;width:100%;border:none;background:transparent;text-align:left;padding:11px 15px;font-size:13.5px;font-weight:500;color:var(--ink-2);transition:background .12s}.av-menu .am-item:hover{background:var(--surface-2);color:var(--ink)}.av-menu .am-item.danger{color:var(--bad);border-top:1px solid var(--line-2)}.av-menu .am-item.danger:hover{background:var(--bad-bg)}.assign-grid{display:grid;grid-template-columns:1fr 318px;gap:22px;align-items:start}@media (max-width:1080px){.assign-grid{grid-template-columns:1fr}}.bulkbar{display:flex;align-items:center;gap:14px;background:var(--navy);color:#fff;border-radius:var(--r);padding:11px 14px 11px 18px;margin-bottom:16px;box-shadow:var(--sh-2);animation:pop .16s cubic-bezier(.2,.8,.3,1)}.bulkbar .bb-n{font-weight:700;font-size:14px}.bulkbar select{height:36px;border-radius:9px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;padding:0 12px;font-size:13.5px;font-weight:600}.bulkbar select option{color:var(--ink)}.ck{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line-strong);background:var(--surface);display:grid;place-items:center;flex:0 0 auto;transition:all .12s;cursor:pointer;color:#fff}.ck.on{background:var(--navy);border-color:var(--navy)}.tbl tbody tr.sel{background:var(--navy-tint)}.tbl tbody tr.sel:hover{background:var(--navy-tint-2)}.assign-sel{height:34px;border-radius:8px;border:1px solid var(--line-strong);background:var(--surface);padding:0 30px 0 11px;font-size:13px;font-weight:600;color:var(--ink);max-width:190px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2379818d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 9l7 7 7-7'/></svg>");background-repeat:no-repeat;background-position:right 9px center;transition:border .14s}.assign-sel:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-tint)}.assign-sel.unassigned{border-color:var(--warn);color:var(--warn);background-color:var(--warn-bg)}.unassigned-row td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.cl-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);overflow:hidden}.cl-card .cl-head{padding:16px 18px 14px;border-bottom:1px solid var(--line)}.cl-list{padding:7px}.cl-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;transition:background .12s}.cl-item+.cl-item{margin-top:1px}.cl-item:hover{background:var(--surface-2)}.cl-item.drop{background:var(--navy-tint);box-shadow:inset 0 0 0 1.5px var(--navy)}.cl-item .cl-meta{flex:1;min-width:0}.cl-item .cl-nm{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cl-item .cl-rl{font-size:11px;color:var(--ink-3);font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cl-item .cl-num{text-align:right;flex:0 0 auto}.cl-item .cl-num .n{font-family:var(--serif);font-size:19px;font-weight:600;line-height:1;color:var(--ink)}.cl-item .cl-num .n.over{color:var(--bad)}.cl-item .cl-num .cap{font-family:var(--mono);font-size:10px;color:var(--ink-4)}.cl-bar{height:5px;border-radius:20px;background:var(--sunken);overflow:hidden;margin-top:7px}.cl-bar>span{display:block;height:100%;border-radius:20px;transition:width .4s}.staffname-cell{cursor:grab}.staffname-cell:active{cursor:grabbing}.tbl tbody tr.dragging{opacity:.4}
