:root{--brand-red: #D51A3C;--brand-red-hover: #B8152F;--brand-black: #333132;--brand-silver: #D9D6D3;--bg: #f5f7fb;--surface: #ffffff;--sidebar: var(--brand-black);--sidebar-accent: #4a4749;--sidebar-text: #c9c7c5;--sidebar-text-strong: #ffffff;--border: #e5e7eb;--text: var(--brand-black);--muted: #6a6a65;--primary: var(--brand-red);--primary-hover: var(--brand-red-hover);--danger-bg: #fee2e2;--danger-text: #99121f;--radius: 8px;--shadow: 0 1px 2px rgba(51, 49, 50, .06), 0 4px 12px rgba(51, 49, 50, .05)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Arial,Helvetica,sans-serif;font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:700;letter-spacing:-.01em}h1{font-size:22px;margin:0 0 4px}h3{margin:0 0 8px}.muted{color:var(--muted);margin:0}button{font:inherit;cursor:pointer;border:none;background:var(--primary);color:#fff;padding:8px 14px;border-radius:var(--radius);font-weight:700;transition:background .12s ease}button:hover:not(:disabled){background:var(--primary-hover)}button:disabled{opacity:.6;cursor:not-allowed}button.btn-light{background:#f8fafc;color:#1e293b;border:1px solid #CBD5E1;font-weight:600}button.btn-light:hover:not(:disabled){background:#e2e8f0}input[type=text],input[type=email],input[type=password],input[type=date]{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--text)}input:focus{outline:none;border-color:var(--brand-red);box-shadow:0 0 0 3px #d51a3c26}.login-screen{min-height:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-black),#4a4749)}.login-card{background:#fff;padding:32px;border-radius:12px;width:380px;box-shadow:0 20px 50px #00000040;display:flex;flex-direction:column;gap:14px}.login-logo{display:block;height:48px;width:auto;margin:0 auto 4px}.login-card label{display:flex;flex-direction:column;gap:6px}.login-card label span{font-weight:600;font-size:13px;color:var(--brand-black)}.app-shell{display:grid;grid-template-columns:300px 1fr;min-height:100vh;height:100vh}.sidebar{background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column;padding:20px 14px;position:sticky;top:0;height:100vh;overflow:hidden}.sidebar *::-webkit-scrollbar{width:0;height:0;display:none}.sidebar *{scrollbar-width:none;-ms-overflow-style:none}.app-shell .content{overflow-y:auto;height:100vh}.sidebar .brand{padding:6px 6px 18px;border-bottom:1px solid var(--sidebar-accent);text-align:center}.sidebar-logo{display:block;height:36px;width:auto;margin:0 auto 8px}.brand-title{color:var(--sidebar-text-strong);font-weight:700;font-size:15px;letter-spacing:.02em}.brand-sub{color:var(--sidebar-text);font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:2px;margin-top:14px;flex:1}.nav-link{color:var(--sidebar-text);text-decoration:none;padding:5px 10px;border-radius:4px;font-size:13px;font-weight:500}.nav-link:hover{background:var(--sidebar-accent);color:var(--sidebar-text-strong)}.nav-link.active{background:var(--brand-red);color:#fff;font-weight:600}.sidebar-footer{border-top:1px solid var(--sidebar-accent);padding-top:12px;display:flex;flex-direction:column;gap:8px}.user-chip{padding:6px 8px}.user-name{color:var(--sidebar-text-strong);font-size:13px;font-weight:600}.user-role{color:var(--sidebar-text);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.signout-btn{background:transparent;border:1px solid var(--sidebar-accent);color:var(--sidebar-text);font-weight:600}.signout-btn:hover{background:var(--sidebar-accent);color:var(--sidebar-text-strong)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.08)}}.content{padding:28px 32px;overflow:auto}.page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px;gap:16px}.export-btn{white-space:nowrap}.filters{display:flex;flex-wrap:wrap;gap:12px;background:var(--surface);padding:16px;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px}.filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.chart-card{background:var(--surface);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);border-top:2px solid var(--brand-red)}.empty{text-align:center;color:var(--muted);padding:80px 0}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:18px}.tile{background:var(--surface);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);text-decoration:none;color:inherit;border:1px solid transparent;border-left:3px solid var(--brand-red);transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.tile:hover{border-color:var(--brand-red);transform:translateY(-1px);box-shadow:0 4px 16px #d51a3c1f}.tile p{color:var(--muted);margin:0}.tile h3{color:var(--brand-black)}.error-banner{background:var(--danger-bg);color:var(--danger-text);padding:10px 14px;border-radius:var(--radius);margin:12px 0;font-weight:600}.loading-spinner{display:flex;gap:10px;align-items:center;color:var(--muted);padding:24px;justify-content:center}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--brand-red);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
