*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f6f7f9;--bg2: #ffffff;--bg3: #eef1f5;--border: rgba(15,23,42,.07);--border2: rgba(15,23,42,.12);--text: #0f172a;--text2: #64748b;--text3: #94a3b8;--accent: #10b981;--accent2: #059669;--accent-dim: rgba(16,185,129,.12);--on-accent: #06281e;--red: #ef4444;--red-dim: rgba(239,68,68,.1);--blue: #3b82f6;--blue-dim: rgba(59,130,246,.1);--amber: #f59e0b;--amber-dim: rgba(245,158,11,.12);--purple: #8b5cf6;--purple-dim: rgba(139,92,246,.12);--shadow-sm: 0 1px 2px rgba(15,23,42,.04), 0 1px 3px rgba(15,23,42,.06);--radius: 12px;--radius-sm: 8px;--radius-lg: 16px}:root[data-theme=dark]{--bg: #0b1120;--bg2: #111a2e;--bg3: #1b253b;--border: rgba(255,255,255,.08);--border2: rgba(255,255,255,.15);--text: #e2e8f0;--text2: #94a3b8;--text3: #6b7a90;--accent: #10b981;--accent2: #0ea371;--accent-dim: rgba(16,185,129,.2);--on-accent: #04241b;--red: #f87171;--red-dim: rgba(248,113,113,.16);--blue: #60a5fa;--blue-dim: rgba(96,165,250,.16);--amber: #fbbf24;--amber-dim: rgba(251,191,36,.18);--purple: #a78bfa;--purple-dim: rgba(167,139,250,.18);--shadow-sm: 0 1px 2px rgba(0,0,0,.3), 0 1px 3px rgba(0,0,0,.35)}@media (prefers-color-scheme: dark){:root:not([data-theme]){--bg: #0b1120;--bg2: #111a2e;--bg3: #1b253b;--border: rgba(255,255,255,.08);--border2: rgba(255,255,255,.15);--text: #e2e8f0;--text2: #94a3b8;--text3: #6b7a90;--accent: #10b981;--accent2: #0ea371;--accent-dim: rgba(16,185,129,.2);--on-accent: #04241b;--red: #f87171;--red-dim: rgba(248,113,113,.16);--blue: #60a5fa;--blue-dim: rgba(96,165,250,.16);--amber: #fbbf24;--amber-dim: rgba(251,191,36,.18);--purple: #a78bfa;--purple-dim: rgba(167,139,250,.18);--shadow-sm: 0 1px 2px rgba(0,0,0,.3), 0 1px 3px rgba(0,0,0,.35)}}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Syne,sans-serif;font-weight:700}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit;color:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:var(--text);background:var(--bg3);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:10px 14px;outline:none;width:100%;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}select option{background:var(--bg3)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}.btn-primary{background:var(--accent);color:var(--on-accent);font-family:Syne,sans-serif;font-weight:700;font-size:14px;padding:11px 22px;border-radius:var(--radius-sm);transition:background .15s,transform .1s;letter-spacing:.02em}.btn-primary:hover{background:var(--accent2)}.btn-primary:active{transform:scale(.98)}.btn-ghost{color:var(--text2);padding:10px 18px;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:14px;transition:border-color .15s,color .15s}.btn-ghost:hover{border-color:var(--border2);color:var(--text)}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 10px;border-radius:20px;font-weight:500}.tag-green{background:var(--accent-dim);color:var(--accent)}.tag-red{background:var(--red-dim);color:var(--red)}.tag-blue{background:var(--blue-dim);color:var(--blue)}.tag-amber{background:var(--amber-dim);color:var(--amber)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:flex-end;z-index:100;animation:fadeIn .15s ease}@media (min-width: 600px){.modal-overlay{align-items:center;justify-content:center}}.modal{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:28px 24px;width:100%;max-height:92vh;overflow-y:auto;animation:slideUp .2s ease}@media (min-width: 600px){.modal{border-radius:var(--radius-lg);max-width:480px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;color:var(--text2);margin-bottom:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.divider{height:1px;background:var(--border);margin:20px 0}.empty-state{text-align:center;padding:40px 20px;color:var(--text3);font-size:14px}
