:root{--table-bg:transparent;--table-border:#ffffff14;--filter-row-bg:#ffffff08;--filter-input-bg:#080808;--filter-input-border:#ffffff0f;--filter-input-shadow:#0006;--header-bg:#ffffff0f;--header-border:#ffffff1a;--header-text:#999;--header-hover-text:#ccc;--row-border:#ffffff0a;--row-stripe:#ffffff05;--row-text:#e0e0e0;--row-text-muted:#777;--clear-btn-border:#ffffff1f;--clear-btn-text:#888;--clear-btn-hover-text:#fff;--clear-btn-hover-bg:#ffffff0f;--sort-indicator:#555;--sort-indicator-hover:#888}*{box-sizing:border-box;margin:0;padding:0}body{color:#e0e0e0;background:#0a0a0a;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.auth-wrapper{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{text-align:center;background:#0f0f1a;border:1px solid #ffffff1a;border-radius:12px;width:100%;max-width:400px;padding:2.5rem 2rem;box-shadow:0 4px 24px #0006}.auth-logo{height:48px;margin-bottom:.5rem}.auth-title{margin-bottom:.25rem;font-size:2rem;font-weight:700}.auth-subtitle{color:#888;margin-bottom:2rem}.auth-form{flex-direction:column;gap:.75rem;display:flex}.auth-input{color:#e0e0e0;background:#111;border:1px solid #333;border-radius:8px;outline:none;height:44px;padding:0 1rem;font-size:1rem;transition:border-color .2s}.auth-input:focus{border-color:#f59e0b}.auth-input::placeholder{color:#555}.auth-button{color:#000;cursor:pointer;background:#f59e0b;border:none;border-radius:8px;height:44px;font-size:1rem;font-weight:600;transition:background .2s}.auth-button:hover{background:#d97706}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:#f87171;font-size:.875rem}.auth-sent{animation:.3s fadeIn}.auth-sent-icon{color:#4ade80;margin-bottom:.75rem;font-size:2.5rem}.auth-sent-text{color:#e0e0e0;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.auth-sent-hint{color:#888;font-size:.875rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.totp-input{letter-spacing:.5em;text-align:center;color:#e0e0e0;background:#111;border:1px solid #333;border-radius:8px;outline:none;width:100%;padding:.75rem 1rem;font-family:monospace;font-size:1.5rem;transition:border-color .2s}.totp-input:focus{border-color:#f59e0b}.totp-qr{background:#fff;border-radius:8px;margin:1rem 0;padding:1rem;display:inline-block}.totp-secret{color:#888;word-break:break-all;background:#ffffff0d;border-radius:4px;margin:.5rem 0;padding:.5rem;font-family:monospace;font-size:.75rem}.app-layout{min-height:100vh;display:flex}.sidebar{background:#0f0f1a;border-right:1px solid #ffffff1a;flex-direction:column;flex-shrink:0;width:220px;padding:1.25rem 0;display:flex}.sidebar-logo{margin-bottom:.5rem;padding:0 1.25rem}.sidebar-label{color:#f59e0b;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.25rem;padding:0 1.25rem;font-size:.6875rem;font-weight:700}.sidebar-nav{flex-direction:column;display:flex}.nav-item{color:#888;padding:.625rem 1.25rem;font-size:.9375rem;text-decoration:none;transition:color .15s,background .15s;display:block}.nav-item:hover{color:#e0e0e0;background:#f59e0b0f}.nav-item.active{color:#e0e0e0;background:#f59e0b1f;border-left:3px solid #f59e0b}.app-content{flex-direction:column;flex:1;min-width:0;display:flex}.app-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.app-header-info{flex-direction:column;gap:.125rem;display:flex}.app-user-name{font-size:.875rem;font-weight:600}.app-user-meta{color:#666;font-size:.75rem}.logout-btn{color:#e0e0e0;cursor:pointer;background:#1a1a2e;border:1px solid #333;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;transition:background .2s}.logout-btn:hover{background:#2a2a4e}.app-main{flex:1;padding:1.5rem;overflow-y:auto}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.page-loading{color:#888;padding:2rem}.back-link{color:#f59e0b;margin-bottom:1rem;font-size:.875rem;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{color:#000;background:#f59e0b}.btn-primary:hover:not(:disabled){background:#d97706}.btn-secondary{color:#e0e0e0;background:#1a1a2e;border:1px solid #333}.btn-secondary:hover:not(:disabled){background:#2a2a4e}.btn-danger{color:#fff;background:#dc2626;border:none}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger-sm,.btn-success-sm{cursor:pointer;border:none;border-radius:4px;padding:.25rem .625rem;font-size:.75rem}.btn-danger-sm{color:#f87171;background:#f8717126}.btn-danger-sm:hover{background:#f8717140}.btn-success-sm{color:#4ade80;background:#4ade8026}.btn-success-sm:hover{background:#4ade8040}.btn-impersonate{color:#f59e0b;cursor:pointer;background:#f59e0b26;border:none;border-radius:4px;padding:.25rem .625rem;font-size:.75rem}.btn-impersonate:hover{background:#f59e0b40}.data-table{border-collapse:collapse;border:1px solid var(--table-border);border-radius:8px;width:100%;overflow:hidden}.data-table th{text-align:left;color:var(--header-text);text-transform:uppercase;letter-spacing:.08em;background:var(--header-bg);border-bottom:2px solid #f59e0b;padding:.5rem .75rem;font-size:.9375rem;font-weight:600}.data-table td{color:var(--row-text);border-bottom:1px solid var(--row-border);padding:.625rem .75rem;font-size:.875rem}.data-table tbody tr:nth-child(2n) td{background:var(--row-stripe)}.data-table tbody tr:hover td{background:#f59e0b0f}.data-table tbody tr:hover .table-link{text-decoration:underline}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.sortable-th:hover{color:var(--header-hover-text)}.sortable-label{align-items:center;gap:.25rem;display:inline-flex}.sort-indicator{color:var(--sort-indicator);letter-spacing:-.1em;font-size:.625rem}.sortable-th:hover .sort-indicator{color:var(--sort-indicator-hover)}.filter-row{background:var(--filter-row-bg)}.filter-row th{border-bottom:none;padding:.625rem .75rem;font-weight:400}.filter-input{background:var(--filter-input-bg);border:1px solid var(--filter-input-border);width:100%;color:var(--row-text);box-shadow:inset 0 1px 3px var(--filter-input-shadow);border-radius:4px;outline:none;padding:.3rem .5rem;font-size:.75rem;transition:border-color .15s,box-shadow .15s}.filter-input:focus{box-shadow:inset 0 1px 3px var(--filter-input-shadow), 0 0 0 1px #f59e0b4d;border-color:#f59e0b}.filter-input::placeholder{color:var(--sort-indicator)}.filter-input-active{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b4d}.filter-clear-btn{color:#fbbf24;cursor:pointer;white-space:nowrap;background:#f59e0b26;border:1px solid #f59e0b;border-radius:4px;padding:.3rem .6rem;font-size:.75rem;font-weight:500;transition:color .15s,background .15s}.filter-clear-btn:hover{color:#fff;background:#f59e0b4d}[data-theme=light] .filter-input-active{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b33}[data-theme=light] .filter-clear-btn{color:#d97706;background:#f59e0b1a}[data-theme=light] .filter-clear-btn:hover{color:#b45309;background:#f59e0b33}.table-link{color:#f59e0b;font-weight:500;text-decoration:none}.table-link:hover{text-decoration:underline}.text-muted{color:var(--row-text-muted)}.badge{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.badge-active{color:#4ade80;background:#4ade8026}.badge-inactive{color:#f87171;background:#f8717126}.badge-trial{color:#facc15;background:#facc1526}.badge-suspended{color:#f87171;background:#f8717126}.badge-super-admin{color:#a855f7;background:#a855f726;font-size:.65rem}.plan-summary{gap:.5rem;margin-bottom:1.25rem;display:flex}.plan-filter-btn{color:#888;cursor:pointer;background:#1a1a2e;border:1px solid #333;border-radius:6px;padding:.375rem .875rem;font-size:.8125rem;transition:background .15s,color .15s}.plan-filter-btn:hover{color:#e0e0e0;background:#2a2a4e}.plan-filter-active{color:#f59e0b;background:#f59e0b26;border-color:#f59e0b}.form{flex-direction:column;gap:1rem;max-width:480px;margin-top:1rem;display:flex}.form-label{color:#aaa;flex-direction:column;gap:.375rem;font-size:.875rem;display:flex}.form-input{color:#e0e0e0;background:#111;border:1px solid #333;border-radius:6px;outline:none;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.form-input:focus{border-color:#f59e0b}.form-input:required:invalid{border-color:#dc2626}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-input-sm{padding:.25rem .5rem;font-size:.8125rem}.form-textarea{resize:vertical;min-height:80px}.form-actions{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.inline-form{background:#f59e0b08;border:1px solid #ffffff1a;border-radius:8px;flex-flow:wrap;align-items:flex-end;gap:.5rem;max-width:100%;margin-bottom:1rem;padding:1rem}.inline-form .form-input{flex:1;min-width:150px}.section{border-top:1px solid #ffffff1a;margin-top:2rem;padding-top:1.5rem}.detail-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.detail-card{background:#ffffff05;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.detail-card-title{color:#888;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.8125rem;font-weight:600}.detail-row{gap:.75rem;display:flex}.dashboard-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.dash-card{background:#ffffff05;border:1px solid #ffffff1a;border-radius:10px;padding:1.25rem}.dash-card-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.dash-card-icon{font-size:1.25rem}.dash-card-label{color:#888;text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem;font-weight:600}.dash-stat{color:#e0e0e0;margin-bottom:.75rem;font-size:2rem;font-weight:700}.dash-stat-ok{color:#4ade80}.dash-breakdown{flex-direction:column;gap:.375rem;font-size:.8125rem;display:flex}.search-bar{gap:.5rem;margin-bottom:1.25rem;display:flex}.search-bar .form-input{flex:1}.success{color:#4ade80;margin-top:1rem}.error{color:#f87171;margin-top:1rem}.toast-container{z-index:1000;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}.toast{cursor:pointer;border-radius:8px;max-width:400px;padding:.75rem 1.25rem;font-size:.875rem;animation:.2s ease-out toast-in}.toast-error{color:#fca5a5;background:#7f1d1d;border:1px solid #991b1b}.toast-success{color:#86efac;background:#14532d;border:1px solid #166534}@keyframes toast-in{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:translate(0)}}.modal-overlay{z-index:999;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;width:90%;max-width:420px;padding:1.5rem}.theme-toggle{cursor:pointer;background:0 0;border:1px solid #333;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.125rem;transition:border-color .15s,background .15s;display:flex}.theme-toggle:hover{background:#f59e0b0f;border-color:#f59e0b}[data-theme=light]{--table-bg:#fff;--table-border:#0000001a;--filter-row-bg:#00000005;--filter-input-bg:#fff;--filter-input-border:#0000001f;--filter-input-shadow:#0000000f;--header-bg:#0000000a;--header-border:#0000001f;--header-text:#666;--header-hover-text:#333;--row-border:#0000000f;--row-stripe:#00000005;--row-text:#1a1a1a;--row-text-muted:#888;--clear-btn-border:#00000026;--clear-btn-text:#888;--clear-btn-hover-text:#333;--clear-btn-hover-bg:#0000000d;--sort-indicator:#aaa;--sort-indicator-hover:#666}[data-theme=light] body{color:#1a1a1a;background:#f8f8fa}[data-theme=light] .auth-card{background:#fff;border-color:#ddd;box-shadow:0 4px 24px #00000014}[data-theme=light] .auth-subtitle{color:#666}[data-theme=light] .auth-input{color:#1a1a1a;background:#f9f9f9;border-color:#ccc}[data-theme=light] .auth-input::placeholder{color:#999}[data-theme=light] .auth-sent-text{color:#1a1a1a}[data-theme=light] .totp-input{color:#1a1a1a;background:#f9f9f9;border-color:#ccc}[data-theme=light] .sidebar{background:#fff;border-right-color:#e0e0e0}[data-theme=light] .sidebar-label{color:#b45309}[data-theme=light] .nav-item{color:#666}[data-theme=light] .nav-item:hover{color:#1a1a1a;background:#f59e0b0f}[data-theme=light] .nav-item.active{color:#1a1a1a;background:#f59e0b1a}[data-theme=light] .app-header{border-bottom-color:#e0e0e0}[data-theme=light] .app-user-name{color:#1a1a1a}[data-theme=light] .app-user-meta{color:#888}[data-theme=light] .logout-btn{color:#333;background:#f0f0f0;border-color:#ccc}[data-theme=light] .logout-btn:hover{background:#e0e0e0}[data-theme=light] .theme-toggle{border-color:#ccc}[data-theme=light] .theme-toggle:hover{background:#f59e0b0f;border-color:#f59e0b}[data-theme=light] .form-label{color:#555}[data-theme=light] .form-input{color:#1a1a1a;background:#fff;border-color:#ccc}[data-theme=light] .form-input:focus{border-color:#f59e0b}[data-theme=light] .btn-secondary:hover:not(:disabled){background:#e0e0e0}[data-theme=light] .plan-filter-btn{color:#666;background:#f0f0f0;border-color:#ccc}[data-theme=light] .plan-filter-btn:hover{color:#333;background:#e8e8e8}[data-theme=light] .detail-card{background:#fff;border-color:#e0e0e0}[data-theme=light] .detail-card-title{color:#666}[data-theme=light] .dash-card{background:#fff;border-color:#e0e0e0}[data-theme=light] .dash-card-label{color:#666}[data-theme=light] .dash-stat{color:#1a1a1a}[data-theme=light] .section{border-top-color:#e0e0e0}[data-theme=light] .inline-form{background:#f59e0b08;border-color:#e0e0e0}[data-theme=light] .toast-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}[data-theme=light] .toast-success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}[data-theme=light] .modal-overlay{background:#0000004d}[data-theme=light] .modal-card{background:#fff;border-color:#ddd}[data-theme=light] .back-link{color:#b45309}[data-theme=light] .page-loading{color:#888}.sidebar-separator{background:#ffffff14;height:1px;margin:.5rem 1rem}[data-theme=light] .sidebar-separator{background:#0000001a}.filter-bar{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.filter-bar select,.filter-bar input{color:#e0e0e0;background:#111;border:1px solid #ffffff1a;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}[data-theme=light] .filter-bar select,[data-theme=light] .filter-bar input{color:#333;background:#fff;border-color:#ddd}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1rem;font-size:.875rem;display:flex}.pagination button{color:#e0e0e0;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;padding:.375rem .75rem}.pagination button:disabled{opacity:.4;cursor:not-allowed}[data-theme=light] .pagination button{color:#333;background:#f5f5f5;border-color:#ddd}.btn-sm{padding:.25rem .5rem;font-size:.75rem}.btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:4px}.btn-danger:hover{background:#b91c1c}.btn-secondary{color:#e0e0e0;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;padding:.5rem 1rem;font-size:.875rem}.btn-secondary:hover{background:#ffffff1f}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}[data-theme=light] .btn-secondary{color:#333;background:#f5f5f5;border-color:#ddd}.jobs-list{margin-top:.5rem}.job-item{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.job-item:last-child{border-bottom:none}[data-theme=light] .job-item{border-bottom-color:#0000000f}.trials-expiring{margin-top:1.5rem}.trials-list{flex-direction:column;gap:.5rem;display:flex}.trial-item{background:#f59e0b0f;border-left:3px solid #f59e0b;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.trial-item .trial-days{color:#f59e0b;font-weight:600}.card{background:#ffffff05;border:1px solid #ffffff1a;border-radius:10px;padding:1.25rem}[data-theme=light] .card{background:#fff;border-color:#e0e0e0}.card h3{color:#888;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.9375rem;font-weight:600}[data-theme=light] .card h3{color:#666}.form-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.form-grid label{color:#aaa;flex-direction:column;gap:.375rem;font-size:.875rem;display:flex}[data-theme=light] .form-grid label{color:#555}.form-grid input,.form-grid select,.form-grid textarea,.card input[type=text],.card textarea,.card select{color:#e0e0e0;background:#111;border:1px solid #333;border-radius:6px;outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.card input[type=text]:focus,.card textarea:focus,.card select:focus{border-color:#f59e0b}[data-theme=light] .form-grid input,[data-theme=light] .form-grid select,[data-theme=light] .form-grid textarea,[data-theme=light] .card input[type=text],[data-theme=light] .card textarea,[data-theme=light] .card select{color:#1a1a1a;background:#fff;border-color:#ccc}.btn-link{color:#f59e0b;cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem}.btn-link:hover{text-decoration:underline}[data-theme=light] .btn-link{color:#b45309}.infra-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.infra-card{min-height:120px}.infra-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.infra-meta{flex-direction:column;gap:.25rem;margin-top:.5rem;display:flex}.infra-meta-row{justify-content:space-between;align-items:center;font-size:.8125rem;display:flex}.infra-meta-row .text-muted{font-size:.8125rem}.logs-search{margin-bottom:1rem}.logs-search-input{color:#e0e0e0;background:#111;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:100%;padding:.625rem 1rem;font-size:.9375rem;transition:border-color .15s}.logs-search-input:focus{border-color:#f59e0b}.logs-search-input::placeholder{color:#666}[data-theme=light] .logs-search-input{color:#1a1a1a;background:#fff;border-color:#ddd}[data-theme=light] .logs-search-input::placeholder{color:#999}.logs-tabs{border-bottom:2px solid #ffffff14;gap:0;margin-bottom:1rem;display:flex}.logs-tab{color:#888;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.625rem 1.25rem;font-size:.875rem;transition:color .15s,border-color .15s}.logs-tab:hover{color:#e0e0e0}.logs-tab-active{color:#f59e0b;border-bottom-color:#f59e0b}[data-theme=light] .logs-tabs{border-bottom-color:#0000001a}[data-theme=light] .logs-tab{color:#888}[data-theme=light] .logs-tab:hover{color:#333}[data-theme=light] .logs-tab-active{color:#b45309;border-bottom-color:#b45309}.tab-filters{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.logs-tab-content{min-height:200px}
