
:root{--purple:#5b3fa3;--ink:#1f2940;--muted:#697386;--line:#ddd5c5;--card:#fffdf7}*{box-sizing:border-box}body{margin:0;background:#f7f1e1;color:var(--ink);font:14px system-ui,sans-serif}.wrap{max-width:1080px;margin:auto;padding:28px 20px}header,.actions,.filters{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}h1{font:36px Georgia,serif;color:var(--purple);margin:8px 0}h2{font-size:17px}a{color:var(--purple)}p{color:var(--muted);line-height:1.5}.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin:18px 0}.filters{justify-content:flex-start;align-items:flex-end}label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}input,select,button,.button{font:inherit;border:1px solid var(--line);border-radius:10px;padding:11px;min-height:44px;background:white;color:var(--ink)}button,.button{cursor:pointer;font-weight:750;text-decoration:none}button:disabled{opacity:.45;cursor:default}.primary{background:var(--purple);color:white;border-color:var(--purple)}.blue{background:#dceefa;color:#173477}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7fb7df;outline-offset:2px}.stats{display:flex;flex-wrap:wrap;gap:32px;padding:22px 0}.stats strong{font-size:27px;display:block;color:var(--purple)}.stats span{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted);font-size:11px;text-transform:uppercase;white-space:nowrap}.number{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.review{color:#925613;background:#fff0dc;border-radius:6px;padding:4px 7px;white-space:nowrap}.empty{text-align:center;color:var(--muted);padding:28px}.note{font-size:12px}.error{color:#a4412e}details{margin-top:25px}summary{cursor:pointer;font-weight:750;min-height:44px;padding:12px 0}#auth{position:fixed;inset:0;z-index:5;background:#f7f1e1;display:grid;place-items:center}#auth[hidden]{display:none}.auth-card{width:min(420px,calc(100% - 32px))}.auth-card label{margin:14px 0}.auth-card button{width:100%}[hidden]{display:none!important}@media(max-width:600px){.wrap{padding:16px 12px}.filters label{flex:1;min-width:120px}.filters input,.filters select{width:100%}.stats{gap:24px}.stats strong{font-size:23px}.panel{padding:12px}header .actions{width:100%}th,td{padding:12px 8px}}

.wrap{max-width:1440px}th button{border:0;background:transparent;padding:4px;color:inherit;font-size:11px;text-transform:uppercase}th[aria-sort] button{color:var(--purple)}.stats{gap:24px}.detail td{background:#f5f1fa}.history{max-height:280px;overflow:auto}.history p{margin:8px 0}summary{font-size:12px}.table-wrap{border-radius:12px}caption{text-align:left;padding:12px;color:var(--muted)}td:first-child{min-width:130px}td details[open]{min-width:260px}th:first-child,td:first-child{position:sticky;left:0;background:var(--card);z-index:1}

/* Softer canvas, opaque surfaces and clear row boundaries. */
:root{--ink:#252a39;--muted:#535c6b;--line:#c8c3bb;--card:#faf8f3;--canvas:#dedbd4}
body,#auth{background:var(--canvas)}
.panel{box-shadow:0 3px 12px #302b2210;border-color:#c6c1b8}
input,select{background:#f5f2eb;border-color:#aaa69f}
.stats{gap:12px;padding:6px 0}
.stats>div{flex:1;min-width:155px;padding:16px 18px;background:#ece8f2;border:1px solid #c8bfd8;border-radius:12px;border-top:3px solid var(--purple)}
.stats>div:nth-child(3n+2){background:#e4edf2;border-color:#bacbd5;border-top-color:#75aaca}
.stats>div:nth-child(3n){background:#f2e6d8;border-color:#d8c4ac;border-top-color:#c78b4e}
thead th,thead th:first-child{background:#e5dfed;color:#45385e;border-bottom:2px solid #b8abc9}
tbody tr:nth-child(even) td{background:#eeebe5}
tbody tr:nth-child(odd) td{background:var(--card)}
tbody tr:hover td{background:#e5edf2}
td details{margin:0}td summary{font-size:13px}
.area-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.area-heading h2{margin-bottom:4px}
.progress{display:block;width:90px;height:5px;background:#d5cfe0;border-radius:4px;margin-top:7px;overflow:hidden}.progress span{display:block;height:100%;background:var(--purple)}
