:root{--bg: #f4f1fb;--card: #ffffff;--text: #1e1b2e;--muted: #8b88a3;--primary: #7c5cfc;--border: #ece7f9}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}.center{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.login{background:var(--card);padding:32px;border-radius:18px;display:flex;flex-direction:column;gap:12px;width:320px;box-shadow:0 12px 40px #7c5cfc26}.login h1{margin:0 0 8px;text-align:center}input{padding:12px 14px;border:1px solid var(--border);border-radius:12px;font-size:15px;outline:none}input:focus{border-color:var(--primary)}button{background:var(--primary);color:#fff;border:none;padding:11px 16px;border-radius:12px;font-weight:700;font-size:14px;cursor:pointer}button:disabled{opacity:.6}.error{color:#e53935;font-size:13px}.app{max-width:1100px;margin:0 auto;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.topbar h1{margin:0}.topbar-actions{display:flex;gap:10px}button.ghost{background:#fff;color:var(--primary);border:1px solid var(--border)}.tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.tab{background:#fff;color:var(--muted);border:1px solid var(--border);padding:9px 16px;font-weight:600}.tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.scroll-x{overflow-x:auto}.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.badge.ok{background:#dcfce7;color:#15803d}.badge.wait{background:#fef3c7;color:#b45309}.badge.cancel{background:#f3f4f6;color:#6b7280}.rate{display:flex;align-items:center;gap:8px}.rate-bar{flex:1;height:8px;background:var(--border);border-radius:999px;overflow:hidden}.rate-fill{height:100%;border-radius:999px}.rate-num{font-weight:700;font-size:13px;min-width:42px;text-align:right}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.pos{color:#15803d;font-weight:700}.neg{color:#ef4444;font-weight:700}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;margin-bottom:24px}.card{background:var(--card);border-radius:18px;padding:20px;box-shadow:0 6px 20px #7c5cfc14}.card.accent{background:linear-gradient(135deg,#9c84ff,#6c3df0);color:#fff}.card-value{font-size:30px;font-weight:800}.card-label{font-size:13px;color:var(--muted);margin-top:4px}.card.accent .card-label{color:#ffffffd9}.panel{background:var(--card);border-radius:18px;padding:22px;margin-bottom:24px;box-shadow:0 6px 20px #7c5cfc14}.panel h2{margin:0 0 18px;font-size:17px}.muted{color:var(--muted)}.chart{display:flex;align-items:flex-end;gap:10px;height:190px;overflow-x:auto}.bar-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:38px}.bar-value{font-size:12px;font-weight:700;color:var(--muted)}.bar{width:26px;background:linear-gradient(180deg,#9c84ff,#6c3df0);border-radius:8px 8px 0 0}.bar-day{font-size:11px;color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border);font-size:14px}th{color:var(--muted);font-weight:600}.bal-input{width:80px;padding:6px 10px}td button{padding:6px 12px;font-size:13px}
