:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#eef7ff;
  background:#061522;
  line-height:1.5;
  --bg:#061522;
  --sidebar:#071a28;
  --workspace:#081827;
  --panel:#10283b;
  --panel-2:#0d2234;
  --panel-3:#0a1d2d;
  --line:#25445d;
  --line-soft:rgba(92,151,194,.18);
  --text:#eef7ff;
  --muted:#8fa9bd;
  --teal:#20d3cf;
  --blue:#3f8cff;
  --green:#35d399;
  --amber:#f2b84b;
  --purple:#8c7cff;
  --red:#f87171;
  --radius:14px;
  --shadow:0 18px 48px rgba(0,0,0,.22);
}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}
a{color:inherit}
button,input,select,textarea{font:inherit}

.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#061927 0%,#071522 100%);border-right:1px solid var(--line);padding:20px 14px 16px;display:flex;flex-direction:column;z-index:10}
.brand-block{display:flex;align-items:center;gap:12px;min-width:0}
.brand-block strong{display:block;font-size:.9rem;line-height:1.25;color:#fff}
.brand-block small{display:block;margin-top:3px;color:#79a0bb;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#1ec6ca,#2f74ff);font-weight:900;color:#fff;box-shadow:0 10px 24px rgba(30,198,202,.2);flex:0 0 auto}
.brand-block.compact{padding:0 20px}.brand-block.compact .brand-mark{width:38px;height:38px}
.sidebar-label{margin:30px 6px 10px;color:#5d879f;font-size:.62rem;letter-spacing:.18em;font-weight:800}
.side-nav{display:grid;gap:6px}
.side-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid transparent;border-radius:10px;color:#d7e6f0;text-decoration:none;font-size:.82rem;transition:.18s ease}
.side-nav a span{width:18px;text-align:center;color:#69a6c7;font-size:1rem}
.side-nav a:hover{background:rgba(32,211,207,.07);border-color:rgba(32,211,207,.14);color:#fff}
.side-nav a.active{background:rgba(32,211,207,.15);border-color:#32bdb8;color:#4ef1e9;box-shadow:inset 3px 0 0 #24d7d0}
.side-nav a.active span{color:#4ef1e9}
.sidebar-footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--line-soft);display:grid;gap:12px}
.node-chip{display:flex;align-items:center;gap:9px;color:#95b3c6;font-size:.72rem;padding:0 6px}
.node-chip i,.health-badge i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(53,211,153,.09)}
.logout-button{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px;background:#0b2132;color:#dbeaf4;cursor:pointer}
.logout-button:hover{border-color:#3e718e;background:#102a3d}

.workspace{min-width:0;background:radial-gradient(circle at 85% 0%,rgba(44,129,197,.08),transparent 30%),var(--workspace)}
.mobile-header{display:none}
.container{max-width:1500px;margin:0 auto;padding:28px 34px 48px}

.dashboard-heading,.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.dashboard-heading h1,.heading h1,.login-card h1{margin:.05rem 0;font-size:1.8rem;letter-spacing:-.025em}
.dashboard-heading p,.heading p{margin:.25rem 0 0;color:var(--muted)}
.eyebrow{font-size:.65rem;font-weight:850;letter-spacing:.17em;color:#5fa4ca;margin:0!important}
.heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.health-badge,.state{display:inline-flex;align-items:center;gap:9px;padding:8px 13px;border-radius:999px;background:rgba(53,211,153,.12);border:1px solid rgba(53,211,153,.28);color:#91f7c4;font-weight:800;font-size:.72rem;letter-spacing:.04em}
.health-badge.degraded,.state.degraded{background:rgba(242,184,75,.12);border-color:rgba(242,184,75,.28);color:#ffd88d}.health-badge.error,.health-badge.stopped,.state.error,.state.stopped{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.27);color:#ffc2c2}
.auto-refresh{font-size:.7rem;color:#6f94ab;border:1px solid var(--line-soft);border-radius:999px;padding:7px 10px}

.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.metric-card{min-width:0;background:linear-gradient(180deg,var(--panel) 0%,#0d2436 100%);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;align-items:flex-start;gap:12px;box-shadow:var(--shadow)}
.metric-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;font-weight:900;flex:0 0 auto}.metric-icon.teal{color:#53eee8;background:rgba(32,211,207,.12)}.metric-icon.blue{color:#73a8ff;background:rgba(63,140,255,.12)}.metric-icon.purple{color:#a99dff;background:rgba(140,124,255,.13)}.metric-icon.amber{color:#ffd17a;background:rgba(242,184,75,.13)}.metric-icon.green{color:#78efb7;background:rgba(53,211,153,.13)}.metric-icon.cyan{color:#6bd7ff;background:rgba(78,184,236,.12)}
.metric-card small{display:block;color:#74a1bc;font-size:.66rem}.metric-card strong{display:block;color:#fff;font-size:1.05rem;line-height:1.25;margin-top:2px;overflow-wrap:anywhere}.metric-card span{display:block;color:#688da5;font-size:.62rem;margin-top:3px}

.panel,.output-panel,.login-card{background:linear-gradient(180deg,var(--panel) 0%,#0d2335 100%);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.section-heading h2,.panel h2{margin:0;color:#f7fbff;font-size:1rem}.section-heading p{margin:3px 0 0;color:#7799ae;font-size:.73rem}.compact-heading{margin-bottom:14px}
.outline-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border:1px solid #37627e;border-radius:9px;color:#d9edf7;text-decoration:none;font-size:.68rem;font-weight:750;white-space:nowrap}.outline-button:hover{border-color:#58a9cb;background:rgba(72,160,195,.08)}
.output-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel-3)}.output-card.live{border-color:rgba(53,211,153,.5);box-shadow:inset 0 0 0 1px rgba(53,211,153,.05)}
.output-title{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:13px}.output-title strong{display:block;color:#fff;font-size:.9rem}.output-title code{display:block;color:#73bed7;background:transparent;border:0;padding:0;margin-top:4px;font-size:.65rem;word-break:break-all}.output-title>span{border-radius:999px;padding:6px 10px;background:rgba(53,211,153,.13);border:1px solid rgba(53,211,153,.35);color:#4ff0a0;font-weight:850;font-size:.68rem}.output-card.offline .output-title>span{background:rgba(148,163,184,.1);border-color:rgba(148,163,184,.22);color:#91a3b0}
.output-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.output-stats div{background:#0b2030;border:1px solid var(--line-soft);border-radius:9px;padding:10px}.output-stats small{display:block;color:#6e91a8;font-size:.62rem}.output-stats strong{display:block;color:#fff;margin-top:3px;font-size:.8rem}
.dashboard-lower-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:14px}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.service-grid div{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px;border:1px solid var(--line-soft);border-radius:9px;background:#0c2132;font-size:.7rem}.service-grid span{color:#85a6b9}.service-grid strong{color:#dcecf5;font-size:.7rem}.service-grid strong.ok{color:#4ce3a0}.service-grid strong.bad{color:#ff9a9a}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}.profile-grid div{background:#0b2030;border:1px solid var(--line-soft);padding:11px;border-radius:9px;color:#e8f4fb}.profile-grid.modern small{display:block;color:#6f94a9;font-size:.61rem}.profile-grid.modern strong{display:block;margin-top:3px;font-size:.75rem;color:#f3f9fd}

.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .wide{grid-column:1/-1}.stack{display:grid;gap:13px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:26px}.inline-form,.actions,.row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
label{display:grid;gap:6px;color:#dceaf3;font-weight:650;font-size:.78rem}label small,.note{color:#7595a9;font-weight:400}
input,select,textarea{width:100%;border:1px solid #31536b;border-radius:10px;padding:10px 12px;background:#071b2a;color:#eef8ff;outline:none}input:focus,select:focus,textarea:focus{border-color:#27c6c7;box-shadow:0 0 0 3px rgba(39,198,199,.12)}input[type=file]{padding:8px}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:auto}
.button,.small-button,.action-button{border:0;border-radius:10px;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;background:linear-gradient(135deg,#2777ff,#19c7c7);color:#fff;text-decoration:none;font-weight:750}.button.secondary{background:#132f43;color:#dceaf3;border:1px solid #345b74}.button:disabled{opacity:.55}.small-button{padding:7px 10px;background:#153247;color:#dceaf3;border:1px solid #31546d}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:11px}.action-button{width:100%;height:100%;text-align:left;padding:15px;background:#0b2030;color:#edf7fd;border:1px solid var(--line-soft)}.action-button:hover{border-color:#3b7291;background:#0e293c}.action-button strong,.action-button small{display:block}.action-button small{color:#7293a8;margin-top:4px}
.asset-list{display:grid;gap:9px}.asset-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px;border:1px solid var(--line-soft);border-radius:10px;background:#0b2030}.asset-row small{display:block;color:#7396aa}
.flash{padding:11px 14px;border-radius:9px;margin-bottom:15px;background:rgba(63,140,255,.12);border:1px solid rgba(63,140,255,.25);color:#cde4ff}.flash.error,.danger-panel{background:rgba(248,113,113,.09);color:#ffc3c3;border-color:rgba(248,113,113,.24)}.flash.success{background:rgba(53,211,153,.10);color:#bfffe0;border-color:rgba(53,211,153,.24)}
.preview-stage{position:relative;aspect-ratio:16/9;background:#020a11;overflow:hidden;border-radius:12px;border:1px solid var(--line)}.preview-stage video{width:100%;height:100%;object-fit:contain}.preview-stage img{position:absolute;left:0;top:85%;width:25%;cursor:move;user-select:none;touch-action:none}.safe-area{position:absolute;inset:5%;border:1px dashed rgba(255,255,255,.28);pointer-events:none}.preview-controls{display:flex;gap:18px;align-items:end;flex-wrap:wrap;margin-top:14px}.preview-controls label{min-width:180px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line-soft);vertical-align:top}th{color:#78b6d3;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}td{font-size:.72rem;color:#d9e8f1}pre,code{white-space:pre-wrap;word-break:break-word}pre{background:#071a28;border:1px solid var(--line);padding:12px;border-radius:9px;color:#d5e7f2}

.guest{background:radial-gradient(circle at 50% 15%,rgba(38,154,179,.15),transparent 30%),#061522}.guest-topbar{padding:14px 20px;background:#061522;border-bottom:1px solid var(--line)}.guest-container{max-width:520px;margin:0 auto;padding:8vh 20px}.login-card{padding:26px}.login-card p{color:var(--muted)}

@media(max-width:1250px){.metric-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:920px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px}.sidebar-label,.sidebar-footer{display:none}.brand-block{margin-bottom:12px}.side-nav{display:flex;overflow:auto;padding-bottom:4px}.side-nav a{white-space:nowrap}.mobile-header{display:none}.container{padding:22px}.dashboard-lower-grid{grid-template-columns:1fr}.output-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.container{padding:18px}.metric-grid{grid-template-columns:1fr 1fr}.output-stats{grid-template-columns:1fr 1fr}.form-grid,.two-column,.service-grid{grid-template-columns:1fr}.dashboard-heading,.heading,.section-heading,.output-title,.asset-row{align-items:stretch;flex-direction:column}.heading-actions{justify-content:flex-start}.metric-card{padding:13px}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.output-stats{grid-template-columns:1fr}.side-nav a{padding:8px 10px}}

/* Makki Preview Player 0.1.4 */
.preview-stage {
  position: relative;
  overflow: hidden;
  background: #020912;
}

.preview-stage video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: contain;
  background: #020912;
}

.preview-player-status {
  position: absolute;
  left: 50%;
  bottom: 18px;
  z-index: 6;
  transform: translateX(-50%);
  max-width: calc(100% - 36px);
  padding: 9px 14px;
  border: 1px solid rgba(78, 207, 255, 0.35);
  border-radius: 999px;
  background: rgba(3, 17, 29, 0.9);
  color: #d9f5ff;
  font-size: 13px;
  line-height: 1.3;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.preview-player-status[data-state="warning"] {
  border-color: rgba(255, 190, 71, 0.55);
  color: #ffe2a6;
}

.preview-player-status[data-state="error"] {
  border-color: rgba(255, 92, 112, 0.6);
  color: #ffc0c8;
}

.preview-player-status[data-state="ready"] {
  border-color: rgba(67, 222, 155, 0.55);
  color: #bbf9dc;
}
