@font-face{font-family:Plus Jakarta Sans 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+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#0a255c;--ink-2:#0b3a7e;--ink-deep:#071a42;--saffron:#02988a;--saffron-text:#01776c;--saffron-soft:#e2f5f2;--aqua:#12c3b6;--bg:#f3f6f9;--card:#fff;--border:#dde1ea;--border-soft:#eceff4;--text:#18203a;--muted:#5d6680;--control:#8790a8;--danger:#9a2a20;--danger-bg:#fbe9e6;--warn:#7a5200;--warn-bg:#fbf0d9;--ok:#1e6b3e;--ok-bg:#e4f2e7;--info-bg:#e8f0fa;--radius:10px;--font:"Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sidebar-w:248px;--tabbar-h:62px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--shadow:0 1px 2px #0a255c0f, 0 4px 16px #0a255c0d}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:14px/1.45 var(--font);margin:0}h1,h2,h3,p{margin:0}h1{color:var(--ink);letter-spacing:-.2px;font-size:22px;font-weight:700}h2{color:var(--ink);font-size:16px;font-weight:700}h3{font-size:14px}a{color:var(--ink-2)}button,input,select,textarea{font:inherit;color:inherit}.app{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.sidebar{color:var(--text);border-right:1px solid var(--border);padding:calc(16px + var(--safe-top)) 12px 16px;background:#fff;flex-direction:column;gap:3px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar:before{content:"";background:linear-gradient(90deg, var(--ink) 0%, var(--ink-2) 40%, var(--saffron) 75%, var(--aqua) 100%);height:4px;position:absolute;top:0;left:0;right:0}.brand{border-bottom:1px solid var(--border-soft);margin-bottom:10px;padding:6px 8px 16px}.brand .tenant{color:var(--muted);margin-top:10px;font-size:12px;font-weight:600;display:block}.nav a{color:#34405e;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-weight:500;text-decoration:none;display:flex}.nav a:hover{color:var(--ink);background:#f1f5f9}.nav a.active{background:var(--saffron-soft);color:var(--saffron-text);box-shadow:inset 3px 0 0 var(--saffron);font-weight:700}.nav .count{background:var(--saffron);color:#fff;border-radius:10px;padding:0 7px;font-size:11px;font-weight:700}.sidebar .spacer{flex:1}.who{color:var(--muted);border-top:1px solid var(--border-soft);padding:10px;font-size:12px}.who b{color:var(--ink);font-size:13px;display:block}.main{min-width:0;padding:24px 28px 48px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-head p{color:var(--muted)}.topbar,.tabbar{display:none}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card+.card,.stack>*+*{margin-top:12px}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:var(--mono);font-size:12.5px}.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.stat .label{color:var(--muted);font-size:12px}.stat .value{color:var(--ink);margin-top:2px;font-size:22px;font-weight:700}.stat.accent{border-color:var(--saffron);background:var(--saffron-soft)}.btn{border:1px solid var(--control);cursor:pointer;min-height:36px;color:var(--text);background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:#f2f6f6}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn.primary:hover{background:var(--ink-2)}.btn.scan{background:var(--saffron);border-color:var(--saffron);color:#fff}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.big{min-height:52px;padding:0 20px;font-size:16px}.btn:disabled{opacity:.55;cursor:default}.btn.link{min-height:0;color:var(--ink-2);background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}label.field{gap:4px;font-size:13px;font-weight:600;display:grid}label.field span.hint{color:var(--muted);font-size:12px;font-weight:400}input[type=text],input[type=password],input[type=tel],input[type=email],input[type=number],input[type=date],input[type=time],input[type=datetime-local],input[type=search],select,textarea{border:1px solid var(--control);background:#fff;border-radius:6px;width:100%;min-height:38px;padding:7px 10px}input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible,a:focus-visible{outline-offset:1px;outline:3px solid #02988a73}.form{gap:12px;max-width:460px;display:grid}table.list{border-collapse:collapse;background:var(--card);width:100%}table.list th,table.list td{text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:top;padding:8px 10px}table.list th{color:var(--muted);background:#fafcfc;font-size:12px;font-weight:600;position:sticky;top:0}table.list tr.click{cursor:pointer}table.list tr.click:hover td{background:#f6fafa}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.badge{color:var(--ink);white-space:nowrap;background:#eef3f3;border-radius:10px;padding:1px 8px;font-size:11.5px;font-weight:700;display:inline-block}.badge.H,.badge.bad{background:var(--danger-bg);color:var(--danger)}.badge.M,.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.L{color:var(--muted);background:#eef3f3}.badge.good{background:var(--ok-bg);color:var(--ok)}.badge.info{background:var(--info-bg);color:var(--ink-2)}.alert{border:1px solid;border-radius:6px;padding:10px 12px}.alert.error{background:var(--danger-bg);color:var(--danger);border-color:#dba59f}.alert.info{background:var(--info-bg);border-color:#bcd8dd}.alert.ok{background:var(--ok-bg);color:var(--ok);border-color:#a8d2b4}.empty{text-align:center;color:var(--muted);padding:28px}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:12px;display:flex;overflow-x:auto}.tabs button{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:8px 12px;font-weight:600}.tabs button.active{color:var(--ink);border-bottom-color:var(--saffron)}.doc-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.doc-grid button{text-align:left;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fff;min-height:72px;padding:12px}.doc-grid button b{color:var(--ink);display:block}.doc-grid button small{color:var(--muted)}.doc-grid button:hover{border-color:var(--saffron)}.thumbs{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.thumbs figure{border:1px solid var(--border);background:#fff;border-radius:6px;margin:0;position:relative;overflow:hidden}.thumbs img{object-fit:cover;width:100%;height:120px;display:block}.thumbs .pdf-tile{height:120px;color:var(--muted,#525f6f);text-align:center;background:#f4f4f4;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0 6px;font-weight:700;display:flex}.thumbs .pdf-tile small{overflow-wrap:anywhere;max-height:3.2em;font-size:11px;font-weight:400;overflow:hidden}.thumbs figcaption{padding:3px 6px;font-size:11px}.thumbs .x{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:12px;width:24px;height:24px;position:absolute;top:4px;right:4px}.verify{grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);align-items:start;gap:16px;display:grid}.verify .image{border-radius:var(--radius);background:#222;max-height:calc(100vh - 40px);position:sticky;top:12px;overflow:auto}.verify .image img{transform-origin:0 0;width:100%;display:block}.fieldrow{border-bottom:1px solid var(--border-soft);grid-template-columns:1fr 1.4fr;align-items:center;gap:8px;padding:6px 0;display:grid}.fieldrow.weak{background:var(--warn-bg);margin:0 -8px;padding:6px 8px}.fieldrow .why{color:var(--warn);grid-column:2;font-size:11.5px}.timeline{gap:8px;display:grid}.stage{grid-template-columns:52px 1fr;align-items:start;gap:10px;display:grid}.stage .tag{color:var(--ink);text-align:center;background:#eef3f3;border-radius:6px;padding:6px 0;font-size:12px;font-weight:700}.stage.done .tag{background:var(--ok-bg);color:var(--ok)}.stage.miss .tag{background:var(--warn-bg);color:var(--warn)}.kv{grid-template-columns:max-content 1fr;gap:4px 14px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}dialog.sheet{border:0;border-radius:12px;width:calc(100% - 32px);max-width:520px;padding:20px}dialog.sheet::backdrop{background:#121d4073}@media (width<=860px){.app{grid-template-columns:1fr}.sidebar{display:none}.topbar{z-index:5;color:var(--text);border-bottom:1px solid var(--border);padding:calc(10px + var(--safe-top)) 14px 10px;background:#fff;justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;top:0;box-shadow:0 1px #0a255c0a}.topbar:before{content:"";background:linear-gradient(90deg, var(--ink), var(--ink-2), var(--saffron), var(--aqua));height:3px;position:absolute;top:0;left:0;right:0}.topbar small{color:var(--muted);font-size:11px;display:block}.main{padding:16px 14px calc(var(--tabbar-h) + 24px + var(--safe-bottom))}.tabbar{z-index:5;border-top:1px solid var(--border);height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:#fff;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted);align-content:center;place-items:center;gap:2px;font-size:11px;font-weight:600;text-decoration:none;display:grid;position:relative}.tabbar a svg{width:22px;height:22px}.tabbar a.active{color:var(--ink)}.tabbar a.active:before{content:"";background:var(--saffron);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:25%;right:25%}.tabbar .count{background:var(--saffron);color:var(--ink-deep);border-radius:9px;padding:0 5px;font-size:10px;position:absolute;top:6px;right:calc(50% - 22px)}.verify{grid-template-columns:1fr}.verify .image{max-height:60vh;position:static}table.list.collapse thead{display:none}table.list.collapse tr{border-bottom:1px solid var(--border);padding:8px 4px;display:block}table.list.collapse td{border:0;padding:2px 8px;display:block}table.list.collapse td.num{text-align:left}.fieldrow{grid-template-columns:1fr}.fieldrow .why{grid-column:1}}.wordmark{letter-spacing:-.4px;color:var(--ink);white-space:nowrap;font-weight:800;line-height:1}.wordmark b{color:var(--saffron);font-weight:800}.wordmark.light{color:#fff}.lockup{flex-direction:column;align-items:flex-start;gap:6px;display:inline-flex}.lockup-sub{color:var(--muted);letter-spacing:.4px;text-transform:uppercase;font-size:11.5px;font-weight:600;display:block}.lockup-sub.light{color:#b9c1da}.by-jbr{flex-direction:column;gap:6px;display:inline-flex}.by-jbr-label{letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:600}.by-jbr.light .by-jbr-label{color:#9aa3c0}.by-jbr img{height:auto;display:block}.sidebar .by-jbr{padding:12px 10px 4px}.sidebar{position:sticky}.auth{background:var(--bg);grid-template-columns:minmax(0,1.05fr) minmax(360px,1fr);min-height:100vh;display:grid}.auth-brand{color:var(--text);border-right:1px solid var(--border);background:linear-gradient(155deg,#fff 0%,#f1f8fb 45%,#dff3f0 100%);flex-direction:column;justify-content:space-between;padding:48px 56px;display:flex;position:relative;overflow:hidden}.auth-brand:before{content:"";background:linear-gradient(120deg,#0a255c1a,#02988a29);border-radius:160px;width:460px;height:300px;position:absolute;top:-120px;right:-140px;transform:rotate(-28deg)}.auth-brand:after{content:"";background:linear-gradient(120deg,#12c3b62e,#0b3a7e1a);border-radius:160px;width:520px;height:260px;position:absolute;bottom:-110px;left:-120px;transform:rotate(-28deg)}.auth-brand>*{z-index:1;position:relative}.auth-brand h2{color:var(--ink);letter-spacing:-.4px;max-width:460px;margin-top:44px;font-size:30px;font-weight:800;line-height:1.2}.auth-brand p{color:#46516d;max-width:460px;margin-top:14px;font-size:15px;line-height:1.55}.auth-form{place-items:center;padding:32px 20px;display:grid}.auth-card{gap:14px;width:100%;max-width:400px;display:grid}.auth-card h1{font-size:24px}.auth-foot{justify-content:center;margin-top:18px;display:flex}.auth-mobile-brand{display:none}.splash{background:#fff;align-content:center;place-items:center;gap:22px;min-height:100vh;display:grid}.field-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:end;gap:12px 14px;display:grid}.field-grid label.field span.hint{margin-top:-2px}.section-label{letter-spacing:1.4px;text-transform:uppercase;color:var(--saffron-text);margin-top:6px;font-size:11px;font-weight:700}@media (width<=860px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.auth-mobile-brand{margin-bottom:8px;display:block}}.stage-strip{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.stage-strip a,.stage-strip button{text-align:left;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow);font:inherit;padding:10px 12px;text-decoration:none;display:block}.stage-strip .n{color:var(--ink);font-size:22px;font-weight:700;line-height:1.1}.stage-strip .l{color:var(--muted);font-size:12px}.stage-strip .stuck{color:var(--danger);font-size:11.5px;font-weight:600}.stage-strip .on{border-color:var(--saffron);background:var(--saffron-soft)}.board{grid-auto-columns:minmax(232px,1fr);grid-auto-flow:column;align-items:start;gap:10px;padding-bottom:8px;display:grid;overflow-x:auto}.board .col{border-radius:var(--radius);background:#eceff5;min-height:120px;padding:8px}.board .col h3{color:var(--ink);text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;align-items:center;padding:4px 4px 8px;font-size:12.5px;display:flex}.board .col h3 span{background:#fff;border-radius:10px;padding:0 8px;font-size:12px}.vcard{border:1px solid var(--border);border-left:4px solid var(--border);color:var(--text);background:#fff;border-radius:8px;margin-bottom:7px;padding:9px 10px;text-decoration:none;display:block;box-shadow:0 1px 2px #121d400d}.vcard:hover{border-color:var(--saffron)}.vcard.stuck{border-left-color:var(--danger)}.vcard.flag{border-left-color:var(--saffron)}.vcard .top{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.vcard .reg{color:var(--ink);letter-spacing:.2px;font-weight:700}.vcard .meta{color:var(--muted);margin-top:2px;font-size:12px}.vcard .chips{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.chip{color:var(--ink-2);white-space:nowrap;background:#eef1f7;border-radius:9px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.bad{background:var(--danger-bg);color:var(--danger)}.chip.good{background:var(--ok-bg);color:var(--ok)}.chip.gold{background:var(--saffron-soft);color:var(--saffron-text)}.age{color:var(--muted);white-space:nowrap;font-size:11.5px}.age.stuck{color:var(--danger);font-weight:700}.v360-head{grid-template-columns:1fr auto;align-items:start;gap:12px;display:grid}.v360-head h1{letter-spacing:.4px;font-size:26px}.v360-head .facts{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:13px;display:flex}.v360-head .facts b{color:var(--text);font-weight:600}.stepper{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:0;display:grid;overflow:hidden}.stepper .step{border-right:1px solid var(--border-soft);cursor:pointer;text-align:left;font:inherit;background:#fff;border-top:4px solid #dfe3ec;border-bottom:0;border-left:0;padding:10px 10px 9px;position:relative}.stepper .step:last-child{border-right:0}.stepper .step .t{color:var(--muted);letter-spacing:.6px;font-size:11px;font-weight:700}.stepper .step .n{color:var(--text);margin-top:2px;font-size:13px;font-weight:600;line-height:1.25}.stepper .step .s{margin-top:3px;font-size:11.5px}.stepper .step.done{border-top-color:var(--ok)}.stepper .step.flag{border-top-color:var(--danger);background:snow}.stepper .step.miss{border-top-color:var(--saffron)}.stepper .step.none .n{color:var(--muted)}.journey{gap:10px;display:grid}.jstage{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:150px 1fr;gap:12px;padding:14px;display:grid}.jstage>.side .t{color:var(--ink);font-weight:700}.jstage>.side .tag{color:var(--muted);letter-spacing:.6px;font-size:11px;font-weight:700}.jstage.flag{border-left:4px solid var(--danger)}.jstage.done{border-left:4px solid var(--ok)}.jstage.miss{border-left:4px solid var(--saffron)}.evidence{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;min-width:0;display:grid}.evidence .src{min-width:0}table.checks{table-layout:fixed}table.checks td{overflow-wrap:anywhere}.evidence .src{border:1px solid var(--border-soft);background:#fbfcfe;border-radius:8px;padding:10px}.evidence .src h4{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin:0 0 6px;font-size:12px;display:flex}.evidence .src .line{margin-top:2px;font-size:13px}table.checks{border-collapse:collapse;width:100%;margin-top:4px;font-size:12.5px}table.checks td{border-top:1px solid var(--border-soft);vertical-align:top;padding:4px 6px}table.checks td:first-child{color:var(--muted);width:32%}table.checks tr.bad td{background:var(--danger-bg)}.tick{border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:inline-grid}.tick.ok{background:var(--ok-bg);color:var(--ok)}.tick.bad{background:var(--danger-bg);color:var(--danger)}.tick.none{color:var(--control);background:#f0f1f4}.conf{text-transform:uppercase;letter-spacing:.4px;border-radius:8px;margin-left:6px;padding:0 6px;font-size:10.5px;font-weight:700}.conf.good{background:var(--ok-bg);color:var(--ok)}.conf.warn{background:var(--warn-bg);color:var(--warn)}.conf.bad{background:var(--danger-bg);color:var(--danger)}table.list tr.flagged td{background:#fff8f7}table.list td .flags{flex-wrap:wrap;gap:4px;display:flex}.src-tag{letter-spacing:.5px;color:var(--ink-2);background:#eef1f7;border-radius:6px;padding:1px 6px;font-size:10.5px;font-weight:700}.src-tag.PAPER,.src-tag.JOB_SHEET{background:var(--saffron-soft);color:var(--saffron-text)}.src-tag.STORES{background:var(--warn-bg);color:var(--warn)}.money-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.money-grid .m{border:1px solid var(--border-soft);background:#fbfcfe;border-radius:8px;padding:8px 10px}.money-grid .m .l{color:var(--muted);font-size:11.5px}.money-grid .m .v{color:var(--ink);font-size:17px;font-weight:700}.money-grid .m.bad{background:var(--danger-bg);border-color:#efc9c3}.money-grid .m.bad .v{color:var(--danger)}.money-grid .m.good .v{color:var(--ok)}.doc-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.doc-tiles a{color:var(--text);border:1px solid var(--border);background:#fff;border-radius:8px;text-decoration:none;display:block;overflow:hidden}.doc-tiles a:hover{border-color:var(--saffron)}.doc-tiles img{object-fit:cover;object-position:top;border-bottom:1px solid var(--border-soft);background:#f3f3f3;width:100%;height:150px;display:block}.doc-tiles .cap{padding:6px 8px;font-size:12px}.doc-tiles .cap b{color:var(--ink);font-size:12.5px;display:block}.bars{gap:8px;margin-top:10px;display:grid}.bar{grid-template-columns:170px 1fr 92px;align-items:center;gap:10px;font-size:13px;display:grid}.bar .track{background:#eef1f6;border-radius:4px;height:10px;overflow:hidden}.bar .fill{background:var(--ink);border-radius:4px;height:100%}.bar .fill.gold{background:var(--saffron)}.bar .num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.two-col{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.two-col>.card+.card{margin-top:0}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters select,.filters input[type=search]{width:auto;min-width:150px}@media (width<=860px){.board{grid-auto-columns:auto;grid-auto-flow:row}.jstage,.two-col,.v360-head{grid-template-columns:1fr}.bar{grid-template-columns:110px 1fr 76px}}:root{--series:#0a255c;--series-dim:#b8c3da;--grid:#e6e9f0}.chart-card h2{font-size:15px}.chart-scroll{position:relative;overflow-x:auto}.chart-scroll svg text.axis{fill:var(--muted);font-size:11px;font-family:var(--font)}.chart-scroll svg text.val{fill:var(--text);font-size:11.5px;font-weight:700;font-family:var(--font)}.chart-tip{color:var(--text);border:1px solid var(--border);background:#fff;border-radius:6px;margin-top:4px;padding:4px 8px;font-size:12px;display:inline-block}.funnels{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.funnel{border:1px solid var(--border-soft);background:#fbfcfe;border-radius:8px;padding:12px}.funnel .bar{grid-template-columns:120px 1fr 86px}.flow{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.flow-step{border:1px solid var(--border-soft);background:#fbfcfe;border-radius:8px;grid-template-columns:30px 1fr;align-items:start;gap:8px;padding:10px;display:grid}.flow-step .n{background:linear-gradient(135deg, var(--ink), var(--saffron));color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:grid}.flow-step p{margin-top:3px}.process-map{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.pm{color:var(--text);border:1px solid var(--border);border-top:4px solid var(--ink);background:#fff;border-radius:8px;gap:4px;padding:10px;text-decoration:none;display:grid}.pm:hover{border-color:var(--saffron)}.pm.claim{border-top-color:var(--saffron)}.pm.dms{border-top-color:var(--control)}.pm .t{color:var(--muted);letter-spacing:.6px;font-size:11px;font-weight:700}.pm .n{color:var(--ink);font-weight:600;line-height:1.25}.pm .chip{justify-self:start}.guide-stage{scroll-margin-top:16px}.guide-cols{grid-template-columns:1.2fr 1fr;gap:20px;margin-top:10px;display:grid}.guide-cols p{margin-top:4px;line-height:1.55}.report-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.report-grid .report-card+.report-card{margin-top:0}.report-card{flex-direction:column;justify-content:space-between;display:flex}.report-table{max-height:70vh;overflow:auto}.report-table td{white-space:nowrap;text-overflow:ellipsis;max-width:420px;overflow:hidden}@media (width<=860px){.guide-cols{grid-template-columns:1fr}}.bars.wide .bar{grid-template-columns:minmax(0,1.4fr) 1fr 84px}.new-btn{background:linear-gradient(90deg, var(--saffron), var(--aqua));color:#fff;border:0;margin:0 4px 10px;font-weight:700}.new-btn:hover{filter:brightness(1.05)}.new-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.new-card{color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-content:start;gap:6px;min-height:150px;padding:18px;text-decoration:none;display:grid}.new-card:hover{border-color:var(--saffron)}.new-card .ic{background:var(--saffron-soft);width:36px;height:36px;color:var(--saffron-text);border-radius:9px;place-items:center;font-size:18px;font-weight:700;display:grid}.new-card b{color:var(--ink);font-size:15px}.new-card span:last-child{color:var(--muted);font-size:13px;line-height:1.45}table.entry-table td{min-width:110px;padding:4px}table.entry-table input,table.entry-table select{min-height:34px;padding:5px 8px}.key-mark{color:var(--saffron-text);font-weight:700}.console-head{border-bottom:1px solid var(--border);background:#fff;padding:14px 28px;position:relative}.console-head:before{content:"";background:linear-gradient(90deg, var(--ink), var(--ink-2), var(--saffron), var(--aqua));height:4px;position:absolute;top:0;left:0;right:0}.who a,.who .btn.link{color:var(--ink-2)}.duty-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.duty{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--saffron);border-radius:var(--radius);flex-direction:column;padding:14px;display:flex}.duty.bad{border-left-color:var(--danger)}.duty.good{border-left-color:var(--ok)}.duty.warn{border-left-color:#c58a00}.duty .btn{align-self:flex-start}table.cal{border-collapse:separate;border-spacing:3px;font-size:12.5px}table.cal th{color:var(--muted);white-space:nowrap;text-align:center;padding:2px 4px;font-size:11.5px;font-weight:600}table.cal th:first-child,table.cal td:first-child{text-align:left;white-space:nowrap;padding-right:10px}table.cal th.sun{color:var(--control)}table.cal td.c{text-align:center;border-radius:5px;width:46px;min-width:46px;height:28px;font-size:12px;font-weight:700}td.c.ok,.cal-key.ok{background:var(--ok-bg);color:var(--ok)}td.c.late,.cal-key.late{background:var(--warn-bg);color:var(--warn)}td.c.miss,.cal-key.miss{background:var(--danger-bg);color:var(--danger)}td.c.wait,.cal-key.wait{color:var(--control);background:#f1f3f7}td.c.none{background:0 0}.cal-key{border-radius:4px;margin:0 2px 0 8px;padding:0 6px;font-weight:700;display:inline-block}.cal-key:first-child{margin-left:0}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;display:flex}.tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:600}.tabs button.on{color:var(--ink);border-bottom-color:var(--saffron)}.stat .delta{color:var(--muted);font-size:12px}.meter{background:#e9edf3;border-radius:4px;height:8px;margin-top:6px;overflow:hidden}.meter>i{background:var(--series);border-radius:4px;height:100%;display:block}.meter.low>i{background:var(--danger)}.complete-row{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(150px,1.4fr) 2fr 70px;align-items:center;gap:10px;padding:6px 0;font-size:13.5px;display:grid}.complete-row:last-child{border-bottom:0}.btn.project-choice{text-align:left;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:10px 14px;display:flex}.checklist.late{border-left:4px solid var(--danger)}.checklist h3{margin:0}table.checklist-items td{vertical-align:top;padding:8px 6px}table.checklist-items tr.late td:first-child{color:var(--danger);font-weight:700}.report-sheet{padding:22px 24px}.report-title{border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:4px;padding-bottom:12px;display:flex}.report-title h2{margin-top:2px;font-size:19px}.report-section{margin-top:20px}.report-section h3{color:var(--ink);background:var(--saffron-soft);border-left:3px solid var(--saffron);border-radius:4px;margin-bottom:6px;padding:6px 10px;font-size:14px}.report-section h4{color:var(--ink-2);margin-bottom:4px;font-size:13px}.report-section>p.small{margin:2px 0 6px}table.report-table{width:100%;font-size:13px}table.report-table th{font-size:11.5px}table.report-table th.c{text-align:center}table.report-table tr.total td{border-top:1.5px solid var(--border);font-weight:700}table.report-table tr.sub td{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;padding-top:10px;font-size:11.5px}table.report-table td.bad,.report-section .bad{color:var(--danger);font-weight:700}input.entry{background:#fff8e0;border:1px solid #ecd9a0;border-radius:4px;width:100%;min-width:80px;height:30px;min-height:30px;padding:3px 8px;font-size:13px}input.entry.num{text-align:right;max-width:130px}input.entry:focus{background:#fff}.report-sheet .row.small input.entry{flex:1}@media print{@page{size:A4;margin:12mm}body{background:#fff}.sidebar,.topbar,.no-print,.tabbar{display:none!important}.app,.shell{display:block!important}.main{padding:0!important}.report-sheet{box-shadow:none;border:none;padding:0}.report-section h3{break-after:avoid}table.report-table tr{break-inside:avoid}input.entry{background:0 0;border:none;padding:0}input.entry::placeholder{color:#0000}a{color:inherit;text-decoration:none}}.count-pill{background:var(--ink);color:#fff;text-align:center;border-radius:10px;min-width:20px;margin-left:6px;padding:0 6px;font-size:11px;line-height:18px;display:inline-block}.table-shell{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.table-shell .table-wrap{box-shadow:none;border:0;border-radius:0}.table-shell .empty{border:0;margin:0}.table-toolbar{border-bottom:1px solid var(--border);background:#fbfcfe;flex-wrap:wrap;align-items:center;gap:12px;min-height:56px;padding:10px 12px;display:flex}.toolbar-search{flex:260px;max-width:380px}.toolbar-meta{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:12.5px}.table-note{color:var(--muted);background:var(--saffron-soft);border-bottom:1px solid var(--border);padding:8px 12px;font-size:12.5px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:#fff;border-radius:16px;padding:4px 12px;font-size:12.5px;font-weight:600}.chip:hover{border-color:var(--control)}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}table.data-table{font-size:13px}table.data-table th{border-bottom:1px solid var(--border);background:#f4f6fa;padding:9px 12px}table.data-table td{vertical-align:middle;padding:9px 12px}table.data-table th.pick,table.data-table td.pick{width:40px;padding-right:0}table.data-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--ink);cursor:pointer}table.data-table td.obs{max-width:0}table.data-table .obs-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}table.data-table .obs-rule{color:var(--muted);margin-left:8px;font-size:11px;font-weight:500}table.data-table .obs-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:12px;overflow:hidden}table.data-table td.num.bad{color:var(--danger);font-weight:700}table.data-table tr.selected td{box-shadow:inset 0 0 #0000;background:var(--saffron-soft)!important}table.data-table tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--saffron)}table.data-table tr.picked td{background:#eef3fb}.batch-bar{background:var(--ink);color:#fff;flex-wrap:wrap;align-items:center;gap:8px;min-height:56px;padding:10px 12px;display:flex}.batch-count{margin-right:8px;font-weight:700}.batch-bar .btn{color:#fff;background:0 0;border-color:#ffffff8c}.batch-bar .btn:hover{background:#ffffff1f}.batch-bar .btn.ghost{color:#fff;background:0 0;border-color:#0000}.batch-bar .btn.ghost:hover{background:#ffffff1f}.batch-bar .btn:disabled{opacity:.5}.batch-bar .spacer{flex:1}.batch-note{flex:240px;max-width:420px}.batch-result{color:#cfe9e5;flex-basis:100%;font-size:12.5px}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:#eef3f8}.btn.icon{min-width:36px;color:var(--muted);background:0 0;border-color:#0000;padding:0;font-size:16px}.btn.icon:hover{color:var(--ink);background:#eef1f6}.btn.small-btn{min-height:30px;padding:0 10px;font-size:12.5px}.panel-layer{z-index:60;justify-content:flex-end;display:flex;position:fixed;inset:0}.panel-scrim{background:#071a4247;animation:.15s ease-out fade-in;position:absolute;inset:0}.side-panel{background:var(--card);flex-direction:column;width:min(560px,100vw);height:100%;animation:.18s ease-out slide-in;display:flex;position:relative;box-shadow:-8px 0 32px #071a422e}.side-panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 12px;display:flex}.side-panel-title h2{color:var(--ink);font-size:17px;line-height:1.3}.side-panel-body{flex:1;padding:16px 18px 28px;overflow-y:auto}body.panel-open{overflow:hidden}@keyframes slide-in{0%{opacity:.4;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.detail .tag-row{flex-wrap:wrap;gap:6px;display:flex}.detail .detail-summary{font-size:14.5px;line-height:1.5}.detail h3{text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:8px;font-size:13px}.action-box{border:1px solid var(--border);background:#f7f9fc;border-radius:8px;padding:14px}.action-box textarea{width:100%}.timeline{border-left:2px solid var(--border);gap:10px;margin:0;padding:0 0 0 14px;list-style:none;display:grid}.timeline li{position:relative}.timeline li:before{content:"";border:2px solid var(--saffron);background:#fff;border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:-20px}@media (width<=860px){.toolbar-meta{margin-left:0}table.data-table td.obs{max-width:none}table.data-table .obs-title,table.data-table .obs-sub{white-space:normal}table.data-table td.pick{display:inline-block}}.sticky-head{z-index:20;background:var(--bg);border-bottom:1px solid var(--border);margin:-24px -28px 0;padding:16px 28px 0;position:sticky;top:0}.sticky-head-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sticky-head h1{font-size:20px}.sticky-head p{color:var(--muted);margin-top:2px}.section-nav{gap:2px;margin-top:10px;display:flex;overflow-x:auto}.section-nav a{color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none}.section-nav a:hover{color:var(--ink);border-bottom-color:var(--saffron)}.report-section{scroll-margin-top:130px}.tiles{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px;display:grid}.tile{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--border);color:var(--text);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:2px;padding:12px 14px;text-decoration:none;display:flex}a.tile:hover{border-color:var(--control)}.tile.bad{border-top-color:var(--danger)}.tile.warn{border-top-color:#d79a1e}.tile.good{border-top-color:var(--ok)}.tile-label{color:var(--muted);font-size:12px;font-weight:600}.tile-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.tile.bad .tile-value{color:var(--danger)}.tile-sub{color:var(--muted);font-size:12px}@media (width<=860px){.sticky-head{margin:-16px -14px 0;padding:12px 14px 0}.sticky-head h1{font-size:18px}}.password-box{display:block;position:relative}.password-box input{width:100%;padding-right:64px}.password-eye{color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px 8px;font-size:12.5px;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-eye:hover{background:#eef3f8}table.data-table.register td.num{white-space:nowrap}table.data-table.register tr.flagged td{background:#fff8f6}table.data-table.register tr.total td{border-top:1.5px solid var(--border);background:#f7f9fc;font-weight:700}.struck{color:var(--muted);text-decoration:line-through}.grid-two{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}@media (width<=860px){.grid-two{grid-template-columns:1fr}}.plate-result{border:1px solid var(--border);background:#f8f9fb;border-radius:6px;gap:8px;padding:12px;display:grid}.plate-input{letter-spacing:.08em;max-width:280px;font-size:22px}
