:root{font-family:Inter,"Segoe UI",sans-serif;color:#eaf3ff;background:#06111f;color-scheme:dark;--bg:#06111f;--surface:#0c1c2d;--surface2:#10263a;--line:#1d3850;--muted:#8fa7bd;--blue:#1684ff;--green:#25c873;--orange:#ff931f;--teal:#19c8c0;--red:#e5484d;--purple:#8a45ff}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 75% 0,#0c263c 0,transparent 35%),var(--bg)}a{color:#52a5ff;text-decoration:none}.manager-shell{display:grid;grid-template-columns:286px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px 14px;background:linear-gradient(180deg,#071829,#061320);border-right:1px solid #132b3e;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px;color:white}.brand-icon{font-size:34px;color:#27a0ff}.brand b{display:block;color:#3d9eff;font-size:20px;letter-spacing:.04em}.brand small{display:block;color:#c6d5e4;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav p{font-size:11px;color:#6e879e;margin:22px 12px 6px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:7px;color:#d2dfeb}.sidebar nav a span{width:22px;text-align:center;font-size:18px}.sidebar nav a:hover,.sidebar nav a.active{color:white;background:linear-gradient(90deg,#174b82,#153e69);box-shadow:inset 0 0 0 1px #1d639e}.sidebar footer{margin-top:auto;border:1px solid var(--line);border-radius:8px;padding:14px;color:#d9e7f3;background:#0d2032}.sidebar footer small{display:block;color:var(--muted);margin:8px 0 0 17px}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 10px #25c87399;margin-right:8px}.manager-main{min-width:0}.topbar{height:72px;border-bottom:1px solid #142b3e;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#071522cc;backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.topbar strong{display:block;font-size:19px}.eyebrow{font-size:11px;color:#6f8aa1;text-transform:uppercase;letter-spacing:.12em}.admin-chip{display:flex;align-items:center;gap:8px;color:#c8d8e6}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#173a58;margin-left:12px;font-weight:700}.page-content{padding:28px;max-width:1600px;margin:auto}.page-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.page-heading h1{margin:0 0 5px;font-size:29px}.page-heading p,.panel-title p{margin:0;color:var(--muted)}.updated,.count-pill{font-size:13px;color:#aac0d2;border:1px solid var(--line);padding:9px 12px;border-radius:8px;background:#0b1b2a}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric{display:flex;align-items:center;gap:15px;padding:20px;background:linear-gradient(145deg,#10263a,#0a1b2b);border:1px solid var(--line);border-radius:10px}.metric>span{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;font-size:23px}.metric.blue>span{background:#0876f3}.metric.green>span{background:#20b964}.metric.orange>span{background:#ee8115}.metric.purple>span{background:#7835e8}.metric small,.metric em{display:block;color:#a8bbcb;font-style:normal}.metric b{display:block;font-size:27px;margin:2px 0}.metric b.version{font-size:23px}.metric em{font-size:12px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.panel{background:linear-gradient(145deg,#0e2234,#091a29);border:1px solid var(--line);border-radius:10px;padding:18px}.span-two{grid-column:auto}.span-three{grid-column:1/-1}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-title h2,.release-form h2{font-size:17px;margin:0 0 4px}.panel-title a{padding:7px 10px;background:#0d2d4d;border-radius:6px;font-size:13px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:12px;color:#9bb0c2;font-weight:600;border-bottom:1px solid var(--line);padding:10px}td{padding:12px 10px;border-bottom:1px solid #152e42;color:#dce8f2}td strong,td small{display:block}td small{font-size:12px;color:var(--muted);margin-top:3px}code{font-family:"Cascadia Code",monospace;color:#7cc0ff;background:#071523;padding:4px 7px;border-radius:5px}.support-code{font-size:16px;letter-spacing:.1em}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#153550;color:#b8d4ea;font-size:11px}.badge.success{color:#5ee79d;background:#0c3d2b}.badge.danger{color:#ff9b9b;background:#4a2028}.badge.neutral{color:#b5c4d1;background:#26394a}.health-ring{--health:100;width:180px;aspect-ratio:1;border-radius:50%;margin:25px auto;background:conic-gradient(var(--green) calc(var(--health)*1%),#183047 0);display:grid;place-items:center;position:relative}.health-ring:before{content:"";position:absolute;inset:18px;border-radius:50%;background:#0b1d2d}.health-ring div{position:relative;text-align:center}.health-ring b{display:block;font-size:30px}.health-ring span{color:var(--muted)}.legend{display:flex;justify-content:center;gap:20px;font-size:12px;color:#b8cad8}.legend span{display:flex;align-items:center;gap:6px}.green-dot,.orange-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}.orange-dot{background:var(--orange)}.crash-list>div{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:11px;border-top:1px solid #183247}.crash-list strong,.crash-list small{display:block}.crash-list small{color:var(--muted);margin-top:3px}.crash-list time{color:var(--muted);font-size:12px}.severity{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#512731;color:#ff8b8b;font-weight:800}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:15px}.toolbar input{flex:3 1 240px;min-width:200px}.toolbar select{flex:1 1 200px;min-width:180px;max-width:340px}.toolbar .button,.toolbar button{flex:0 0 auto;white-space:nowrap}.button{border:1px solid #2b4d68;background:#122b40;color:#dbeaf5;padding:10px 15px;border-radius:7px;cursor:pointer}.button:hover{filter:brightness(1.15)}.button.primary{border-color:#1684ff;background:#0878eb;color:white}.diagnostic-list{display:grid;gap:12px}.diagnostic-head{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:start}.diagnostic-head h2{margin:0;font-size:16px}.diagnostic-head p{margin:5px 0;color:#b3c5d4}.diagnostic-meta{display:flex;flex-wrap:wrap;gap:20px;margin:15px 0;color:var(--muted);font-size:13px}.diagnostic-card details{margin:12px 0}.diagnostic-card pre{white-space:pre-wrap;max-height:280px;overflow:auto;background:#04101b;padding:14px;border-radius:7px;color:#a9bfd0}.release-layout{display:grid;grid-template-columns:minmax(340px,.8fr) 1.2fr;gap:16px}.release-form{display:flex;flex-direction:column;gap:13px}.release-form label{display:flex;flex-direction:column;gap:6px;color:#aebfcd;font-size:13px}.release-form .check{flex-direction:row;align-items:center}.form-row{display:grid;grid-template-columns:140px 1fr;gap:10px}input,select,textarea{width:100%;border:1px solid #29455c;background:#071725;color:#e9f3fa;border-radius:7px;padding:11px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#278cff;box-shadow:0 0 0 3px #1684ff20}.form-message{color:#63dda0}.release-list{display:grid;gap:10px}.release-list article{padding:14px;border:1px solid #18354b;border-radius:8px;background:#0a1a28}.release-list article div{display:flex;align-items:center;gap:8px}.release-list article p{color:#b4c5d3}.release-list article small{color:var(--muted)}.empty-state,.loading,.no-data{text-align:center;color:var(--muted);padding:38px}.empty-state{background:#0b1d2d;border:1px dashed #29465e;border-radius:10px}.toggle{color:#b8c8d5}.toggle input{width:auto}.count-pill{white-space:nowrap}@media(max-width:1050px){.manager-shell{grid-template-columns:220px 1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.release-layout{grid-template-columns:1fr}.sidebar .brand b{font-size:16px}}@media(max-width:720px){.manager-shell{display:block}.sidebar{position:static;height:auto}.sidebar nav{display:grid;grid-template-columns:repeat(2,1fr)}.sidebar nav p,.sidebar footer{display:none}.topbar{position:static}.page-content{padding:18px}.metric-grid{grid-template-columns:1fr}.page-heading{align-items:start;gap:12px}.crash-list>div{grid-template-columns:auto 1fr}.crash-list code,.crash-list time{display:none}}
.hint{margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:8px;background:var(--surface);color:var(--muted);font-size:.93rem}.hint a{color:var(--blue);font-weight:600}

/* ===== Topo ===== */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.topbar-right{display:flex;align-items:center;gap:14px}
.icon-button{display:inline-flex;align-items:center;justify-content:center;position:relative;
 width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:var(--surface);
 color:var(--muted);font-size:1.05rem;cursor:pointer;text-decoration:none}
.icon-button:hover{color:#fff;border-color:var(--blue)}
.bell-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;
 display:grid;place-items:center;border-radius:9px;background:var(--red);color:#fff;
 font-size:.68rem;font-style:normal;font-weight:700}
.admin-chip{display:flex;align-items:center;gap:10px}
.admin-name{display:flex;flex-direction:column;line-height:1.15}
.admin-name b{font-size:.92rem}
.admin-name small{color:var(--muted);font-size:.76rem}

/* ===== Menu lateral ===== */
.brand-text{display:flex;flex-direction:column;line-height:1.2}
.brand-text b{font-size:1.02rem;letter-spacing:.3px}
.brand-text b i{font-style:normal;color:var(--blue)}
.brand-text small{color:var(--muted);font-size:.72rem}
.brand-icon{color:var(--blue);display:grid;place-items:center}
.nav-section{margin:16px 0 6px;padding:0 14px;color:var(--muted);font-size:.68rem;
 letter-spacing:1.3px;text-transform:uppercase}
.nav-icon{display:inline-block;width:20px;text-align:center;opacity:.85}
.server-status{display:flex;flex-direction:column;gap:5px;margin:14px 10px 0;padding:12px 14px;
 border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.server-status b{font-size:.85rem}
.server-status .online{display:flex;align-items:center;gap:7px;color:var(--green);font-size:.85rem}
.server-status small{color:var(--muted);font-size:.72rem}
.menu-collapsed .sidebar{display:none}
/* Esconder a sidebar nao a tira do grid: as duas colunas continuam la e o conteudo cai na
   primeira, de 286px. Recolhido, a grade passa a ter uma coluna so. */
.menu-collapsed{grid-template-columns:minmax(0,1fr)}

/* ===== Cartoes de metrica ===== */
.metric{position:relative;display:flex;flex-direction:column;gap:2px;padding:16px 16px 0;overflow:hidden}
.metric-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:8px;
 border-radius:11px;font-size:1.15rem;color:#fff}
.metric.blue .metric-icon{background:var(--blue)}
.metric.green .metric-icon{background:var(--green)}
.metric.purple .metric-icon{background:var(--purple)}
.metric.orange .metric-icon{background:var(--orange)}
.metric.teal .metric-icon{background:var(--teal)}
.metric small{color:var(--muted);font-size:.85rem}
.metric b{font-size:1.85rem;line-height:1.2}
.metric em{font-style:normal;color:var(--muted);font-size:.78rem}
.metric.highlight{border-color:var(--teal)}
.spark{display:block;width:calc(100% + 32px);height:44px;margin:8px -16px -1px}

/* ===== Donut ===== */
.donut-wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.donut{width:170px;height:170px;transform:rotate(-90deg)}
.donut-value{fill:#fff;font-size:5px;font-weight:700;text-anchor:middle;transform:rotate(90deg);
 transform-origin:21px 21px}
.donut-label{fill:#8fa7bd;font-size:2.4px;text-anchor:middle;transform:rotate(90deg);
 transform-origin:21px 21px}
.donut-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;flex:1;min-width:150px}
.donut-legend li{display:flex;align-items:center;gap:9px;font-size:.86rem}
.donut-legend i{width:10px;height:10px;border-radius:50%;flex:0 0 auto}
.donut-legend b{margin-left:auto;color:var(--muted);font-weight:600}

/* ===== Grafico de linhas ===== */
.chart-legend{display:flex;gap:16px;margin-bottom:8px;font-size:.82rem;color:var(--muted)}
.chart-legend i{display:inline-block;width:12px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
.line-chart{width:100%;height:150px;display:block}
.chart-axis{display:flex;justify-content:space-between;margin-top:6px;color:var(--muted);font-size:.7rem}

/* ===== Tabelas e apoio ===== */
.table-foot{padding:10px 2px 0;color:var(--muted);font-size:.8rem;border-top:1px solid var(--line);margin-top:10px}
.range-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);
 border-radius:9px;background:var(--surface);color:var(--muted);font-size:.85rem;white-space:nowrap}
.muted-title{color:var(--muted);font-weight:400;font-size:.85rem}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%}
.dot-green{background:var(--green)}
.dot-red{background:var(--red)}
.button.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}
.button.ghost:hover{color:#fff;border-color:var(--blue)}
.blockers{margin:10px 0 0;padding-left:20px;color:var(--muted);font-size:.88rem;line-height:1.7}

/* ===== Rodape ===== */
.app-footer{display:flex;justify-content:space-between;gap:12px;padding:14px 22px;
 border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}

@media (max-width:900px){
  .donut-wrap{justify-content:center}
  .app-footer{flex-direction:column;gap:4px}
}
.badge.warning{background:rgba(255,147,31,.16);color:var(--orange);border:1px solid rgba(255,147,31,.35);margin-right:8px}

/* ===== Login ===== */
.bare-layout{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-shell{width:100%;max-width:380px}
.login-card{display:flex;flex-direction:column;gap:14px;padding:28px}
.login-brand{text-align:center;margin-bottom:6px}
.login-brand b{display:block;font-size:1.25rem;letter-spacing:.4px}
.login-brand b i{font-style:normal;color:var(--blue)}
.login-brand small{color:var(--muted);font-size:.78rem}
.login-card label{display:flex;flex-direction:column;gap:6px;font-size:.86rem;color:var(--muted)}
.form-message.erro{color:var(--red);border-color:rgba(229,72,77,.4)}
.logout-button{background:none;border:none;color:var(--muted);cursor:pointer;font:inherit;padding:0}
.logout-button:hover{color:var(--red)}

/* Catalogo central: mantém a linguagem visual do painel e acomoda listas grandes. */
.catalog-layout{display:grid;grid-template-columns:minmax(320px,.7fr) minmax(520px,1.3fr);gap:16px}
.source-form{display:flex;flex-direction:column;gap:13px;align-self:start;position:sticky;top:94px}
.source-form label{display:flex;flex-direction:column;gap:6px;color:#aebfcd;font-size:13px}
.source-form label.toggle{flex-direction:row;align-items:center}.source-form label.toggle input{width:auto}
.form-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.button.danger{border-color:#71343a;color:#ff9b9b;background:#391b22}
.form-message.erro,.source-error{color:#ff9b9b}
.source-list{display:grid;gap:12px}.source-list article{border:1px solid #18354b;border-radius:9px;padding:15px;background:#0a1a28}
.source-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.source-head strong,.source-head small{display:block}.source-head small{color:var(--muted);margin-top:5px;word-break:break-all}
.source-stats{display:flex;flex-wrap:wrap;gap:22px;margin:15px 0;color:var(--muted);font-size:12px}.source-stats b{display:block;color:#dce8f2;font-size:14px;margin-bottom:2px}
.media-name{display:flex;align-items:center;gap:10px;min-width:240px}.media-name img{width:36px;height:36px;object-fit:contain;border-radius:6px;background:#071523}
.pager{display:flex;justify-content:center;align-items:center;gap:14px;padding-top:16px;color:var(--muted)}
.hint{color:var(--muted);font-size:13px}
@media(max-width:1050px){.catalog-layout{grid-template-columns:1fr}.source-form{position:static}}
.compact-form{margin-bottom:16px}.compact-form h2{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;margin-bottom:16px}.form-grid label{display:flex;flex-direction:column;gap:6px;color:#aebfcd;font-size:13px}.form-grid label.toggle{flex-direction:row;align-items:center}.form-grid label.toggle input{width:auto}.settings-info{margin-top:16px}.settings-info dl{display:grid;grid-template-columns:220px 1fr;gap:10px 18px}.settings-info dt{color:var(--muted)}.settings-info dd{margin:0;word-break:break-all}.big-figure{font-size:30px;font-weight:700}.big-figure small{display:block;color:var(--muted);font-size:13px;font-weight:400}.range-chip{font-size:13px;color:var(--muted)}
@media(max-width:720px){.form-grid,.settings-info dl{grid-template-columns:1fr}}
.series-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.series-folder{padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#0a1a28;color:#eaf3ff;text-align:left;cursor:pointer}.series-folder:hover,.series-folder:focus{border-color:var(--blue);transform:translateY(-1px)}.series-folder img{width:100%;height:210px;object-fit:cover;background:#071523}.series-folder span{display:block;padding:12px}.series-folder strong,.series-folder small{display:block}.series-folder small{color:var(--muted);margin-top:5px}.series-back{display:flex;align-items:center;gap:14px;margin-bottom:15px}.series-back span{color:var(--muted)}
.row-actions{display:flex;flex-wrap:wrap;gap:6px}.row-actions .button{padding:7px 10px;font-size:12px}.form-grid .span-three{grid-column:1/-1}
.metric-grid{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1250px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sidebar{overflow:hidden}.sidebar nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:3px;scrollbar-width:thin;scrollbar-color:#294b66 transparent}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#294b66;border-radius:999px}.sidebar .brand,.sidebar .server-status{flex:0 0 auto}

/* O Blazor move o foco para o titulo depois da navegacao. Evita a borda
   nativa nesse foco programatico sem remover o foco de controles interativos. */
.page-heading h1:focus{outline:none}

/* Composicao comercial do catalogo por plano. */
.plan-list{display:grid;gap:10px}.plan-card{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#0a1a28}.plan-card.selected{border-color:var(--blue);box-shadow:0 0 0 2px #1684ff20}.plan-card strong,.plan-card small{display:block}.plan-card small{margin-top:5px;color:var(--muted)}
.plan-catalog{margin-top:18px}.content-kind-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:12px;margin:16px 0}.content-kind-card,.category-check{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#091a29;cursor:pointer}.content-kind-card:hover,.category-check:hover{border-color:#35668a}.content-kind-card.selected,.category-check.selected{border-color:var(--blue);background:#0c2944}.content-kind-card input,.category-check input{width:auto}.content-kind-card strong,.content-kind-card small,.category-check strong,.category-check small{display:block}.content-kind-card small,.category-check small{margin-top:4px;color:var(--muted);font-size:12px}.kind-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#123a5c;color:#69b3ff;font-size:20px}.catalog-toolbar{display:flex;gap:10px;margin:18px 0}.catalog-toolbar input{flex:1}.category-selection-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:9px;max-height:520px;overflow:auto;padding-right:5px}
.category-details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.category-details summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid var(--line);border-radius:9px;background:#0a1a28;color:#dce8f2;cursor:pointer}.category-details summary:hover{border-color:#35668a}.category-details summary strong,.category-details summary small{display:block}.category-details summary small,.category-details summary>span:last-child{margin-top:4px;color:var(--muted);font-size:12px}.category-details[open] summary{border-color:var(--blue)}
@media(max-width:1100px){.content-kind-grid,.category-selection-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.plan-card{grid-template-columns:1fr auto}.plan-card .row-actions{grid-column:1/-1}}@media(max-width:720px){.content-kind-grid,.category-selection-grid{grid-template-columns:1fr}.catalog-toolbar{flex-wrap:wrap}.plan-card{grid-template-columns:1fr}}
