@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";
:root{--font-brand:var(--font-geist-sans), "Plus Jakarta Sans", -apple-system, sans-serif;--font-sans:var(--font-geist-sans), "Outfit", -apple-system, sans-serif;--font-mono:var(--font-geist-mono), Courier New, monospace;--bg-app:#f8fafc;--bg-panel:#fff;--bg-panel-hover:#f8fafc;--bg-table-header:#f1f5f9;--border-std:#e2e8f0;--border-bright:#cbd5e1;--text-title:#0f172a;--text-main:#334155;--text-secondary:#475569;--text-muted:#64748b;--primary:#2563eb;--primary-glow:#2563eb14;--primary-hover:#1d4ed8;--success:#16a34a;--success-glow:#f0fdf4;--success-border:#bbf7d0;--warning:#ca8a04;--warning-glow:#fef9c3;--warning-border:#fef08a;--danger:#dc2626;--danger-glow:#fef2f2;--danger-border:#fecaca;--info:#0284c7;--radius-lg:6px;--radius-md:4px;--radius-sm:2px;--shadow-soft:0 1px 3px 0 #0000000d, 0 1px 2px -1px #0000000d;--shadow-hover:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--shadow-glow:0 0 0 3px #2563eb26;--transition-smooth:all .15s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;font-family:var(--font-sans);margin:0;padding:0}body{background:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-brand);color:var(--text-title);letter-spacing:-.015em;font-weight:600}.auth-container{background-color:var(--bg-app);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.auth-blur{display:none}.auth-card{background:var(--bg-panel);border:1px solid var(--border-std);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-soft);text-align:center;padding:36px;position:relative}.auth-logo{color:var(--text-title);letter-spacing:-.02em;margin-bottom:6px;font-size:26px;font-weight:700;display:inline-block}.auth-logo span{color:var(--primary)}.auth-subtitle{color:var(--text-secondary);margin-bottom:28px;font-size:13px}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--bg-panel);border-right:1px solid var(--border-std);z-index:100;flex-direction:column;width:260px;height:100vh;padding:20px;display:flex;position:fixed}.brand-section{align-items:center;gap:10px;margin-bottom:32px;padding-left:6px;display:flex}.brand-logo{background:var(--primary);border-radius:var(--radius-md);justify-content:center;align-items:center;width:32px;height:32px;display:flex}.brand-name{letter-spacing:-.5px;color:var(--text-title);font-size:18px;font-weight:700}.nav-list{flex-direction:column;gap:4px;list-style:none;display:flex}.nav-item{border-radius:var(--radius-md);width:100%;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .15s ease-out,color .15s ease-out,transform .1s ease-out;display:flex}.nav-item:hover{background:var(--bg-app);color:var(--text-title)}.nav-item:active{transform:scale(.98)}.nav-item.active{background:var(--primary-glow);color:var(--primary);font-weight:600}.user-profile-section{border-top:1px solid var(--border-std);align-items:center;gap:10px;margin-top:auto;padding-top:16px;display:flex}.user-info{flex:1;min-width:0}.user-name{color:var(--text-title);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-role{color:var(--text-muted);font-size:11px}.main-wrapper{flex-direction:column;flex:1;gap:24px;min-height:100vh;margin-left:260px;padding:32px;display:flex}.header-row{justify-content:space-between;align-items:center;gap:20px;padding-bottom:8px;display:flex}.header-title-container p{color:var(--text-secondary);margin-top:2px;font-size:13px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.stat-card{background:var(--bg-panel);border:1px solid var(--border-std);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);transition:var(--transition-smooth);flex-direction:column;gap:8px;padding:20px;display:flex}.stat-card:hover{border-color:var(--border-bright)}.stat-header{justify-content:space-between;align-items:center;display:flex}.stat-title{color:var(--text-secondary);font-size:13px;font-weight:500}.stat-value{color:var(--text-title);letter-spacing:-.02em;font-size:28px;font-weight:700}.stat-footer{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.dashboard-panel{background:var(--bg-panel);border:1px solid var(--border-std);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);flex-direction:column;gap:16px;padding:24px;display:flex}.panel-header{border-bottom:1px solid var(--border-std);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.filters-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);font-size:12px;font-weight:550}.form-control{background:var(--bg-panel);border:1px solid var(--border-std);border-radius:var(--radius-md);color:var(--text-title);transition:var(--transition-smooth);height:38px;padding:8px 12px;font-size:13px}.form-control:focus{border-color:var(--primary);box-shadow:var(--shadow-glow);outline:none}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-smooth);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:38px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:var(--bg-panel);color:var(--text-main);border:1px solid var(--border-std)}.btn-secondary:hover{background:var(--bg-table-header)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.table-wrapper{border-radius:var(--radius-lg);border:1px solid var(--border-std);background:var(--bg-panel);overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.data-table th{background:var(--bg-table-header);color:var(--text-secondary);border-bottom:1px solid var(--border-std);padding:12px 16px;font-weight:600}.data-table td{border-bottom:1px solid var(--border-std);color:var(--text-main);padding:12px 16px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-panel-hover)}.mono-text,.data-table td:nth-child(2),.data-table td:nth-child(3),.data-table td:nth-child(4),.data-table td:nth-child(5){font-family:var(--font-mono);color:var(--text-title);font-weight:500}.data-table td:first-child,.data-table td:nth-child(6),.data-table td:nth-child(7){color:var(--text-main);font-family:var(--font-sans)!important;font-weight:400!important}.badge{border-radius:var(--radius-md);text-transform:uppercase;font-size:10px;font-weight:600;font-family:var(--font-mono);align-items:center;padding:2px 6px;display:inline-flex}.badge-success{background:var(--success-glow);color:var(--success);border:1px solid var(--success-border)}.badge-warning{background:var(--warning-glow);color:var(--warning);border:1px solid var(--warning-border)}.badge-danger{background:var(--danger-glow);color:var(--danger);border:1px solid var(--danger-border)}.alert-banner{background:var(--danger-glow);border:1px solid var(--danger-border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;display:flex}.alert-banner-content{align-items:center;gap:10px;display:flex}.alert-icon-wrapper{color:var(--danger);flex-shrink:0;align-items:center;display:flex}.alert-banner-text{color:var(--danger);font-size:13px;font-weight:600}.alert-banner-time{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.tabs-header{border-bottom:1px solid var(--border-std);gap:4px;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;padding:10px 16px;font-size:14px;font-weight:600;position:relative}.tab-btn:hover{color:var(--text-title)}.tab-btn.active{color:var(--primary)}.tab-btn.active:after{content:"";background:var(--primary);width:100%;height:2px;position:absolute;bottom:-1px;left:0}.modal-overlay{z-index:1000;background:#0f172a66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-panel);border:1px solid var(--border-std);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:600px;max-height:85vh;display:flex;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.modal-header{border-bottom:1px solid var(--border-std);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-body{flex-direction:column;gap:16px;padding:20px;display:flex}.modal-footer{border-top:1px solid var(--border-std);justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.chart-container{border:1px solid var(--border-std);border-radius:var(--radius-lg);background:var(--bg-panel);padding:16px}.chart-svg{width:100%;height:240px}.chart-bar{fill:var(--primary-glow);stroke:var(--primary);stroke-width:1.5px;rx:2;transition:var(--transition-smooth)}.chart-bar:hover{fill:var(--primary);opacity:.85}.chart-axis-line{stroke:var(--border-std);stroke-width:1px}.chart-grid-line{stroke:var(--border-std);stroke-width:1px;stroke-opacity:.5;stroke-dasharray:2 2}.chart-label{fill:var(--text-muted);text-anchor:middle;font-size:10px;font-weight:500}.demo-autofill-container{border-top:1px dashed var(--border-std);margin-top:24px;padding-top:18px}.demo-autofill-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-bottom:8px;font-size:11px;font-weight:600}.demo-btn-group{justify-content:center;gap:8px;display:flex}.demo-btn{background:var(--bg-app);border:1px solid var(--border-std);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);padding:6px 12px;font-size:12px;font-weight:500}.demo-btn:hover{background:var(--bg-table-header);color:var(--text-title);border-color:var(--border-bright)}@media (max-width:1024px){.sidebar{width:72px;padding:16px 8px}.brand-name,.user-info,.nav-label{display:none}.main-wrapper{margin-left:72px;padding:20px}}@media (max-width:768px){.header-row{flex-direction:column;align-items:flex-start;gap:12px}}
