:root{color:#1f2937;background:#f3f4f6;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}h1,h2{margin:0 0 12px}h2{font-size:1.05rem}.card{background:#fff;border-radius:12px;margin-bottom:16px;padding:20px;box-shadow:0 1px 3px #00000014}.auth{max-width:380px;margin:80px auto}.auth form{gap:10px;margin:16px 0;display:grid}.dashboard{max-width:860px;margin:0 auto;padding:24px 16px}.dashboard header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}input,select,button{font:inherit;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px}input,select{background:#fff}button{color:#fff;cursor:pointer;background:#4f46e5;border:none}button:disabled{opacity:.6;cursor:wait}button.secondary{color:#111827;background:#e5e7eb;padding:6px 10px}.row{flex-wrap:wrap;gap:10px;display:flex}.row input{flex:1;min-width:120px}.muted{color:#6b7280}.error{color:#b91c1c;background:#fee2e2;border-radius:8px;padding:8px 12px}.total{margin:0 0 12px;font-size:1.3rem;font-weight:600}.bar-row{grid-template-columns:110px 1fr 110px;align-items:center;gap:10px;margin:8px 0;display:grid}.bar-track{background:#e5e7eb;border-radius:6px;height:12px}.bar{background:#4f46e5;border-radius:6px;height:12px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e5e7eb;padding:8px}.right{text-align:right}
