/* =========================================================
   NEWMOVIES — ACCOUNT / AUTH
   ========================================================= */

html,
body.nm-auth-body{
    background:
        radial-gradient(circle at 82% 10%,rgba(137,15,34,.16),transparent 29%),
        linear-gradient(180deg,#05080d 0%,#05070b 50%,#040609 100%);
    background-attachment:fixed;
}

.nm-auth-main,
.nm-account-main{
    min-height:70vh;
}

.nm-auth-main{
    padding:58px 0 76px;
}

.nm-auth-shell{
    max-width:1180px;
}

.nm-auth-panel{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,480px);
    gap:54px;
    align-items:center;
}

.nm-auth-panel__copy{
    max-width:650px;
}

.nm-auth-panel__copy h1{
    margin:10px 0 0;
    max-width:620px;
    color:#f3f5f7;
    font-size:clamp(48px,6vw,78px);
    font-weight:760;
    line-height:.94;
    letter-spacing:-.06em;
}

.nm-auth-panel__copy>p{
    max-width:570px;
    margin:22px 0 0;
    color:#87929c;
    font-size:14px;
    line-height:1.75;
}

.nm-auth-benefits{
    margin-top:32px;
    border-top:1px solid rgba(255,255,255,.06);
}

.nm-auth-benefits>div{
    min-height:76px;
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    gap:14px;
    align-items:center;
    border-bottom:1px solid rgba(255,255,255,.055);
}

.nm-auth-benefits b{
    color:#e64553;
    font-size:10px;
    letter-spacing:.08em;
}

.nm-auth-benefits span,
.nm-auth-benefits strong,
.nm-auth-benefits small{
    display:block;
}

.nm-auth-benefits strong{
    color:#dce2e7;
    font-size:13px;
}

.nm-auth-benefits small{
    margin-top:4px;
    color:#66717a;
    font-size:10px;
    line-height:1.45;
}

.nm-auth-card,
.nm-account-card{
    border:1px solid rgba(255,255,255,.075);
    border-radius:18px;
    background:
        radial-gradient(circle at 100% 0%,rgba(213,46,63,.08),transparent 38%),
        linear-gradient(145deg,rgba(255,255,255,.023),rgba(255,255,255,.007)),
        #090d12;
    box-shadow:0 24px 64px rgba(0,0,0,.17);
}

.nm-auth-card{
    padding:28px;
}

.nm-auth-eyebrow{
    display:block;
    margin-bottom:8px;
    color:#e34452;
    font-size:9px;
    font-weight:950;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.nm-auth-card h2,
.nm-account-card h2{
    margin:0;
    color:#edf1f4;
    font-size:27px;
    line-height:1.05;
    letter-spacing:-.035em;
}

.nm-auth-card>p{
    margin:10px 0 0;
    color:#76818a;
    font-size:11px;
    line-height:1.6;
}

.nm-auth-alert,
.nm-auth-success{
    margin:17px 0 0;
    padding:12px 13px;
    border-radius:10px;
    font-size:11px;
    font-weight:750;
    line-height:1.55;
}

.nm-auth-alert{
    border:1px solid rgba(226,62,78,.24);
    background:rgba(226,62,78,.07);
    color:#f2a0a7;
}

.nm-auth-success{
    border:1px solid rgba(83,190,119,.23);
    background:rgba(83,190,119,.06);
    color:#8ed7a6;
}

.nm-auth-form{
    display:grid;
    gap:14px;
    margin-top:21px;
}

.nm-auth-two,
.nm-account-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.nm-auth-field{
    display:block;
    min-width:0;
}

.nm-auth-field>span{
    display:block;
    margin-bottom:7px;
    color:#b6bec5;
    font-size:11px;
    font-weight:850;
}

.nm-auth-field>span small{
    color:#65717b;
    font-size:9px;
    font-weight:700;
}

.nm-auth-field input,
.nm-auth-field select{
    width:100%;
    min-height:46px;
    box-sizing:border-box;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.095);
    border-radius:9px;
    outline:0;
    background:#070b10;
    color:#edf1f4;
    font:inherit;
    font-size:13px;
}

.nm-auth-field select{
    cursor:pointer;
}

.nm-auth-field input:focus,
.nm-auth-field select:focus{
    border-color:rgba(224,62,76,.54);
    box-shadow:0 0 0 3px rgba(224,62,76,.07);
}

.nm-auth-check{
    display:flex;
    align-items:center;
    gap:9px;
    color:#8a959e;
    font-size:11px;
    cursor:pointer;
}

.nm-auth-check input{
    accent-color:#dc3e4c;
}

.nm-auth-primary,
.nm-auth-secondary{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 16px;
    border-radius:9px;
    text-decoration:none;
    font:inherit;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
}

.nm-auth-primary{
    border:1px solid rgba(224,62,76,.7);
    background:linear-gradient(180deg,#d73e4d,#941827);
    color:#fff;
    box-shadow:0 10px 24px rgba(203,41,59,.13);
}

.nm-auth-primary:hover{
    background:linear-gradient(180deg,#e14755,#a51b2c);
}

.nm-auth-secondary{
    border:1px solid rgba(255,255,255,.09);
    background:rgba(255,255,255,.025);
    color:#cbd3d9;
}

.nm-auth-secondary:hover{
    border-color:rgba(224,62,76,.3);
    color:#fff;
}

.nm-auth-note,
.nm-auth-switch{
    margin-top:16px!important;
    color:#69747d!important;
    font-size:10px!important;
}

.nm-auth-switch a{
    color:#e2e7eb;
    font-weight:850;
}

.nm-auth-honeypot{
    position:absolute!important;
    left:-10000px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
}

/* Account */
.nm-account-main{
    padding:50px 0 80px;
}

.nm-account-shell{
    max-width:1180px;
}

.nm-account-message{
    margin:0 0 16px;
}

.nm-account-hero{
    display:grid;
    grid-template-columns:72px minmax(0,1fr) auto;
    gap:19px;
    align-items:center;
    margin-bottom:18px;
    padding:26px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:18px;
    background:
        radial-gradient(circle at 88% 0%,rgba(217,47,64,.12),transparent 34%),
        #090d12;
}

.nm-account-avatar{
    width:72px;
    height:72px;
    display:block;
    border-radius:50%;
    object-fit:cover;
    border:1px solid rgba(255,255,255,.10);
}

.nm-account-avatar--fallback{
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,#dc4351,#73101f);
    color:#fff;
    font-size:27px;
    font-weight:900;
}

.nm-account-hero__copy h1{
    margin:5px 0 0;
    color:#f2f4f6;
    font-size:34px;
    line-height:1;
    letter-spacing:-.045em;
}

.nm-account-hero__copy p{
    margin:8px 0 0;
    color:#7f8a94;
    font-size:11px;
}

.nm-account-hero__actions{
    display:flex;
    gap:8px;
}

.nm-account-hero__actions a{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:9px;
    background:rgba(255,255,255,.02);
    color:#c8d0d6;
    text-decoration:none;
    font-size:10px;
    font-weight:850;
}

.nm-account-hero__actions b{
    min-width:20px;
    height:20px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(221,59,74,.13);
    color:#ef6873;
    font-size:9px;
}

.nm-account-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:16px;
}

.nm-account-card{
    padding:22px;
}

.nm-account-card>p,
.nm-account-muted{
    margin:10px 0 0;
    color:#76818a;
    font-size:11px;
    line-height:1.65;
}

.nm-account-details{
    margin:17px 0 0;
}

.nm-account-details div{
    display:flex;
    justify-content:space-between;
    gap:18px;
    padding:10px 0;
    border-top:1px solid rgba(255,255,255,.055);
}

.nm-account-details dt{
    color:#69747d;
    font-size:10px;
}

.nm-account-details dd{
    margin:0;
    color:#d7dde2;
    font-size:10px;
    font-weight:800;
    text-align:right;
}

.nm-account-library h2{
    font-size:31px;
}

.nm-account-link-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px;
}

.nm-account-section{
    margin-top:16px;
}

.nm-account-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:22px;
    margin-bottom:22px;
}

.nm-account-section-head>p{
    max-width:470px;
    margin:0;
    color:#747f88;
    font-size:10px;
    line-height:1.6;
    text-align:right;
}

.nm-account-form-wide{
    grid-column:1/-1;
}

.nm-account-genres{
    margin-top:24px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.055);
}

.nm-account-genres h3{
    margin:0;
    color:#dce2e7;
    font-size:14px;
}

.nm-account-genres>p{
    margin:6px 0 13px;
    color:#6e7982;
    font-size:10px;
}

.nm-account-genre-grid{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.nm-account-genre{
    position:relative;
    cursor:pointer;
}

.nm-account-genre input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.nm-account-genre span{
    min-height:34px;
    display:inline-flex;
    align-items:center;
    padding:0 11px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:999px;
    background:rgba(255,255,255,.017);
    color:#8c979f;
    font-size:10px;
    font-weight:800;
}

.nm-account-genre input:checked+span{
    border-color:rgba(222,58,74,.48);
    background:rgba(222,58,74,.08);
    color:#fff;
}

.nm-account-save{
    margin-top:20px;
}

.nm-account-activity{
    margin-top:14px;
}

.nm-account-activity>div{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:10px 0;
    border-top:1px solid rgba(255,255,255,.055);
}

.nm-account-activity span,
.nm-account-activity strong,
.nm-account-activity small{
    display:block;
}

.nm-account-activity strong{
    color:#cdd5db;
    font-size:10px;
}

.nm-account-activity small{
    max-width:280px;
    margin-top:4px;
    overflow:hidden;
    color:#626e77;
    font-size:8px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.nm-account-activity time{
    color:#68737c;
    font-size:8px;
    white-space:nowrap;
}

.nm-account-danger{
    margin-top:16px;
    border-color:rgba(219,56,72,.14);
}

.nm-account-danger-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.nm-account-danger-grid form{
    padding:17px;
    border:1px solid rgba(255,255,255,.055);
    border-radius:12px;
    background:rgba(255,255,255,.012);
}

.nm-account-danger-grid h3{
    margin:0 0 14px;
    color:#d7dde2;
    font-size:13px;
}

.nm-account-danger-grid .nm-auth-field{
    margin-bottom:12px;
}

.nm-auth-danger{
    border-color:rgba(219,56,72,.28);
    color:#f08a94;
}

.nm-account-signout{
    display:flex;
    justify-content:flex-end;
    margin-top:16px;
}

@media(max-width:900px){
    .nm-auth-panel{grid-template-columns:1fr;gap:35px}
    .nm-account-grid{grid-template-columns:1fr}
}

@media(max-width:700px){
    .nm-auth-main{padding-top:42px}
    .nm-auth-panel__copy h1{font-size:clamp(42px,13vw,58px)}
    .nm-auth-card{padding:20px}
    .nm-auth-two,
    .nm-account-form-grid,
    .nm-account-danger-grid{grid-template-columns:1fr}
    .nm-account-form-wide{grid-column:auto}
    .nm-account-hero{grid-template-columns:56px minmax(0,1fr);padding:19px}
    .nm-account-avatar{width:56px;height:56px}
    .nm-account-hero__actions{grid-column:1/-1}
    .nm-account-section-head{align-items:flex-start;flex-direction:column;gap:8px}
    .nm-account-section-head>p{text-align:left}
}


/* Email/recovery additions v3 */
.nm-auth-panel--single{grid-template-columns:minmax(0,560px);justify-content:center}
.nm-auth-panel--single .nm-auth-card{width:100%}
.nm-auth-note a,.nm-auth-switch a{color:#f15a68;text-decoration:none;font-weight:800}
.nm-auth-note a:hover,.nm-auth-switch a:hover{text-decoration:underline}
.nm-account-email-action{margin-top:16px}
.nm-account-email-divider{height:1px;background:rgba(255,255,255,.08);margin:22px 0}
.nm-account-card h3{margin:0 0 12px;font-size:15px}

/* Device/session management v4 */
.nm-account-devices{margin-top:16px}
.nm-session-list{margin-top:4px;border-top:1px solid rgba(255,255,255,.055)}
.nm-session-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.055)}
.nm-session-row.is-current{background:linear-gradient(90deg,rgba(222,58,74,.045),transparent 55%)}
.nm-session-icon{width:22px;height:22px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:50%;color:#6d7881;font-size:7px}
.nm-session-row.is-current .nm-session-icon{border-color:rgba(222,58,74,.35);color:#ef6471;box-shadow:0 0 0 4px rgba(222,58,74,.045)}
.nm-session-copy{min-width:0}
.nm-session-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.nm-session-title strong{color:#dce2e7;font-size:11px}
.nm-session-copy small{display:block;margin-top:5px;color:#69747d;font-size:9px;line-height:1.5}
.nm-session-current{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border:1px solid rgba(222,58,74,.28);border-radius:999px;background:rgba(222,58,74,.07);color:#f07a85;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.nm-session-active{color:#7f8b94;font-size:9px;font-weight:800;white-space:nowrap}
.nm-session-signout{appearance:none;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:rgba(255,255,255,.025);color:#aeb7be;padding:8px 10px;font:800 9px/1 Arial,sans-serif;cursor:pointer}
.nm-session-signout:hover{border-color:rgba(222,58,74,.34);color:#f0808a}
.nm-session-controls{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.055)}
.nm-session-controls form{margin:0}
@media(max-width:700px){
    .nm-session-row{grid-template-columns:24px minmax(0,1fr)}
    .nm-session-action{grid-column:2}
    .nm-session-controls{justify-content:stretch}
    .nm-session-controls form,.nm-session-controls button{width:100%}
}

