
:root{
  --bg:#0f1221;
  --panel:#171a2b;
  --panel-2:#1d2238;
  --surface:#ffffff;
  --surface-2:#f7f8fc;
  --border:#e7eaf3;
  --text:#171b2e;
  --muted:#6b7285;
  --primary:#6d28d9;
  --primary-2:#8b5cf6;
  --primary-soft:rgba(109,40,217,.14);
  --success:#16a34a;
  --danger:#dc2626;
  --warning:#d97706;
  --radius:20px;
  --shadow:0 20px 60px rgba(18,23,38,.08);
  --sidebar-width:290px;
  --topbar-height:76px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.admin-body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:linear-gradient(180deg,#f6f7fb 0%, #eef1f8 100%);
  color:var(--text);
  min-height:100vh;
}
a{color:inherit}
img{max-width:100%;display:block}
.admin-topbar{
  position:sticky;top:0;z-index:1100;height:var(--topbar-height);
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 22px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(231,234,243,.9);
}
.admin-topbar-left,.admin-topbar-right{display:flex;align-items:center;gap:14px}
.admin-menu-toggle{
  width:46px;height:46px;border:none;border-radius:14px;background:var(--panel);
  color:#fff;font-size:22px;cursor:pointer;box-shadow:0 10px 30px rgba(17,24,39,.18)
}
.admin-brand-pill{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:0 18px;border-radius:999px;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;
  font-weight:800;letter-spacing:.3px;box-shadow:0 14px 34px rgba(109,40,217,.22)
}
.admin-topbar-right .admin-user-badge{
  display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;
  background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);font-size:14px;color:var(--muted)
}
.admin-user-badge strong{color:var(--text)}
.admin-sidebar{
  position:fixed;left:18px;top:calc(var(--topbar-height) + 18px);bottom:18px;width:var(--sidebar-width);
  background:linear-gradient(180deg,#15182a 0%, #101321 100%);
  color:#fff;border-radius:28px;overflow:auto;padding:18px 14px 20px;z-index:1200;
  box-shadow:0 30px 60px rgba(15,18,33,.34);transition:transform .28s ease, opacity .28s ease;
}
.admin-sidebar-header{padding:8px 10px 18px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:14px}
.admin-sidebar-title{font-size:18px;font-weight:800}
.admin-sidebar-subtitle{font-size:13px;color:rgba(255,255,255,.65);margin-top:4px}
.admin-nav{display:flex;flex-direction:column;gap:8px}
.admin-nav a,.admin-nav button.admin-nav-button{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  text-decoration:none;padding:14px 16px;border-radius:16px;border:none;cursor:pointer;
  background:transparent;color:rgba(255,255,255,.86);font-size:15px;font-weight:600;text-align:left
}
.admin-nav a span,.admin-nav button span{display:inline-flex;align-items:center;gap:10px}
.admin-nav a:hover,.admin-nav button.admin-nav-button:hover,.admin-nav a.active,.admin-nav button.active{
  background:rgba(255,255,255,.1);color:#fff
}
.admin-submenu{display:none;padding:4px 0 4px 12px}
.admin-submenu.is-open{display:block}
.admin-submenu a{font-size:14px;padding:12px 14px;color:rgba(255,255,255,.78)}
.admin-main{
  margin-left:calc(var(--sidebar-width) + 36px);
  padding:24px;
}
.admin-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 auto 22px;max-width:1280px}
.admin-page-title{font-size:clamp(1.55rem,2vw,2.15rem);font-weight:800;line-height:1.1;margin:0}
.admin-page-subtitle{margin-top:8px;color:var(--muted);font-size:15px}
.container,.content,.box,.login-card,.admin-card{
  background:var(--surface);border:1px solid rgba(231,234,243,.94);border-radius:24px;box-shadow:var(--shadow)
}
.container,.content{max-width:1280px;margin:0 auto;padding:26px}
.box{padding:24px;margin-bottom:20px}
.title-button,h2{
  margin-top:0;margin-bottom:18px;color:var(--text);font-size:clamp(1.2rem,1.8vw,1.6rem);font-weight:800
}
.title-button{display:flex;align-items:center;justify-content:center;min-height:58px;padding:14px 18px;border-radius:18px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 18px 40px rgba(109,40,217,.22)}
form{width:100%}
input[type="text"],input[type="password"],input[type="number"],input[type="url"],select,textarea{
  width:100%;padding:14px 15px;border-radius:16px;border:1px solid var(--border);background:#fff;
  font-size:15px;outline:none;transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
input:focus,select:focus,textarea:focus{border-color:rgba(109,40,217,.42);box-shadow:0 0 0 4px rgba(109,40,217,.12)}
textarea{min-height:120px;resize:vertical}
button, .btn, a.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 18px;
  border:none;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;
  font-weight:700;cursor:pointer;text-decoration:none;transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
  box-shadow:0 16px 30px rgba(109,40,217,.18)
}
button:hover,.btn:hover{transform:translateY(-1px)}
button.delete,.btn-danger,a.delete{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 16px 30px rgba(220,38,38,.2)}
button.secondary,.btn-secondary{background:#eef2ff;color:#4c1d95;box-shadow:none}
.message,.alert{
  padding:14px 16px;border-radius:16px;font-size:14px;margin-bottom:16px;border:1px solid transparent
}
.success{background:#e9f9ef;color:#166534;border-color:#b7ebc7}
.error{background:#fef0f0;color:#991b1b;border-color:#fecaca}
.warning{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.table-wrap{width:100%;overflow:auto;border-radius:20px;border:1px solid var(--border);background:#fff}
table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}
th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}
th{background:#f8faff;color:#49506a;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
tr:hover td{background:#fcfcff}
img.table-thumb{width:72px;height:98px;object-fit:cover;border-radius:14px;box-shadow:0 10px 25px rgba(15,18,33,.14)}
.actions{display:flex;flex-wrap:wrap;gap:8px}
.pagination,.paginacao{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.pagination a,.pagination span,.paginacao a,.paginacao span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border-radius:14px;border:1px solid var(--border);background:#fff;text-decoration:none;color:var(--text);font-weight:700}
.pagination .active,.paginacao .active{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border-color:transparent}
.cards-grid,.stats-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.stat-card{grid-column:span 4;background:linear-gradient(180deg,#fff 0%, #f8f7ff 100%);padding:22px;border-radius:24px;border:1px solid rgba(109,40,217,.12);box-shadow:var(--shadow)}
.stat-card small{display:block;font-size:13px;color:var(--muted);margin-bottom:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.stat-card strong{font-size:2rem;line-height:1;font-weight:900;color:var(--text)}
.list-clean{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.list-clean li{padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:#fbfcff}
.admin-footer{max-width:1280px;margin:24px auto 0;padding:0 4px 28px;color:var(--muted);font-size:14px;text-align:center}
.admin-overlay{display:none}
.admin-auth{
  min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#ede9fe 0,#f6f7fb 35%,#edf2f8 100%)
}
.auth-shell{width:min(100%,1020px);display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;border-radius:32px;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.8);backdrop-filter:blur(14px);box-shadow:0 30px 80px rgba(18,23,38,.12)}
.auth-hero{padding:42px;background:linear-gradient(160deg,#5b21b6 0%,#7c3aed 55%,#8b5cf6 100%);color:#fff;display:flex;flex-direction:column;justify-content:center}
.auth-hero h1{font-size:clamp(2rem,3vw,2.9rem);line-height:1.05;margin:0 0 16px;font-weight:900}
.auth-hero p{font-size:15px;line-height:1.7;color:rgba(255,255,255,.88);max-width:34ch}
.auth-points{display:grid;gap:12px;margin-top:28px}
.auth-point{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.1)}
.login-card{padding:40px 34px}
.login-card h2{margin-bottom:8px}
.login-card p{margin:0 0 22px;color:var(--muted)}
.password-container{position:relative}
.password-container input{padding-right:46px}
.toggle-password{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:#6b7285;box-shadow:none;min-height:auto;padding:0}
.remember{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);margin:14px 0 20px}
.remember input{width:auto;margin:0}
#flash-messages{max-width:1280px;margin:0 auto 16px;padding:0}
.page-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}
.page-toolbar form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.page-toolbar input[type="text"], .page-toolbar select{min-width:220px}
@media (max-width:1100px){
  .admin-sidebar{transform:translateX(-120%);left:16px}
  body.sidebar-open .admin-sidebar{transform:translateX(0)}
  .admin-overlay{position:fixed;inset:0;background:rgba(15,18,33,.42);backdrop-filter:blur(3px);z-index:1150}
  body.sidebar-open .admin-overlay{display:block}
  .admin-main{margin-left:0;padding:18px}
  .container,.content{padding:20px}
  .auth-shell{grid-template-columns:1fr}
}
@media (max-width:780px){
  .admin-topbar{padding:14px 16px}
  .admin-brand-pill{font-size:14px;padding:0 14px}
  .admin-topbar-right .admin-user-badge{display:none}
  .stats-grid,.cards-grid{grid-template-columns:1fr}
  .stat-card{grid-column:auto}
  .container,.content,.box,.login-card{border-radius:20px}
  table{min-width:620px}
}
@media (max-width:560px){
  .admin-main{padding:14px}
  .container,.content{padding:16px}
  .title-button,h2{font-size:1.08rem}
  .page-toolbar input[type="text"], .page-toolbar select{min-width:100%}
  .auth-hero,.login-card{padding:28px 22px}
}


.channels-toolbar{align-items:center}
.channels-subtitle{margin:8px 0 0;color:var(--muted);font-size:15px}
.channels-toolbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.channels-counter{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border-radius:999px;background:#f4f1ff;color:#5b21b6;font-weight:800;border:1px solid rgba(109,40,217,.14)}
.channels-bulkbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;margin:20px 0;border:1px solid var(--border);border-radius:18px;background:#fbfcff}
.select-all-toggle,.channel-check{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-weight:600}
.select-all-toggle input,.channel-check input{width:18px;height:18px;accent-color:var(--primary)}
.channels-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.channel-card{display:grid;grid-template-columns:170px minmax(0,1fr);background:#fff;border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.channel-card-cover{position:relative;min-height:100%;background:linear-gradient(160deg,#1a1f34 0%,#312e81 100%)}
.channel-card-cover img{width:100%;height:100%;object-fit:cover}
.channel-card-placeholder{height:100%;min-height:220px;display:grid;place-items:center;font-size:52px;color:#fff}
.channel-card-body{padding:20px;display:flex;flex-direction:column;gap:16px}
.channel-card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.channel-card-top h3{margin:0 0 10px;font-size:1.25rem;line-height:1.2}
.channel-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:var(--primary-soft);color:#5b21b6;font-weight:800;font-size:13px}
.channel-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.channel-meta-box{padding:14px;border-radius:18px;background:#f8faff;border:1px solid var(--border)}
.channel-meta-box small{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.channel-meta-box strong{font-size:1rem;color:var(--text)}
.embed-copy-box{padding:14px 16px;border-radius:18px;background:#12172a;color:#fff;display:grid;gap:10px}
.embed-copy-box span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.68);font-weight:700}
.embed-copy-box code{display:block;white-space:nowrap;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;color:#c4b5fd}
.channel-actions{display:flex;flex-wrap:wrap;gap:10px}
.channel-actions .btn,.channel-actions .btn-danger{flex:1 1 180px}
.empty-state{padding:38px 24px;border:1px dashed rgba(109,40,217,.25);border-radius:24px;background:linear-gradient(180deg,#fcfbff 0%,#f6f8ff 100%);text-align:center}
.empty-state-icon{font-size:54px;margin-bottom:12px}
.empty-state h3{margin:0 0 8px;font-size:1.35rem}
.empty-state p{margin:0 0 18px;color:var(--muted)}
.copy-feedback{position:fixed;right:20px;bottom:20px;z-index:1400;padding:14px 16px;border-radius:16px;background:#111827;color:#fff;box-shadow:0 22px 44px rgba(17,24,39,.25);font-weight:700;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .2s ease, transform .2s ease}
.copy-feedback.is-visible{opacity:1;transform:translateY(0)}
@media (max-width:980px){.channels-grid{grid-template-columns:1fr}.channel-card{grid-template-columns:1fr}.channel-card-cover{min-height:220px}}
@media (max-width:560px){.channels-bulkbar{align-items:stretch}.channels-toolbar-actions,.channel-actions{flex-direction:column}.channels-counter,.channel-actions .btn,.channel-actions .btn-danger{width:100%}.channel-card-body{padding:16px}.channel-card-top{flex-direction:column}.channel-meta-grid{grid-template-columns:1fr}}

/* Ajustes adicionados: links dinâmicos e página de canais mais compacta/responsiva */
.link-field,.link-group{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.link-field input,.link-group input{flex:1;min-width:0}
.add-link-btn,.add-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:8px 0 18px;min-height:42px;padding:10px 14px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 12px 24px rgba(109,40,217,.16)}
.remove-link-btn{flex:0 0 38px;width:38px;min-height:38px;padding:0;border-radius:12px;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:none;font-size:15px}
.channels-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.channel-card{grid-template-columns:145px minmax(0,1fr)}
.channel-card-cover{min-height:210px}
.channel-card-body{gap:12px;padding:16px}
.channel-card-top h3{font-size:1.08rem;margin-bottom:8px;word-break:break-word}
.channel-badge{padding:6px 10px;font-size:12px}
.channel-meta-box{padding:11px 12px;border-radius:14px}
.embed-copy-box{padding:11px 12px;border-radius:14px}
.embed-copy-box code{font-size:12px;max-width:100%}
.channel-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.channel-actions .btn,.channel-actions .btn-danger{flex:unset;min-height:38px;padding:8px 9px;border-radius:11px;font-size:12px;line-height:1.1;white-space:nowrap;box-shadow:0 10px 18px rgba(109,40,217,.12)}
.channel-actions .btn-danger{box-shadow:0 10px 18px rgba(220,38,38,.14)}
.channels-bulkbar .btn-danger,.channels-toolbar-actions .btn{min-height:40px;padding:9px 13px;border-radius:12px;font-size:13px}
.channels-counter{min-height:40px;padding:0 13px;font-size:13px}
@media (max-width:1180px){.channel-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.channel-actions .btn,.channel-actions .btn-danger{white-space:normal}}
@media (max-width:720px){.channels-grid{grid-template-columns:1fr}.channel-card{grid-template-columns:1fr}.channel-card-cover{min-height:180px}.channels-toolbar-actions{width:100%}.channels-toolbar-actions .btn,.channels-counter{width:100%}.channels-bulkbar{align-items:stretch}.channels-bulkbar .btn-danger{width:100%}.channel-check{padding:8px 10px;border-radius:12px;background:#f8faff;border:1px solid var(--border)}}
@media (max-width:560px){.link-field,.link-group{align-items:stretch}.remove-link-btn{width:42px;flex-basis:42px}.channel-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.channel-actions .btn,.channel-actions .btn-danger{width:auto;font-size:11.5px;padding:8px 6px;min-height:36px}.embed-copy-box code{white-space:normal;overflow-wrap:anywhere}.channel-card-top{gap:10px}.channel-card-top,.channels-toolbar-actions{flex-direction:column}.channels-subtitle{font-size:13px}}
@media (max-width:380px){.channel-actions{grid-template-columns:1fr}.channel-actions .btn,.channel-actions .btn-danger{width:100%}}
.btn-danger,a.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;color:#fff;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease}
.btn-danger:hover,a.btn-danger:hover{transform:translateY(-1px)}
