:root{--bgc-red:#d51f2e;--bgc-blue:#04336c;--bgc-grey:#6e7b8b;--bgc-navy:var(--bgc-blue);--bgc-red-75:#de4b56;--bgc-red-50:#ea8f96;--bgc-red-25:#f5c7cb;--bgc-blue-75:#436690;--bgc-blue-50:#8199b6;--bgc-blue-25:#c0ccda;--bgc-grey-75:#939ca8;--bgc-grey-50:#b6bdc5;--bgc-grey-25:#dadee2;--bgc-sea-pink:#f59798;--bgc-lapis:#2a327e;--bgc-flat-blue:#4c63ad;--bgc-wild-blue:#7384c1;--bgc-deep-carmine:#ab233a;--bgc-velvet-maroon:#812747;--bgc-plum:#582b53;--bgc-rhino:#2e2f60;--bg:#faf8f4;--surface:#fff;--surface-2:#f1ede5;--surface-3:#e8e1d3;--text:#0d1a2e;--muted:#475569;--ink-3:#8b97a8;--border:#e6dfd1;--success:#1f8c5b;--warning:#c98106;--danger:var(--bgc-red);--accent:var(--bgc-red);--accent-soft:#d51f2e1a;--accent-line:#d51f2e40;--radius:16px;--radius-sm:12px;--shadow:0 1px 2px #04336c0f,0 6px 18px #04336c0d;--shadow-lift:0 4px 12px #04336c1a,0 18px 40px #04336c14;--shadow-hero:0 24px 60px #04336c2e;--font-heading:"Mona Sans","Gotham","Aptos Display","Segoe UI",system-ui,-apple-system,Arial,sans-serif;--font-body:"Mona Sans","Aptos","Segoe UI",system-ui,-apple-system,Arial,sans-serif;--focus:0 0 0 4px #04336c33;--ease-out:cubic-bezier(.2,.8,.2,1);--ease-snap:cubic-bezier(.34,1.56,.64,1);--t-fast:.12s;--t-base:.22s;--t-slow:.36s;--bgc-navy-75:var(--bgc-blue-75);--bgc-navy-50:var(--bgc-blue-50);--bgc-navy-25:var(--bgc-blue-25);--surface-0:#faf8f4;--surface-1:#fff;--ink-1:#0d1a2e;--ink-2:#475569;--ink-on-navy:#fff;--line:#e6dfd1;--info:var(--bgc-blue);--font-display:var(--font-heading);--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--type-display:56px;--type-h1:32px;--type-h2:22px;--type-h3:17px;--type-body:14px;--type-small:12px;--type-micro:11px;--gap-1:4px;--gap-2:8px;--gap-3:12px;--gap-4:16px;--gap-5:20px;--gap-6:28px;--gap-7:40px;--gap-8:56px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--shadow-flat:0 1px 0 #04336c0a;--shadow-card:var(--shadow)}*{box-sizing:border-box}html,body{height:100%}body{background:radial-gradient(1200px 600px at 10% -10%,#d51f2e14,transparent 60%),radial-gradient(900px 500px at 95% 0%,#04336c1a,transparent 55%),var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.02em;margin:0 0 10px}p{color:var(--muted);margin:0 0 10px}a{color:var(--bgc-blue);text-decoration:none}a:hover{text-decoration:underline}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.container{max-width:1060px;margin:0 auto;padding:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:16px}label{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}input,select,textarea{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);outline:none;padding:10px 12px}input:focus,select:focus,textarea:focus{box-shadow:var(--focus);border-color:#04336c8c}input::placeholder,textarea::placeholder{color:#475569a6}button{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:12px;padding:10px 12px;transition:transform 60ms,border-color .2s,box-shadow .2s}button:hover{border-color:#6e7b8bb3}button:active{transform:translateY(1px)}button:focus-visible{box-shadow:var(--focus);outline:none}button:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--bgc-blue);color:#fff;border-color:#04336ccc}.btn-primary:hover{border-color:#04336c}.btn-danger{background:var(--bgc-red);color:#fff;border-color:#d51f2ed9}.pill{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:inline-flex}.alert{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:10px 12px;font-size:13px}.alert-danger{background:#dc262614;border-color:#dc262640}.grid{gap:12px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:720px){.grid-2{grid-template-columns:1fr}}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:900px){.grid-3{grid-template-columns:1fr}}.kpi-card{flex-direction:column;justify-content:space-between;min-height:120px;display:flex}.table tr.clickable-row{cursor:pointer;transition:background .15s}.table tr.clickable-row:hover{background:#04336c0f}.shell-layout{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.shell-topbar{display:none}.shell-hamburger{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex;color:#fff!important;background:0 0!important;border:none!important;padding:6px!important}.shell-close-btn{cursor:pointer;justify-content:center;align-self:flex-end;align-items:center;margin-bottom:2px;display:none;color:#fff9!important;background:0 0!important;border:none!important;padding:4px 6px!important}.shell-overlay{z-index:199;opacity:0;pointer-events:none;background:#00000073;transition:opacity .25s;position:fixed;inset:0}.shell-overlay.is-open{opacity:1;pointer-events:auto}@media (max-width:1024px){.shell-layout{grid-template-columns:1fr}.shell-sidebar{z-index:200;width:260px;height:100dvh;transition:transform .25s cubic-bezier(.4,0,.2,1);top:0;left:0;overflow-y:auto;transform:translate(-100%);position:fixed!important}.shell-sidebar.is-open{transform:translate(0);box-shadow:6px 0 32px #00000059}.shell-topbar{background:var(--bgc-blue);color:#fff;z-index:100;flex-shrink:0;align-items:center;gap:12px;height:52px;padding:0 16px;display:flex;position:sticky;top:0}.shell-close-btn{display:flex}}@media (max-width:640px){main{padding:10px!important}.container{padding:10px}}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:10px;display:grid}@media (max-width:480px){.tile-grid{grid-template-columns:repeat(2,1fr);gap:8px}}.checks-layout-row{align-items:stretch;gap:12px;display:flex}.checks-subtabs{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.checks-stats-wrap{flex:1;gap:12px;display:flex}@media (max-width:640px){.checks-layout-row{flex-direction:column!important}.checks-subtabs{flex-direction:row!important}.checks-subtabs button{flex:1;justify-content:center!important}}@media (pointer:coarse){.check-tile-done-btn{min-height:40px!important;padding:10px 16px!important;font-size:13px!important}}.form-grid-2col{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:640px){.form-grid-2col{grid-template-columns:1fr}}.form-grid-3col{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}@media (max-width:640px){.form-grid-3col{grid-template-columns:1fr}}@media (pointer:coarse){.input{min-height:44px;font-size:16px}.btn{min-height:44px;padding:10px 16px}}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);border-color:#0000}.kit-btn-secondary:hover{border-color:#04336c66}@keyframes kit-spin{to{transform:rotate(360deg)}}@keyframes kit-fade{0%{opacity:0}}@keyframes kit-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes kit-slide{0%{opacity:0;transform:translate(32px)}}@keyframes kit-toast{0%{opacity:0;transform:translateY(10px)}}.kit-spinner{animation:.8s linear infinite kit-spin}.kit-overlay{animation:.15s kit-fade}.kit-modal-panel{animation:.18s cubic-bezier(.16,1,.3,1) kit-pop}.kit-side-panel{animation:.22s cubic-bezier(.16,1,.3,1) kit-slide}.kit-toast{animation:.2s cubic-bezier(.16,1,.3,1) kit-toast}@media (prefers-reduced-motion:reduce){.kit-overlay,.kit-modal-panel,.kit-side-panel,.kit-toast{animation:none}}.kit-toast-viewport{z-index:1100;flex-direction:column;gap:10px;width:360px;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}@media (max-width:640px){.kit-toast-viewport{right:50%;transform:translate(50%)}}.mkt-tile{position:relative}.mkt-tile .mkt-tile-pop{visibility:hidden;opacity:0;transition:opacity .12s,visibility 0s linear .3s}.mkt-tile:hover,.mkt-tile:focus-within{z-index:60}.mkt-tile:hover .mkt-tile-pop,.mkt-tile:focus-within .mkt-tile-pop{visibility:visible;opacity:1;transition:opacity .12s,visibility}.mkt-hints-off .mkt-hint{display:none!important}
