:root{
    --bg:#050505;
    --panel:#0d0d0f;
    --panel-2:#151519;
    --card:#1a1a20;
    --accent:#e50914;
    --accent-2:#ff3b30;
    --blue:#2f7cf6;
    --blue-2:#1847d1;
    --text:#ffffff;
    --muted:#b5b8c3;
    --line:#282830;
    --success:#1db954;
    --warning:#ffb020;
    --shadow:0 22px 60px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
    font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    background:
      radial-gradient(circle at top right, rgba(229,9,20,.12), transparent 26%),
      radial-gradient(circle at top left, rgba(47,124,246,.14), transparent 22%),
      linear-gradient(180deg,#030303,#09090b 30%,#040404 100%);
    color:var(--text);
    min-height:100vh;
}
a{text-decoration:none;color:inherit}
img{max-width:100%}
.container{width:min(1180px, calc(100% - 32px));margin:0 auto}
.topbar{
    position:sticky;top:0;z-index:30;
    backdrop-filter: blur(14px);
    background:rgba(3,3,3,.78);
    border-bottom:1px solid rgba(255,255,255,.06);
}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{
    width:44px;height:44px;border-radius:14px;
    background:#FFFFFF;
    box-shadow:0 10px 30px rgba(229,9,20,.35);
    display:grid;place-items:center;font-weight:900;font-size:1.1rem;
}
.brand-text strong{display:block;font-size:1rem;letter-spacing:.06em}
.brand-text span{display:block;color:var(--muted);font-size:.82rem}
.nav-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn,.btn-inline{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    padding:13px 18px;border-radius:14px;border:1px solid transparent;
    color:#fff;font-weight:700;cursor:pointer;transition:.24s ease;
}
.btn{width:100%}
.btn:hover,.btn-inline:hover{transform:translateY(-2px)}
.btn-primary,.btn-primary.btn-inline{background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 14px 35px rgba(229,9,20,.28)}
.btn-blue,.btn-blue.btn-inline{background:linear-gradient(135deg,var(--blue),var(--blue-2));box-shadow:0 14px 35px rgba(47,124,246,.28)}
.btn-ghost,.btn-ghost.btn-inline{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.1)}
.btn-danger,.btn-danger.btn-inline{background:linear-gradient(135deg,#8f1017,#d71920)}
.page-wrap{padding:40px 0 70px}
.hero{
    display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;
    padding:32px 0 28px;
}
.hero-copy h1{font-size:clamp(2rem,4vw,3.6rem);margin:0 0 10px;line-height:1.02}
.hero-copy p{max-width:700px;color:var(--muted);font-size:1.03rem;line-height:1.6;margin:0}
.hero-card,.panel,.form-card,.metric,.lesson-card,.login-card,.table-card{
    background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
    border:1px solid rgba(255,255,255,.08);
    box-shadow:var(--shadow);
}
.hero-card{padding:22px;border-radius:28px;min-height:270px;display:flex;flex-direction:column;justify-content:flex-end;
    background:
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.7)),
    radial-gradient(circle at top right, rgba(47,124,246,.34), transparent 30%),
    radial-gradient(circle at top left, rgba(229,9,20,.3), transparent 28%),
    linear-gradient(135deg,#141414,#090909);
}
.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:.85rem;font-weight:700}
.login-shell{min-height:calc(100vh - 73px);display:grid;place-items:center;padding:34px 0}
.login-card{width:min(440px,100%);padding:28px;border-radius:28px}
.login-card h1{font-size:2rem;margin:0 0 8px;text-align:center}
.login-card p{color:var(--muted);text-align:center;margin:0 0 24px;line-height:1.5}
.field{margin-bottom:16px}
.field label{display:block;font-size:.9rem;color:var(--muted);margin:0 0 8px;font-weight:600}
.field input{
    width:100%;padding:15px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);
    background:#17171c;color:#fff;outline:none;font-size:1rem;
}
.field input:focus{border-color:rgba(47,124,246,.7);box-shadow:0 0 0 4px rgba(47,124,246,.16)}
.message{padding:14px 16px;border-radius:16px;margin-bottom:18px;font-weight:600}
.message.error{background:rgba(229,9,20,.12);border:1px solid rgba(229,9,20,.34);color:#ffd5d8}
.message.success{background:rgba(29,185,84,.12);border:1px solid rgba(29,185,84,.3);color:#d5ffe5}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form-card,.table-card,.panel{padding:24px;border-radius:26px}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.section-title h2{margin:0;font-size:1.45rem}
.section-title p{margin:6px 0 0;color:var(--muted)}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px}
.metric{padding:20px;border-radius:24px}
.metric span{display:block;color:var(--muted);font-size:.9rem;margin-bottom:8px}
.metric strong{font-size:2rem;display:block}
.metric small{display:block;color:#d0d4de;margin-top:10px}
.inline-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}
.inline-form .btn-inline{padding:15px 18px;border-radius:16px}
.table-wrap{overflow:auto;border-radius:20px;border:1px solid rgba(255,255,255,.08)}
table{width:100%;border-collapse:collapse;background:rgba(0,0,0,.16)}
th,td{padding:15px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top}
th{font-size:.88rem;color:#d2d5dd;background:rgba(255,255,255,.03)}
td{color:#fff}
.badge{display:inline-block;padding:7px 10px;border-radius:999px;background:rgba(47,124,246,.16);border:1px solid rgba(47,124,246,.28);color:#dce8ff;font-size:.78rem;font-weight:700}
.table-actions{display:flex;gap:8px;flex-wrap:wrap}
.action-form{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.action-form input{width:165px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#17171c;color:#fff}
.muted{color:var(--muted)}
.footer{margin-top:48px;padding:28px 0 46px;border-top:1px solid rgba(255,255,255,.06);color:#8d92a3}
.player-wrap{border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}
.player-wrap iframe{width:100%;height:560px;border:none;background:#000}
.lessons{margin-top:26px}
.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lesson-card{position:relative;border-radius:24px;overflow:hidden;min-height:190px;padding:18px;display:flex;align-items:flex-end;background:
 linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.82)),
 radial-gradient(circle at top right, rgba(229,9,20,.25), transparent 25%),
 radial-gradient(circle at top left, rgba(47,124,246,.22), transparent 25%),
 linear-gradient(135deg,#24242a,#0e0e12)}
.lesson-card:hover{transform:translateY(-4px);transition:.22s ease}
.lesson-card h3{margin:0 0 8px;font-size:1.1rem}
.lesson-card p{margin:0;color:#d1d5df;line-height:1.45;font-size:.94rem}
.info-note{margin-top:18px;padding:16px 18px;border-radius:18px;background:rgba(47,124,246,.09);border:1px solid rgba(47,124,246,.22);color:#dce7ff}
.center{text-align:center}
@media (max-width: 980px){
  .hero,.grid-2,.metrics,.lesson-grid{grid-template-columns:1fr}
  .inline-form{grid-template-columns:1fr}
  .player-wrap iframe{height:380px}
}
@media (max-width: 640px){
  .container{width:min(100% - 20px, 1180px)}
  .topbar-inner{padding:12px 0}
  .brand-text strong{font-size:.92rem}
  .brand-mark{width:40px;height:40px;border-radius:12px}
  .login-card,.form-card,.table-card,.panel{padding:20px}
  .hero-copy h1{font-size:1.85rem}
  th,td{padding:12px 10px}
  .action-form input{width:100%}
}


/* ===== PLAY PAGE NETFLIX ===== */
.netflix-play-page{
    background:#050505;
    color:#fff;
}
.netflix-topbar{
    background:linear-gradient(180deg, rgba(0,0,0,.92), rgba(0,0,0,.55));
    border-bottom:1px solid rgba(255,255,255,.08);
}
.netflix-wrap{padding-top:18px}
.netflix-hero{
    position:relative;
    min-height:440px;
    border-radius:30px;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    padding:34px;
    margin-bottom:28px;
    background:
      linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.58) 45%, rgba(0,0,0,.28) 100%),
      linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.72)),
      var(--hero-cover) center/cover no-repeat;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 22px 70px rgba(0,0,0,.5);
}
.netflix-hero__overlay{
    position:absolute; inset:0;
    background:radial-gradient(circle at top right, rgba(229,9,20,.22), transparent 28%);
    pointer-events:none;
}
.netflix-hero__content{position:relative;z-index:2;max-width:760px}
.netflix-hero__content h1{
    margin:14px 0 12px;
    font-size:clamp(2.2rem,4vw,4rem);
    line-height:1.02;
}
.netflix-hero__content p{
    margin:0;
    color:#e4e7ee;
    font-size:1.02rem;
    line-height:1.65;
    max-width:660px;
}
.netflix-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.section-title--light h2{color:#fff}
.section-title--light p{color:#b8becc}
.player-section{margin-bottom:22px}
.netflix-player-wrap{
    border-radius:24px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 20px 50px rgba(0,0,0,.4);
    background:#000;
}
.lesson-grid--netflix{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}
.lesson-card--netflix{
    display:block;
    min-height:auto;
    padding:0;
    border-radius:22px;
    overflow:hidden;
    background:#111318;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 14px 34px rgba(0,0,0,.28);
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.lesson-card--netflix:hover{
    transform:translateY(-6px) scale(1.01);
    box-shadow:0 22px 40px rgba(0,0,0,.38);
    border-color:rgba(255,255,255,.16);
}
.lesson-card--netflix.is-active{
    border-color:rgba(229,9,20,.65);
    box-shadow:0 0 0 1px rgba(229,9,20,.24), 0 22px 40px rgba(0,0,0,.42);
}
.lesson-card__poster{
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#090909;
}
.lesson-card__poster img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .35s ease, filter .35s ease;
}
.lesson-card--netflix:hover .lesson-card__poster img{
    transform:scale(1.06);
    filter:brightness(1.05);
}
.lesson-card__poster::after{
    content:'';
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.26));
}
.lesson-card__play{
    position:absolute;
    left:16px;
    bottom:16px;
    z-index:2;
    width:52px;
    height:52px;
    border-radius:50%;
    background:rgba(229,9,20,.92);
    display:grid;
    place-items:center;
    font-size:1.1rem;
    font-weight:800;
    box-shadow:0 10px 26px rgba(229,9,20,.32);
}
.lesson-card__body{padding:18px 18px 20px}
.lesson-card__tag{
    display:inline-flex;
    font-size:.78rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#ffb8bc;
    margin-bottom:10px;
}
.lesson-card__body h3{
    margin:0 0 10px;
    font-size:1.16rem;
    line-height:1.25;
}
.lesson-card__body p{
    margin:0;
    color:#b8becc;
    line-height:1.55;
    font-size:.95rem;
}
.footer--light{color:#a3aaba}
@media (max-width:980px){
  .netflix-hero{min-height:360px;padding:24px}
  .lesson-grid--netflix{grid-template-columns:1fr}
}
@media (max-width:640px){
  .netflix-hero{min-height:320px;border-radius:24px;padding:20px}
  .netflix-hero__content h1{font-size:2rem}
  .netflix-hero__actions{gap:10px}
}


/* ===== PLAY PAGE CARDS VERTICAIS ===== */
.lesson-grid--netflix{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:26px;
    align-items:start;
}
.lesson-card--vertical{
    background:#090909;
    border-radius:20px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.07);
    box-shadow:0 16px 36px rgba(0,0,0,.34);
}
.lesson-card__poster--vertical{
    aspect-ratio:16/10;
    background:#000;
    border-bottom:1px solid rgba(255,255,255,.05);
}
.lesson-card__poster--vertical img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.lesson-card__body--compact{
    padding:16px 18px 18px;
    background:#060606;
}
.lesson-card__body--compact h3{
    margin:0;
    font-size:1.1rem;
    font-weight:700;
    color:#fff;
}
.lesson-card--vertical .lesson-card__tag,
.lesson-card--vertical .lesson-card__play,
.lesson-card--vertical .lesson-card__body p,
.lesson-card--vertical .lesson-card__poster::after{
    display:none;
}
.lesson-card--vertical:hover{
    transform:translateY(-6px) scale(1.015);
    box-shadow:0 24px 46px rgba(0,0,0,.42);
    border-color:rgba(229,9,20,.28);
}
.lesson-card--vertical.is-active{
    border-color:rgba(229,9,20,.58);
    box-shadow:0 0 0 1px rgba(229,9,20,.16), 0 24px 46px rgba(0,0,0,.46);
}
