@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--font-sans:"Inter", system-ui, -apple-system, sans-serif;--bg-app:#0b0e13;--bg-sidebar:#0f1219;--bg-surface:#111827bf;--bg-card:#1e293b73;--bg-card-hover:#1e293ba6;--border-color:#ffffff0f;--border-focus:#a26ef7;--color-primary:#9c64f7;--color-secondary:#bf5af2;--color-text-main:#d3d7de;--color-text-muted:#8f96a3;--color-text-inverse:#0b0e13;--color-success:#1cca5b;--color-success-bg:#10b9811a;--color-danger:#ef4343;--color-danger-bg:#ef44441a;--color-warning:#f59f0a;--color-warning-bg:#f59e0b1a;--color-info:#0da2e7;--color-info-bg:#06b6d41a;--gradient-primary:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);--shadow-lg:0 10px 25px -5px #0000004d, 0 8px 10px -6px #0000004d;--shadow-glow:0 0 20px #aa3bff26;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--transition-smooth:all .25s cubic-bezier(.4, 0, .2, 1);--bg-auth-container:radial-gradient(circle at center, #131720 0%, #08090d 100%);--bg-input:#0f172a99;--bg-input-focus:#0f172ad9;--bg-th:#0f172a66;--bg-item-row:#ffffff05;--bg-item-row-alt:#ffffff03;--bg-action-bar:#0f172a99;--bg-modal-overlay:#0009;--bg-modal-content:#1e293bf2;--scrollbar-thumb:#ffffff26;--scrollbar-thumb-hover:var(--color-primary);--scrollbar-track:transparent;--bg-nav-hover:#ffffff0d;--color-nav-hover:white;--bg-btn-secondary:#ffffff0d;--bg-btn-secondary-hover:#ffffff1a;--border-btn-secondary-hover:#fff3;--border-spinner:#ffffff1a;--border-color-hover:#ffffff1f}.light{--bg-app:#f1f5f9;--bg-sidebar:#f8fafc;--bg-surface:#fffc;--bg-card:#fff9;--bg-card-hover:#ffffffe6;--border-color:#00000014;--border-focus:#7425f4;--color-primary:#752bee;--color-secondary:#a21ae6;--color-text-main:#171b26;--color-text-muted:#676f7e;--color-text-inverse:#f8fafc;--color-success-bg:#10b98126;--color-danger-bg:#ef444426;--color-warning-bg:#f59e0b26;--color-info-bg:#06b6d426;--shadow-lg:0 10px 25px -5px #0000000d, 0 8px 10px -6px #0000000d;--shadow-glow:0 0 20px #aa3bff14;--bg-auth-container:radial-gradient(circle at center, #f8fafc 0%, #dbe6f0 100%);--bg-input:#ffffffe6;--bg-input-focus:#fff;--bg-th:#00000008;--bg-item-row:#00000005;--bg-item-row-alt:#00000001;--bg-action-bar:#ffffffd9;--bg-modal-overlay:#0006;--bg-modal-content:#fffffffa;--scrollbar-thumb:#00000026;--scrollbar-thumb-hover:var(--color-primary);--scrollbar-track:transparent;--bg-nav-hover:#0000000a;--color-nav-hover:var(--color-primary);--bg-btn-secondary:#0000000d;--bg-btn-secondary-hover:#00000014;--border-btn-secondary-hover:#0000001f;--border-spinner:#0000001a;--border-color-hover:#00000026}*{box-sizing:border-box;font-family:var(--font-sans);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);margin:0;padding:0}code{background:var(--bg-item-row);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--color-text-main);padding:2px 6px;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:13px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);transition:var(--transition-smooth);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}body{background-color:var(--bg-app);color:var(--color-text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}#root{min-height:100vh;display:flex}a{color:var(--color-primary);transition:var(--transition-smooth);text-decoration:none}a:hover{filter:brightness(1.2)}.app-layout{width:100vw;min-height:100vh;display:flex}.sidebar{background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);width:260px;transition:var(--transition-smooth);z-index:10;flex-direction:column;flex-shrink:0;justify-content:space-between;padding:24px;display:flex}.main-content{background:radial-gradient(circle at 80% 10%,#aa3bff0d 0%,#0000 60%);flex-direction:column;flex-grow:1;gap:32px;max-height:100vh;padding:40px;display:flex;overflow-y:auto}@media (width<=900px){.app-layout{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border-color);flex-direction:row;align-items:center;width:100%;padding:16px}.main-content{max-height:none;padding:20px}}h1{letter-spacing:-.5px;background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:28px;font-weight:700}h2{letter-spacing:-.3px;color:var(--color-text-main);font-size:20px;font-weight:600}h3{color:var(--color-text-muted);font-size:16px;font-weight:500}p.muted{color:var(--color-text-muted);font-size:14px}.card-glass{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:var(--transition-smooth);padding:24px}.card-glass:hover{background:var(--bg-card-hover);border-color:var(--border-color-hover);box-shadow:var(--shadow-glow), var(--shadow-lg)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.kpi-card{align-items:center;gap:20px;display:flex}.kpi-icon{border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.kpi-info{flex-direction:column;display:flex}.kpi-value{color:var(--color-text-main);font-size:24px;font-weight:700}.kpi-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:13px}.input-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.input-group label{color:var(--color-text-muted);font-size:13px;font-weight:500}input,select,textarea{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--color-text-main);transition:var(--transition-smooth);outline:none;width:100%;padding:12px 16px;font-size:15px}input:focus,select:focus,textarea:focus{border-color:var(--border-focus);background:var(--bg-input-focus);box-shadow:0 0 10px #aa3bff40}textarea{resize:vertical;min-height:80px}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-smooth);border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #aa3bff66}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-btn-secondary);border-color:var(--border-color);color:var(--color-text-main)}.btn-secondary:hover{background:var(--bg-btn-secondary-hover);border-color:var(--border-btn-secondary-hover)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:#ef444433}.btn-danger:hover{background:var(--color-danger);color:#fff;box-shadow:0 5px 15px #ef444466}.btn-icon-only{border-radius:var(--radius-sm);padding:8px}.table-container{border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--bg-surface);overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{background:var(--bg-th);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);padding:16px 20px;font-size:13px;font-weight:600}td{color:var(--color-text-main);border-bottom:1px solid var(--border-color);transition:var(--transition-smooth);padding:16px 20px;font-size:14px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-item-row)}.badge{text-transform:uppercase;border-radius:9999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.modal-overlay{background:var(--bg-modal-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.modal-content{width:500px;max-width:90%;max-height:90vh;animation:.3s cubic-bezier(.34,1.56,.64,1) popIn;overflow-y:auto;background:var(--bg-modal-content)!important}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-close-btn{color:var(--color-text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none}.modal-close-btn:hover{color:var(--color-danger)}.auth-container{background:var(--bg-auth-container);justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex}.auth-card{width:420px;max-width:100%}.auth-header{text-align:center;flex-direction:column;gap:8px;margin-bottom:32px;display:flex}.nav-menu{flex-direction:column;gap:8px;display:flex}.nav-item{border-radius:var(--radius-md);color:var(--color-text-muted);transition:var(--transition-smooth);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:14px;font-weight:500;display:flex}.nav-item:hover{color:var(--color-nav-hover);background:var(--bg-nav-hover)}.nav-item.active{background:var(--gradient-primary);box-shadow:0 4px 12px #aa3bff40;color:#fff!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.toast-container{z-index:1000;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);align-items:center;gap:12px;min-width:300px;padding:16px 20px;animation:.3s cubic-bezier(.16,1,.3,1) slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.action-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.search-box{background:var(--bg-action-bar);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-grow:1;align-items:center;max-width:400px;padding:0 16px;display:flex}.search-box input{box-shadow:none;background:0 0;border:none;padding:12px 8px}.search-box input:focus{box-shadow:none;background:0 0;border:none}.filters-row{align-items:center;gap:12px;display:flex}.spinner{border:3px solid var(--border-spinner);border-left-color:var(--color-primary);border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
