@import url(https://fonts.googleapis.com/css2?family=Fraunces:wght@500;700&family=Space+Grotesk:wght@400;500;600&display=swap);:root{color-scheme:light;--bg-base:#f7f3ec;--bg-card:#fffdf8;--bg-ink:#1f1b16;--bg-ink-soft:#3a322a;--bg-accent:#f0c27a;--bg-accent-strong:#d69a3d;--bg-surface:#fdf6e6;--bg-muted:#efe6d7;--stroke:#e1d6c4;--shadow:0 18px 40px rgba(31,27,22,.08);--radius:18px}*{box-sizing:border-box}body{background:radial-gradient(circle at top left,#fff6d6 0,#f7f3ec 45%,#efe3cf 100%);color:var(--bg-ink);font-family:Space Grotesk,Segoe UI,sans-serif;margin:0;min-height:100vh}.app-shell{margin:0 auto;max-width:1200px;padding:2.5rem 1.5rem 4rem;position:relative}.app-shell:after,.app-shell:before{background:rgba(214,154,61,.12);border-radius:999px;content:"";position:absolute;z-index:0}.app-shell:before{height:280px;right:-60px;top:-80px;width:280px}.app-shell:after{bottom:80px;height:200px;left:-60px;width:200px}.topbar{align-items:center;display:flex;gap:1rem;justify-content:space-between;position:relative;z-index:1}.brand{font-family:Fraunces,serif;font-size:2.1rem;font-weight:700;margin:0}.subcopy{color:var(--bg-ink-soft);margin:.25rem 0 0;max-width:520px}.button{background:var(--bg-card);border:1px solid var(--stroke);border-radius:999px;color:var(--bg-ink);cursor:pointer;font-weight:600;padding:.55rem 1.1rem;transition:transform .2s ease,box-shadow .2s ease}.button:hover{box-shadow:0 10px 20px rgba(31,27,22,.08);transform:translateY(-1px)}.button.primary{background:var(--bg-accent);border-color:var(--bg-accent-strong)}.hero{animation:riseIn .6s ease;background:linear-gradient(135deg,#fff8e2,#f7ead1);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:2rem;overflow:hidden;padding:1.75rem;position:relative;z-index:1}.hero:after{background:rgba(214,154,61,.18);border-radius:50%;content:"";height:240px;position:absolute;right:-80px;top:-120px;width:240px}.metrics-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1.5rem}.metric-card{background:var(--bg-card);border:1px solid var(--stroke);border-radius:16px;box-shadow:0 8px 18px rgba(31,27,22,.06);padding:1rem 1.25rem}.metric-label{color:var(--bg-ink-soft);font-size:.85rem;letter-spacing:.08em;margin:0 0 .35rem;text-transform:uppercase}.metric-value{font-size:1.5rem;font-weight:600;margin:0}.filters{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:1.5rem}.filter-field{display:flex;flex-direction:column;gap:.35rem}.filter-field label{color:var(--bg-ink-soft);font-size:.85rem}.filter-field input,.filter-field select{background:var(--bg-card);border:1px solid var(--stroke);border-radius:12px;font-family:inherit;padding:.6rem .8rem}.section{margin-top:2.5rem;position:relative;z-index:1}.section-title{font-family:Fraunces,serif;font-size:1.6rem;margin:0 0 .4rem}.section-copy{color:var(--bg-ink-soft);margin:0 0 1.2rem}.panel{background:var(--bg-card);border:1px solid var(--stroke);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.table-wrap{overflow-x:auto;width:100%}table{border-collapse:collapse;font-size:.95rem;width:100%}th{background:var(--bg-muted);color:var(--bg-ink-soft);position:sticky;text-align:left;top:0}td,th{padding:.75rem}td{border-bottom:1px solid var(--stroke)}.pill{align-items:center;background:var(--bg-muted);border-radius:999px;display:inline-flex;font-size:.8rem;gap:.4rem;padding:.2rem .6rem}.ist-breakdown{display:flex;flex-wrap:wrap;gap:.35rem}.ist-chip{background:var(--bg-surface);border:1px solid var(--stroke);border-radius:999px;font-size:.75rem;padding:.2rem .5rem}.grid-two{display:grid;gap:1.5rem;grid-template-columns:1.1fr .9fr}.empty-state{border:1px dashed var(--stroke);border-radius:16px;color:var(--bg-ink-soft);padding:1.5rem;text-align:center}.login-card{background:var(--bg-card);border:1px solid var(--stroke);border-radius:20px;box-shadow:var(--shadow);margin:6rem auto;max-width:420px;padding:2rem}.login-card h2{font-family:Fraunces,serif;margin:0 0 1.5rem;text-align:center}.login-card button{width:100%}@keyframes riseIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.grid-two{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}}.metric-card small{display:block;font-size:.8em;margin-top:4px;opacity:.7}.warning{color:#f59e0b;font-weight:700}