:root{--bg: #f9fafb;--surface: #ffffff;--surface-2: #f3f4f6;--surface-3: #e5e7eb;--border: #e5e7eb;--text: #111827;--text-dim: #6b7280;--text-muted: #9ca3af;--accent: #6366f1;--accent-glow: rgba(99, 102, 241, .08);--green: #16a34a;--green-dim: rgba(22, 163, 74, .1);--red: #dc2626;--red-dim: rgba(220, 38, 38, .1);--amber: #d97706;--amber-dim: rgba(217, 119, 6, .1);--purple: #7c3aed;--cyan: #0891b2}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;min-height:100vh}.container{max-width:1320px;margin:0 auto;padding:32px 24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.card-title{font-size:13px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;margin-bottom:20px}.mono{font-family:JetBrains Mono,monospace}.green{color:var(--green)}.red{color:var(--red)}.amber{color:var(--amber)}.cyan{color:var(--cyan)}.drop-zone{border:2px dashed var(--border);border-radius:12px;padding:40px;text-align:center;cursor:pointer;transition:all .2s;background:var(--surface)}.drop-zone:hover,.drop-zone.active{border-color:var(--accent);background:var(--accent-glow)}.drop-zone input{display:none}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}@media (max-width: 1100px){.grid-5{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:1fr}}@media (max-width: 700px){.grid-5{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease both}.period-tab{padding:6px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;font-family:DM Sans,sans-serif}.period-tab:hover{border-color:var(--accent);color:var(--accent)}.period-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.badge-green{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--green-dim);color:var(--green);font-size:12px;font-weight:600}.badge-red{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--red-dim);color:var(--red);font-size:12px;font-weight:600}
