@font-face{font-family:DayOneSans;src:local(Century Gothic),local(CenturyGothic),url(/fonts/questrial.woff2)format("woff2");font-display:swap}@font-face{font-family:Plex Mono;src:url(/fonts/plexmono-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Plex Mono;src:url(/fonts/plexmono-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Plex Mono;src:url(/fonts/plexmono-600.woff2)format("woff2");font-weight:600;font-display:swap}:root{--bg:#f5efe3;--surface:#fffcf6;--surface-2:#f9f4ea;--ink:#1f1b16;--muted:#6b6257;--faint:#998f82;--line:#e3d8c6;--accent:#a3192f;--accent-soft:#f6e3e2;--navy:#1e3a5f;--navy-soft:#e5ecf4;--ok:#2f7a4b;--ok-soft:#e3f0e7;--ok2:#4d7c8a;--ok2-soft:#e4eef0;--warn:#a8660b;--warn-soft:#f8ecd6;--bad:#b42318;--bad-soft:#f9e1dd;--neutral:#6b6257;--neutral-soft:#eee7da;--sans:"Century Gothic", "CenturyGothic", "DayOneSans", "AppleGothic", "Avenir Next", "Segoe UI", sans-serif;--mono:"IBM Plex Mono", "Plex Mono", ui-monospace, Menlo, monospace;--radius:10px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);margin:0;padding:0;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--navy)}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:26px}h2{font-size:18px}h3{font-size:15px}.mono,.num{font-family:var(--mono);font-feature-settings:"tnum"}.muted{color:var(--muted)}.faint{color:var(--faint)}.fine{color:var(--faint);font-size:12px}.eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:11px}.access{place-items:center;min-height:100vh;padding:24px;display:grid}.access-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:14px;width:100%;max-width:420px;padding:28px;display:grid;box-shadow:0 10px 30px #3c280a0f}.access-card form{gap:8px;margin-top:6px;display:grid}.access-card label{color:var(--muted);font-size:12px}.access-card input{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px}.error{color:var(--bad);font-size:13px}.brandbar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.brand-sj{flex-direction:column;line-height:1.05;display:flex}.brand-sj .n{color:var(--navy);letter-spacing:.01em;font-size:15px;font-weight:700}.brand-sj .s{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.brand-cx{font-family:var(--sans);letter-spacing:.22em;color:var(--accent);font-size:13px;font-weight:700}.brand-sep{background:var(--line);width:1px;height:26px}.brand-img{width:auto;max-width:100%;height:30px;display:block}.brand-img.sj{height:58px}.brand-img.cx{height:26px}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;padding:7px 12px}.btn:hover{border-color:var(--faint)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:disabled{opacity:.5;cursor:default}.btn.small{padding:4px 9px;font-size:12px}.btn.ghost{background:0 0}.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.ok2{background:var(--ok2-soft);color:var(--ok2)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.neutral{background:var(--neutral-soft);color:var(--neutral)}.chip.navy{background:var(--navy-soft);color:var(--navy)}.chip.accent{background:var(--accent-soft);color:var(--accent)}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot.ok{background:var(--ok)}.dot.ok2{background:var(--ok2)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--bad)}.dot.neutral{background:var(--faint)}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:14px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.side .product{border-bottom:1px solid var(--line);padding:4px 8px 10px}.side .product .t{font-size:20px;font-weight:700}.nav{gap:2px;display:grid}.nav .grp{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding:10px 8px 4px;font-size:10px}.nav button{text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;padding:7px 9px;display:flex}.nav button:hover{background:var(--surface-2)}.nav button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav .badge{font-family:var(--mono);background:var(--bad-soft);color:var(--bad);border-radius:999px;padding:0 7px;font-size:11px}.main{min-width:0}.topbar{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);background:#f5efe3f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:10px 22px;display:flex;position:sticky;top:0}.topbar .left{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.topbar select{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 8px}.clock{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 10px;display:flex}.clock input[type=range]{width:200px;accent-color:var(--accent)}.clock .big{font-family:var(--mono);font-weight:600}.page{gap:18px;max-width:1400px;padding:22px;display:grid}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.page-head p{color:var(--muted);max-width:760px;margin:4px 0 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:16px}.card h3{margin-bottom:10px}.card .sub{color:var(--muted);margin:-6px 0 10px;font-size:12.5px}.grid{gap:14px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g5{grid-template-columns:repeat(5,minmax(0,1fr))}.span2{grid-column:span 2}.kpi{gap:4px;display:grid}.kpi .v{font-family:var(--mono);font-size:30px;font-weight:600;line-height:1}.kpi .l{color:var(--muted);font-size:12.5px}.kpi.click{cursor:pointer}.kpi.click:hover{border-color:var(--faint)}.v.ok{color:var(--ok)}.v.warn{color:var(--warn)}.v.bad{color:var(--bad)}.v.accent{color:var(--accent)}.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:11.5px;font-weight:600}.tbl td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}.tbl tr.click{cursor:pointer}.tbl tr.click:hover td{background:var(--surface-2)}.tbl-wrap{overflow-x:auto}.bar{background:var(--neutral-soft);border-radius:999px;height:7px;display:flex;overflow:hidden}.bar>span{height:100%;display:block}.bar .ok{background:var(--ok)}.bar .warn{background:var(--warn)}.bar .bad{background:var(--bad)}.bar .neutral{background:#d6cbb8}.ring{width:44px;height:44px;position:relative}.ring span{font-family:var(--mono);place-items:center;font-size:11px;font-weight:600;display:grid;position:absolute;inset:0}.lifecycle{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.lifecycle .st{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:8px;font-size:12px}.lifecycle .st .n{font-family:var(--mono);color:var(--faint);font-size:10px}.lifecycle .st.done{background:var(--ok-soft);border-color:#bcdcc6}.lifecycle .st.now{background:var(--accent-soft);border-color:#e7b8b6}.gantt{position:relative}.gantt .row{border-bottom:1px dashed #eee4d3;grid-template-columns:260px 1fr;align-items:center;gap:10px;padding:3px 0;font-size:12.5px;display:grid}.gantt .track{height:16px;position:relative}.gantt .seg{border-radius:4px;height:10px;position:absolute;top:3px}.gantt .tick{background:var(--line);width:1px;position:absolute;top:-2px;bottom:-2px}.gantt .today{background:var(--accent);width:2px;position:absolute;top:-6px;bottom:-6px}.alert{border-bottom:1px solid var(--line);grid-template-columns:8px 1fr auto;align-items:start;gap:10px;padding:10px 0;display:grid}.alert:last-child{border-bottom:0}.alert .bar-l{border-radius:4px;align-self:stretch;width:4px}.alert .bar-l.bad{background:var(--bad)}.alert .bar-l.warn{background:var(--warn)}.alert .bar-l.ok{background:var(--ok)}.alert .bar-l.navy{background:var(--navy)}.drawer-bg{z-index:40;background:#1f1b1647;position:fixed;inset:0}.drawer{background:var(--bg);z-index:41;width:min(980px,100%);position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-10px 0 30px #0000001f}.drawer .dh{background:var(--surface);border-bottom:1px solid var(--line);z-index:2;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex;position:sticky;top:0}.drawer .db{gap:14px;padding:18px 20px;display:grid}.ai-note{background:#fdf6e8;border:1px solid #e7cfa8;border-radius:10px;gap:8px;padding:12px;display:grid}.ai-note .h{align-items:center;gap:8px;font-weight:600;display:flex}.ai-tag{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8a5a00;background:#f7e6c4;border-radius:4px;padding:1px 6px;font-size:10px}.chat-fab{z-index:30;border-radius:999px;padding:12px 18px;position:fixed;bottom:22px;right:22px;box-shadow:0 8px 24px #a3192f4d}.chat{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:14px;grid-template-rows:auto 1fr auto;width:min(420px,100% - 32px);height:min(620px,100vh - 44px);display:grid;position:fixed;bottom:22px;right:22px;overflow:hidden;box-shadow:0 16px 40px #00000029}.chat .ch{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.chat .cb{flex-direction:column;gap:10px;padding:12px 14px;display:flex;overflow-y:auto}.chat .cf{border-top:1px solid var(--line);gap:8px;padding:10px;display:grid}.chat .cf form{gap:8px;display:flex}.chat .cf input{border:1px solid var(--line);background:#fff;border-radius:8px;flex:1;padding:9px 11px}.msg{border-radius:12px;max-width:90%;padding:9px 11px;font-size:13.5px}.msg.me{background:var(--navy);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.msg.bot{background:var(--surface-2);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}.msg ul{margin:6px 0 0;padding-left:18px}.msg .cites{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.sugg{flex-wrap:wrap;gap:6px;display:flex}.sugg button{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px}.portal{grid-template-columns:minmax(0,1fr) 340px;gap:16px;display:grid}.step-list{gap:8px;display:grid}.step{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.step .ic{border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid}.step .ic.ok{background:var(--ok);color:#fff}.step .ic.bad{background:var(--bad);color:#fff}.step .ic.warn{background:var(--warn);color:#fff}.step .ic.neutral{background:var(--neutral-soft);color:var(--muted)}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters input,.filters select{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 10px}.toast{background:var(--ink);color:#fff;z-index:60;border-radius:10px;padding:10px 16px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.kv{grid-template-columns:150px 1fr;gap:6px 12px;font-size:13px;display:grid}.kv .k{color:var(--muted)}.kv>span{overflow-wrap:anywhere;min-width:0}.side .brandbar{flex-direction:column;align-items:flex-start;gap:8px}.side .brand-sep,.mobile-nav{display:none}.card{overflow-x:auto}.arch{grid-template-columns:1fr 1.3fr 1fr;align-items:stretch;gap:14px;display:grid}.arch .col{align-content:start;gap:8px;display:grid}.sys{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;font-size:13px;display:flex}.layer{border:2px solid var(--accent);background:#fff;border-radius:12px;gap:8px;padding:14px;display:grid}.footer{color:var(--faint);padding:16px 22px 80px;font-size:12px}@media (max-width:1100px){.g4,.g5,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.portal{grid-template-columns:1fr}.lifecycle{grid-template-columns:repeat(4,minmax(0,1fr))}.arch{grid-template-columns:1fr}}@media (max-width:780px){.shell{grid-template-columns:1fr}.side{height:auto;position:static}.side .nav,.side>.fine{display:none}.mobile-nav{width:100%;display:block}.side .brandbar{flex-direction:row;align-items:center}.drawer .dh{flex-wrap:wrap}.kv{grid-template-columns:1fr}.lifecycle{grid-template-columns:repeat(2,minmax(0,1fr))}.g2,.g3,.g4,.g5{grid-template-columns:1fr}.span2{grid-column:auto}.gantt .row{grid-template-columns:140px 1fr}.page,.topbar{padding-left:16px;padding-right:16px}.clock input[type=range]{width:120px}}.access-card .brand-img.sj{height:84px}.access-card .brand-img.cx{height:36px}.list{gap:7px;margin:6px 0 0;padding-left:18px;font-size:13.5px;line-height:1.45;display:grid}.list b{font-weight:600}.seg-tabs{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}
