:root{color:#e8ecf4;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#397dff3d,#0000 30%),linear-gradient(#07111f 0%,#0a1324 48%,#050a13 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}#root{min-height:100vh}.auth-shell,.loading-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel,.content-card,.loading-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080f1bc2;border:1px solid #94a3b82e;border-radius:24px;width:min(100%,960px);box-shadow:0 28px 80px #00000059}.auth-panel{max-width:520px;padding:32px}.auth-badge,.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#8fb5ff;margin:0 0 12px;font-size:.74rem}h1,h2,p{margin:0}h1{color:#f6f8fb;font-size:clamp(2rem,4vw,3rem);line-height:1.05}h2{color:#f6f8fb;font-size:1.45rem}.auth-description{color:#a6b0c4;margin-top:12px;line-height:1.6}.auth-form{gap:18px;margin-top:28px;display:grid}.field{gap:8px;display:grid}.field span{color:#c5d0e3;font-size:.95rem}.field input{color:#f6f8fb;background:#070d17e6;border:1px solid #94a3b83d;border-radius:14px;outline:none;width:100%;padding:14px 16px;transition:border-color .16s,box-shadow .16s}.field input:focus{border-color:#78a8ffe6;box-shadow:0 0 0 4px #3b82f629}.form-error{color:#ffb4b4;background:#ef44441f;border:1px solid #ef444433;border-radius:12px;padding:12px 14px}.primary-button,.secondary-button{border:0;border-radius:14px;padding:14px 18px;font-weight:700;transition:transform .16s,opacity .16s,background .16s}.primary-button{color:#08111f;background:linear-gradient(135deg,#a8c7ff 0%,#fff 100%)}.primary-button:disabled{opacity:.7;cursor:not-allowed}.secondary-button{color:#f6f8fb;background:#94a3b824}.secondary-button:disabled{opacity:.7;cursor:not-allowed}.primary-button:hover:not(:disabled),.secondary-button:hover{transform:translateY(-1px)}.app-shell{grid-template-columns:280px minmax(0,1fr);align-items:stretch;gap:24px;min-height:100vh;padding:24px;display:grid}.sidebar,.dashboard-main{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080f1bc2;border:1px solid #94a3b82e;border-radius:24px;box-shadow:0 28px 80px #00000059}.sidebar{align-content:start;gap:24px;padding:20px;display:grid}.sidebar-brand{align-items:center;gap:12px;display:flex}.sidebar-brand-mark{color:#091220;background:linear-gradient(135deg,#a8c7ff 0%,#fff 100%);border-radius:14px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.sidebar-brand p{color:#8ca0c2;margin-top:2px}.sidebar-nav{gap:8px;display:grid}.sidebar-link{color:#c7d1e5;background:0 0;border:1px solid #0000;border-radius:14px;justify-content:flex-start;align-items:center;width:100%;padding:14px 16px;text-decoration:none;transition:background .16s,border-color .16s,color .16s;display:flex}.sidebar-link:hover{background:#94a3b814}.sidebar-link.active{color:#f6f8fb;background:#a8c7ff1f;border-color:#a8c7ff38}.dashboard-main{align-content:start;gap:20px;min-width:0;padding:24px;display:grid}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.session-bar{align-items:center;gap:14px;display:flex}.session-user{text-align:right;gap:4px;display:grid}.session-label{color:#8ca0c2;font-size:.84rem}.content-card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;width:100%;padding:0}.dashboard-content{min-height:240px}.placeholder-page,.dashboard-home{gap:22px;display:grid}.users-page{gap:20px;display:grid}.users-page-header{justify-content:space-between;align-items:end;gap:16px;display:flex}.users-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.users-page h2{margin-top:4px}.back-link{color:#8fb5ff;background:0 0;border:0;margin-bottom:8px;padding:0;font-weight:700;text-decoration:none}.back-link:hover{text-decoration:underline}.users-link{color:#f6f8fb;font-weight:700;text-decoration:none}.users-link:hover{text-decoration:underline}.users-details-card{background:#080f1b85;border:1px solid #94a3b82e;border-radius:20px;padding:20px}.server-agent-card{gap:20px;display:grid}.server-metrics-card{margin-top:20px}.server-metrics-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:24px 0 0;display:grid}.server-metrics-grid dt{color:#8ca0c2;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.server-metrics-grid dd{color:#f6f8fb;margin:8px 0 0;font-size:1.35rem;font-weight:700}.server-metrics-updated{color:#a6b0c4;font-size:.9rem}.server-connectivity{white-space:nowrap;font-weight:700}.server-connectivity-online{color:#86efac}.server-connectivity-offline{color:#fca5a5}.server-connectivity-never-connected,.server-connectivity-not-registered{color:#cbd5e1}@media (width<=720px){.server-agent-header{flex-direction:column;align-items:flex-start;gap:12px}.server-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.server-agent-header{justify-content:space-between;align-items:end;gap:16px;display:flex}.server-agent-header h3{color:#f6f8fb;margin:4px 0 0;font-size:1.1rem}.status-message-warning{color:#ffe2ad;background:#f59e0b1f;border-color:#fbbf243d}.agent-token-value{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.users-details-list{gap:18px;margin:0;display:grid}.users-details-list div{gap:6px;display:grid}.users-details-list dt{text-transform:uppercase;letter-spacing:.12em;color:#92a3c2;font-size:.8rem}.users-details-list dd{color:#edf2fb;margin:0;font-size:1.02rem}.users-form{gap:18px;display:grid}.users-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.users-form .field input,.users-form .field select{color:#f6f8fb;background:#070d17e6;border:1px solid #94a3b83d;border-radius:14px;outline:none;width:100%;padding:14px 16px;transition:border-color .16s,box-shadow .16s}.users-form .field select{appearance:none}.users-form .field input:focus,.users-form .field select:focus{border-color:#78a8ffe6;box-shadow:0 0 0 4px #3b82f629}.field-error{color:#ffb4b4;font-size:.86rem}.users-form-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.status-message{color:#d3dbeb;background:#080f1b85;border:1px solid #94a3b82e;border-radius:16px;margin:0;padding:16px 18px}.status-message-error{color:#ffb4b4;background:#ef44441f;border-color:#ef44443d}.status-message-success{color:#c8f4d6;background:#22c55e1f;border-color:#4ade803d}.settings-description{color:#a6b0c4;margin-top:10px;line-height:1.6}.users-table-wrap{background:#080f1b85;border:1px solid #94a3b82e;border-radius:20px;overflow-x:auto}.users-table{border-collapse:collapse;width:100%;min-width:680px}.users-table th,.users-table td{text-align:left;border-bottom:1px solid #94a3b81f;padding:16px 18px}.users-table th{text-transform:uppercase;letter-spacing:.12em;color:#92a3c2;background:#94a3b80d;font-size:.8rem}.users-table td{color:#edf2fb}.users-table tbody tr:last-child td{border-bottom:0}.servers-table{min-width:760px}.server-status-active,.server-status-inactive{border-radius:8px;padding:5px 9px;font-size:.78rem;font-weight:700;display:inline-block}.server-status-active{color:#c8f4d6;background:#4ade8029}.server-status-inactive{color:#ffcfb4;background:#f9731629}.users-form .field textarea{resize:vertical;color:#f6f8fb;width:100%;font:inherit;background:#070d17e6;border:1px solid #94a3b83d;border-radius:14px;outline:none;padding:14px 16px}.loading-card{text-align:center;color:#f6f8fb;max-width:420px;padding:28px}.sessions-list{gap:16px;display:grid}.session-card{background:#080f1b85;border:1px solid #94a3b82e;border-radius:16px;grid-template-columns:1fr auto;align-items:start;gap:16px;padding:20px;display:grid}.session-card button{white-space:nowrap}.session-info{gap:12px;display:grid}.session-badge{text-transform:uppercase;letter-spacing:.1em;color:#c8f4d6;background:#4ade8033;border-radius:8px;width:fit-content;padding:6px 10px;font-size:.75rem;font-weight:700;display:inline-block}.session-details{gap:10px;display:grid}.session-detail-row{grid-template-columns:120px 1fr;gap:4px;display:grid}.session-detail-row .session-label{text-transform:uppercase;letter-spacing:.08em;color:#92a3c2;font-size:.8rem}.session-detail-row .session-value{color:#d3dbeb;font-size:.95rem}.danger-button{color:#ffb4b4;cursor:pointer;background:#ef44441f;border:1px solid #ef44443d;border-radius:14px;padding:14px 18px;font-weight:700;transition:transform .16s,opacity .16s,background .16s}.danger-button:hover:not(:disabled){background:#ef444438;transform:translateY(-1px)}.danger-button:disabled{opacity:.7;cursor:not-allowed}.logout-all-section{border-top:1px solid #94a3b81f;justify-content:center;margin-top:24px;padding-top:24px;display:flex}.modal-overlay{z-index:1000;background:#00000080;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#080f1bf5;border:1px solid #94a3b83d;border-radius:20px;gap:16px;width:100%;max-width:420px;padding:28px;display:grid}.modal h3{color:#f6f8fb;margin:0 0 8px;font-size:1.3rem}.modal p{color:#a6b0c4;margin:0;font-size:.95rem;line-height:1.6}.modal-actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.modal-actions button{flex:1;min-width:100px}.sidebar-section{gap:0;display:grid}.sidebar-section>.sidebar-link{border-radius:14px 14px 0 0}.sidebar-subsection{background:#a8c7ff0d;border:1px solid #a8c7ff38;border-top:0;border-radius:0 0 14px 14px;gap:0;display:grid;overflow:hidden}.sidebar-subsection .sidebar-link{color:#a6b0c4;background:0 0;border:0;border-bottom:1px solid #a8c7ff1f;border-radius:0;padding:12px 16px 12px 32px;font-size:.95rem}.sidebar-subsection .sidebar-link:last-child{border-bottom:0}.sidebar-subsection .sidebar-link:hover{background:#a8c7ff1a}.sidebar-subsection .sidebar-link.active{color:#a8c7ff;background:#a8c7ff26;border-color:#0000}.error-card{align-items:start;gap:12px;display:grid}.audit-page{gap:20px;display:grid}.audit-page-header{justify-content:space-between;align-items:end;display:flex}.audit-filters{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.audit-filters .field{min-width:190px}.audit-filters select{color:#f6f8fb;background:#070d17e6;border:1px solid #94a3b83d;border-radius:12px;padding:11px 12px}.audit-table-wrap{background:#080f1b85;border:1px solid #94a3b82e;border-radius:16px;overflow-x:auto}.audit-table{border-collapse:collapse;width:100%;min-width:900px}.audit-table th,.audit-table td{text-align:left;vertical-align:top;border-bottom:1px solid #94a3b81f;padding:13px 14px}.audit-table th{text-transform:uppercase;letter-spacing:.1em;color:#92a3c2;background:#94a3b80d;font-size:.76rem}.audit-table td{color:#edf2fb;font-size:.9rem}.audit-table tbody tr:last-child td{border-bottom:0}.audit-entity-id{color:#92a3c2;overflow-wrap:anywhere;margin-top:3px;font-size:.78rem;display:block}.audit-metadata{max-width:300px}.audit-metadata summary{cursor:pointer;color:#c9d8f6;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.audit-metadata dl{background:#94a3b80f;border-left:2px solid #a8c7ff59;gap:6px;margin:10px 0 0;padding:10px;display:grid}.audit-metadata dl div{grid-template-columns:90px minmax(0,1fr);gap:8px;display:grid}.audit-metadata dt{color:#92a3c2}.audit-metadata dd{overflow-wrap:anywhere;margin:0}.audit-metadata-empty{color:#92a3c2}.audit-error,.audit-pagination{justify-content:space-between;align-items:center;gap:16px;display:flex}.audit-pagination span{color:#92a3c2;font-size:.9rem}@media (width<=640px){.auth-panel,.dashboard-main{padding:20px}.session-bar{justify-content:space-between}.app-shell{grid-template-columns:1fr}.dashboard-header{flex-direction:column;align-items:stretch}.sidebar{order:2}.users-form-grid{grid-template-columns:1fr}.users-form-actions{justify-content:stretch}.users-form-actions>button{flex:1}.session-card{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.audit-filters{align-items:stretch}.audit-filters .field,.audit-filters button{width:100%}.audit-error,.server-agent-header{flex-direction:column;align-items:stretch}}
