:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111827;background:#f4f6fb;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:inherit}.topbar{height:68px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:20}.brand{display:flex;gap:11px;align-items:center;text-decoration:none}.brand span,.brand-mark{display:grid;place-items:center;background:#101b3d;color:#ffc928;font-weight:900;border-radius:10px}.brand span{width:34px;height:34px}.brand-mark{width:54px;height:54px;font-size:24px;margin-bottom:20px}.top-actions{display:flex;align-items:center;gap:14px}.environment,.status{font-size:11px;font-weight:800;letter-spacing:.08em}.environment{color:#64748b}.shell{width:min(1180px,calc(100% - 36px));margin:0 auto 70px}.hero{margin:32px 0 38px;padding:44px 48px;background:#101b3d;color:#fff;border-radius:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;box-shadow:0 24px 70px rgba(16,27,61,.16)}.kicker{margin:0 0 10px;color:#3478f6;font-size:11px;font-weight:900;letter-spacing:.15em}.hero .kicker{color:#ffc928}.hero h1{font-size:clamp(38px,6vw,68px);line-height:.98;margin:0 0 18px;letter-spacing:-.045em}.hero h1 span{color:#ffc928}.hero>div>p:last-child{color:#bec8df;max-width:660px;margin:0}.summary{min-width:180px;padding:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px}.summary strong{display:block;font-size:48px;line-height:1}.summary span,.summary small{display:block}.summary small{color:#aeb9d0;margin-top:8px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.section-head h2{font-size:30px;margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.player-card{background:#fff;border:1px solid #e3e8f1;border-radius:20px;padding:22px;box-shadow:0 8px 30px rgba(15,23,42,.04)}.card-head{display:flex;align-items:center;justify-content:space-between}.station-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#eaf1ff;color:#1d4ed8;font-weight:900}.status{padding:6px 9px;border-radius:999px}.status.active{background:#dcfce7;color:#15803d}.status.pending{background:#fef3c7;color:#a16207}.player-card h2{margin:18px 0 4px;font-size:21px}.url{display:block;color:#567;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.player-card dl{margin:20px 0}.player-card dl div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #eef1f6;font-size:13px}.player-card dt{color:#8490a4}.player-card dd{margin:0;font-weight:700;text-align:right}.live-status.ok{color:#15803d}.live-status.bad{color:#b45309}.card-actions{display:flex;gap:9px}.primary,.ghost{border:0;border-radius:11px;padding:11px 16px;font-weight:800;text-decoration:none;cursor:pointer}.primary{background:#2f65dc;color:#fff}.ghost{background:#eef2f7;color:#26334d}.small{font-size:13px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#e8f0ff,transparent 35%),#f5f7fb}.login-card{width:min(430px,100%);padding:38px;background:#fff;border:1px solid #e2e7f0;border-radius:26px;box-shadow:0 30px 80px rgba(15,23,42,.12)}.login-card h1{font-size:38px;letter-spacing:-.04em;margin:0}.muted{color:#718096}.login-form{display:grid;gap:16px;margin-top:28px}.login-form label{display:grid;gap:7px;font-weight:700;font-size:13px}.login-form input{width:100%;padding:13px;border:1px solid #ccd4e2;border-radius:11px;font:inherit}.alert,.success{padding:12px 14px;border-radius:10px}.alert{background:#fee2e2;color:#b91c1c}.success{background:#dcfce7;color:#166534}.editor-shell{padding-top:28px}.back{text-decoration:none;color:#53627a}.editor-head{display:flex;justify-content:space-between;align-items:start;margin:24px 0}.editor-head h1{font-size:40px;margin:0}.tabs{display:flex;gap:5px}.tab{padding:10px 16px;border-radius:10px 10px 0 0;background:#e8edf5;text-decoration:none;font-size:13px;font-weight:800}.tab.active{background:#101b3d;color:#fff}.editor-form{background:#101b3d;border-radius:0 18px 18px 18px;overflow:hidden}.editor-form textarea{display:block;width:100%;min-height:58vh;padding:22px;border:0;resize:vertical;background:#0b1126;color:#dbeafe;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;outline:none}.editor-form footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 18px;color:#aab5cf;font-size:13px}@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{align-items:start;flex-direction:column}}@media(max-width:620px){.grid{grid-template-columns:1fr}.hero{padding:30px 24px}.environment{display:none}.shell{width:min(100% - 24px,1180px)}.editor-form footer{align-items:stretch;flex-direction:column}.topbar{padding:0 14px}}
.manage-card{background:#161b25;border:1px solid #303849;border-radius:16px;padding:24px;margin:22px 0}.manage-card h2{margin-top:0}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.field-grid label,.manage-card>label{display:flex;flex-direction:column;gap:8px}input,select,textarea{font:inherit;color:inherit;background:#0d111a;border:1px solid #3a4357;border-radius:8px;padding:11px;max-width:100%}select{width:100%}textarea{width:100%;resize:vertical}.channel-row,.rule-row{padding:18px;border:1px solid #39445a;border-radius:12px;margin:18px 0}.channel-row legend,.rule-row legend{padding:0 8px;font-weight:600}.check{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;margin:12px 0}.check input{width:auto}.check-row{display:flex;gap:24px;flex-wrap:wrap}fieldset{min-width:0;border:0;padding:0}fieldset:disabled{opacity:.7}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:12px;border-bottom:1px solid #303849}pre{white-space:pre-wrap;overflow-wrap:anywhere}.tabs{overflow:auto}.manage-card input[type=file]{width:100%;margin:10px 0}small{font-size:.65em}@media(max-width:700px){.field-grid{grid-template-columns:1fr}.manage-card{padding:16px}.shell{padding:20px}.top-actions{gap:8px}}
.manage-card{background:#fff;border-color:#dce2ee;color:#172138}.manage-card input,.manage-card select,.manage-card textarea{background:#f8faff;border-color:#cbd5e5;color:#172138}.channel-row,.rule-row{border-color:#dce2ee;background:#fafbfe}.manage-card td,.manage-card th{border-color:#dce2ee}.manage-card input:focus,.manage-card select:focus,.manage-card textarea:focus{outline:2px solid #2f63e8;outline-offset:2px}

/* Consistent, readable fields throughout admin, login and OTP. */
input,select,textarea,.login-form input,.manage-card input,.manage-card select,.manage-card textarea,.editor-form textarea{background:#fff;color:#172138;caret-color:#172138;border-color:#cbd5e5;color-scheme:light}
input::placeholder,textarea::placeholder{color:#64748b;opacity:1}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #2f63e8;outline-offset:2px}
.server-load{font-size:12px;color:#334155;font-weight:600;font-variant-numeric:tabular-nums;background:#f1f5f9;padding:8px 10px;border-radius:8px}.channel-now-list{padding:0;margin:16px 0 20px;list-style:none;display:grid;gap:8px}.channel-now{padding:10px 12px;border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc;min-width:0}.channel-now>div{display:flex;justify-content:space-between;align-items:start;gap:8px;flex-wrap:wrap}.channel-now strong{font-size:12px;color:#1e293b}.channel-health{font-size:10px;color:#15803d;font-weight:700}.channel-now p{font-size:13px;line-height:1.4;margin:6px 0;overflow-wrap:anywhere;color:#172138}.channel-now small{font-size:10px;color:#64748b;line-height:1.4}.channel-warning{background:#fff7ed;border-color:#fed7aa}.channel-warning .channel-health{color:#c2410c}.runtime-panel{margin-bottom:30px}.runtime-panel .section-head{margin-top:0}.runtime-panel h2{margin-bottom:0}.runtime-actions{white-space:nowrap}.runtime-actions button{margin:2px}.runtime-note{font-size:12px;margin-bottom:0}.runtime-panel th{white-space:nowrap}.runtime-panel td{font-variant-numeric:tabular-nums}button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:800px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding:12px 16px;gap:10px}.top-actions{flex-wrap:wrap}.server-load{font-size:10px}.runtime-panel .section-head{flex-wrap:wrap;gap:10px}}
