:root{--bg:#f6f7fb;--panel:#fff;--ink:#23242a;--muted:#6b7080;--line:#dfe3ea;--teal:#008f8c;--teal-dark:#00716f;--grape:#4d3d8f;--amber:#c78200;--red:#c43d3d;--green:#25835a;--shadow:0 18px 45px rgba(35,36,42,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:24px;padding:22px 16px;background:#fcfcfd;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;min-height:44px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:var(--teal);color:#fff;font-weight:800}.brand strong{display:block;font-size:18px;line-height:1}.brand small{display:block;margin-top:4px;color:var(--muted)}.nav-stack{display:grid;gap:6px}.nav-item{padding:10px 12px;border-radius:8px;color:#454955}.nav-item:hover,.nav-item.active{background:#e9f5f4;color:var(--teal-dark)}.logout-form{margin-top:auto}.ghost-button,.actions button,.search-form button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:8px 10px;cursor:pointer}.ghost-button{width:100%}.primary-button{border:0;background:var(--teal);color:#fff;border-radius:8px;padding:11px 14px;font-weight:700;cursor:pointer}.primary-button:hover{background:var(--teal-dark)}.danger{color:var(--red)!important}.main-content{min-width:0;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.topbar h1{margin:0;font-size:28px;letter-spacing:0}.eyebrow{margin:0 0 6px;color:var(--teal-dark);font-size:12px;font-weight:800;text-transform:uppercase}.user-chip{text-align:right;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.user-chip span,.user-chip small{display:block}.user-chip small{color:var(--muted)}.flash{border-radius:8px;padding:12px 14px;margin-bottom:16px;border:1px solid}.flash.success{background:#edf8f2;color:var(--green);border-color:#bee8d1}.flash.error,.form-error{background:#fff0f0;color:var(--red);border-color:#f0c3c3}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.metric-card{padding:16px;min-height:118px;display:grid;align-content:space-between}.metric-card span{color:var(--muted);font-size:13px}.metric-card strong{display:block;font-size:30px;letter-spacing:0}.metric-card small{color:var(--muted)}.metric-card.accent{border-top:4px solid var(--grape)}.metric-card.warning{border-top:4px solid var(--amber)}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.panel{padding:18px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h2{margin:0;font-size:18px;letter-spacing:0}.panel-head a{color:var(--teal-dark);font-weight:700}.server-list{display:grid;gap:10px}.server-row{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px}.server-row small,.data-table small{display:block;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}.status-bars{display:grid;gap:10px}.bar-row{display:flex;justify-content:space-between;padding:12px;background:#f8fafb;border-radius:8px}.form-panel{margin-bottom:18px}.grid-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.grid-form label,.stack-form label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.grid-form .wide{grid-column:span 2}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink)}textarea{resize:vertical}.check-row{display:flex!important;align-items:center;gap:8px!important;min-height:42px;color:var(--ink)!important}.check-row input{width:auto}.search-form{display:flex;gap:8px}.search-form input{min-width:220px}.data-table{width:100%;border-collapse:collapse}.data-table th{color:var(--muted);text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:0;border-bottom:1px solid var(--line);padding:10px;white-space:nowrap}.data-table td{border-bottom:1px solid #edf0f5;padding:12px 10px;vertical-align:middle}.data-table.compact td{padding:9px 10px}.actions{display:flex;gap:8px;justify-content:flex-end}.actions form{margin:0}.empty-cell{text-align:center;color:var(--muted);padding:28px!important}.status{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:8px;background:#eef0f4;color:#464b55;font-size:12px;font-weight:800;white-space:nowrap}.status.online,.status.active,.status.info{background:#e7f5ef;color:var(--green)}.status.offline,.status.inactive,.status.closed{background:#eef0f4;color:#565c68}.status.warning,.status.pending,.status.trial,.status.maintenance{background:#fff4dd;color:var(--amber)}.status.error,.status.blocked,.status.expired,.status.urgent{background:#fff0f0;color:var(--red)}.status.running,.status.ready,.status.open{background:#e9f5f4;color:var(--teal-dark)}nav[role=navigation]{margin-top:14px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f6f7fb}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:26px}.login-brand{margin-bottom:22px}.stack-form{display:grid;gap:14px}.form-error{border:1px solid #f0c3c3;border-radius:8px;padding:10px}@media (max-width:1180px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.main-content{padding:18px}.topbar,.two-column{grid-template-columns:1fr;display:grid}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-form,.grid-form .wide{grid-template-columns:1fr;grid-column:auto}.data-table{display:block;overflow-x:auto}}@media (max-width:520px){.metric-grid{grid-template-columns:1fr}.topbar h1{font-size:23px}.search-form{width:100%}.search-form input{min-width:0}}

/* Layout hardening */
.main-content > * { max-width: 100%; }
.panel { margin-bottom: 18px; }
.data-table td, .data-table th { max-width: 360px; }
.data-table td:first-child { min-width: 170px; }
.actions { min-width: 170px; }
.actions button { white-space: nowrap; }
[role="navigation"] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); }
[role="navigation"] > div { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
[role="navigation"] a, [role="navigation"] span { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; padding: 6px 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); }
[role="navigation"] span[aria-current="page"] span { background: var(--teal); color: #fff; border-color: var(--teal); }
[role="navigation"] svg { width: 18px; height: 18px; }
@media (max-width: 1180px) { .data-table td, .data-table th { max-width: 280px; } }
@media (max-width: 820px) { .panel-head { align-items: stretch; flex-direction: column; } .search-form input { width: 100%; } .actions { justify-content: flex-start; } [role="navigation"] { align-items: stretch; flex-direction: column; } }

/* Provider importer and Xtream delivery */
select[multiple] { min-height: 88px; }
.metric-grid.slim { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.bulk-form { display: grid; gap: 14px; }
.bulk-toolbar { display: grid; grid-template-columns: 1.2fr 1.4fr repeat(3, minmax(150px, 1fr)); gap: 12px; align-items: end; }
.bulk-toolbar label { display: grid; gap: 6px; color: var(--muted); font-size: 13px; font-weight: 700; }
.button-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.inline-action { display: inline-flex; align-items: center; justify-content: center; width: auto; }
.copy-line { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 11px; line-height: 1.35; max-width: 520px; }
.compact-error { margin-top: 12px; }
.status.idle, .status.unknown { background: #eef0f4; color: #565c68; }
.status.published { background: #e7f5ef; color: var(--green); }
.status.skipped { background: #eef0f4; color: #565c68; }
@media (max-width: 1180px) { .metric-grid.slim { grid-template-columns: repeat(3, minmax(0, 1fr)); } .bulk-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 820px) { .bulk-toolbar { grid-template-columns: 1fr; } .button-row { align-items: stretch; flex-direction: column; } .button-row button { width: 100%; } }

/* Commercial modules */
.sidebar { overflow-y: auto; }
.topbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; }
.top-search input { min-width: 180px; }
.muted-line { color: var(--muted); margin: 0 0 14px; }
.type-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.type-tab { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); }
.type-tab strong { color: var(--muted); font-size: 13px; }
.type-tab.active, .type-tab:hover { background: #e9f5f4; border-color: #b9dcda; color: var(--teal-dark); }
.type-tab.active strong, .type-tab:hover strong { color: var(--teal-dark); }
@media (max-width: 820px) {
    .topbar-actions { display: grid; grid-template-columns: 1fr; align-items: stretch; }
}
