:root{
  --bg:#070a13;--bg2:#0b1020;--panel:rgba(18,24,43,.82);--panel2:rgba(255,255,255,.065);
  --line:rgba(255,255,255,.11);--text:#f5f7fb;--muted:#95a0b7;--brand:#e50914;--brand2:#ffb703;
  --ok:#22c55e;--bad:#ef4444;--warn:#f59e0b;--blue:#38bdf8;--shadow:0 24px 70px rgba(0,0,0,.45);
  --radius:22px;--radius2:16px;--trans:220ms cubic-bezier(.2,.8,.2,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at top left,rgba(229,9,20,.28),transparent 28%),radial-gradient(circle at top right,rgba(56,189,248,.15),transparent 30%),linear-gradient(135deg,var(--bg),var(--bg2));color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}body:before{content:"";position:fixed;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 85%);pointer-events:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:292px;position:fixed;inset:16px auto 16px 16px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,rgba(12,16,31,.94),rgba(10,13,24,.82));backdrop-filter:blur(18px);box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;z-index:30;transition:transform var(--trans)}.brand{display:flex;align-items:center;gap:13px;padding:8px 8px 18px;border-bottom:1px solid var(--line);margin-bottom:12px}.brand-logo{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--brand),#8b0007 55%,#111827);display:grid;place-items:center;font-weight:900;letter-spacing:-1px;box-shadow:0 14px 35px rgba(229,9,20,.35)}.brand strong{display:block;font-size:18px}.brand span{display:block;color:var(--muted);font-size:12px}.nav-menu{display:flex;flex-direction:column;gap:6px;overflow:auto;padding-right:2px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:16px;color:#cbd5e1;transition:background var(--trans),transform var(--trans),color var(--trans);position:relative}.nav-link:hover{background:var(--panel2);transform:translateX(3px);color:#fff}.nav-link.active{background:linear-gradient(135deg,rgba(229,9,20,.28),rgba(255,183,3,.11));color:#fff;border:1px solid rgba(229,9,20,.38)}.nav-link.logout{margin-top:auto;color:#fecaca}.nav-icon svg{width:20px;height:20px;fill:currentColor;display:block}.main{margin-left:324px;min-height:100vh;width:calc(100% - 324px);padding:22px 22px 34px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--brand2);font-weight:800;margin:0 0 4px}.topbar h1{font-size:clamp(24px,4vw,38px);line-height:1.05;margin:0;letter-spacing:-.04em}.menu-toggle{display:none;border:1px solid var(--line);background:var(--panel);color:#fff;border-radius:14px;padding:10px 13px}.admin-pill{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:rgba(255,255,255,.055);padding:10px 13px;border-radius:18px;min-width:188px}.admin-pill strong{display:block;font-size:13px}.admin-pill small{color:var(--muted);font-size:11px}.pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(34,197,94,.7);animation:pulse 1.8s infinite}.content{position:relative}.fade-in{animation:fadeUp .42s ease both}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(18,24,43,.86),rgba(13,18,34,.76));border-radius:var(--radius);box-shadow:0 18px 50px rgba(0,0,0,.23);padding:18px;margin-bottom:16px;backdrop-filter:blur(14px);transition:transform var(--trans),border-color var(--trans)}.card:hover{border-color:rgba(255,255,255,.2)}.metric{position:relative;overflow:hidden}.metric:after{content:"";position:absolute;right:-36px;top:-48px;width:130px;height:130px;border-radius:50%;background:rgba(229,9,20,.17)}.metric .value{font-size:34px;font-weight:900;letter-spacing:-.04em;margin:9px 0 0}.metric .label{color:var(--muted);font-size:13px}.metric .icon-bubble{width:44px;height:44px;border-radius:15px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:var(--brand2)}.card-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.card-header h2{font-size:18px;margin:0;letter-spacing:-.02em}.card-header p{margin:5px 0 0;color:var(--muted);font-size:13px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:13px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px;vertical-align:middle}th{color:#aab5cc;font-size:11px;text-transform:uppercase;letter-spacing:.12em;background:rgba(255,255,255,.045)}tr:hover td{background:rgba(255,255,255,.032)}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;border:1px solid transparent;white-space:nowrap}.badge-success{background:rgba(34,197,94,.13);color:#86efac;border-color:rgba(34,197,94,.25)}.badge-danger{background:rgba(239,68,68,.14);color:#fecaca;border-color:rgba(239,68,68,.26)}.badge-warning{background:rgba(245,158,11,.14);color:#fde68a;border-color:rgba(245,158,11,.26)}.badge-info{background:rgba(56,189,248,.13);color:#bae6fd;border-color:rgba(56,189,248,.25)}.badge-muted{background:rgba(148,163,184,.13);color:#cbd5e1;border-color:rgba(148,163,184,.2)}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(12,1fr)}.field{display:flex;flex-direction:column;gap:7px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}label{color:#cbd5e1;font-size:12px;font-weight:800}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:rgba(7,10,19,.74);color:#fff;padding:12px 13px;outline:none;transition:border-color var(--trans),box-shadow var(--trans),background var(--trans)}input:focus,select:focus,textarea:focus{border-color:rgba(229,9,20,.6);box-shadow:0 0 0 4px rgba(229,9,20,.12);background:rgba(10,15,28,.92)}textarea{min-height:92px;resize:vertical}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn{border:0;border-radius:14px;padding:11px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;cursor:pointer;transition:transform var(--trans),filter var(--trans),background var(--trans);white-space:nowrap}.btn:hover{transform:translateY(-1px);filter:brightness(1.08)}.btn-primary{background:linear-gradient(135deg,var(--brand),#9b0007);color:#fff;box-shadow:0 14px 28px rgba(229,9,20,.22)}.btn-soft{background:rgba(255,255,255,.08);color:#fff;border:1px solid var(--line)}.btn-warning{background:rgba(245,158,11,.15);color:#fde68a;border:1px solid rgba(245,158,11,.28)}.btn-danger{background:rgba(239,68,68,.16);color:#fecaca;border:1px solid rgba(239,68,68,.28)}.btn-sm{padding:8px 10px;border-radius:12px;font-size:12px}.alert{border-radius:16px;padding:13px 15px;margin-bottom:14px;border:1px solid var(--line);animation:fadeUp .28s ease}.alert-success{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.26);color:#bbf7d0}.alert-danger{background:rgba(239,68,68,.13);border-color:rgba(239,68,68,.28);color:#fecaca}.alert-warning{background:rgba(245,158,11,.13);border-color:rgba(245,158,11,.28);color:#fde68a}.login-page{display:grid;place-items:center;min-height:100vh;padding:20px}.login-card{width:min(460px,100%);border:1px solid var(--line);border-radius:30px;background:linear-gradient(180deg,rgba(18,24,43,.92),rgba(8,11,21,.84));box-shadow:var(--shadow);padding:28px;backdrop-filter:blur(18px);animation:zoomIn .42s ease}.login-hero{display:flex;align-items:center;gap:14px;margin-bottom:20px}.login-hero .brand-logo{width:58px;height:58px;border-radius:20px}.login-title{font-size:26px;line-height:1.05;margin:0}.login-sub{margin:8px 0 0;color:var(--muted);font-size:14px}.searchbar{display:flex;gap:10px;align-items:center;margin-bottom:14px}.searchbar input{max-width:420px}.empty{padding:24px;text-align:center;color:var(--muted)}.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:rgba(255,255,255,.07);border:1px solid var(--line);padding:3px 7px;border-radius:8px}.progress{height:10px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand2));border-radius:inherit;transition:width .4s ease}.mobile-card-list{display:none}.footer-note{color:var(--muted);font-size:12px;margin-top:10px}.danger-zone{border-color:rgba(239,68,68,.3);background:linear-gradient(180deg,rgba(80,20,25,.55),rgba(20,10,15,.55))}@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(34,197,94,0)}}@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{transform:translateX(-115%)}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%;padding:16px}.menu-toggle{display:inline-flex}.topbar{align-items:flex-start}.admin-pill{display:none}}@media(max-width:760px){.topbar{gap:10px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.card{border-radius:20px;padding:15px}.form-grid{grid-template-columns:1fr}.span-2,.span-3,.span-4,.span-5,.span-6,.span-8,.span-12{grid-column:span 1}.searchbar{flex-direction:column;align-items:stretch}.table-wrap{border:0;overflow:visible}table.responsive{display:none}.mobile-card-list{display:grid;gap:12px}.mobile-row{border:1px solid var(--line);background:rgba(255,255,255,.055);border-radius:18px;padding:14px}.mobile-row strong{display:block;margin-bottom:5px}.mobile-row p{margin:2px 0;color:var(--muted);font-size:13px}.mobile-row .actions{margin-top:10px}.sidebar{inset:10px auto 10px 10px;width:min(320px,calc(100% - 20px));border-radius:24px}.login-card{padding:22px;border-radius:24px}}

/* v1.1 Parser IPTV/TMDB */
.sync-actions{gap:10px;flex-wrap:wrap}.sync-actions .btn{min-height:42px}.field small{display:block;margin-top:6px;color:var(--muted);font-size:.78rem}.code{max-width:100%;word-break:break-all}.badge-info{text-transform:capitalize}
