:root{--bg-a: #ede9fe;--bg-b: #fef3c7;--bg-c: #fae8ff;--card: #ffffff;--card-soft: #f8faff;--border: #e2e5ea;--text: #1a1d23;--text-muted: #6b7280;--accent: #7c3aed;--accent-2: #a855f7;--gold: #eab308;--gold-deep: #b45309;--positive: #0f9d58;--negative: #dc2b3e;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--text);min-height:100vh;background:radial-gradient(1100px 600px at 8% -10%,var(--bg-a) 0%,transparent 60%),radial-gradient(900px 700px at 100% 0%,var(--bg-b) 0%,transparent 55%),radial-gradient(1000px 800px at 50% 120%,var(--bg-c) 0%,transparent 60%),#f4f6fb;background-attachment:fixed}.loading,.full-screen{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-muted)}.login-screen{display:flex;align-items:center;justify-content:center;height:100vh}.login-card{background:#ffffffbf;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.6);border-radius:16px;padding:32px;width:320px;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 40px #7c3aed2e}.login-card h1{font-size:18px;margin:0 0 8px;background:linear-gradient(90deg,var(--accent),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-muted)}.login-card input{padding:9px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#fff}.login-card button{padding:10px;border:none;border-radius:8px;background:linear-gradient(90deg,var(--accent),var(--gold-deep));color:#fff;font-size:14px;cursor:pointer;box-shadow:0 6px 16px #7c3aed59}.login-card button:disabled{opacity:.6}.app-shell{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;gap:24px;padding:14px 24px;background:#ffffffa6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.6);position:sticky;top:0;z-index:10}.topbar .brand{font-weight:700;background:linear-gradient(90deg,var(--accent),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.topbar nav{display:flex;gap:16px;flex:1}.topbar nav a{color:var(--text-muted);text-decoration:none;font-size:14px;padding:6px 0;border-bottom:2px solid transparent}.topbar nav a.active{color:var(--text);border-bottom-color:var(--gold)}.user-menu{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-muted)}.user-menu button{border:1px solid var(--border);background:#fff9;border-radius:6px;padding:5px 10px;cursor:pointer}main{padding:24px;max-width:1100px;width:100%;margin:0 auto}.page h1{font-size:20px;margin:0 0 8px}.hint{color:var(--text-muted);font-size:13px;max-width:700px}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.page-header h1{margin:0 0 4px}.period-label{font-size:13px;color:var(--text-muted)}.sync-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.sync-pill{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);background:#ffffffbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:4px 10px}.sync-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.sync-pill.sync-ok .dot{background:var(--positive)}.sync-pill.sync-error .dot{background:var(--negative)}.sync-pill.sync-running .dot{background:#e0a800}.table-scroll{overflow-x:auto}.period-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.period-tabs{display:flex;background:#ffffffbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.7);border-radius:10px;overflow:hidden}.tab{padding:7px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:var(--text-muted)}.tab.active{background:linear-gradient(90deg,var(--accent),var(--gold-deep));color:#fff}.custom-range{display:flex;align-items:center;gap:6px}.custom-range input{padding:6px;border:1px solid var(--border);border-radius:6px;background:#fff}.sync-status{font-size:12px;color:var(--text-muted)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:24px}.tile{display:flex;align-items:center;gap:12px;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.7);border-radius:12px;padding:14px 16px;box-shadow:0 4px 16px #1e293b0f;transition:transform .15s ease}.tile:hover{transform:translateY(-2px)}.tile-icon{font-size:22px;line-height:1}.tile-emphasis{border-color:transparent;background:linear-gradient(135deg,#7c3aed24,#eab30824),#fffc;box-shadow:0 6px 20px #7c3aed38}.tile-label{font-size:12px;color:var(--text-muted);margin-bottom:4px}.tile-value{font-size:19px;font-weight:600}.tile-value.negative{color:var(--negative)}.chart-card,.table-card{background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.7);border-radius:12px;padding:18px;margin-bottom:20px;box-shadow:0 4px 16px #1e293b0f}.chart-card h2,.table-card h2{font-size:14px;margin:0 0 12px;color:var(--text-muted);font-weight:600}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{color:var(--text-muted);font-weight:500;font-size:12px}td.mono{font-family:ui-monospace,monospace}td.positive{color:var(--positive)}td.negative{color:var(--negative)}td.empty{text-align:center;color:var(--text-muted);padding:24px}.cost-form{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.cost-form input,.cost-form select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:#fff}.cost-form button{padding:8px 16px;border:none;border-radius:8px;background:linear-gradient(90deg,var(--accent),var(--gold-deep));color:#fff;cursor:pointer;box-shadow:0 4px 12px #7c3aed4d}.error{color:var(--negative);font-size:13px;margin:8px 0}
