:root{color:#e2e8f0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#020817;font-family:Inter,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{background:#020817}body{background:#020817;min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}a{color:inherit}h1,h2,h3,p{margin-top:0}.app-shell{color:#e5e7eb;background:#0b1020;min-height:100vh;display:flex}.sidebar{background:#111827;border-right:1px solid #94a3b833;flex-direction:column;gap:24px;width:260px;padding:24px 18px;display:flex}.sidebar-brand{align-items:center;gap:12px;display:flex}.sidebar-brand strong{font-size:1.1rem;display:block}.sidebar-brand small{color:#94a3b8}.brand-mark{color:#111827;background:linear-gradient(135deg,#f59e0b,#f97316);border-radius:12px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.nav{flex-direction:column;gap:8px;display:flex}.nav a{color:#cbd5e1;border-radius:10px;padding:12px 14px;text-decoration:none;transition:background .2s}.nav a.active,.nav a:hover{color:#fff;background:#f9731624}.logout-button{color:#f8fafc;cursor:pointer;background:0 0;border:1px solid #94a3b859;border-radius:10px;margin-top:auto;padding:10px 14px}.content{flex:1;padding:28px}.page{max-width:1100px;margin:0 auto}.page-header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#f59e0b;margin:0 0 8px;font-size:.72rem}.page-header h2,.auth-card h1{margin:0}.stats-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px;margin-bottom:22px;display:grid}.stat-card,.panel{background:#111827f2;border:1px solid #94a3b82e;border-radius:16px;padding:18px 20px;box-shadow:0 10px 30px #0f172a3d}.stat-card p{color:#94a3b8;margin:0;font-size:.82rem}.stat-card strong{margin:12px 0 6px;font-size:2rem;display:block}.stat-card span{color:#cbd5e1;font-size:.8rem}.panel-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:18px;display:grid}.panel header{border-bottom:1px solid #94a3b82e;margin-bottom:12px;padding-bottom:10px}.panel h3{margin:0}.activity-list,.status-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.activity-list li,.status-list li{border-bottom:1px solid #94a3b81f;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.status-list em{font-style:normal}.ok{color:#34d399}.warn{color:#fbbf24}.auth-shell{background:radial-gradient(circle at top,#f9731633,#0000 30%),#020817;place-items:center;min-height:100vh;display:grid}.auth-card{background:#0f172af2;border:1px solid #94a3b82e;border-radius:18px;width:min(100%,420px);padding:28px;box-shadow:0 20px 60px #0f172a80}.brand-row{align-items:center;gap:14px;margin-bottom:22px;display:flex}.login-form{flex-direction:column;gap:18px;display:flex}.login-form label{color:#cbd5e1;flex-direction:column;gap:8px;font-size:.92rem;display:flex}.login-form input{color:#f8fafc;background:#0f172ab8;border:1px solid #94a3b852;border-radius:10px;padding:12px 14px}.login-form button,button{color:#111827;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#f97316);border:none;border-radius:10px;padding:12px 16px;font-weight:700}.table-panel{overflow-x:auto}.inline-form{flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 18px;display:flex}.inline-form label{color:#cbd5e1;flex-direction:column;gap:6px;font-size:.82rem;display:flex}.inline-form input{color:#f8fafc;background:#111827;border:1px solid #94a3b852;border-radius:8px;width:min(360px,72vw);min-height:42px;padding:8px 12px}.inline-form button,.table-action{min-height:42px;padding:8px 14px}.table-action{min-height:34px;padding:6px 12px}.table-actions{gap:6px;display:flex}.secondary-action{color:#e2e8f0;background:#182235;border:1px solid #94a3b859;min-height:36px;padding:6px 12px}.counter-edit-form{background:#111827b3;border:1px solid #94a3b833;margin:0 0 18px;padding:14px}.layout-workspace{grid-template-columns:minmax(280px,.82fr) minmax(440px,1.18fr);align-items:start;gap:26px;display:grid}.layout-controls{flex-direction:column;gap:18px;display:flex}.layout-slot-editor{border-bottom:1px solid #94a3b82e;gap:10px;padding:0 0 18px;display:grid}.layout-slot-editor h3{color:#f8fafc;margin:0;font-size:.95rem}.layout-slot-editor label{color:#cbd5e1;flex-direction:column;gap:6px;font-size:.82rem;display:flex}.layout-slot-editor input,.layout-slot-editor select{color:#f8fafc;background:#111827;border:1px solid #94a3b852;border-radius:8px;min-height:40px;padding:8px 10px}.layout-slot-editor .range-control{grid-template-columns:1fr auto;align-items:center;display:grid}.range-control output{color:#fbbf24;font-variant-numeric:tabular-nums}.layout-slot-editor .range-control input[type=range]{accent-color:#f59e0b;grid-column:1/-1;width:100%;min-height:20px;padding:0}.layout-color-controls{color:#cbd5e1;flex-wrap:wrap;align-items:center;gap:16px;font-size:.82rem;display:flex}.layout-color-controls label{align-items:center;gap:8px;display:flex}.layout-color-controls input[type=color]{background:#111827;border:1px solid #94a3b852;border-radius:6px;width:42px;height:34px;padding:2px}.layout-inline-color{color:#cbd5e1;justify-content:space-between;align-items:center;gap:12px;font-size:.82rem;display:flex}.layout-inline-color input[type=color]{background:#111827;border:1px solid #94a3b852;border-radius:6px;width:42px;height:34px;padding:2px}.logo-upload-control{color:#cbd5e1;flex-direction:column;gap:8px;font-size:.82rem;display:flex}.logo-upload-control input[type=file]{color:#cbd5e1;max-width:100%}.layout-toggle{color:#cbd5e1;align-items:center;gap:10px;display:flex}.layout-toggle input{accent-color:#f59e0b;width:18px;height:18px}.layout-preview-section{min-width:0}.layout-preview{aspect-ratio:16/9;color:#090909;flex-direction:column;width:100%;min-height:330px;padding:2.5%;display:flex;position:relative;overflow:hidden}.layout-preview-header{flex-direction:column;align-items:flex-end;min-height:8%;line-height:1.15;display:flex}.layout-preview-header time{color:#2ad9e7;font-family:var(--mono);font-size:18px}.layout-preview-header span{font-size:12px;font-weight:700}.layout-preview-row{flex:1;grid-template-columns:35% minmax(0,1fr);align-items:center;gap:3%;min-height:0;padding:1% 0;display:grid}.layout-preview-window{color:#fff;background:#000;place-items:center;width:100%;height:82%;min-height:62px;display:grid}.normal-number-preview{font-variant-numeric:tabular-nums;white-space:nowrap;max-width:96%;font-family:inherit;font-weight:700;line-height:1;overflow:hidden}.layout-preview-caption{flex-direction:column;gap:2px;min-width:0;display:flex}.layout-preview-caption strong{overflow-wrap:anywhere;font-size:19px;font-weight:800;line-height:1.1}.layout-preview-caption span{overflow-wrap:anywhere;font-size:13px;font-weight:700;line-height:1.1}.layout-preview-logo{object-fit:contain;width:12%;height:13%;position:absolute;bottom:2.5%;right:2.5%}.success-text{color:#6ee7b7}.error-text,.error-banner{color:#fecaca}.error-banner{background:#7f1d1d40;border-left:3px solid #ef4444;max-width:1100px;margin:0 auto 18px;padding:10px 14px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #94a3b81f;padding:14px 12px}th{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.pill{text-transform:capitalize;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.pill.online,.pill.healthy{color:#6ee7b7;background:#34d3991f}.pill.offline,.pill.warning{color:#fbbf24;background:#fbbf241f}@media (width<=900px){.app-shell{flex-direction:column}.sidebar{border-bottom:1px solid #94a3b833;border-right:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;width:100%;padding:10px 14px 8px;display:grid}.sidebar-brand{min-width:0}.sidebar-brand .brand-mark{border-radius:9px;width:34px;height:34px}.sidebar-brand small{display:none}.sidebar-brand strong{font-size:.95rem}.logout-button{margin:0;padding:8px 11px}.nav{scrollbar-width:thin;flex-direction:row;grid-column:1/-1;gap:4px;overflow-x:auto}.nav a{white-space:nowrap;flex:none;padding:8px 11px;font-size:.9rem}.content{padding:18px 14px}.stats-grid,.panel-grid,.layout-workspace{grid-template-columns:1fr}}
