:root{--green: #22c55e;--yellow: #eab308;--red: #ef4444;--bg: #f8fafc;--card: #ffffff;--text: #1e293b;--muted: #64748b;--border: #e2e8f0;--link: #2563eb;--quick-win-bg: #fffbeb;--quick-win-border: var(--yellow)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #1e1e1e;--card: #252526;--text: #cccccc;--muted: #858585;--border: #3c3c3c;--link: #4fc1ff;--quick-win-bg: #2d2a1e;--quick-win-border: #a16207}}[data-theme=dark]{--bg: #1e1e1e;--card: #252526;--text: #cccccc;--muted: #858585;--border: #3c3c3c;--link: #4fc1ff;--quick-win-bg: #2d2a1e;--quick-win-border: #a16207}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}.container{max-width:960px;margin:0 auto;padding:1rem}nav{background:var(--card);border-bottom:1px solid var(--border);padding:.75rem 1rem;display:flex;gap:1.5rem;align-items:center;position:sticky;top:0;z-index:10}nav a{color:var(--muted);text-decoration:none;font-weight:500;font-size:.9rem}nav a:hover,nav a.active{color:var(--text)}.nav-title{font-weight:700;font-size:1.1rem;color:var(--text);margin-right:auto}.theme-toggle{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:.25rem;line-height:1}.card{background:var(--card);border:1px solid var(--border);border-radius:.5rem;padding:1rem;margin-bottom:1rem}.tier-bar{display:flex;align-items:center;gap:.75rem;margin:.5rem 0}.tier-bar .bar{flex:1;height:24px;background:var(--border);border-radius:4px;overflow:hidden}.tier-bar .fill{height:100%;border-radius:4px;transition:width .3s}.tier-green .fill{background:var(--green)}.tier-yellow .fill{background:var(--yellow)}.tier-red .fill{background:var(--red)}.badge{display:inline-block;padding:.15rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-green{background:#dcfce7;color:#166534}.badge-yellow{background:#fef9c3;color:#854d0e}.badge-red{background:#fee2e2;color:#991b1b}.amount{font-variant-numeric:tabular-nums}table{width:100%;border-collapse:collapse}th,td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}th{font-weight:600;font-size:.85rem;color:var(--muted)}.upload-zone{border:2px dashed var(--border);border-radius:.5rem;padding:2rem;text-align:center;cursor:pointer;transition:border-color .2s}.upload-zone:hover,.upload-zone.dragging{border-color:var(--green);background:#f0fdf4}button{padding:.5rem 1rem;border:1px solid var(--border);border-radius:.375rem;background:var(--card);color:var(--text);cursor:pointer;font-size:.9rem}button:hover{background:var(--bg);border-color:var(--muted)}.btn-primary{background:#2d7d9a;color:#e2e8f0;border-color:#2d7d9a}.btn-primary:hover{background:#257089;border-color:#257089}a{color:var(--link)}.quick-win{padding:.75rem;border-left:3px solid var(--quick-win-border);margin:.5rem 0;background:var(--quick-win-bg);border-radius:0 .375rem .375rem 0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1rem}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:.5rem;padding:1rem;text-align:center}.stat-card .value{font-size:1.5rem;font-weight:700}.stat-card .label{font-size:.8rem;color:var(--muted)}select,input[type=text],input:not([type]){background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:.375rem}@media(max-width:640px){nav{flex-wrap:wrap;gap:.75rem}.stat-grid{grid-template-columns:repeat(2,1fr)}}.truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.dialog{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1.5rem;max-width:400px;width:90%}.btn-danger{background:var(--red, #d32f2f);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.empty-state{text-align:center;padding:3rem 1rem;color:var(--muted)}.empty-state p:first-child{font-size:1.2rem;color:var(--text);margin-bottom:.5rem}.badge-blue{background:#dbeafe;color:#1e40af}@media(max-width:768px){table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}th,td{padding:.4rem .6rem;font-size:.85rem}td{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nav{flex-wrap:wrap}}
