:root{color-scheme:light;--ink:#19322b;--muted:#546c61;--line:#d8e5dd;--bg:#f3f7f3;--green:#176443;--accent:#ebf7ef;font-family:Inter,system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink)}
header{background:#173c30;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:1rem clamp(1rem,5vw,4rem);gap:.75rem}
.identity,.account,.toolbar,.receipt,.inline form{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.mark{font-size:1.5rem;color:#1a3d2e;background:#e6f59a;border-radius:.8rem;padding:.25rem .65rem}
small{display:block;font-size:.8rem;color:var(--muted);margin-top:.18rem}
header small{color:#d4e8dd}
nav{display:flex;flex-wrap:wrap;gap:.25rem;background:#fff;border-bottom:1px solid var(--line);padding:.65rem clamp(1rem,5vw,4rem)}
nav a,.pill{display:inline-block;text-decoration:none;border-radius:.6rem;padding:.5rem .75rem}
nav a.selected,.pill{background:var(--accent)}
main{padding:1.5rem clamp(1rem,5vw,4rem) 4rem;max-width:1500px;margin:auto}
main.guest{max-width:520px;margin:clamp(1rem,9vh,6rem) auto}
h1{font-size:clamp(1.65rem,4vw,2.65rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 1.25rem}
h2{font-size:1.08rem;margin:0 0 1rem}
a{color:var(--green);text-underline-offset:.2em}
button,.primary{color:#fff;background:var(--green);border:1px solid transparent;border-radius:.55rem;padding:.62rem .9rem;font:inherit;font-weight:600;cursor:pointer}
.account button{background:#fff;color:var(--green)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a46e11;outline-offset:2px}
.card,.metric,.ticket,.table{background:#fff;border:1px solid var(--line);border-radius:.85rem;padding:1rem}
.card,.toolbar,.cards,.metrics,.notice{margin-bottom:1rem}
.cards,.metrics,.fields{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.cards .card{margin:0}
.metric strong{display:block;font-size:1.8rem;margin-bottom:.35rem}
label{display:block;font-weight:600;font-size:.88rem;margin-bottom:.7rem;min-width:0}
input,select,textarea{display:block;background:#fff;color:var(--ink);border:1px solid #acbfb2;border-radius:.5rem;padding:.58rem .65rem;font:inherit;font-weight:400;width:100%;margin-top:.25rem;min-width:0}
textarea{min-height:6rem;resize:vertical}
.check input{display:inline;width:auto}
.notice{background:#fff5d8;border:1px solid #e2cd8a;border-radius:.6rem;padding:.8rem}
.muted{color:var(--muted)}
.table{overflow:auto;padding:0}
table{border-collapse:collapse;width:100%;text-align:left;min-width:525px}
th,td{padding:.7rem .85rem;border-bottom:1px solid var(--line)}
th{background:#edf5ef;font-size:.84rem}
tr:last-child td{border-bottom:0}
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(215px,23%);gap:.75rem;overflow:auto;padding-bottom:.75rem}
.lane{background:#eaf0ea;border-radius:.8rem;padding:.8rem}
.ticket{margin-bottom:.55rem}
details{margin:.5rem 0;padding:.55rem 0;border-top:1px solid var(--line)}
summary{cursor:pointer;font-weight:600;margin-bottom:.65rem}
.timeline{padding-left:1.2rem}
.timeline li{padding:.5rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.timeline dt{font-weight:600}
.timeline dd{margin:0 0 .3rem}
.receipt{justify-content:space-between;border-bottom:1px solid var(--line);padding:.6rem 0}
code{overflow-wrap:anywhere}
.status{display:inline-block;color:var(--green);background:var(--accent);padding:.35rem .55rem;border-radius:.45rem}
