@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-bg-app:transparent;--color-bg-sidebar:#0f172a99;--color-bg-card:#0f172a80;--color-text-main:#f8fafc;--color-text-muted:#94a3b8;--color-text-light:#cbd5e1;--color-primary:#0ea5e9;--color-primary-dim:#0ea5e926;--color-success:#10b981;--color-success-dim:#10b98126;--color-warning:#f59e0b;--color-danger:#ef4444;--color-blue:#3b82f6;--color-green:#10b981;--color-purple:#8b5cf6;--border-color:#ffffff1a;--shadow-sm:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-md:0 10px 15px -3px #0003, 0 4px 6px -2px #0000001a;--shadow-lg:0 20px 25px -5px #0000004d, 0 10px 10px -5px #0003;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--sidebar-width:260px}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--color-text-main);-webkit-font-smoothing:antialiased;background:#0b1e3a url(/assets/login-facade.jpg) 50%/cover no-repeat fixed;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}.app-layout{height:100vh;display:flex;overflow:hidden}.main-content{background-color:#0b1e3ab3;flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidebar{width:var(--sidebar-width);background-color:var(--color-bg-sidebar);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--border-color);z-index:100;flex-direction:column;flex-shrink:0;height:100vh;transition:transform .3s;display:flex;box-shadow:2px 0 12px #0003}.sidebar .logo{border-bottom:1px solid var(--border-color);padding:24px 24px 20px}.sidebar .logo h2{letter-spacing:-.02em;font-size:1.125rem;font-weight:700}.sidebar .logo h2 span{color:var(--color-primary)}.sidebar .logo p{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:.75rem;font-weight:600}.sidebar nav{flex:1;padding:16px 0;overflow-y:auto}.sidebar nav::-webkit-scrollbar{width:4px}.sidebar nav::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.sidebar nav::-webkit-scrollbar-track{background:0 0}.nav-section{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);margin-top:8px;padding:16px 24px 8px;font-size:.65rem;font-weight:700}.nav-section:first-child{margin-top:0}.sidebar nav a{color:var(--color-text-muted);border-left:3px solid #0000;align-items:center;gap:12px;padding:10px 24px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar nav a:hover{color:var(--color-text-main);background-color:#f8fafc}.sidebar nav a.active{color:var(--color-primary);background-color:var(--color-primary-dim);border-left-color:var(--color-primary);font-weight:600}.sidebar .user-info{border-top:1px solid var(--border-color);background:0 0;padding:16px 24px}.sidebar .user-info .name{color:var(--color-text-main);font-size:.875rem;font-weight:600}.sidebar .user-info .role{color:var(--color-text-muted);margin-top:2px;font-size:.75rem}.topbar{background-color:var(--color-bg-sidebar);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);z-index:10;justify-content:space-between;align-items:center;padding:20px 32px;display:flex;position:sticky;top:0;box-shadow:0 1px 2px #0000001a}.topbar h1{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.header-controls{align-items:center;gap:12px;display:flex}.date-selector{border:1px solid var(--border-color);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-text-main);cursor:pointer;background-color:#ffffff1a;outline:none;padding:8px 12px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:border-color .2s,background-color .2s}.date-selector:hover,.date-selector:focus{border-color:var(--color-primary);background-color:#ffffff26}.date-selector option{color:#fff;background-color:#0f172a}.card{background-color:var(--color-bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:20px;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow-lg)}.card-title{color:var(--color-text-muted);margin-bottom:12px;font-size:.875rem;font-weight:600}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.charts-grid{gap:24px;margin-bottom:24px;display:grid}.pace-indicator{border-radius:12px;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.pace-positive{background-color:var(--color-success-dim);color:var(--color-success)}.pace-negative{color:var(--color-danger);background-color:#ef44441a}.progress-bar-bg{background-color:#f1f5f9;border-radius:999px;width:100%;overflow:hidden}.progress-bar-fill{border-radius:999px;height:100%;transition:width .8s cubic-bezier(.16,1,.3,1)}.table-container{background:var(--color-bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-bottom:24px;overflow:hidden}table{border-collapse:collapse;width:100%;font-size:.875rem}thead th{text-align:left;border-bottom:1px solid var(--border-color);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;background:#ffffff0d;padding:12px 16px;font-size:.75rem;font-weight:600}tbody td{border-bottom:1px solid var(--border-color);color:var(--color-text-main);padding:12px 16px}tbody tr:last-child td{border-bottom:none}.mobile-header,.sidebar-overlay{display:none}@media (width<=1024px){.charts-grid{grid-template-columns:1fr!important}}@media (width<=768px){.sidebar{position:fixed;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-header{background:var(--color-bg-sidebar);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.hamburger{cursor:pointer;color:var(--color-text-main);background:0 0;border:none;font-size:1.5rem}.mobile-header h2{font-size:1.125rem;font-weight:700}.mobile-header h2 span{color:var(--color-primary)}.sidebar-overlay{z-index:90;opacity:0;pointer-events:none;background:#0f172a80;transition:opacity .3s;position:fixed;inset:0}.sidebar-overlay.open{opacity:1;pointer-events:auto;display:block}.topbar{flex-direction:column;align-items:flex-start;gap:16px;padding:16px 24px}.header-controls{width:100%;padding-bottom:8px;overflow-x:auto}#dashboard-content{padding:1rem!important}}
