
:root{--bg:#fff;--fg:#1a1a1a;--muted:#5c6670;--line:#dfe3e8;--card:#f7f8fa;
--crit:#b3261e;--high:#b35309;--med:#8a6d00;--free:#1a7f37;--accent:#0b5cad}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);
font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}.wrap{max-width:900px;margin:0 auto;padding:32px 16px 72px}
nav{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:0;display:flex;flex-wrap:wrap;gap:0 2px}
nav .top{position:relative}
nav .top>a{display:inline-block;color:var(--accent);text-decoration:none;font-weight:600;padding:0 12px 12px}
nav .top>a.on{color:var(--fg);box-shadow:inset 0 -2px 0 var(--fg)}
nav .top>a .car{font-size:9px;opacity:.55;margin-left:3px}
nav .sub{position:absolute;left:0;top:100%;z-index:50;min-width:200px;background:var(--bg);
border:1px solid var(--line);border-top:none;border-radius:0 0 4px 4px;padding:5px 0;
box-shadow:0 6px 18px rgba(0,0,0,.12);display:none}
nav .top:hover .sub,nav .top:focus-within .sub{display:block}
nav .sub a{display:block;color:var(--accent);text-decoration:none;font-weight:500;padding:6px 14px;white-space:nowrap}
nav .sub a:hover{background:var(--card)}
nav .sub a.on{color:var(--fg);font-weight:700;background:var(--card)}
@media (max-width:760px){nav{display:block;padding-bottom:10px}nav .top{display:inline-block}
nav .sub,nav .top:hover .sub,nav .top:focus-within .sub{display:none}
nav .top>a{padding:0 10px 8px}}
h1{font-size:28px;margin:0 0 6px}
h2.sec{font-size:20px;margin:32px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}.lead{font-size:17px;margin:0 0 14px}
.sub{color:var(--muted);margin:0 0 22px;font-size:15px}.item{border:1px solid var(--line);border-radius:6px;margin-bottom:14px;overflow:hidden}.item h3{font-size:17px;margin:0;padding:12px 14px;background:var(--card);
border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:baseline}.tag{font-size:11px;font-weight:700;letter-spacing:.06em;padding:3px 8px;border-radius:3px;color:#fff;white-space:nowrap}.t-crit{background:var(--crit)}.t-high{background:var(--high)}.t-med{background:var(--med)}.t-low{background:#6e7781}.body{padding:12px 14px}.body p{margin:0 0 8px}.body p:last-child{margin:0}.cost{font-weight:700;color:var(--crit)}.cost.nil{color:var(--free)}.bad{color:var(--crit);font-weight:600}.good{color:var(--free);font-weight:600}
ul{margin:6px 0 8px;padding-left:22px}
a{color:var(--accent)}
code{font-size:13px}
pre{background:#f4f5f7;border:1px solid var(--line);border-radius:4px;padding:10px 12px;
overflow-x:auto;font-size:12.5px;line-height:1.5;margin:8px 0}
table{border-collapse:collapse;width:100%;font-size:14px;margin:10px 0}
th,td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}
th{background:var(--card);font-size:13px}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.total td{font-weight:700;background:var(--card)}
footer{margin-top:30px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]){--bg:#15181c;--fg:#e8eaed;--muted:#9aa4ae;--line:#2d3339;--card:#1d2127;--accent:#6fb3f2;--crit:#f2766b;--free:#4ec36f;--high:#f0a35e}
:root:not([data-theme="light"]) pre{background:#1a1e23}
}
.card{border:1px solid var(--line);border-radius:6px;padding:14px 16px;margin-bottom:12px;background:var(--card)}
.card h3{margin:0 0 4px;font-size:17px}
.card h3 a{text-decoration:none}
.card p{margin:0;font-size:14.5px;color:var(--muted)}

/* portal additions */
.pill{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:10px;color:#fff;white-space:nowrap;background:#6e7781}
.st-Draft{background:#6e7781}.st-Awaiting{background:#8250df}.st-Approved{background:#0969da}.st-Rejected{background:var(--crit)}
.st-In{background:#bf8700}.st-Done{background:#1a7f37}.st-Verified{background:#116329}
.who{text-align:right;color:var(--muted);font-size:13px;margin:-14px 0 8px}
.who a{margin-left:10px}
form.inline{display:inline}
input[type=text],input[type=password],select,textarea{font:inherit;font-size:15px;padding:7px 9px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg)}
textarea{width:100%;min-height:110px}
input[type=text],input[type=password]{width:100%;max-width:340px}
button{font:inherit;font-size:14px;font-weight:600;padding:7px 14px;border-radius:4px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}
button.plain{background:var(--bg);color:var(--accent)}
label{display:block;font-weight:600;font-size:14px;margin:12px 0 4px}
.flash{border:1px solid var(--line);border-left:4px solid var(--accent);padding:8px 12px;margin:0 0 16px;background:var(--card)}
.flash.err{border-left-color:var(--crit)}
.box{max-width:420px;margin:60px auto;border:1px solid var(--line);border-radius:6px;padding:22px 24px;background:var(--card)}
.ev{border-top:1px solid var(--line);padding:10px 0;font-size:14.5px}
.ev .meta{color:var(--muted);font-size:13px;margin-bottom:4px}
.counts a{margin-right:14px;text-decoration:none}
.mail{white-space:pre-wrap;font-family:inherit;font-size:15px;background:var(--card)}
td .pill{font-size:10px}
.filters{margin:6px 0 14px;font-size:14px}
.filters a{margin-right:10px}
.filters a.on{font-weight:700;color:var(--fg);text-decoration:none}
pre{white-space:pre-wrap;word-break:break-word}
.ph-Planned{background:#6e7781}.ph-Changing{background:#bf8700}.ph-Monitoring{background:#8250df}.ph-Done{background:#1a7f37}.ph-Rolled{background:var(--crit)}
details summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:14px}

/* dashboard */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:8px 0 18px}
.tile{display:block;border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:var(--card);color:var(--fg);text-decoration:none}
.tile b{display:block;font-size:28px;line-height:1.15;font-variant-numeric:tabular-nums}
.tile.big b{font-size:34px;color:var(--free)}
.tile.add b{color:var(--high)}
.tile span{display:block;font-size:13px;color:var(--muted);margin-top:4px;line-height:1.35}
a.tile:hover{border-color:var(--accent)}
.saving{margin:14px 0 18px}.snote{font-size:14.5px;margin:4px 0 8px}
.chart-h{font-size:15px;margin:18px 0 4px}
svg.chart{width:100%;height:auto;display:block;margin:4px 0 16px}
svg.chart .grid{stroke:var(--line);stroke-width:1}svg.chart .base{stroke:var(--muted);stroke-width:1}
svg.chart .ax{fill:var(--muted);font-size:12px;font-family:inherit}
svg.chart .lab{fill:var(--fg);font-size:13px;font-family:inherit}
svg.chart .bar,svg.chart .mea{fill:var(--free)}svg.chart .neg,svg.chart .add{fill:var(--high)}
svg.chart .exp{fill:var(--free);opacity:.28}
svg.chart rect:hover{opacity:.75}
.legend{font-size:13px;color:var(--muted);margin:0}.sw{display:inline-block;width:12px;height:12px;border-radius:2px;margin:0 5px 0 12px;vertical-align:-1px}
.sw.exp{background:var(--free);opacity:.28}.sw.mea{background:var(--free)}.sw.add{background:var(--high)}
.legend .sw:first-child{margin-left:0}

/* cost per claim: categorical slots 1-4, validated light and dark */
:root{--c1:#2a78d6;--c2:#eb6834;--c3:#1baf7a;--c4:#eda100}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--c1:#3987e5;--c2:#d95926;--c3:#199e70;--c4:#c98500}}
svg.chart .ln{fill:none;stroke-width:2;stroke-linejoin:round}
svg.chart .ln.c1{stroke:var(--c1)}svg.chart .ln.c2{stroke:var(--c2)}svg.chart .ln.c3{stroke:var(--c3)}svg.chart .ln.c4{stroke:var(--c4)}
svg.chart .c1{fill:var(--c1)}svg.chart .c2{fill:var(--c2)}svg.chart .c3{fill:var(--c3)}svg.chart .c4{fill:var(--c4)}
svg.chart path.ln{fill:none}
svg.chart .hit{fill:transparent}svg.chart .hit:hover{fill:var(--fg);opacity:.5}
svg.chart .pt{opacity:.7;stroke:var(--bg);stroke-width:1}svg.chart .pt:hover{opacity:1}
.sw.c1{background:var(--c1)}.sw.c2{background:var(--c2)}.sw.c3{background:var(--c3)}.sw.c4{background:var(--c4)}
.tile b .sw{width:10px;height:10px;margin:0 8px 0 0;vertical-align:4px}
.smalls{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px 14px}
.smalls h4{font-size:14px;margin:6px 0 0}

.st-Accepted{background:#0969da}.st-Solved{background:#1a7f37}.st-Not{background:var(--crit)}
.flow{font-size:13.5px;color:var(--muted);margin:2px 0 10px}.flow .here{color:var(--fg);font-weight:700;border-bottom:2px solid var(--fg)}

.st-New{background:#8250df}.st-Verification{background:var(--crit)}
