:root{--font-ui:"Manrope", system-ui, sans-serif;--font-display:"Fraunces", Georgia, serif;--radius:14px;--shadow:0 18px 50px #080c102e;--ease:cubic-bezier(.22, 1, .36, 1)}html[data-theme=dark]{--bg:#0c1116;--bg-elev:#151c24;--bg-soft:#1c2631;--line:#2a3644;--text:#eef2f6;--muted:#93a0ad;--accent:#2dd4bf;--accent-ink:#06241f;--danger:#fb7185;--warn:#fbbf24;--ok:#34d399;--hero-glow:radial-gradient(120% 90% at 12% 8%, #2dd4bf47 0%, transparent 52%), radial-gradient(90% 70% at 88% 18%, #3880a838 0%, transparent 55%), radial-gradient(70% 60% at 50% 100%, #0f2834e6 0%, transparent 60%), linear-gradient(160deg, #0a1016 0%, #121c26 42%, #0e171f 100%)}html[data-theme=light]{--bg:#f3f6f4;--bg-elev:#fff;--bg-soft:#e7eee9;--line:#d5e0d9;--text:#132019;--muted:#5b6b62;--accent:#0f766e;--accent-ink:#ecfdf8;--danger:#be123c;--warn:#b45309;--ok:#047857;--hero-glow:radial-gradient(120% 90% at 10% 0%, #0f766e2e 0%, transparent 50%), radial-gradient(90% 70% at 92% 12%, #0e74901f 0%, transparent 55%), linear-gradient(160deg, #e8f3ef 0%, #f3f6f4 45%, #eef4f7 100%)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-ui);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent);text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.app-shell{background:var(--hero-glow);background-attachment:fixed;min-height:100vh}.auth-page{background:var(--hero-glow);min-height:100vh;animation:fade-in .5s var(--ease);background-attachment:fixed;place-items:center;padding:32px 20px;display:grid}.auth-card{background:color-mix(in srgb, var(--bg-elev) 92%, transparent);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);width:min(440px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:rise .55s var(--ease);padding:36px 32px}.brand-mark{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 8px;font-size:clamp(2rem,4vw,2.6rem);line-height:1}.brand-mark span{color:var(--accent)}.lede{color:var(--muted);margin:0 0 28px;line-height:1.5}.field{gap:8px;margin-bottom:16px;display:grid}.field label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:600}.field input,.field select{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);border-radius:10px;outline:none;padding:12px 14px}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent)}.btn{transition:transform .15s var(--ease), opacity .15s var(--ease), background .2s var(--ease);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-weight:700;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:var(--accent-ink);width:100%}.btn-ghost{color:var(--text);border:1px solid var(--line);background:0 0}.btn-danger{background:color-mix(in srgb, var(--danger) 18%, var(--bg-elev));color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 35%, var(--line))}.btn-small{padding:7px 11px;font-size:.85rem}.error{background:color-mix(in srgb, var(--danger) 14%, var(--bg-elev));color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 30%, var(--line));border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:.92rem}.success{background:color-mix(in srgb, var(--ok) 14%, var(--bg-elev));color:var(--ok);border:1px solid color-mix(in srgb, var(--ok) 30%, var(--line));border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:.92rem}.auth-links{justify-content:space-between;gap:12px;margin-top:18px;font-size:.92rem;display:flex}.topbar{border-bottom:1px solid var(--line);z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;display:flex;position:sticky;top:0}.topbar-brand{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.45rem}.topbar-brand span{color:var(--accent)}.nav{flex-wrap:wrap;gap:6px;display:flex}.nav a{color:var(--muted);transition:background .2s var(--ease), color .2s var(--ease);border-radius:999px;padding:8px 12px;font-weight:600}.nav a.active,.nav a:hover{color:var(--text);background:var(--bg-soft)}.topbar-actions{align-items:center;gap:10px;display:flex}.user-chip{color:var(--muted);font-size:.9rem}.page{width:min(1120px,100% - 40px);animation:rise .45s var(--ease);margin:0 auto;padding:28px 0 64px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px;display:flex}.page-header h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 6px;font-size:clamp(1.8rem,3vw,2.4rem)}.page-header p{color:var(--muted);margin:0}.panel{background:color-mix(in srgb, var(--bg-elev) 94%, transparent);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.toolbar{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:16px;display:flex}.toolbar .field{flex:1;min-width:180px;margin:0}.table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:640px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px}th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--bg-soft);font-size:.75rem}tr:last-child td{border-bottom:none}.badge{letter-spacing:.04em;text-transform:uppercase;background:var(--bg-soft);color:var(--muted);border-radius:999px;align-items:center;padding:4px 9px;font-size:.75rem;font-weight:700;display:inline-flex}.badge.bounce{color:var(--warn);background:color-mix(in srgb, var(--warn) 16%, var(--bg-elev))}.badge.complaint{color:var(--danger);background:color-mix(in srgb, var(--danger) 16%, var(--bg-elev))}.badge.manual{color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--bg-elev))}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px;display:grid}.stat{border:1px solid var(--line);background:var(--bg-elev);border-radius:12px;padding:16px}.stat strong{font-family:var(--font-display);margin-top:4px;font-size:1.8rem;display:block}.stat span{color:var(--muted);font-size:.85rem}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.chart-wide{grid-column:1/-1}.chart-panel h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 4px;font-size:1.35rem}.chart-head p{color:var(--muted);margin:0 0 14px;font-size:.92rem}.chart-body{min-height:240px}.chart-body-split{grid-template-columns:1.2fr .8fr;align-items:center;gap:8px;display:grid}.reason-legend{gap:10px;margin:0;padding:0;list-style:none;display:grid}.reason-legend li{color:var(--muted);grid-template-columns:12px 1fr auto;align-items:center;gap:10px;font-size:.92rem;display:grid}.reason-legend .swatch{border-radius:4px;width:12px;height:12px}.reason-legend strong{color:var(--text);font-weight:600}.reason-legend em{color:var(--text);font-variant-numeric:tabular-nums;font-style:normal}.quota-block{gap:12px;display:grid}.quota-row{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;padding-bottom:10px;display:flex}.quota-row strong{color:var(--text)}.quota-bar{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;height:34px;margin-top:6px;position:relative;overflow:hidden}.quota-bar-fill{height:100%;transition:width .4s var(--ease);background:linear-gradient(90deg,#0f766e,#2dd4bf)}.quota-bar span{color:var(--text);place-items:center;font-size:.82rem;font-weight:700;display:grid;position:absolute;inset:0}@media (width<=900px){.chart-grid{grid-template-columns:1fr}.chart-wide{grid-column:auto}.chart-body-split{grid-template-columns:1fr}}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.empty{text-align:center;color:var(--muted);padding:36px 16px}.loading-screen{min-height:100vh;color:var(--muted);place-items:center;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (width<=760px){.topbar{flex-direction:column;align-items:stretch;padding:14px 16px}.topbar-actions{justify-content:space-between}.page{width:calc(100% - 24px)}}
