:root{--bg:#06101d;--surface:#0b1727;--surface2:#101f32;--line:#1b3048;--text:#f5f8fc;--muted:#8fa3b8;--accent:#2f8cff;--accent2:#68b5ff;--danger:#ff7a8a;--radius:22px;--shadow:0 28px 80px rgba(0,0,0,.35);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}.brand{display:inline-flex;align-items:center;gap:11px;font-size:19px;font-weight:800;letter-spacing:-.03em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--accent),#78c4ff);box-shadow:0 10px 30px rgba(47,140,255,.3);color:white}.button{border:1px solid var(--line);border-radius:12px;padding:11px 17px;background:transparent;color:var(--text);font-weight:700;cursor:pointer}.button.primary{background:linear-gradient(135deg,var(--accent),#1774e8);border-color:transparent;box-shadow:0 12px 30px rgba(47,140,255,.2)}.button.ghost{background:rgba(255,255,255,.025)}.button.large{padding:14px 21px}.button.full{width:100%;padding:14px}.button:disabled{opacity:.55;cursor:not-allowed}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent2);font-weight:800}.landing{background:radial-gradient(circle at 75% 15%,rgba(47,140,255,.18),transparent 28%),var(--bg)}.landing-shell{max-width:1240px;margin:auto;padding:28px 34px}.topbar{display:flex;justify-content:space-between;align-items:center}.top-actions,.hero-actions{display:flex;gap:10px}.hero{min-height:calc(100vh - 100px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;padding:70px 0}.hero h1{font-size:clamp(48px,6vw,82px);line-height:.96;letter-spacing:-.065em;margin:18px 0 24px;max-width:780px}.hero h1 span{color:#78bfff}.hero p{color:var(--muted);font-size:18px;line-height:1.7;max-width:620px}.hero-actions{margin-top:34px}.hero-card{position:relative;min-height:500px;display:grid;place-items:center}.orb{position:absolute;width:330px;height:330px;border-radius:50%;background:var(--accent);filter:blur(90px);opacity:.2}.mock-window{position:relative;width:100%;max-width:560px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(10,24,40,.82);box-shadow:var(--shadow);overflow:hidden;transform:perspective(900px) rotateY(-5deg) rotateX(3deg)}.mock-head{height:48px;border-bottom:1px solid var(--line);display:flex;gap:7px;align-items:center;padding:0 18px}.mock-head span{width:8px;height:8px;border-radius:50%;background:#34506b}.mock-body{height:350px;display:grid;grid-template-columns:90px 1fr}.mock-sidebar{border-right:1px solid var(--line);background:#081321}.mock-content{padding:38px}.mock-title,.mock-line,.mock-grid i{display:block;background:#1b3450;border-radius:9px}.mock-title{width:48%;height:18px;margin-bottom:34px}.mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mock-grid i{height:90px}.mock-line{height:12px;margin-top:32px;width:100%}.mock-line.short{width:62%;margin-top:12px}.auth-page{background:radial-gradient(circle at 15% 25%,rgba(47,140,255,.15),transparent 25%),var(--bg)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-brand{padding:54px clamp(40px,7vw,110px);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line)}.auth-brand h1{font-size:clamp(40px,5vw,68px);letter-spacing:-.055em;line-height:1.02;max-width:650px;margin:18px 0}.auth-brand p,.auth-brand small{color:var(--muted);line-height:1.7}.auth-panel{display:grid;place-items:center;padding:34px}.auth-card{width:min(440px,100%);display:grid;gap:20px;padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(11,23,39,.86);box-shadow:var(--shadow)}.auth-card h2{font-size:32px;letter-spacing:-.04em;margin:8px 0}.auth-card p{color:var(--muted);margin:0}.auth-card label{display:grid;gap:8px;font-size:13px;font-weight:700}.auth-card input{width:100%;border:1px solid var(--line);border-radius:12px;background:#071321;color:var(--text);padding:14px;outline:none}.auth-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,140,255,.12)}.form-message{min-height:18px;color:#ff9aa7;font-size:13px}.auth-switch{text-align:center!important;font-size:13px}.auth-switch a{color:var(--accent2);font-weight:700}.app-layout{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:28px 20px;border-right:1px solid var(--line);background:#07121f;display:flex;flex-direction:column}.nav{display:grid;gap:7px;margin-top:42px}.nav a,.nav button{border:0;text-align:left;border-radius:11px;padding:12px 13px;background:transparent;color:var(--muted);display:flex;gap:12px;align-items:center}.nav .active{background:#10243b;color:#fff}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;display:grid;gap:12px}.phase{font-size:11px;color:var(--muted)}.logout{border:0;background:transparent;color:#c2d0de;text-align:left;padding:0;cursor:pointer}.dashboard{padding:42px clamp(28px,5vw,72px);max-width:1500px;width:100%;margin:auto}.dashboard-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.dashboard-head h1{font-size:42px;letter-spacing:-.045em;margin:7px 0}.dashboard-head p{color:var(--muted);margin:0}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:36px 0}.metric,.panel{border:1px solid var(--line);background:linear-gradient(145deg,#0b1828,#091522);border-radius:18px}.metric{padding:22px;display:grid;gap:8px}.metric span{font-size:12px;color:var(--muted)}.metric strong{font-size:34px;letter-spacing:-.04em}.metric small{color:#61788e}.dashboard-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:16px}.panel{padding:25px;min-height:330px}.panel.compact{min-height:auto}.panel-head h2{margin:6px 0;font-size:21px}.empty-state{min-height:235px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted)}.empty-state h3{color:var(--text);margin:12px 0 5px}.empty-state p{max-width:420px;line-height:1.5}.empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#102a47;color:var(--accent2)}.flow{list-style:none;padding:10px 0;margin:20px 0;display:grid;gap:13px}.flow li{display:flex;align-items:center;gap:12px;color:var(--muted)}.flow b{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;font-size:11px}.flow .done{color:#fff}.flow .done b{background:var(--accent);border-color:var(--accent)}.muted{color:var(--muted);font-size:13px;line-height:1.6}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-card{display:none}.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.app-layout{grid-template-columns:74px 1fr}.sidebar{padding:24px 12px}.sidebar .brand>span:last-child,.nav span,.phase{display:none}.nav a,.nav button{justify-content:center}.metric-grid,.dashboard-grid{grid-template-columns:1fr}.dashboard-head{flex-direction:column}.dashboard{padding:28px 20px}}@media(max-width:560px){.landing-shell{padding:22px 18px}.top-actions .ghost{display:none}.hero{padding:50px 0}.hero h1{font-size:48px}.hero-actions{flex-direction:column}.app-layout{display:block}.sidebar{position:relative;width:100%;height:auto;flex-direction:row;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line)}.nav{display:none}.sidebar-foot{margin:0;border:0;padding:0}.dashboard-head .button{width:100%}}

.workspace-bar{margin-top:30px;border:1px solid var(--line);background:#081522;border-radius:15px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.workspace-bar>div{display:grid;gap:5px}.workspace-bar strong{font-size:16px}.workspace-role{border:1px solid var(--line);background:#10243b;border-radius:999px;padding:6px 10px;color:var(--accent2);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.projects-content{min-height:235px}.project-list{display:grid;margin-top:18px}.project-row{display:flex;align-items:center;gap:14px;padding:15px 4px;border-bottom:1px solid var(--line)}.project-row:last-child{border-bottom:0}.project-symbol{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:#102a47;color:var(--accent2);font-size:12px;font-weight:900}.project-info{display:grid;gap:4px;min-width:0}.project-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-info span{font-size:12px;color:var(--muted);text-transform:capitalize}@media(max-width:560px){.workspace-bar{align-items:flex-start}.workspace-role{margin-top:2px}}

.projects-page-panel{margin-top:24px}.projects-page-list{margin-top:10px}.project-row-action{cursor:pointer;border-radius:12px;padding-left:10px;padding-right:10px;transition:background .16s ease,border-color .16s ease}.project-row-action:hover{background:#0b1c2d}.project-open-label{margin-left:auto;color:var(--accent2);font-size:12px;font-weight:800;white-space:nowrap}.project-modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(2,8,15,.78);display:grid;place-items:center;padding:20px}.project-modal-backdrop[hidden]{display:none}.project-modal{width:min(520px,100%);border:1px solid var(--line);background:#081522;border-radius:18px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.45)}.project-modal-close{border:0;background:transparent;color:var(--muted);font-size:28px;line-height:1;cursor:pointer}.project-form{display:grid;gap:10px;margin-top:20px}.project-form label{font-size:13px;font-weight:800}.project-form input{width:100%;border:1px solid var(--line);background:#07111f;color:var(--text);border-radius:12px;padding:13px 14px;font:inherit;outline:none}.project-form input:focus{border-color:var(--accent2)}.project-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.form-message{min-height:20px;margin:0;color:var(--muted);font-size:13px}@media(max-width:560px){.project-open-label{display:none}.project-form-actions{flex-direction:column-reverse}.project-form-actions .button{width:100%}}

.project-detail-header{margin-top:28px}.project-detail-header[hidden],.ideas-panel[hidden],.projects-page-panel[hidden]{display:none}.project-back-link{display:inline-flex;margin-bottom:20px;color:var(--accent2);font-size:13px;font-weight:800}.project-detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.project-detail-title h1{font-size:34px;letter-spacing:-.04em;margin:6px 0}.project-detail-title p{margin:0;color:var(--muted)}.ideas-panel{margin-top:24px}.idea-form{display:grid;gap:12px;margin-top:22px}.idea-form>label,.idea-fields-grid label{display:grid;gap:8px;font-size:13px;font-weight:800}.idea-form textarea,.idea-form input{width:100%;border:1px solid var(--line);background:#07111f;color:var(--text);border-radius:12px;padding:13px 14px;font:inherit;outline:none}.idea-form textarea{resize:vertical;min-height:140px;line-height:1.55}.idea-form textarea:focus,.idea-form input:focus{border-color:var(--accent2)}.idea-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ideas-library{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.ideas-content{min-height:180px}.idea-list{display:grid;gap:12px;margin-top:18px}.idea-card{border:1px solid var(--line);background:#081522;border-radius:14px;padding:18px}.idea-card p{white-space:pre-wrap;line-height:1.6;margin:0;color:var(--text)}.idea-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.idea-meta span{border:1px solid var(--line);background:#10243b;border-radius:999px;padding:6px 9px;color:var(--muted);font-size:11px}@media(max-width:700px){.idea-fields-grid{grid-template-columns:1fr}.project-detail-title{flex-direction:column}.project-detail-title .workspace-role{margin-top:0}}

.scripts-panel{margin-top:24px}.scripts-panel[hidden]{display:none}.script-ideas-content{margin-top:20px;min-height:120px}.script-idea-list{display:grid;gap:10px}.script-idea-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);background:#081522;border-radius:14px;padding:16px}.script-idea-copy{display:grid;gap:6px;min-width:0}.script-idea-copy strong{font-size:13px;line-height:1.5;white-space:pre-wrap}.script-idea-copy span{color:var(--muted);font-size:11px}.scripts-library{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.scripts-content{min-height:180px}.script-list{display:grid;gap:14px;margin-top:18px}.script-card{border:1px solid var(--line);background:#081522;border-radius:14px;padding:20px}.script-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.script-card-head h3{margin:6px 0 0;font-size:18px}.script-card>p{margin:18px 0 0;white-space:pre-wrap;line-height:1.7;color:#d9e4ef}.script-card-actions{margin-top:18px;display:flex;justify-content:flex-end}@media(max-width:700px){.script-idea-card,.script-card-head{flex-direction:column;align-items:stretch}.generate-script-button{width:100%}.script-card-head .workspace-role{align-self:flex-start}.script-card-actions{justify-content:stretch}.script-card-actions .button{width:100%;text-align:center}}

.video-config-grid{display:grid;grid-template-columns:1.6fr .9fr;gap:16px;margin-top:28px;align-items:start}.video-config-main{display:grid;gap:22px}.script-preview{white-space:pre-wrap;line-height:1.7;color:#d9e4ef;background:#081522;border:1px solid var(--line);border-radius:14px;padding:18px;max-height:260px;overflow:auto}.config-section{display:grid;gap:10px;padding-top:18px;border-top:1px solid var(--line)}.config-label{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.pill-group{display:flex;flex-wrap:wrap;gap:10px}.pill{border:1px solid var(--line);background:#081522;color:var(--muted);border-radius:999px;padding:11px 18px;font-weight:700;font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.pill[aria-pressed="true"]{background:linear-gradient(135deg,var(--accent),#1774e8);border-color:transparent;color:#fff}.engine-fixed{display:grid;gap:8px}.engine-badge{display:inline-flex;align-self:start;border:1px solid var(--line);background:#10243b;color:var(--accent2);border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800;letter-spacing:.04em}.video-config-summary{display:grid;gap:18px;align-content:start;position:sticky;top:24px}.credit-summary{display:grid;gap:12px;margin:0}.credit-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.credit-row dt{color:var(--muted);font-size:13px}.credit-row dd{margin:0;font-weight:800;font-size:16px}.credit-row-after{border-bottom:0}.credit-row-after dd{font-size:20px}.credit-negative{color:var(--danger)}.processing-indicator{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);background:#081522;border-radius:14px;padding:16px}.processing-indicator strong{display:block;margin-bottom:4px}.live-dot{flex:0 0 10px;width:10px;height:10px;margin-top:6px;border-radius:50%;background:#ff3b4e;box-shadow:0 0 0 rgba(255,59,78,.55);animation:live-pulse 1.4s ease-in-out infinite}.processing-done .live-dot{animation:none;background:#3ddc84;box-shadow:none}.processing-failed .live-dot{animation:none;background:var(--danger);box-shadow:none}@keyframes live-pulse{0%{box-shadow:0 0 0 0 rgba(255,59,78,.55)}70%{box-shadow:0 0 0 12px rgba(255,59,78,0)}100%{box-shadow:0 0 0 0 rgba(255,59,78,0)}}@media(max-width:900px){.video-config-grid{grid-template-columns:1fr}.video-config-summary{position:static}}

.brand-mark.gradient-violet{background:linear-gradient(135deg,#8b5cf6,var(--accent));box-shadow:0 10px 30px rgba(139,92,246,.28)}
.gradient-text{background:linear-gradient(135deg,#a78bfa,var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-brand.v2{justify-content:flex-start;gap:40px}
.auth-feature-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.auth-feature-list li{display:flex;gap:14px;align-items:flex-start}
.auth-feature-icon{flex:0 0 42px;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff}
.auth-feature-icon.i1{background:linear-gradient(135deg,#8b5cf6,var(--accent))}
.auth-feature-icon.i2{background:linear-gradient(135deg,#22c1a4,#1774e8)}
.auth-feature-icon.i3{background:linear-gradient(135deg,#f59e0b,#ef4444)}
.auth-feature-icon.i4{background:linear-gradient(135deg,var(--accent2),#8b5cf6)}
.auth-feature-list strong{display:block;font-size:14px;margin-bottom:2px}
.auth-feature-list span{color:var(--muted);font-size:13px;line-height:1.5}
.auth-hero-graphic{position:relative;min-height:200px;display:grid;place-items:center;border:1px solid var(--line);border-radius:24px;background:radial-gradient(circle at 50% 35%,rgba(139,92,246,.22),transparent 60%),linear-gradient(160deg,#0c1830,#081020);overflow:hidden}
.auth-hero-graphic .orb{position:absolute;width:220px;height:220px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,var(--accent));filter:blur(70px);opacity:.35}
.auth-play{position:relative;width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,#fff,#dbe8ff);display:grid;place-items:center;box-shadow:0 20px 50px rgba(47,140,255,.35)}
.auth-play svg{margin-left:4px}
.password-field{position:relative}
.password-field input{padding-right:44px}
.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);padding:8px;cursor:pointer;border-radius:8px;display:grid;place-items:center}
.password-toggle:hover{color:var(--text)}
.password-strength{display:flex;gap:5px;margin-top:2px}
.password-strength i{flex:1;height:4px;border-radius:3px;background:var(--line)}
.password-strength[data-level="1"] i:nth-child(1){background:var(--danger)}
.password-strength[data-level="2"] i:nth-child(-n+2){background:#f59e0b}
.password-strength[data-level="3"] i:nth-child(-n+3){background:#f5c542}
.password-strength[data-level="4"] i{background:#3ddc84}
.password-strength-label{font-size:11px;color:var(--muted);margin-top:4px;display:block}
.checkbox-row{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--muted);line-height:1.5}
.checkbox-row input{margin-top:3px}
.checkbox-row a{color:var(--accent2);font-weight:700}
.field-error{color:var(--danger);font-size:12px;min-height:16px}
.legal-page{max-width:760px;margin:0 auto;padding:56px 24px 90px;line-height:1.75;color:var(--text)}
.legal-page h1{font-size:34px;letter-spacing:-.03em}
.legal-page h2{font-size:19px;margin-top:38px}
.legal-page p,.legal-page li{color:#c7d4e2}
.legal-page .updated{color:var(--muted);font-size:13px;margin-bottom:28px}

.auth-card .eyebrow.violet{background:linear-gradient(135deg,#a78bfa,var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.icon-field{position:relative}
.icon-field input{padding-left:40px}
.icon-field .field-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);display:grid;place-items:center;pointer-events:none}
.button.auth-submit{background:linear-gradient(135deg,#8b5cf6,var(--accent));border-color:transparent;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 14px 34px rgba(139,92,246,.25)}
@media(max-width:560px){.auth-field-row{grid-template-columns:1fr}}

/* VAI — Project actions / delete */
.project-row-actions{position:relative;margin-left:auto;display:flex;align-items:center;gap:8px}
.project-row-actions .project-open-label{margin-left:0}
.project-menu-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);font-size:21px;line-height:1;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}
.project-menu-button:hover,.project-menu-button[aria-expanded="true"]{background:#10243b;border-color:var(--line);color:var(--text)}
.project-action-menu{position:absolute;z-index:50;right:0;top:calc(100% + 6px);width:180px;padding:6px;border:1px solid var(--line);border-radius:12px;background:#091624;box-shadow:0 18px 45px rgba(0,0,0,.42)}
.project-action-menu[hidden]{display:none}
.project-action-menu button{width:100%;border:0;border-radius:8px;background:transparent;color:var(--text);padding:10px 11px;text-align:left;font-size:12px;font-weight:700;cursor:pointer}
.project-action-menu button:hover{background:#10243b}
.project-action-menu .project-action-delete{color:#ff91a0}
.project-action-menu .project-action-delete:hover{background:rgba(255,122,138,.09)}
.project-delete-modal{width:min(470px,100%)}
.project-delete-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,122,138,.24);border-radius:14px;background:rgba(255,122,138,.09);color:var(--danger);font-size:21px;font-weight:900}
.project-delete-copy{margin-top:18px}
.project-delete-eyebrow{color:var(--danger)}
.project-delete-copy h2{margin:7px 0 8px;font-size:25px;letter-spacing:-.035em}
.project-delete-copy p{margin:0;color:var(--muted);line-height:1.6}
.project-delete-name{display:block;margin-top:16px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#07111f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.project-delete-message{margin-top:12px;color:var(--danger)}
.project-danger-button{background:linear-gradient(135deg,#e94b61,#c9344b);border-color:transparent;color:#fff;box-shadow:0 12px 28px rgba(233,75,97,.15)}
.project-danger-button:hover{filter:brightness(1.06)}
@media(max-width:560px){.project-row-actions{margin-left:auto}.project-menu-button{width:38px;height:38px}.project-action-menu{right:0;width:175px}.project-delete-modal .project-form-actions{flex-direction:column-reverse}}


/* VAI-018Q — Mobile application navigation */
.mobile-menu-button{
  display:none;
  width:42px;
  height:42px;
  place-items:center;
  border:1px solid var(--line);
  border-radius:12px;
  background:#0b1b2d;
  color:var(--text);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.mobile-menu-button:hover,
.mobile-menu-button[aria-expanded="true"]{
  background:#102a47;
  border-color:#294764;
}

@media(max-width:560px){
  .sidebar{
    position:sticky;
    top:0;
    z-index:200;
    width:100%;
    height:auto;
    padding:14px 16px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:0 12px;
    border-right:0;
    border-bottom:1px solid var(--line);
    background:rgba(7,18,31,.98);
    box-shadow:0 12px 32px rgba(0,0,0,.18);
  }

  .sidebar .brand{
    min-width:0;
  }

  .sidebar .brand > span:last-child{
    display:inline;
  }

  .mobile-menu-button{
    display:grid;
  }

  .sidebar .nav{
    grid-column:1 / -1;
    display:none;
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid var(--line);
    gap:6px;
  }

  .sidebar[data-mobile-open="true"] .nav{
    display:grid;
  }

  .sidebar .nav span{
    display:inline;
  }

  .sidebar .nav a,
  .sidebar .nav button{
    width:100%;
    justify-content:flex-start;
    min-height:46px;
    padding:12px 14px;
  }

  .sidebar .sidebar-foot{
    grid-column:1 / -1;
    display:none;
    margin:12px 0 0;
    padding:14px 14px 2px;
    border-top:1px solid var(--line);
  }

  .sidebar[data-mobile-open="true"] .sidebar-foot{
    display:block;
  }

  .sidebar .phase{
    display:none;
  }

  .sidebar .logout{
    width:100%;
    padding:10px 0;
    font-weight:700;
  }
}


/* Video avatar selector */

.video-avatar-selector {
  margin: 1.25rem 0 1.5rem;
  padding: 1.15rem;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 18px;
  background:
    linear-gradient(
      145deg,
      rgba(15, 23, 42, 0.88),
      rgba(15, 23, 42, 0.58)
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.video-avatar-selector-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.45rem;
}

.video-avatar-selector-heading h3 {
  margin: 0.2rem 0 0;
  font-size: 1rem;
}

.video-avatar-options {
  display: grid;
  grid-template-columns:
    repeat(auto-fit, minmax(118px, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}

.video-avatar-option {
  appearance: none;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 16px;
  background: rgba(15, 23, 42, 0.7);
  color: inherit;
  cursor: pointer;
  transition:
    transform 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease,
    background 160ms ease;
}

.video-avatar-option:hover {
  transform: translateY(-2px);
  border-color: rgba(96, 165, 250, 0.55);
  background: rgba(30, 41, 59, 0.88);
}

.video-avatar-option:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.video-avatar-option.selected {
  border-color: rgba(96, 165, 250, 0.9);
  background: rgba(30, 64, 175, 0.16);
  box-shadow:
    0 0 0 1px rgba(96, 165, 250, 0.2),
    0 10px 28px rgba(15, 23, 42, 0.2);
}

.video-avatar-option img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  margin-bottom: 0.65rem;
  border-radius: 12px;
  object-fit: cover;
}

.video-avatar-option span {
  display: block;
  overflow: hidden;
  font-size: 0.86rem;
  font-weight: 700;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .video-avatar-selector {
    padding: 1rem;
  }

  .video-avatar-options {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}


/* ==========================================================
   ZYVANTAE ADMIN CONSOLE
   ========================================================== */

.admin-page {
  --admin-surface:rgba(11,27,45,.72);
  --admin-surface-strong:#0b1b2d;
  --admin-border:rgba(148,163,184,.13);
  --admin-muted:#8ea3b8;
  --admin-glow:rgba(56,189,248,.12);
}

.admin-layout {
  min-height:100vh;
}

.admin-sidebar {
  background:
    radial-gradient(
      circle at 30% 0%,
      rgba(56,189,248,.08),
      transparent 30%
    ),
    #07111f;
}

.admin-console-label {
  margin:22px 14px 14px;
  padding:14px 16px;
  border:1px solid rgba(148,163,184,.1);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}

.admin-console-label span,
.admin-console-label small {
  display:block;
}

.admin-console-label span {
  color:#dce9f5;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.admin-console-label small {
  margin-top:4px;
  color:#6f879e;
  font-size:.72rem;
}

.admin-nav {
  gap:3px;
}

.admin-nav a,
.admin-nav button {
  position:relative;
}

.admin-nav a.active::before {
  content:"";
  position:absolute;
  left:0;
  top:9px;
  bottom:9px;
  width:3px;
  border-radius:0 3px 3px 0;
  background:#38bdf8;
  box-shadow:0 0 16px rgba(56,189,248,.6);
}

.admin-nav-icon {
  width:20px;
  display:inline-flex;
  justify-content:center;
  opacity:.85;
}

.admin-sidebar-foot {
  gap:14px;
}

.admin-security-state {
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid rgba(34,197,94,.12);
  border-radius:12px;
  background:rgba(34,197,94,.035);
}

.admin-security-state strong,
.admin-security-state small {
  display:block;
}

.admin-security-state strong {
  color:#dce9f5;
  font-size:.76rem;
}

.admin-security-state small {
  margin-top:2px;
  color:#70869b;
  font-size:.68rem;
}

.admin-security-dot {
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 12px rgba(34,197,94,.7);
}

.admin-return-link {
  color:#7f96aa;
  font-size:.76rem;
  text-decoration:none;
}

.admin-return-link:hover {
  color:#dce9f5;
}

.admin-dashboard {
  position:relative;
  overflow:hidden;
}

.admin-dashboard::before {
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  top:-250px;
  right:-180px;
  border-radius:50%;
  pointer-events:none;
  background:rgba(14,165,233,.05);
  filter:blur(40px);
}

.admin-topbar {
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-bottom:24px;
}

.admin-topbar h1 {
  margin:5px 0 5px;
  font-size:2rem;
  letter-spacing:-.035em;
}

.admin-topbar p {
  margin:0;
  color:#7f96aa;
}

.admin-topbar-actions {
  display:flex;
  align-items:center;
  gap:16px;
}

.admin-environment-badge {
  padding:7px 11px;
  border:1px solid rgba(34,197,94,.18);
  border-radius:999px;
  color:#86efac;
  background:rgba(34,197,94,.06);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.admin-profile {
  display:flex;
  align-items:center;
  gap:10px;
  padding-left:16px;
  border-left:1px solid rgba(148,163,184,.12);
}

.admin-profile-avatar {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(56,189,248,.25);
  border-radius:12px;
  color:#e6f6ff;
  background:
    linear-gradient(
      145deg,
      rgba(14,165,233,.2),
      rgba(37,99,235,.08)
    );
  font-weight:800;
}

.admin-profile strong,
.admin-profile small {
  display:block;
}

.admin-profile strong {
  color:#dce9f5;
  font-size:.82rem;
}

.admin-profile small {
  margin-top:2px;
  color:#6f879e;
  font-size:.7rem;
}

.admin-access-state {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
  padding:12px 15px;
  border:1px solid rgba(56,189,248,.12);
  border-radius:14px;
  background:rgba(14,165,233,.035);
}

.admin-access-state strong,
.admin-access-state small {
  display:block;
}

.admin-access-state strong {
  color:#d8e8f5;
  font-size:.78rem;
}

.admin-access-state small {
  margin-top:2px;
  color:#748ba0;
  font-size:.7rem;
}

.admin-access-spinner,
.admin-access-indicator {
  width:9px;
  height:9px;
  flex:0 0 auto;
  border-radius:50%;
  background:#38bdf8;
  box-shadow:0 0 12px rgba(56,189,248,.7);
}

.admin-access-state[data-state="granted"] {
  border-color:rgba(34,197,94,.14);
  background:rgba(34,197,94,.035);
}

.admin-access-state[data-state="granted"]
.admin-access-indicator {
  background:#22c55e;
  box-shadow:0 0 12px rgba(34,197,94,.7);
}

.admin-access-state[data-state="denied"],
.admin-access-state[data-state="error"] {
  border-color:rgba(248,113,113,.16);
  background:rgba(248,113,113,.04);
}

.admin-access-state[data-state="denied"]
.admin-access-indicator,
.admin-access-state[data-state="error"]
.admin-access-indicator {
  background:#f87171;
  box-shadow:0 0 12px rgba(248,113,113,.5);
}

.admin-metric-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}

.admin-metric-card {
  position:relative;
  min-height:150px;
  padding:20px;
  overflow:hidden;
  border:1px solid var(--admin-border);
  border-radius:18px;
  background:
    linear-gradient(
      145deg,
      rgba(15,35,56,.88),
      rgba(8,23,39,.82)
    );
  box-shadow:0 14px 38px rgba(0,0,0,.08);
}

.admin-metric-card::after {
  content:"";
  position:absolute;
  width:100px;
  height:100px;
  right:-45px;
  bottom:-45px;
  border-radius:50%;
  background:rgba(56,189,248,.035);
}

.admin-metric-card.featured {
  border-color:rgba(56,189,248,.18);
  background:
    linear-gradient(
      145deg,
      rgba(12,44,68,.92),
      rgba(8,25,43,.86)
    );
}

.admin-metric-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  color:#8399ad;
  font-size:.75rem;
  font-weight:600;
}

.admin-metric-icon {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(56,189,248,.12);
  border-radius:10px;
  color:#7dd3fc;
  background:rgba(56,189,248,.04);
}

.admin-metric-card > strong {
  display:block;
  margin:18px 0 7px;
  color:#edf7ff;
  font-size:1.75rem;
  letter-spacing:-.04em;
}

.admin-metric-card > small {
  color:#657d92;
  font-size:.7rem;
}

.admin-main-grid {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);
  gap:18px;
  margin-bottom:18px;
}

.admin-side-stack {
  display:grid;
  gap:18px;
}

.admin-panel {
  padding:20px;
  border:1px solid var(--admin-border);
  border-radius:18px;
  background:rgba(9,25,42,.72);
  box-shadow:0 16px 42px rgba(0,0,0,.07);
}

.admin-panel-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}

.admin-panel-head h2 {
  margin:4px 0 0;
  color:#e5f0f8;
  font-size:1rem;
}

.admin-panel-status {
  padding:5px 8px;
  border:1px solid rgba(148,163,184,.12);
  border-radius:999px;
  color:#6f879e;
  font-size:.65rem;
}

.admin-empty-state {
  min-height:250px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.admin-empty-icon {
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  margin-bottom:14px;
  border:1px solid rgba(56,189,248,.13);
  border-radius:14px;
  color:#7dd3fc;
  background:rgba(56,189,248,.04);
  font-size:1.2rem;
}

.admin-empty-state h3 {
  margin:0 0 7px;
  color:#cbdbe8;
  font-size:.9rem;
}

.admin-empty-state p {
  max-width:420px;
  margin:0;
  color:#687f93;
  font-size:.76rem;
  line-height:1.6;
}

.admin-quick-panel p {
  margin:14px 0 18px;
  color:#71889c;
  font-size:.76rem;
  line-height:1.6;
}

.admin-action-button {
  width:100%;
}

.admin-feature-note {
  display:block;
  margin-top:12px;
  color:#586f84;
  font-size:.67rem;
  line-height:1.5;
}

.admin-api-panel {
  display:grid;
  gap:14px;
}

.admin-api-item {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding-top:13px;
  border-top:1px solid rgba(148,163,184,.08);
}

.admin-api-item strong,
.admin-api-item small {
  display:block;
}

.admin-api-item strong {
  color:#cbdbe8;
  font-size:.78rem;
}

.admin-api-item small {
  margin-top:3px;
  color:#61788d;
  font-size:.67rem;
}

.admin-api-state {
  max-width:110px;
  color:#70889d;
  font-size:.65rem;
  text-align:right;
}

.admin-bottom-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.admin-live-badge {
  display:flex;
  align-items:center;
  gap:6px;
  color:#86efac;
  font-size:.67rem;
  font-weight:700;
}

.admin-live-badge span {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 10px rgba(34,197,94,.6);
}

.admin-status-list {
  display:grid;
  gap:10px;
  margin-top:18px;
}

.admin-status-list > div {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-top:1px solid rgba(148,163,184,.07);
}

.admin-status-list span {
  color:#6d8498;
  font-size:.73rem;
}

.admin-status-list strong {
  color:#b8cbd9;
  font-size:.73rem;
}

.admin-security-card {
  display:flex;
  align-items:center;
  gap:15px;
  margin-top:20px;
  padding:17px;
  border:1px solid rgba(56,189,248,.1);
  border-radius:14px;
  background:rgba(56,189,248,.025);
}

.admin-security-shield {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:13px;
  color:#7dd3fc;
  background:rgba(56,189,248,.07);
}

.admin-security-card strong {
  color:#d3e2ed;
  font-size:.8rem;
}

.admin-security-card p {
  margin:4px 0 0;
  color:#657d91;
  font-size:.7rem;
  line-height:1.5;
}

.admin-access-denied
.admin-metric-grid,
.admin-access-denied
.admin-main-grid,
.admin-access-denied
.admin-bottom-grid {
  pointer-events:none;
  opacity:.32;
  filter:grayscale(.35);
}

@media (max-width:1180px) {
  .admin-metric-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .admin-main-grid {
    grid-template-columns:1fr;
  }

  .admin-side-stack {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px) {
  .admin-topbar {
    align-items:flex-start;
    flex-direction:column;
  }

  .admin-topbar-actions {
    width:100%;
    justify-content:space-between;
  }

  .admin-profile {
    padding-left:0;
    border-left:0;
  }

  .admin-metric-grid,
  .admin-side-stack,
  .admin-bottom-grid {
    grid-template-columns:1fr;
  }

  .admin-topbar h1 {
    font-size:1.65rem;
  }
}


/* =========================================================
   ADMIN USERS
   ========================================================= */

.admin-view[hidden] {
  display: none !important;
}

.admin-users-view {
  display: grid;
  gap: 24px;
}

.admin-users-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 28px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 24px;
  background:
    radial-gradient(
      circle at top right,
      rgba(59, 130, 246, 0.13),
      transparent 34%
    ),
    rgba(9, 20, 36, 0.78);
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.18);
}

.admin-users-hero h2 {
  margin: 6px 0 8px;
  font-size: clamp(28px, 3vw, 38px);
}

.admin-users-hero p {
  max-width: 650px;
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.admin-users-summary {
  min-width: 180px;
  padding: 18px 20px;
  border: 1px solid rgba(96, 165, 250, 0.2);
  border-radius: 18px;
  background: rgba(10, 28, 50, 0.72);
}

.admin-users-summary span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 13px;
}

.admin-users-summary strong {
  display: block;
  font-size: 32px;
  line-height: 1;
}

.admin-users-panel {
  overflow: hidden;
}

.admin-users-panel-head {
  padding-bottom: 20px;
}

.admin-users-state {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(148, 163, 184, 0.12);
  border-radius: 16px;
  background: rgba(8, 18, 32, 0.62);
}

.admin-users-state-icon {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border-radius: 12px;
  background: rgba(59, 130, 246, 0.12);
}

.admin-users-state strong,
.admin-users-state small {
  display: block;
}

.admin-users-state small {
  margin-top: 3px;
  color: var(--muted);
}

.admin-users-table-shell {
  width: 100%;
  overflow-x: auto;
  border: 1px solid rgba(148, 163, 184, 0.12);
  border-radius: 18px;
  background: rgba(6, 15, 27, 0.52);
}

.admin-users-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
}

.admin-users-table th,
.admin-users-table td {
  padding: 16px 18px;
  text-align: left;
  border-bottom: 1px solid rgba(148, 163, 184, 0.09);
}

.admin-users-table th {
  color: #93a4ba;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(12, 27, 47, 0.78);
}

.admin-users-table td {
  color: #dce8f7;
  font-size: 14px;
}

.admin-users-table tbody tr:last-child td {
  border-bottom: 0;
}

.admin-users-table tbody tr:hover {
  background: rgba(59, 130, 246, 0.045);
}

.admin-users-foot {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 16px;
  color: var(--muted);
  font-size: 12px;
}

.admin-nav button[data-admin-view] {
  width: 100%;
  cursor: pointer;
}

.admin-nav button[data-admin-view]:disabled {
  cursor: not-allowed;
}

@media (max-width: 760px) {
  .admin-users-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-users-summary {
    width: 100%;
  }

  .admin-users-foot {
    flex-direction: column;
    gap: 6px;
  }
}


/* Admin Users — real data states */

.admin-user-identity {
  display: flex;
  align-items: center;
  gap: 12px;
}

.admin-user-identity > div {
  min-width: 0;
}

.admin-user-identity strong,
.admin-user-identity small {
  display: block;
}

.admin-user-identity strong {
  color: #eef6ff;
  font-weight: 700;
}

.admin-user-identity small {
  max-width: 250px;
  margin-top: 4px;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-user-avatar {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid rgba(96, 165, 250, 0.18);
  border-radius: 12px;
  background:
    linear-gradient(
      145deg,
      rgba(37, 99, 235, 0.2),
      rgba(14, 165, 233, 0.08)
    );
  color: #dbeafe;
  font-size: 14px;
  font-weight: 800;
}

.admin-user-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.admin-user-badge-active {
  border-color: rgba(52, 211, 153, 0.2);
  background: rgba(16, 185, 129, 0.09);
  color: #86efac;
}

.admin-user-badge-blocked {
  border-color: rgba(248, 113, 113, 0.2);
  background: rgba(239, 68, 68, 0.09);
  color: #fca5a5;
}

.admin-user-badge-pending {
  border-color: rgba(251, 191, 36, 0.2);
  background: rgba(245, 158, 11, 0.09);
  color: #fde68a;
}

.admin-user-badge-admin {
  border-color: rgba(96, 165, 250, 0.24);
  background: rgba(59, 130, 246, 0.11);
  color: #bfdbfe;
}

.admin-user-badge-user {
  background: rgba(148, 163, 184, 0.07);
  color: #cbd5e1;
}

.admin-users-state[data-state="ready"] {
  border-color: rgba(52, 211, 153, 0.16);
}

.admin-users-state[data-state="error"] {
  border-color: rgba(248, 113, 113, 0.18);
}

.admin-users-state[data-state="loading"] {
  border-color: rgba(96, 165, 250, 0.18);
}


/* =========================================================
   VAI-021F.5 — ADMIN CREDITS
   ========================================================= */

.admin-credits-view {
  display: grid;
  gap: 24px;
}

.admin-credits-view[hidden] {
  display: none;
}

.admin-credits-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  overflow: hidden;
  padding: 30px 32px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  background:
    radial-gradient(
      circle at 85% 10%,
      rgba(59, 130, 246, 0.16),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      rgba(17, 24, 39, 0.96),
      rgba(9, 14, 26, 0.96)
    );
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.24);
}

.admin-credits-hero::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -100px;
  width: 240px;
  height: 240px;
  border: 1px solid rgba(96, 165, 250, 0.16);
  border-radius: 50%;
}

.admin-credits-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 720px;
}

.admin-credits-eyebrow,
.admin-credit-kicker {
  display: inline-flex;
  margin-bottom: 10px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #60a5fa;
}

.admin-credits-hero h2 {
  margin: 0;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  color: #f8fafc;
}

.admin-credits-hero p {
  max-width: 680px;
  margin: 14px 0 0;
  color: #94a3b8;
  line-height: 1.65;
}

.admin-credits-hero p strong {
  color: #dbeafe;
}

.admin-credits-security {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 230px;
  padding: 14px 16px;
  border: 1px solid rgba(96, 165, 250, 0.18);
  border-radius: 16px;
  background: rgba(15, 23, 42, 0.72);
}

.admin-credits-security-dot {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #22c55e;
  box-shadow:
    0 0 0 5px rgba(34, 197, 94, 0.1);
}

.admin-credits-security strong,
.admin-credits-security small {
  display: block;
}

.admin-credits-security strong {
  color: #f8fafc;
  font-size: 0.88rem;
}

.admin-credits-security small {
  margin-top: 3px;
  color: #64748b;
  font-size: 0.72rem;
}

.admin-credits-layout {
  display: grid;
  grid-template-columns:
    minmax(0, 1.55fr)
    minmax(290px, 0.75fr);
  gap: 24px;
  align-items: start;
}

.admin-credit-panel,
.admin-credit-summary {
  border: 1px solid rgba(255, 255, 255, 0.075);
  border-radius: 22px;
  background: rgba(11, 17, 29, 0.82);
  box-shadow:
    0 20px 55px rgba(0, 0, 0, 0.18);
}

.admin-credit-panel {
  padding: 26px;
}

.admin-credit-panel-heading,
.admin-credit-summary-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.admin-credit-panel-heading h3,
.admin-credit-summary-heading h3 {
  margin: 0;
  color: #f8fafc;
  font-size: 1.15rem;
}

.admin-credit-panel-heading p {
  margin: 7px 0 0;
  color: #64748b;
  line-height: 1.5;
}

.admin-credit-audit-badge {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid rgba(96, 165, 250, 0.18);
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.08);
  color: #93c5fd;
  font-size: 0.7rem;
  font-weight: 800;
}

.admin-credit-form {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 26px;
}

.admin-credit-field {
  display: grid;
  gap: 8px;
}

.admin-credit-field-wide {
  grid-column: 1 / -1;
}

.admin-credit-field label,
.admin-credit-operation legend {
  color: #cbd5e1;
  font-size: 0.78rem;
  font-weight: 700;
}

.admin-credit-field select,
.admin-credit-field input,
.admin-credit-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 13px;
  outline: none;
  background: rgba(15, 23, 42, 0.78);
  color: #f8fafc;
  font: inherit;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    background 160ms ease;
}

.admin-credit-field select,
.admin-credit-field input {
  min-height: 46px;
  padding: 0 13px;
}

.admin-credit-field textarea {
  min-height: 104px;
  padding: 12px 13px;
  resize: vertical;
}

.admin-credit-field select:focus,
.admin-credit-field input:focus,
.admin-credit-field textarea:focus {
  border-color: rgba(96, 165, 250, 0.72);
  background: rgba(15, 23, 42, 0.98);
  box-shadow:
    0 0 0 3px rgba(59, 130, 246, 0.11);
}

.admin-credit-field select:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.admin-credit-field small {
  color: #64748b;
  font-size: 0.7rem;
  line-height: 1.45;
}

.admin-credit-operation {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  grid-column: 1 / -1;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.admin-credit-operation legend {
  grid-column: 1 / -1;
  margin-bottom: 2px;
}

.admin-credit-operation-option {
  position: relative;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 66px;
  padding: 11px 13px;
  border: 1px solid rgba(148, 163, 184, 0.13);
  border-radius: 14px;
  cursor: pointer;
  background: rgba(15, 23, 42, 0.58);
}

.admin-credit-operation-option:has(input:checked) {
  border-color: rgba(96, 165, 250, 0.58);
  background: rgba(37, 99, 235, 0.1);
}

.admin-credit-operation-option input {
  width: 17px;
  height: 17px;
  accent-color: #3b82f6;
}

.admin-credit-operation-option strong,
.admin-credit-operation-option small {
  display: block;
}

.admin-credit-operation-option strong {
  color: #e2e8f0;
  font-size: 0.82rem;
}

.admin-credit-operation-option small {
  margin-top: 3px;
  color: #64748b;
  font-size: 0.68rem;
}

.admin-credit-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 4px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.admin-credit-form-message {
  margin: 0;
  color: #94a3b8;
  font-size: 0.76rem;
}

.admin-credit-review-button,
.admin-credit-confirm-button,
.admin-credit-secondary-button {
  min-height: 42px;
  padding: 0 18px;
  border-radius: 12px;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
}

.admin-credit-review-button,
.admin-credit-confirm-button {
  border: 1px solid rgba(59, 130, 246, 0.65);
  background:
    linear-gradient(
      135deg,
      #2563eb,
      #3b82f6
    );
  color: #ffffff;
  cursor: pointer;
  box-shadow:
    0 10px 28px rgba(37, 99, 235, 0.2);
}

.admin-credit-confirm-button:disabled {
  cursor: not-allowed;
  opacity: 0.42;
  box-shadow: none;
}

.admin-credit-secondary-button {
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(15, 23, 42, 0.8);
  color: #cbd5e1;
  cursor: pointer;
}

.admin-credit-summary {
  position: sticky;
  top: 24px;
  padding: 24px;
}

.admin-credit-balance {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

.admin-credit-balance > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.055);
}

.admin-credit-balance span {
  color: #64748b;
  font-size: 0.76rem;
}

.admin-credit-balance strong {
  color: #e2e8f0;
  font-size: 1rem;
}

.admin-credit-balance-result {
  margin-top: 4px;
  padding: 16px !important;
  border: 1px solid rgba(96, 165, 250, 0.16) !important;
  border-radius: 14px;
  background: rgba(37, 99, 235, 0.075);
}

.admin-credit-balance-result strong {
  color: #93c5fd;
  font-size: 1.18rem;
}

.admin-credit-summary-note {
  margin-top: 20px;
  padding: 15px;
  border: 1px solid rgba(245, 158, 11, 0.12);
  border-radius: 14px;
  background: rgba(245, 158, 11, 0.045);
}

.admin-credit-summary-note strong {
  color: #f8fafc;
  font-size: 0.77rem;
}

.admin-credit-summary-note p {
  margin: 7px 0 0;
  color: #64748b;
  font-size: 0.72rem;
  line-height: 1.55;
}

.admin-credit-confirmation {
  border: 1px solid rgba(96, 165, 250, 0.16);
  border-radius: 20px;
  background:
    linear-gradient(
      135deg,
      rgba(15, 23, 42, 0.96),
      rgba(10, 18, 34, 0.96)
    );
}

.admin-credit-confirmation[hidden] {
  display: none;
}

.admin-credit-confirmation-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 22px 24px;
}

.admin-credit-confirmation h3 {
  margin: 0;
  color: #f8fafc;
  font-size: 1rem;
}

.admin-credit-confirmation p {
  margin: 6px 0 0;
  color: #64748b;
  font-size: 0.74rem;
}

.admin-credit-confirmation-actions {
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
}

@media (max-width: 1050px) {
  .admin-credits-layout {
    grid-template-columns: 1fr;
  }

  .admin-credit-summary {
    position: static;
  }
}

@media (max-width: 760px) {
  .admin-credits-hero {
    align-items: flex-start;
    flex-direction: column;
    padding: 24px;
  }

  .admin-credits-security {
    width: 100%;
    box-sizing: border-box;
  }

  .admin-credit-form {
    grid-template-columns: 1fr;
  }

  .admin-credit-field-wide,
  .admin-credit-operation {
    grid-column: auto;
  }

  .admin-credit-operation {
    grid-template-columns: 1fr;
  }

  .admin-credit-form-actions,
  .admin-credit-confirmation-card {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-credit-review-button {
    width: 100%;
  }

  .admin-credit-confirmation-actions {
    width: 100%;
  }

  .admin-credit-confirmation-actions button {
    flex: 1;
  }
}

/* =========================================================
   VAI-022 — ZYVANTAE PREMIUM LANDING
   ========================================================= */

.landing-premium {
  --landing-bg: #040b14;
  --landing-bg-soft: #071321;
  --landing-panel: rgba(10, 24, 40, 0.82);
  --landing-panel-strong: #0b1727;
  --landing-line: rgba(145, 180, 220, 0.14);
  --landing-line-strong: rgba(145, 180, 220, 0.22);
  --landing-text: #f7fbff;
  --landing-muted: #8fa3b8;
  --landing-blue: #2f8cff;
  --landing-blue-bright: #7ec6ff;
  --landing-blue-soft: rgba(47, 140, 255, 0.14);
  --landing-shadow: 0 34px 100px rgba(0, 0, 0, 0.42);
  --landing-radius-lg: 32px;
  --landing-radius-md: 22px;
  --landing-radius-sm: 14px;

  background:
    radial-gradient(
      circle at 82% 8%,
      rgba(47, 140, 255, 0.16),
      transparent 30%
    ),
    radial-gradient(
      circle at 8% 48%,
      rgba(20, 86, 170, 0.1),
      transparent 28%
    ),
    var(--landing-bg);

  color: var(--landing-text);
}

.landing-premium::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0.25;
  background-image:
    linear-gradient(
      rgba(255, 255, 255, 0.015) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.015) 1px,
      transparent 1px
    );
  background-size: 60px 60px;
  mask-image: linear-gradient(
    to bottom,
    black,
    transparent 75%
  );
}

.landing-container {
  width: min(1220px, calc(100% - 40px));
  margin-inline: auto;
}

.landing-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgba(255, 255, 255, 0.055);
  background: rgba(4, 11, 20, 0.74);
  backdrop-filter: blur(20px);
}

.landing-nav {
  min-height: 78px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 34px;
}

.landing-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}

.landing-menu a {
  color: #91a4b9;
  font-size: 14px;
  font-weight: 700;
  transition:
    color 0.2s ease,
    transform 0.2s ease;
}

.landing-menu a:hover {
  color: white;
  transform: translateY(-1px);
}

.landing-premium .brand {
  font-size: 20px;
}

.landing-premium .brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 13px;
  background:
    linear-gradient(
      145deg,
      #49a1ff,
      #1675e8
    );
  box-shadow:
    0 10px 28px rgba(47, 140, 255, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.landing-premium .button {
  border-radius: 13px;
  border-color: var(--landing-line-strong);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease;
}

.landing-premium .button:hover {
  transform: translateY(-2px);
}

.landing-premium .button.primary {
  background:
    linear-gradient(
      135deg,
      #3d98ff 0%,
      #1774e8 100%
    );
  box-shadow:
    0 16px 36px rgba(47, 140, 255, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.landing-premium .button.primary:hover {
  box-shadow:
    0 20px 45px rgba(47, 140, 255, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.landing-premium .button.ghost {
  background: rgba(255, 255, 255, 0.025);
}

.landing-premium .button.ghost:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(130, 184, 245, 0.3);
}

.landing-hero {
  position: relative;
  min-height: 760px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.landing-hero::before {
  content: "";
  position: absolute;
  inset: auto -10% -45% 45%;
  height: 600px;
  border-radius: 50%;
  background: rgba(47, 140, 255, 0.13);
  filter: blur(120px);
  pointer-events: none;
}

.landing-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns:
    minmax(0, 0.92fr)
    minmax(0, 1.08fr);
  align-items: center;
  gap: 74px;
  padding-block: 90px 110px;
}

.landing-hero-copy {
  max-width: 660px;
}

.landing-premium .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--landing-blue-bright);
  font-size: 11px;
  letter-spacing: 0.18em;
}

.landing-premium .eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      var(--landing-blue-bright),
      transparent
    );
}

.landing-hero h1 {
  margin: 22px 0 26px;
  max-width: 720px;
  font-size: clamp(58px, 6.7vw, 96px);
  line-height: 0.94;
  letter-spacing: -0.065em;
}

.landing-hero h1 span {
  display: block;
  margin-top: 8px;
  color: #78bfff;
  text-shadow:
    0 0 42px rgba(77, 163, 255, 0.16);
}

.landing-hero-description {
  max-width: 650px;
  margin: 0;
  color: #92a6ba;
  font-size: 18px;
  line-height: 1.78;
}

.landing-hero .hero-actions {
  margin-top: 34px;
}

.landing-trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: 28px;
  color: #71869c;
  font-size: 13px;
  font-weight: 700;
}

.landing-trust-list span::first-letter {
  color: var(--landing-blue-bright);
}

.landing-product-preview {
  position: relative;
  min-height: 560px;
  display: grid;
  align-items: center;
}

.landing-preview-glow {
  position: absolute;
  width: 460px;
  height: 460px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(47, 140, 255, 0.24),
      transparent 65%
    );
  filter: blur(18px);
}

.landing-dashboard-preview {
  position: relative;
  z-index: 2;
  overflow: hidden;
  width: 100%;
  min-height: 500px;
  border: 1px solid rgba(140, 181, 225, 0.17);
  border-radius: 30px;
  background:
    linear-gradient(
      155deg,
      rgba(14, 29, 48, 0.96),
      rgba(7, 18, 31, 0.98)
    );
  box-shadow:
    0 44px 100px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.015),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transform:
    perspective(1400px)
    rotateY(-4deg)
    rotateX(2deg);
}

.landing-preview-topbar {
  height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  border-bottom: 1px solid var(--landing-line);
  background: rgba(3, 12, 21, 0.38);
}

.landing-preview-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.landing-preview-brand .brand-mark {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  font-size: 13px;
}

.landing-preview-brand strong {
  font-size: 14px;
}

.landing-preview-avatar {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(126, 198, 255, 0.25);
  border-radius: 50%;
  background: rgba(47, 140, 255, 0.14);
  color: #9bd0ff;
  font-size: 12px;
  font-weight: 800;
}

.landing-preview-layout {
  min-height: 434px;
  display: grid;
  grid-template-columns: 126px 1fr;
}

.landing-preview-sidebar {
  padding: 24px 13px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  border-right: 1px solid var(--landing-line);
  background: rgba(2, 10, 18, 0.34);
}

.landing-preview-sidebar span {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 11px;
  border-radius: 10px;
  color: #71869b;
  font-size: 11px;
  font-weight: 700;
}

.landing-preview-sidebar span.active {
  color: #e9f5ff;
  background:
    linear-gradient(
      90deg,
      rgba(47, 140, 255, 0.2),
      rgba(47, 140, 255, 0.06)
    );
}

.landing-preview-sidebar b {
  width: 17px;
  color: #66b4ff;
  font-size: 12px;
  text-align: center;
}

.landing-preview-content {
  min-width: 0;
  padding: 26px;
}

.landing-preview-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
}

.landing-preview-heading div {
  display: grid;
  gap: 4px;
}

.landing-preview-heading small {
  color: #60778d;
  font-size: 10px;
}

.landing-preview-heading strong {
  font-size: 18px;
  letter-spacing: -0.025em;
}

.landing-preview-new {
  display: inline-flex;
  padding: 9px 12px;
  border-radius: 9px;
  background: #1876e7;
  color: white;
  font-size: 10px;
  font-weight: 800;
}

.landing-preview-projects {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  margin-top: 28px;
}

.landing-preview-projects article {
  min-width: 0;
  padding: 11px;
  border: 1px solid rgba(135, 175, 216, 0.12);
  border-radius: 14px;
  background:
    linear-gradient(
      150deg,
      rgba(15, 34, 55, 0.9),
      rgba(8, 22, 37, 0.92)
    );
}

.preview-project-art {
  height: 92px;
  display: grid;
  place-items: center;
  margin-bottom: 10px;
  overflow: hidden;
  border-radius: 10px;
  color: white;
  font-size: 20px;
  font-weight: 900;
}

.preview-project-art span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 15px;
  background: rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(8px);
}

.art-one {
  background:
    radial-gradient(
      circle at 30% 20%,
      rgba(112, 194, 255, 0.55),
      transparent 45%
    ),
    linear-gradient(135deg, #0c2b4b, #0b1628);
}

.art-two {
  background:
    radial-gradient(
      circle at 80% 30%,
      rgba(55, 121, 255, 0.45),
      transparent 40%
    ),
    linear-gradient(135deg, #152a4a, #0c1525);
}

.art-three {
  background:
    radial-gradient(
      circle at 50% 10%,
      rgba(69, 179, 255, 0.5),
      transparent 42%
    ),
    linear-gradient(135deg, #09233b, #111a2d);
}

.art-four {
  background:
    radial-gradient(
      circle at 20% 80%,
      rgba(49, 118, 229, 0.48),
      transparent 40%
    ),
    linear-gradient(135deg, #111e35, #071422);
}

.landing-preview-projects strong {
  display: block;
  overflow: hidden;
  color: #dcecff;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.landing-preview-projects small {
  display: block;
  margin-top: 5px;
  color: #627a91;
  font-size: 9px;
}

.landing-preview-floating-card {
  position: absolute;
  z-index: 4;
  right: -22px;
  bottom: 14px;
  min-width: 260px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 15px 18px;
  border: 1px solid rgba(126, 198, 255, 0.18);
  border-radius: 16px;
  background: rgba(9, 24, 41, 0.9);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(15px);
}

.landing-preview-floating-card > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: rgba(47, 140, 255, 0.14);
  color: #78bfff;
}

.landing-preview-floating-card div {
  display: grid;
  gap: 3px;
}

.landing-preview-floating-card small {
  color: #6f869d;
  font-size: 9px;
}

.landing-preview-floating-card strong {
  color: #e8f4ff;
  font-size: 11px;
}

.landing-features {
  padding: 40px 0 120px;
}

.landing-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.landing-feature-card {
  min-height: 220px;
  padding: 26px;
  border: 1px solid var(--landing-line);
  border-radius: 22px;
  background:
    linear-gradient(
      145deg,
      rgba(11, 25, 42, 0.82),
      rgba(7, 18, 31, 0.82)
    );
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.landing-feature-card:hover {
  transform: translateY(-6px);
  border-color: rgba(92, 169, 255, 0.3);
  box-shadow: 0 26px 56px rgba(0, 0, 0, 0.22);
}

.landing-feature-icon,
.landing-step-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(95, 171, 255, 0.18);
  border-radius: 13px;
  background: rgba(47, 140, 255, 0.1);
  color: #78bfff;
  font-size: 18px;
}

.landing-feature-card h2 {
  margin: 22px 0 10px;
  font-size: 18px;
  letter-spacing: -0.03em;
}

.landing-feature-card p {
  margin: 0;
  color: #7890a6;
  font-size: 14px;
  line-height: 1.7;
}

.landing-how,
.landing-showcase,
.landing-value {
  padding: 120px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.035);
}

.landing-how {
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(47, 140, 255, 0.07),
      transparent 30%
    );
}

.landing-section-heading {
  max-width: 720px;
  margin-bottom: 58px;
}

.landing-section-heading h2,
.landing-value-copy h2,
.landing-final-cta h2 {
  margin: 16px 0 18px;
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1;
  letter-spacing: -0.055em;
}

.landing-section-heading h2 span,
.landing-value-copy h2 span {
  color: #78bfff;
}

.landing-section-heading p,
.landing-value-copy > p,
.landing-final-cta p {
  margin: 0;
  color: #8197ac;
  font-size: 17px;
  line-height: 1.7;
}

.landing-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.landing-steps::before {
  content: "";
  position: absolute;
  top: 44px;
  left: 10%;
  right: 10%;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(75, 155, 245, 0.34),
      rgba(75, 155, 245, 0.34),
      transparent
    );
}

.landing-steps article {
  position: relative;
  z-index: 2;
  min-height: 260px;
  padding: 28px 24px;
  border: 1px solid var(--landing-line);
  border-radius: 22px;
  background:
    linear-gradient(
      145deg,
      rgba(11, 25, 42, 0.95),
      rgba(6, 17, 29, 0.96)
    );
}

.landing-step-number {
  position: absolute;
  top: -15px;
  right: 20px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(84, 164, 255, 0.24);
  border-radius: 50%;
  background: #0a1b2e;
  color: #70baff;
  font-size: 11px;
  font-weight: 900;
}

.landing-steps h3 {
  margin: 24px 0 10px;
  font-size: 20px;
}

.landing-steps p {
  margin: 0;
  color: #758ca2;
  font-size: 14px;
  line-height: 1.7;
}

.landing-heading-row {
  max-width: none;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
}

.landing-heading-row > div {
  max-width: 730px;
}

.landing-text-link {
  padding-bottom: 10px;
  color: #73bbff;
  font-size: 14px;
  font-weight: 800;
}

.landing-showcase-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}

.landing-showcase-card {
  position: relative;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 22px;
  border: 1px solid var(--landing-line);
  border-radius: 24px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.landing-showcase-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to top,
      rgba(3, 10, 18, 0.94),
      rgba(3, 10, 18, 0.12) 65%
    );
}

.showcase-one {
  background:
    radial-gradient(
      circle at 25% 20%,
      rgba(71, 168, 255, 0.52),
      transparent 40%
    ),
    linear-gradient(145deg, #12365a, #0b1524);
}

.showcase-two {
  background:
    radial-gradient(
      circle at 80% 15%,
      rgba(58, 124, 235, 0.55),
      transparent 38%
    ),
    linear-gradient(145deg, #152846, #08131f);
}

.showcase-three {
  background:
    radial-gradient(
      circle at 50% 40%,
      rgba(89, 181, 255, 0.32),
      transparent 35%
    ),
    linear-gradient(145deg, #09243b, #101928);
}

.showcase-four {
  background:
    radial-gradient(
      circle at 30% 25%,
      rgba(38, 108, 215, 0.48),
      transparent 42%
    ),
    linear-gradient(145deg, #14243d, #07121d);
}

.landing-showcase-play {
  position: relative;
  z-index: 2;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(12px);
  font-size: 13px;
}

.landing-showcase-card > div:last-child {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 7px;
}

.landing-showcase-card span {
  color: #78bfff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.landing-showcase-card strong {
  max-width: 200px;
  font-size: 20px;
  line-height: 1.15;
  letter-spacing: -0.03em;
}

.landing-value {
  background:
    linear-gradient(
      180deg,
      rgba(8, 20, 34, 0.28),
      transparent
    );
}

.landing-value-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: center;
  gap: 90px;
}

.landing-value-copy h2 {
  max-width: 560px;
}

.landing-value-copy > p {
  max-width: 540px;
}

.landing-value-cards {
  display: grid;
  gap: 14px;
}

.landing-value-cards article {
  display: grid;
  grid-template-columns: 58px 1fr;
  align-items: start;
  gap: 18px;
  padding: 24px;
  border: 1px solid var(--landing-line);
  border-radius: 20px;
  background:
    linear-gradient(
      145deg,
      rgba(12, 27, 45, 0.82),
      rgba(7, 18, 31, 0.78)
    );
}

.landing-value-cards article > span {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: rgba(47, 140, 255, 0.1);
  color: #76bcff;
  font-size: 12px;
  font-weight: 900;
}

.landing-value-cards article div {
  display: grid;
  gap: 8px;
}

.landing-value-cards strong {
  font-size: 17px;
}

.landing-value-cards p {
  margin: 0;
  color: #778ea4;
  font-size: 14px;
  line-height: 1.6;
}

.landing-final-cta {
  padding: 70px 0 110px;
}

.landing-final-cta-inner {
  position: relative;
  overflow: hidden;
  min-height: 320px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 60px;
  padding: 56px;
  border: 1px solid rgba(105, 173, 250, 0.18);
  border-radius: 32px;
  background:
    radial-gradient(
      circle at 80% 50%,
      rgba(47, 140, 255, 0.2),
      transparent 36%
    ),
    linear-gradient(
      145deg,
      rgba(13, 32, 53, 0.95),
      rgba(7, 18, 31, 0.98)
    );
  box-shadow: var(--landing-shadow);
}

.landing-final-cta-inner::after {
  content: "";
  position: absolute;
  width: 320px;
  height: 320px;
  right: -80px;
  top: -90px;
  border: 1px solid rgba(99, 178, 255, 0.12);
  border-radius: 50%;
  box-shadow:
    0 0 0 50px rgba(99, 178, 255, 0.025),
    0 0 0 100px rgba(99, 178, 255, 0.018);
}

.landing-final-cta h2 {
  position: relative;
  z-index: 2;
  max-width: 720px;
}

.landing-final-cta p {
  position: relative;
  z-index: 2;
}

.landing-final-actions {
  position: relative;
  z-index: 3;
  display: grid;
  gap: 14px;
  min-width: 215px;
  text-align: center;
}

.landing-login-link {
  color: #8198ae;
  font-size: 12px;
  font-weight: 700;
}

.landing-login-link:hover {
  color: white;
}

.landing-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  background: #030a12;
}

.landing-footer-grid {
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr);
  gap: 70px;
  padding-block: 68px 50px;
}

.landing-footer-brand p {
  max-width: 360px;
  margin: 20px 0 0;
  color: #667d93;
  font-size: 14px;
  line-height: 1.7;
}

.landing-footer-column {
  display: grid;
  align-content: start;
  gap: 13px;
}

.landing-footer-column strong {
  margin-bottom: 5px;
  font-size: 13px;
}

.landing-footer-column a {
  width: fit-content;
  color: #667d93;
  font-size: 13px;
}

.landing-footer-column a:hover {
  color: #9fd3ff;
}

.landing-footer-bottom {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.045);
  color: #53687c;
  font-size: 11px;
}

/* PREMIUM LANDING RESPONSIVE */

@media (max-width: 1080px) {
  .landing-hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .landing-hero-copy {
    max-width: 780px;
    text-align: center;
    margin-inline: auto;
  }

  .landing-hero-copy .eyebrow {
    justify-content: center;
  }

  .landing-hero-description {
    margin-inline: auto;
  }

  .landing-hero .hero-actions,
  .landing-trust-list {
    justify-content: center;
  }

  .landing-product-preview {
    width: min(760px, 100%);
    margin-inline: auto;
  }

  .landing-feature-grid,
  .landing-showcase-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .landing-value-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }
}

@media (max-width: 900px) {
  .landing-nav {
    grid-template-columns: 1fr auto;
  }

  .landing-menu {
    display: none;
  }

  .landing-steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .landing-steps::before {
    display: none;
  }

  .landing-footer-grid {
    grid-template-columns: 2fr 1fr 1fr;
  }

  .landing-footer-column:last-child {
    grid-column: 2 / 4;
  }
}

@media (max-width: 680px) {
  .landing-container {
    width: min(100% - 28px, 1220px);
  }

  .landing-header {
    position: relative;
  }

  .landing-nav {
    min-height: 70px;
  }

  .landing-nav .top-actions .ghost {
    display: none;
  }

  .landing-hero {
    min-height: auto;
  }

  .landing-hero-grid {
    padding-block: 64px 76px;
  }

  .landing-hero h1 {
    font-size: clamp(48px, 15vw, 68px);
  }

  .landing-hero-description {
    font-size: 16px;
  }

  .landing-hero .hero-actions {
    flex-direction: column;
  }

  .landing-hero .hero-actions .button {
    width: 100%;
    text-align: center;
  }

  .landing-trust-list {
    display: grid;
    gap: 9px;
  }

  .landing-product-preview {
    min-height: auto;
  }

  .landing-dashboard-preview {
    min-height: 410px;
    transform: none;
    border-radius: 20px;
  }

  .landing-preview-layout {
    min-height: 345px;
    grid-template-columns: 82px 1fr;
  }

  .landing-preview-sidebar {
    padding-inline: 8px;
  }

  .landing-preview-sidebar span {
    justify-content: center;
    padding-inline: 5px;
    font-size: 0;
  }

  .landing-preview-sidebar b {
    font-size: 14px;
  }

  .landing-preview-content {
    padding: 18px;
  }

  .landing-preview-heading {
    align-items: flex-start;
  }

  .landing-preview-heading strong {
    font-size: 15px;
  }

  .landing-preview-new {
    display: none;
  }

  .landing-preview-projects {
    gap: 9px;
    margin-top: 20px;
  }

  .preview-project-art {
    height: 72px;
  }

  .landing-preview-floating-card {
    display: none;
  }

  .landing-feature-grid,
  .landing-steps,
  .landing-showcase-grid {
    grid-template-columns: 1fr;
  }

  .landing-how,
  .landing-showcase,
  .landing-value {
    padding: 90px 0;
  }

  .landing-section-heading {
    margin-bottom: 42px;
  }

  .landing-section-heading h2,
  .landing-value-copy h2,
  .landing-final-cta h2 {
    font-size: clamp(38px, 12vw, 52px);
  }

  .landing-heading-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .landing-showcase-card {
    min-height: 280px;
  }

  .landing-final-cta-inner {
    grid-template-columns: 1fr;
    gap: 34px;
    padding: 34px 26px;
  }

  .landing-final-actions {
    min-width: 0;
  }

  .landing-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 38px 24px;
  }

  .landing-footer-brand {
    grid-column: 1 / -1;
  }

  .landing-footer-column:last-child {
    grid-column: auto;
  }

  .landing-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    padding-block: 20px;
  }
}

@media (max-width: 420px) {
  .landing-preview-projects {
    grid-template-columns: 1fr;
  }

  .landing-preview-projects article:nth-child(n+3) {
    display: none;
  }

  .landing-footer-grid {
    grid-template-columns: 1fr;
  }

  .landing-footer-brand,
  .landing-footer-column:last-child {
    grid-column: auto;
  }
}

/* =========================================================
   VAI-022D — PREMIUM LANDING VISUAL REFINEMENT
   ========================================================= */

/*
 * Desktop first fold
 * More product, less empty vertical space.
 */

@media (min-width: 1081px) {

  .landing-hero {
    min-height: 670px;
  }

  .landing-hero-grid {
    grid-template-columns:
      minmax(0, 0.88fr)
      minmax(0, 1.12fr);
    gap: 58px;
    padding-block: 62px 76px;
  }

  .landing-hero-copy {
    max-width: 610px;
  }

  .landing-hero h1 {
    max-width: 650px;
    margin-top: 18px;
    margin-bottom: 22px;
    font-size: clamp(54px, 5.25vw, 76px);
    line-height: 0.96;
  }

  .landing-hero h1 span {
    margin-top: 6px;
  }

  .landing-hero-description {
    max-width: 585px;
    font-size: 16px;
    line-height: 1.7;
  }

  .landing-hero .hero-actions {
    margin-top: 28px;
  }

  .landing-trust-list {
    margin-top: 22px;
  }

  .landing-product-preview {
    min-height: 490px;
  }

  .landing-dashboard-preview {
    min-height: 455px;
  }

  .landing-preview-layout {
    min-height: 389px;
  }

  .landing-preview-content {
    padding: 23px;
  }

  .landing-preview-projects {
    margin-top: 22px;
  }

  .preview-project-art {
    height: 80px;
  }

  .landing-preview-floating-card {
    right: -10px;
    bottom: 0;
  }
}


/*
 * 1366 x 768 and similar notebook displays.
 */

@media (
  min-width: 1081px
) and (
  max-height: 820px
) {

  .landing-header .landing-nav {
    min-height: 68px;
  }

  .landing-hero {
    min-height: calc(100vh - 68px);
  }

  .landing-hero-grid {
    gap: 48px;
    padding-block: 42px 54px;
  }

  .landing-hero h1 {
    margin-top: 15px;
    margin-bottom: 18px;
    font-size: clamp(50px, 4.9vw, 68px);
  }

  .landing-hero-description {
    font-size: 15px;
    line-height: 1.62;
  }

  .landing-hero .hero-actions {
    margin-top: 23px;
  }

  .landing-trust-list {
    margin-top: 18px;
  }

  .landing-product-preview {
    min-height: 440px;
  }

  .landing-dashboard-preview {
    min-height: 420px;
  }

  .landing-preview-topbar {
    height: 58px;
  }

  .landing-preview-layout {
    min-height: 362px;
  }

  .landing-preview-sidebar {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .landing-preview-sidebar span {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .landing-preview-content {
    padding: 20px 22px;
  }

  .landing-preview-projects {
    margin-top: 18px;
  }

  .preview-project-art {
    height: 70px;
  }

  .landing-preview-floating-card {
    bottom: -5px;
  }
}


/*
 * Feature strip.
 */

.landing-features {
  padding-top: 22px;
  padding-bottom: 96px;
}

.landing-feature-card {
  position: relative;
  min-height: 194px;
  overflow: hidden;
  padding: 23px;
}

.landing-feature-card::after {
  content: "";
  position: absolute;
  width: 100px;
  height: 100px;
  top: -55px;
  right: -50px;
  border-radius: 50%;
  background: rgba(47, 140, 255, 0.1);
  filter: blur(25px);
  pointer-events: none;
}

.landing-feature-card h2 {
  margin-top: 18px;
}

.landing-feature-icon {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 10px 30px rgba(0, 0, 0, 0.12);
}


/*
 * Section rhythm.
 */

.landing-how,
.landing-showcase,
.landing-value {
  padding-top: 96px;
  padding-bottom: 96px;
}

.landing-section-heading {
  margin-bottom: 46px;
}

.landing-section-heading h2,
.landing-value-copy h2 {
  font-size: clamp(40px, 4.5vw, 58px);
}

.landing-section-heading p {
  max-width: 620px;
}


/*
 * How it works.
 */

.landing-steps {
  gap: 14px;
}

.landing-steps article {
  min-height: 218px;
  padding: 24px 22px;
}

.landing-steps article::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(
      145deg,
      rgba(74, 159, 255, 0.035),
      transparent 45%
    );
  pointer-events: none;
}

.landing-steps h3 {
  margin-top: 19px;
  margin-bottom: 8px;
}

.landing-step-icon {
  width: 42px;
  height: 42px;
}


/*
 * Showcase.
 */

.landing-showcase .landing-section-heading {
  margin-bottom: 40px;
}

.landing-showcase-grid {
  gap: 14px;
}

.landing-showcase-card {
  min-height: 285px;
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.landing-showcase-card:hover {
  transform: translateY(-5px);
  border-color: rgba(92, 169, 255, 0.28);
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.24);
}

.landing-showcase-card::after {
  content: "";
  position: absolute;
  width: 150px;
  height: 150px;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  border: 1px solid rgba(126, 198, 255, 0.08);
  border-radius: 50%;
  box-shadow:
    0 0 0 28px rgba(126, 198, 255, 0.018),
    0 0 0 56px rgba(126, 198, 255, 0.012);
}


/*
 * Value section.
 */

.landing-value-grid {
  gap: 68px;
}

.landing-value-cards {
  gap: 12px;
}

.landing-value-cards article {
  padding: 21px 22px;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease;
}

.landing-value-cards article:hover {
  transform: translateX(4px);
  border-color: rgba(92, 169, 255, 0.26);
}


/*
 * Final conversion area.
 */

.landing-final-cta {
  padding-top: 52px;
  padding-bottom: 90px;
}

.landing-final-cta-inner {
  min-height: 285px;
  padding: 48px 52px;
}

.landing-final-cta h2 {
  font-size: clamp(40px, 4.6vw, 60px);
}


/*
 * Footer refinement.
 */

.landing-footer-grid {
  gap: 60px;
  padding-top: 58px;
  padding-bottom: 44px;
}

.landing-footer-bottom {
  min-height: 64px;
}


/*
 * Tablet refinement.
 */

@media (
  min-width: 681px
) and (
  max-width: 1080px
) {

  .landing-hero-grid {
    padding-block: 70px 88px;
  }

  .landing-hero h1 {
    font-size: clamp(56px, 8vw, 78px);
  }

  .landing-product-preview {
    min-height: 500px;
  }

  .landing-features {
    padding-bottom: 90px;
  }

  .landing-how,
  .landing-showcase,
  .landing-value {
    padding-block: 90px;
  }

  .landing-steps article {
    min-height: 215px;
  }
}


/*
 * Mobile refinement.
 */

@media (max-width: 680px) {

  .landing-nav {
    min-height: 66px;
  }

  .landing-nav .button.primary {
    padding: 10px 13px;
    font-size: 12px;
  }

  .landing-hero-grid {
    padding-top: 54px;
    padding-bottom: 66px;
  }

  .landing-hero h1 {
    margin-top: 18px;
    margin-bottom: 20px;
    font-size: clamp(45px, 14vw, 62px);
    line-height: 0.96;
  }

  .landing-hero-description {
    font-size: 15px;
    line-height: 1.65;
  }

  .landing-product-preview {
    margin-top: 8px;
  }

  .landing-features {
    padding-top: 8px;
    padding-bottom: 76px;
  }

  .landing-feature-card {
    min-height: auto;
  }

  .landing-how,
  .landing-showcase,
  .landing-value {
    padding-block: 76px;
  }

  .landing-section-heading {
    margin-bottom: 36px;
  }

  .landing-steps article {
    min-height: auto;
  }

  .landing-showcase-card {
    min-height: 250px;
  }

  .landing-value-grid {
    gap: 42px;
  }

  .landing-final-cta {
    padding-top: 38px;
    padding-bottom: 72px;
  }

  .landing-final-cta-inner {
    min-height: auto;
    padding: 34px 25px;
  }

  .landing-footer-grid {
    padding-top: 50px;
    padding-bottom: 38px;
  }
}

/* =========================================================
   VAI-022H.3B — USER APPROVED REFERENCE VISUAL
   ========================================================= */

.landing-reference {
  --ref-bg: #07111f;
  --ref-bg-soft: #0b1627;
  --ref-panel: #101d30;
  --ref-panel-soft: #13243a;
  --ref-blue: #2f7cff;
  --ref-blue-strong: #1565ff;
  --ref-blue-soft: #66a3ff;
  --ref-text: #f7fbff;
  --ref-muted: #9fb0c8;
  --ref-light: #f3f6fa;
  --ref-light-text: #142033;
  --ref-light-muted: #667085;
  --ref-border: rgba(255,255,255,.08);
  --ref-shadow: 0 30px 80px rgba(0,0,0,.28);

  margin: 0;
  background:
    radial-gradient(
      circle at 80% 8%,
      rgba(47,124,255,.18),
      transparent 30%
    ),
    #07111f;
  color: var(--ref-text);
}

.landing-reference * {
  box-sizing: border-box;
}

.landing-reference a {
  color: inherit;
  text-decoration: none;
}

.reference-container {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

/* HEADER */

.reference-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(7,17,31,.88);
  border-bottom: 1px solid rgba(255,255,255,.06);
  backdrop-filter: blur(18px);
}

.reference-nav {
  min-height: 76px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 36px;
}

.reference-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  font-size: 20px;
  letter-spacing: -.03em;
}

.reference-brand-mark {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(
    145deg,
    #4d94ff,
    #1f65ff
  );
  color: white;
  box-shadow:
    0 8px 24px rgba(47,124,255,.36),
    inset 0 1px 0 rgba(255,255,255,.3);
}

.reference-menu {
  display: flex;
  justify-content: center;
  gap: 30px;
}

.reference-menu a,
.reference-login {
  color: #aebbd0;
  font-size: 14px;
  font-weight: 600;
  transition: .2s ease;
}

.reference-menu a:hover,
.reference-login:hover {
  color: white;
}

.reference-nav-actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

/* BUTTONS */

.reference-button {
  min-height: 44px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 10px;
  font-weight: 800;
  font-size: 14px;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    background .2s ease;
}

.reference-button:hover {
  transform: translateY(-2px);
}

.reference-button-primary {
  background: linear-gradient(
    135deg,
    #3b8cff,
    #216bff
  );
  color: white;
  box-shadow: 0 12px 30px rgba(31,107,255,.32);
}

.reference-button-secondary {
  background: rgba(255,255,255,.035);
  color: white;
  border: 1px solid rgba(255,255,255,.14);
}

.reference-button-large {
  min-height: 52px;
  padding: 0 26px;
}

.reference-button-white {
  background: white;
  color: #1767ef;
  min-height: 52px;
  padding: 0 28px;
  box-shadow: 0 18px 45px rgba(0,0,0,.15);
}

/* HERO */

.reference-hero {
  position: relative;
  overflow: hidden;
  padding: 86px 0 74px;
  background:
    radial-gradient(
      circle at 78% 28%,
      rgba(37,117,255,.19),
      transparent 31%
    ),
    radial-gradient(
      circle at 15% 70%,
      rgba(30,82,160,.08),
      transparent 30%
    );
}

.reference-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(
      rgba(255,255,255,.018) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.018) 1px,
      transparent 1px
    );
  background-size: 54px 54px;
  mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,.45),
    transparent 90%
  );
}

.reference-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: 54px;
  align-items: center;
}

.reference-hero-copy {
  max-width: 540px;
}

.reference-eyebrow,
.reference-light-heading > span,
.reference-dark-heading > span,
.reference-final-grid > div > span {
  display: inline-block;
  margin-bottom: 18px;
  color: #68a6ff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
}

.reference-hero h1 {
  margin: 0;
  max-width: 580px;
  font-size: clamp(48px, 5vw, 72px);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 850;
}

.reference-hero h1 span {
  display: block;
  margin-top: 8px;
  color: #63a0ff;
}

.reference-hero-description {
  max-width: 540px;
  margin: 28px 0 0;
  color: #a7b5c9;
  font-size: 18px;
  line-height: 1.68;
}

.reference-hero-actions {
  display: flex;
  gap: 12px;
  margin-top: 32px;
}

.reference-play-small {
  font-size: 11px;
}

.reference-hero-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 26px;
  color: #8292a9;
  font-size: 12px;
  font-weight: 600;
}

.reference-hero-benefits span::first-letter {
  color: #4c94ff;
}

/* PRODUCT MOCKUP */

.reference-product-shell {
  position: relative;
  perspective: 1300px;
}

.reference-product-window {
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.11);
  background: #0b1422;
  box-shadow:
    0 38px 90px rgba(0,0,0,.5),
    0 0 70px rgba(47,124,255,.10);
  transform:
    rotateY(-3deg)
    rotateX(1.5deg);
}

.reference-product-topbar {
  height: 50px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #0e1929;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.reference-product-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.reference-product-logo span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  background: #2e7fff;
  font-weight: 900;
}

.reference-window-controls {
  display: flex;
  gap: 6px;
}

.reference-window-controls i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #425169;
}

.reference-product-body {
  min-height: 360px;
  display: grid;
  grid-template-columns: 116px 1fr;
}

.reference-product-sidebar {
  padding: 22px 12px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  background: #0c1726;
  border-right: 1px solid rgba(255,255,255,.05);
}

.reference-product-sidebar span {
  padding: 9px 10px;
  color: #718197;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 700;
}

.reference-product-sidebar .is-active {
  background: rgba(47,124,255,.13);
  color: #65a3ff;
}

.reference-product-content {
  padding: 22px;
  background:
    radial-gradient(
      circle at 80% 10%,
      rgba(47,124,255,.08),
      transparent 35%
    ),
    #101b2c;
}

.reference-product-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.reference-product-heading div {
  display: grid;
  gap: 5px;
}

.reference-product-heading small {
  color: #5b85c3;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
}

.reference-product-heading strong {
  font-size: 18px;
}

.reference-product-heading > span {
  padding: 8px 11px;
  border-radius: 7px;
  background: #2b79ff;
  font-size: 9px;
  font-weight: 800;
}

.reference-project-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.reference-project-card {
  overflow: hidden;
  border-radius: 11px;
  background: #132138;
  border: 1px solid rgba(255,255,255,.07);
  box-shadow: 0 12px 32px rgba(0,0,0,.15);
}

.reference-project-card img {
  width: 100%;
  height: 96px;
  display: block;
  object-fit: cover;
}

.reference-project-card div {
  padding: 10px 11px 12px;
  display: grid;
  gap: 5px;
}

.reference-project-card strong {
  color: #f4f8ff;
  font-size: 10px;
}

.reference-project-card span {
  color: #6f83a0;
  font-size: 8px;
}

.reference-floating-status {
  position: absolute;
  right: -30px;
  bottom: 42px;
  min-width: 250px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: 13px;
  background: rgba(18,31,51,.96);
  border: 1px solid rgba(73,137,255,.25);
  box-shadow:
    0 18px 50px rgba(0,0,0,.36),
    0 0 28px rgba(47,124,255,.12);
}

.reference-floating-status > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(47,124,255,.18);
  color: #70a9ff;
}

.reference-floating-status div {
  display: grid;
  gap: 3px;
}

.reference-floating-status small {
  color: #5d91df;
  font-size: 8px;
  font-weight: 900;
}

.reference-floating-status strong {
  font-size: 10px;
}

/* FEATURES */

.reference-features {
  position: relative;
  z-index: 2;
  padding: 36px 0 46px;
  background: #091421;
  border-top: 1px solid rgba(255,255,255,.045);
  border-bottom: 1px solid rgba(255,255,255,.045);
}

.reference-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.reference-feature-grid article {
  min-height: 112px;
  padding: 10px 28px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  border-right: 1px solid rgba(255,255,255,.07);
}

.reference-feature-grid article:first-child {
  padding-left: 0;
}

.reference-feature-grid article:last-child {
  padding-right: 0;
  border-right: 0;
}

.reference-feature-icon {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: rgba(47,124,255,.11);
  color: #5999ff;
  font-size: 16px;
}

.reference-feature-grid h2 {
  margin: 0 0 8px;
  color: white;
  font-size: 15px;
  letter-spacing: -.02em;
}

.reference-feature-grid p {
  margin: 0;
  color: #71839d;
  font-size: 11px;
  line-height: 1.65;
}

/* LIGHT SECTIONS */

.reference-how,
.reference-trust {
  color: var(--ref-light-text);
  background:
    radial-gradient(
      circle at 50% 15%,
      rgba(61,127,242,.05),
      transparent 34%
    ),
    #f6f8fb;
}

.reference-how {
  padding: 90px 0 100px;
}

.reference-light-heading,
.reference-dark-heading {
  max-width: 680px;
  margin: 0 auto 58px;
  text-align: center;
}

.reference-light-heading > span {
  color: #3478dd;
  margin-bottom: 13px;
}

.reference-light-heading h2,
.reference-dark-heading h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.reference-light-heading h2 strong {
  display: block;
  color: #3579df;
}

.reference-light-heading p {
  margin: 18px auto 0;
  color: #7a8494;
  font-size: 15px;
  line-height: 1.6;
}

/* HOW */

.reference-how-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.reference-how-grid::before {
  content: "";
  position: absolute;
  top: 86px;
  left: 13%;
  right: 13%;
  border-top: 1px dashed #c5d5ec;
}

.reference-how-grid article {
  position: relative;
  z-index: 2;
  text-align: center;
}

.reference-step-visual {
  width: 170px;
  height: 170px;
  margin: 0 auto 24px;
  position: relative;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background: white;
  border: 1px solid #e0e7f0;
  box-shadow:
    0 20px 45px rgba(32,57,91,.08);
}

.reference-step-number {
  position: absolute;
  right: -9px;
  bottom: -9px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #327cf1;
  color: white;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 8px 20px rgba(50,124,241,.28);
}

.reference-step-icon {
  color: #3d83ed;
  font-size: 42px;
}

.reference-script-lines {
  width: 92px;
  padding: 18px 16px;
  display: grid;
  gap: 10px;
  border-radius: 11px;
  background: #eef4fc;
}

.reference-script-lines i {
  height: 6px;
  border-radius: 10px;
  background: #88aee6;
}

.reference-script-lines i:nth-child(2) {
  width: 72%;
}

.reference-script-lines i:nth-child(3) {
  width: 84%;
}

.reference-script-lines i:nth-child(4) {
  width: 58%;
}

.reference-step-video {
  overflow: hidden;
}

.reference-step-video img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.reference-step-video > span {
  position: absolute;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(19,104,238,.92);
  color: white;
  font-size: 13px;
  box-shadow: 0 12px 26px rgba(27,87,190,.28);
}

.reference-step-publish > span {
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #eef5ff;
  color: #337df0;
  font-size: 34px;
  font-weight: 900;
}

.reference-how-grid h3 {
  margin: 0 0 9px;
  font-size: 17px;
}

.reference-how-grid p {
  margin: 0 auto;
  max-width: 220px;
  color: #788395;
  font-size: 12px;
  line-height: 1.65;
}

/* EXAMPLES */

.reference-examples {
  padding: 92px 0 104px;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(47,124,255,.13),
      transparent 32%
    ),
    #091421;
}

.reference-dark-heading > span {
  margin-bottom: 13px;
}

.reference-dark-heading h2 {
  color: white;
}

.reference-dark-heading h2 strong {
  color: #64a2ff;
}

.reference-dark-heading p {
  margin: 18px auto 0;
  color: #8595ac;
  font-size: 15px;
}

.reference-video-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}

.reference-video-card {
  position: relative;
  min-height: 260px;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.07);
  background: #122036;
  box-shadow: 0 16px 40px rgba(0,0,0,.19);
}

.reference-video-card img {
  width: 100%;
  height: 174px;
  display: block;
  object-fit: cover;
  transition: transform .35s ease;
}

.reference-video-card:hover img {
  transform: scale(1.045);
}

.reference-video-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 174px;
  background: linear-gradient(
    to bottom,
    transparent 50%,
    rgba(7,17,31,.7)
  );
  pointer-events: none;
}

.reference-video-play {
  position: absolute;
  z-index: 2;
  top: 67px;
  left: 50%;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(28,112,245,.92);
  color: white;
  font-size: 11px;
  box-shadow: 0 9px 30px rgba(0,0,0,.3);
}

.reference-video-card div {
  padding: 16px 15px 18px;
  display: grid;
  gap: 5px;
}

.reference-video-card strong {
  font-size: 12px;
  color: white;
}

.reference-video-card small {
  color: #71839e;
  font-size: 9px;
}

/* TRUST */

.reference-trust {
  padding: 88px 0 92px;
}

.reference-trust-grid {
  max-width: 860px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.reference-trust-grid article {
  padding: 28px 26px;
  text-align: center;
  border-radius: 15px;
  background: white;
  border: 1px solid #e1e7ef;
  box-shadow: 0 12px 35px rgba(41,63,95,.06);
}

.reference-trust-grid article > span {
  display: inline-block;
  margin-bottom: 14px;
  color: #3c7fdc;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
}

.reference-trust-grid strong {
  display: block;
  font-size: 16px;
}

.reference-trust-grid p {
  margin: 8px 0 0;
  color: #788393;
  font-size: 12px;
  line-height: 1.55;
}

.reference-trust-note {
  max-width: 740px;
  margin: 26px auto 0;
  text-align: center;
  color: #8d96a4;
  font-size: 10px;
}

/* FINAL CTA */

.reference-final-cta {
  padding: 56px 0;
  background:
    linear-gradient(
      120deg,
      #1369f0,
      #3688ff
    );
}

.reference-final-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 50px;
}

.reference-final-grid > div > span {
  color: rgba(255,255,255,.78);
  margin-bottom: 12px;
}

.reference-final-grid h2 {
  margin: 0;
  max-width: 700px;
  font-size: clamp(30px, 3.6vw, 46px);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.reference-final-grid h2 strong {
  display: block;
}

.reference-final-grid p {
  margin: 15px 0 0;
  color: rgba(255,255,255,.78);
  font-size: 14px;
}

.reference-final-actions {
  display: grid;
  justify-items: center;
  gap: 8px;
}

.reference-final-actions small {
  color: rgba(255,255,255,.68);
  font-size: 10px;
}

/* FOOTER */

.reference-footer {
  padding: 58px 0 24px;
  background: #07111f;
  border-top: 1px solid rgba(255,255,255,.055);
}

.reference-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 50px;
}

.reference-footer-brand p {
  max-width: 310px;
  margin: 16px 0 0;
  color: #718198;
  font-size: 12px;
  line-height: 1.7;
}

.reference-footer-column {
  display: grid;
  align-content: start;
  gap: 10px;
}

.reference-footer-column strong {
  margin-bottom: 6px;
  color: #f4f7fb;
  font-size: 12px;
}

.reference-footer-column a {
  color: #75859b;
  font-size: 11px;
}

.reference-footer-column a:hover {
  color: white;
}

.reference-footer-bottom {
  margin-top: 44px;
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(255,255,255,.055);
  color: #56677d;
  font-size: 10px;
}

/* RESPONSIVE */

@media (max-width: 1080px) {
  .reference-nav {
    grid-template-columns: auto 1fr auto;
  }

  .reference-menu {
    gap: 18px;
  }

  .reference-hero-grid {
    grid-template-columns: 1fr;
    max-width: 820px;
  }

  .reference-hero-copy {
    max-width: 700px;
  }

  .reference-product-window {
    transform: none;
  }

  .reference-floating-status {
    right: 18px;
  }

  .reference-feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .reference-feature-grid article:nth-child(2) {
    border-right: 0;
  }

  .reference-feature-grid article:nth-child(n+3) {
    margin-top: 24px;
  }

  .reference-video-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .reference-footer-grid {
    grid-template-columns: 2fr 1fr 1fr;
  }

  .reference-footer-column:last-child {
    grid-column: 2;
  }
}

@media (max-width: 820px) {
  .reference-menu {
    display: none;
  }

  .reference-nav {
    grid-template-columns: 1fr auto;
  }

  .reference-hero {
    padding-top: 60px;
  }

  .reference-hero-grid {
    gap: 46px;
  }

  .reference-hero h1 {
    font-size: clamp(44px, 10vw, 62px);
  }

  .reference-how-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 46px 24px;
  }

  .reference-how-grid::before {
    display: none;
  }

  .reference-video-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .reference-trust-grid {
    grid-template-columns: 1fr;
    max-width: 520px;
  }

  .reference-final-grid {
    grid-template-columns: 1fr;
  }

  .reference-final-actions {
    justify-items: start;
  }
}

@media (max-width: 620px) {
  .reference-container {
    width: min(100% - 28px, 1180px);
  }

  .reference-header {
    position: relative;
  }

  .reference-nav {
    min-height: 68px;
  }

  .reference-nav-actions .reference-login {
    display: none;
  }

  .reference-button {
    padding-left: 16px;
    padding-right: 16px;
  }

  .reference-hero {
    padding: 52px 0 46px;
  }

  .reference-hero h1 {
    font-size: 43px;
  }

  .reference-hero-description {
    font-size: 16px;
  }

  .reference-hero-actions {
    flex-direction: column;
  }

  .reference-hero-actions .reference-button {
    width: 100%;
  }

  .reference-hero-benefits {
    display: grid;
    gap: 8px;
  }

  .reference-product-body {
    grid-template-columns: 1fr;
  }

  .reference-product-sidebar {
    display: none;
  }

  .reference-product-content {
    padding: 14px;
  }

  .reference-project-card img {
    height: 80px;
  }

  .reference-floating-status {
    position: relative;
    right: auto;
    bottom: auto;
    margin: 12px 0 0;
  }

  .reference-feature-grid {
    grid-template-columns: 1fr;
  }

  .reference-feature-grid article,
  .reference-feature-grid article:first-child,
  .reference-feature-grid article:last-child {
    padding: 20px 0;
    margin: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
  }

  .reference-feature-grid article:last-child {
    border-bottom: 0;
  }

  .reference-how,
  .reference-trust,
  .reference-examples {
    padding-top: 70px;
    padding-bottom: 74px;
  }

  .reference-how-grid {
    grid-template-columns: 1fr;
  }

  .reference-video-grid {
    grid-template-columns: 1fr;
  }

  .reference-video-card img,
  .reference-video-card::after {
    height: 220px;
  }

  .reference-video-play {
    top: 88px;
  }

  .reference-final-cta {
    padding: 48px 0;
  }

  .reference-footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 34px 22px;
  }

  .reference-footer-brand {
    grid-column: 1 / -1;
  }

  .reference-footer-column:last-child {
    grid-column: auto;
  }

  .reference-footer-bottom {
    flex-direction: column;
  }
}

/* =========================================================
   VAI-022H.4A — VISUAL POLISH PASS 1
   Desktop convergence against approved reference
   ========================================================= */

@media (min-width: 1081px) {

  /*
   * HEADER
   */

  .landing-reference .reference-header {
    background: rgba(5, 15, 29, .96);
    border-bottom-color: rgba(255,255,255,.055);
    box-shadow: 0 8px 30px rgba(0,0,0,.08);
  }

  .landing-reference .reference-nav {
    min-height: 70px;
  }

  /*
   * HERO
   */

  .landing-reference .reference-hero {
    padding-top: 72px;
    padding-bottom: 66px;
  }

  .landing-reference .reference-hero-grid {
    grid-template-columns:
      minmax(0, 1.02fr)
      minmax(0, .98fr);

    gap: 48px;
  }

  .landing-reference .reference-hero-copy {
    max-width: 610px;
  }

  .landing-reference .reference-eyebrow {
    margin-bottom: 16px;
  }

  .landing-reference .reference-hero h1 {
    max-width: 610px;
    font-size: clamp(54px, 4.55vw, 68px);
    line-height: .99;
    letter-spacing: -.052em;
  }

  .landing-reference .reference-hero h1 span {
    white-space: nowrap;
    margin-top: 7px;
  }

  .landing-reference .reference-hero-description {
    max-width: 570px;
    margin-top: 25px;
    font-size: 16px;
    line-height: 1.68;
  }

  .landing-reference .reference-hero-actions {
    margin-top: 27px;
  }

  .landing-reference .reference-hero-benefits {
    margin-top: 22px;
    gap: 16px;
    font-size: 11px;
  }

  /*
   * PRODUCT MOCKUP
   */

  .landing-reference .reference-product-shell {
    width: 100%;
    max-width: 590px;
    justify-self: end;
  }

  .landing-reference .reference-product-window {
    transform:
      rotateY(-2deg)
      rotateX(1deg);
  }

  .landing-reference .reference-product-body {
    min-height: 350px;
  }

  .landing-reference .reference-product-content {
    padding: 19px;
  }

  .landing-reference .reference-project-card img {
    height: 92px;
  }

  .landing-reference .reference-floating-status {
    right: -20px;
    bottom: 36px;
  }

  /*
   * BENEFITS STRIP
   */

  .landing-reference .reference-features {
    padding-top: 30px;
    padding-bottom: 32px;
  }

  .landing-reference .reference-feature-grid article {
    min-height: 100px;
    padding-top: 14px;
    padding-bottom: 14px;
    gap: 14px;
  }

  .landing-reference .reference-feature-icon {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    font-size: 17px;
  }

  .landing-reference .reference-feature-grid h2 {
    margin-bottom: 7px;
    font-size: 14px;
  }

  .landing-reference .reference-feature-grid p {
    font-size: 10px;
    line-height: 1.6;
  }

  /*
   * HOW IT WORKS
   */

  .landing-reference .reference-how {
    padding-top: 78px;
    padding-bottom: 88px;
  }

  .landing-reference .reference-light-heading {
    margin-bottom: 48px;
  }

  .landing-reference .reference-how-grid {
    gap: 26px;
  }

  .landing-reference .reference-how-grid::before {
    top: 73px;
  }

  .landing-reference .reference-step-visual {
    width: 146px;
    height: 146px;
    margin-bottom: 21px;
    border-radius: 20px;
  }

  .landing-reference .reference-step-number {
    width: 31px;
    height: 31px;
  }

  .landing-reference .reference-step-icon {
    font-size: 36px;
  }

  .landing-reference .reference-script-lines {
    width: 82px;
    padding: 16px 14px;
  }

  .landing-reference .reference-step-publish > span {
    width: 62px;
    height: 62px;
    font-size: 29px;
  }

  .landing-reference .reference-how-grid h3 {
    font-size: 16px;
  }

  /*
   * EXAMPLES
   */

  .landing-reference .reference-examples {
    padding-top: 78px;
    padding-bottom: 88px;
  }

  .landing-reference .reference-dark-heading {
    margin-bottom: 45px;
  }

  .landing-reference .reference-video-grid {
    gap: 12px;
  }

  .landing-reference .reference-video-card {
    min-height: 244px;
  }

  .landing-reference .reference-video-card img,
  .landing-reference .reference-video-card::after {
    height: 164px;
  }

  .landing-reference .reference-video-play {
    top: 62px;
  }

  .landing-reference .reference-video-card div {
    padding-top: 14px;
    padding-bottom: 15px;
  }
}

/*
 * Keep the premium navy header consistent while scrolling.
 */

.landing-reference .reference-header {
  background-color: #07111f;
}

/*
 * More natural transition from dark features into light workflow.
 */

.landing-reference .reference-features {
  box-shadow:
    inset 0 -1px 0 rgba(255,255,255,.03);
}

.landing-reference .reference-how {
  border-top: 0;
}

/*
 * Mobile/tablet must not inherit desktop nowrap.
 */

@media (max-width: 1080px) {
  .landing-reference .reference-hero h1 span {
    white-space: normal;
  }
}


/* ==========================================================
   VAI-023B — AVATAR STUDIO
   ========================================================== */

.avatars-dashboard {
  min-width: 0;
}

.avatars-page-head {
  align-items: flex-end;
  gap: 24px;
}

.avatars-workspace-chip {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 180px;
  padding: 12px 16px;
  border: 1px solid rgba(132, 159, 191, 0.18);
  border-radius: 14px;
  background:
    linear-gradient(
      180deg,
      rgba(18, 38, 66, 0.84),
      rgba(9, 23, 42, 0.9)
    );
}

.avatars-workspace-chip span {
  color: var(--muted, #8ea1b8);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.avatars-workspace-chip strong {
  color: #f7fbff;
  font-size: 0.95rem;
}

.avatars-premium-grid {
  display: grid;
  grid-template-columns:
    minmax(320px, 0.85fr)
    minmax(0, 1.4fr);
  gap: 22px;
  align-items: start;
}

.avatar-create-panel,
.avatar-library-panel {
  overflow: hidden;
}

.avatar-create-intro {
  margin-bottom: 22px;
  line-height: 1.65;
}

.avatar-upload-form {
  display: grid;
  gap: 16px;
}

.avatar-field {
  display: grid;
  gap: 8px;
}

.avatar-field > span {
  color: #dce8f7;
  font-size: 0.82rem;
  font-weight: 700;
}

.avatar-field input {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  padding: 0 14px;
  border: 1px solid rgba(137, 166, 201, 0.2);
  border-radius: 12px;
  outline: none;
  background: rgba(3, 14, 27, 0.74);
  color: #f7fbff;
  font: inherit;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    background 160ms ease;
}

.avatar-field input:focus {
  border-color: rgba(45, 143, 255, 0.82);
  background: rgba(4, 19, 37, 0.9);
  box-shadow: 0 0 0 3px rgba(42, 135, 255, 0.12);
}

.avatar-field input::placeholder {
  color: #687d95;
}

.avatar-dropzone {
  position: relative;
  min-height: 300px;
  display: grid;
  place-items: center;
  overflow: hidden;
  cursor: pointer;
  border: 1px dashed rgba(83, 157, 255, 0.46);
  border-radius: 18px;
  background:
    radial-gradient(
      circle at 50% 20%,
      rgba(33, 122, 255, 0.12),
      transparent 42%
    ),
    rgba(3, 15, 29, 0.74);
  transition:
    border-color 160ms ease,
    transform 160ms ease,
    background 160ms ease;
}

.avatar-dropzone:hover {
  transform: translateY(-1px);
  border-color: rgba(78, 166, 255, 0.88);
  background:
    radial-gradient(
      circle at 50% 20%,
      rgba(33, 122, 255, 0.18),
      transparent 45%
    ),
    rgba(4, 19, 37, 0.82);
}

.avatar-dropzone input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.avatar-preview-empty {
  display: grid;
  justify-items: center;
  gap: 9px;
  padding: 28px;
  text-align: center;
}

.avatar-preview-empty strong {
  color: #f7fbff;
  font-size: 1rem;
}

.avatar-preview-empty span {
  color: #8195ac;
  font-size: 0.82rem;
}

.avatar-upload-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  margin-bottom: 4px;
  border: 1px solid rgba(83, 157, 255, 0.32);
  border-radius: 15px;
  background: rgba(30, 112, 255, 0.12);
  color: #55a2ff;
  font-size: 1.45rem;
  font-weight: 800;
}

.avatar-preview-image {
  width: 100%;
  height: 100%;
  min-height: 300px;
  max-height: 430px;
  object-fit: cover;
}

.avatar-upload-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.avatar-upload-notes span {
  padding: 6px 9px;
  border: 1px solid rgba(113, 151, 190, 0.13);
  border-radius: 999px;
  background: rgba(8, 27, 47, 0.72);
  color: #91a7bd;
  font-size: 0.72rem;
}

.avatar-form-message {
  min-height: 20px;
  margin: 0;
}

.avatar-form-message[data-type="success"] {
  color: #69d39a;
}

.avatar-form-message[data-type="processing"] {
  color: #69aefd;
}

.avatar-form-message[data-type="error"] {
  color: #ff8585;
}

.avatar-create-button {
  min-height: 50px;
}

.avatar-refresh-button {
  min-height: 38px;
  padding: 0 14px;
}

.avatar-library-grid {
  display: grid;
  grid-template-columns:
    repeat(
      auto-fill,
      minmax(190px, 1fr)
    );
  gap: 16px;
  margin-top: 20px;
}

.avatar-library-card {
  overflow: hidden;
  border: 1px solid rgba(126, 158, 193, 0.15);
  border-radius: 16px;
  background:
    linear-gradient(
      180deg,
      rgba(12, 31, 53, 0.94),
      rgba(6, 20, 37, 0.98)
    );
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.15);
}

.avatar-card-media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 50% 30%,
      rgba(45, 126, 255, 0.18),
      transparent 45%
    ),
    #071729;
}

.avatar-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.avatar-card-placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: rgba(101, 164, 255, 0.58);
  font-size: 2.6rem;
}

.avatar-status-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 5px 8px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 999px;
  backdrop-filter: blur(10px);
  background: rgba(3, 14, 26, 0.78);
  color: #e7f1fc;
  font-size: 0.68rem;
  font-weight: 800;
}

.avatar-status-ready {
  color: #75e0a7;
}

.avatar-status-processing,
.avatar-status-pending {
  color: #76b4ff;
}

.avatar-status-failed {
  color: #ff8989;
}

.avatar-card-body {
  display: grid;
  gap: 7px;
  padding: 14px;
}

.avatar-card-body strong {
  color: #f5f9ff;
  font-size: 0.94rem;
}

.avatar-card-body p {
  min-height: 36px;
  margin: 0;
  color: #8da2b8;
  font-size: 0.78rem;
  line-height: 1.45;
}

.avatar-card-body small {
  color: #627b96;
  font-size: 0.68rem;
}

.avatar-empty-state,
.avatar-library-loading {
  grid-column: 1 / -1;
  min-height: 320px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 9px;
  padding: 30px;
  border: 1px dashed rgba(124, 158, 195, 0.16);
  border-radius: 18px;
  color: #8398af;
  text-align: center;
}

.avatar-empty-state h3 {
  margin: 0;
  color: #e9f2fd;
}

.avatar-empty-state p {
  max-width: 330px;
  margin: 0;
  color: #7e93aa;
  line-height: 1.55;
}

.avatar-empty-orb {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin-bottom: 4px;
  border: 1px solid rgba(68, 152, 255, 0.22);
  border-radius: 17px;
  background: rgba(29, 110, 255, 0.1);
  color: #59a5ff;
  font-size: 1.55rem;
}

@media (max-width: 980px) {
  .avatars-premium-grid {
    grid-template-columns: 1fr;
  }

  .avatars-page-head {
    align-items: stretch;
  }

  .avatars-workspace-chip {
    width: fit-content;
  }
}

@media (max-width: 640px) {
  .avatar-library-grid {
    grid-template-columns: 1fr;
  }

  .avatar-dropzone,
  .avatar-preview-image {
    min-height: 250px;
  }
}


/* VAI-023C.2 — processing indicator visibility contract */
.processing-indicator[hidden] {
  display: none;
}


/* =========================================================
   VAI-024K — PREMIUM WALLET TOPUP PIX
   ========================================================= */

.wallet-balance-card {
  position: relative;
  overflow: hidden;
}

.wallet-balance-card::after {
  content: "";
  position: absolute;
  width: 150px;
  height: 150px;
  right: -70px;
  top: -70px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(54, 135, 255, .20),
      transparent 70%
    );
  pointer-events: none;
}

.wallet-balance-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.wallet-balance-badge {
  padding: 5px 8px;
  border: 1px solid rgba(90, 154, 255, .25);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  opacity: .72;
}

.wallet-topup-open {
  width: 100%;
  margin-top: 16px;
  position: relative;
  z-index: 1;
}

.wallet-topup {
  position: relative;
  overflow: hidden;
  border:
    1px solid
    rgba(72, 137, 255, .22);
}

.wallet-topup[hidden] {
  display: none !important;
}

.wallet-topup::before {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  right: -180px;
  top: -190px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(37, 116, 255, .17),
      transparent 68%
    );
  pointer-events: none;
}

.wallet-topup-head {
  align-items: flex-start;
}

.wallet-topup-head p {
  max-width: 650px;
  margin: 8px 0 0;
  opacity: .66;
  line-height: 1.55;
}

.wallet-topup-close {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
  color: inherit;
  font-size: 23px;
  cursor: pointer;
}

.wallet-topup-layout {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(280px, .72fr);
  gap: 28px;
  margin-top: 24px;
}

.wallet-topup-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.wallet-topup-form > label {
  font-size: 13px;
  font-weight: 700;
}

.wallet-topup-amount {
  display: flex;
  align-items: center;
  min-height: 68px;
  padding: 0 18px;
  border:
    1px solid
    rgba(255,255,255,.09);
  border-radius: 16px;
  background:
    rgba(255,255,255,.035);
}

.wallet-topup-amount:focus-within {
  border-color:
    rgba(69, 137, 255, .65);
  box-shadow:
    0 0 0 3px
    rgba(47, 119, 255, .10);
}

.wallet-topup-amount span {
  font-size: 16px;
  font-weight: 800;
  opacity: .58;
}

.wallet-topup-amount input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  padding: 0 12px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 30px;
  font-weight: 800;
}

.wallet-topup-suggestions {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.wallet-topup-suggestions button {
  min-height: 42px;
  border:
    1px solid
    rgba(255,255,255,.08);
  border-radius: 11px;
  background:
    rgba(255,255,255,.035);
  color: inherit;
  font-weight: 700;
  cursor: pointer;
}

.wallet-topup-suggestions button:hover {
  border-color:
    rgba(66, 133, 255, .42);
  background:
    rgba(55, 123, 255, .09);
}

.wallet-topup-submit {
  min-height: 48px;
}

.wallet-topup-security {
  margin: 0;
  text-align: center;
  font-size: 11px;
  line-height: 1.5;
  opacity: .52;
}

.wallet-topup-status {
  min-height: 20px;
  font-size: 12px;
  font-weight: 700;
}

.wallet-topup-status[data-type="success"] {
  color: #77e6a6;
}

.wallet-topup-status[data-type="error"] {
  color: #ff8b97;
}

.wallet-topup-pix {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 330px;
  padding: 22px;
  border:
    1px solid
    rgba(255,255,255,.08);
  border-radius: 18px;
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.045),
      rgba(255,255,255,.015)
    );
  text-align: center;
}

.wallet-topup-pix[hidden] {
  display: none !important;
}

.wallet-topup-pix-label {
  margin-bottom: 12px;
  padding: 5px 9px;
  border-radius: 999px;
  background:
    rgba(52, 200, 126, .10);
  color: #78e6aa;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}

.wallet-topup-qr-frame {
  display: grid;
  place-items: center;
  width: 172px;
  height: 172px;
  margin-bottom: 16px;
  padding: 10px;
  border-radius: 16px;
  background: #fff;
}

.wallet-topup-qr-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.wallet-topup-pix p {
  margin: 6px 0 14px;
  font-size: 12px;
  opacity: .58;
}

.wallet-topup-copy {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    auto;
  gap: 8px;
  width: 100%;
}

.wallet-topup-copy input {
  min-width: 0;
  border:
    1px solid
    rgba(255,255,255,.08);
  border-radius: 10px;
  padding: 0 12px;
  background:
    rgba(0,0,0,.14);
  color: inherit;
  font-size: 11px;
}

@media (max-width: 820px) {
  .wallet-topup-layout {
    grid-template-columns: 1fr;
  }

  .wallet-topup-suggestions {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .wallet-topup-copy {
    grid-template-columns: 1fr;
  }

  .wallet-topup-copy input {
    min-height: 42px;
  }
}

/* CRED-010P — edição inline de roteiro */
.script-card-actions{
  gap:10px;
  flex-wrap:wrap;
}

.script-inline-editor{
  margin-top:20px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#06111c;
  display:grid;
  gap:16px;
}

.script-editor-field{
  display:grid;
  gap:8px;
}

.script-editor-field>span{
  color:#a9bacb;
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.script-editor-field input,
.script-editor-field textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-radius:10px;
  background:#081522;
  color:#eaf3fb;
  font:inherit;
  padding:12px 14px;
  outline:none;
}

.script-editor-field textarea{
  min-height:260px;
  resize:vertical;
  line-height:1.6;
  white-space:pre-wrap;
}

.script-editor-field input:focus,
.script-editor-field textarea:focus{
  border-color:#2f91ff;
  box-shadow:0 0 0 3px rgba(47,145,255,.12);
}

.script-editor-message{
  min-height:18px;
  color:#9fb2c4;
  font-size:12px;
}

.script-editor-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

@media(max-width:700px){
  .script-editor-actions{
    flex-direction:column-reverse;
  }

  .script-editor-actions .button{
    width:100%;
  }
}


/* =========================================================
   Meus vídeos
   ========================================================= */

.videos-dashboard {
  min-width: 0;
}

.videos-page-head {
  align-items: center;
}

.videos-summary {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(120px, 180px) auto;
  gap: 14px;
  align-items: center;
  margin: 22px 0 8px;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.035);
}

.videos-summary div {
  display: grid;
  gap: 5px;
}

.videos-summary span {
  color: var(--muted, #8ea0b8);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.videos-summary strong {
  font-size: 1rem;
}

.videos-summary button {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.055);
  color: inherit;
  cursor: pointer;
}

.video-library-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 22px;
  margin-top: 20px;
}

.video-library-card {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 22px;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.055),
      rgba(255, 255, 255, 0.025)
    );
  box-shadow:
    0 20px 55px rgba(0, 0, 0, 0.18);
}

.video-library-preview {
  display: grid;
  place-items: center;
  min-height: 340px;
  padding: 18px;
  background:
    radial-gradient(
      circle at 50% 20%,
      rgba(41, 121, 255, 0.14),
      transparent 55%
    ),
    #050b14;
}

.video-library-preview video {
  display: block;
  width: auto;
  max-width: 100%;
  height: min(52vh, 500px);
  max-height: 500px;
  border-radius: 14px;
  background: #000;
  box-shadow:
    0 14px 38px rgba(0, 0, 0, 0.32);
}

.video-library-placeholder {
  display: grid;
  place-items: center;
  gap: 12px;
  min-height: 250px;
  color: #8ea0b8;
}

.video-library-placeholder > span {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  font-size: 1.4rem;
}

.video-library-body {
  padding: 18px;
}

.video-library-card-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}

.video-library-project-label {
  display: block;
  margin-bottom: 5px;
  color: #7f91aa;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.video-library-card h2 {
  margin: 0;
  font-size: 1.05rem;
}

.video-status-badge {
  flex: 0 0 auto;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
  color: #aebdd0;
  font-size: 0.72rem;
  font-weight: 700;
}

.video-status-badge[data-status="completed"] {
  background: rgba(30, 201, 125, 0.12);
  color: #66e5aa;
}

.video-status-badge[data-status="failed"] {
  background: rgba(255, 79, 94, 0.12);
  color: #ff8791;
}

.video-status-badge[data-status="processing"],
.video-status-badge[data-status="pending"] {
  background: rgba(255, 184, 77, 0.12);
  color: #ffc66d;
}

.video-library-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 12px;
  color: #8294aa;
  font-size: 0.8rem;
}

.video-library-actions {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}

.video-action-primary,
.video-action-secondary {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 40px;
  padding: 0 15px;
  border-radius: 11px;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.video-action-primary {
  border: 1px solid transparent;
  background: #f4f7fb;
  color: #07111f;
}

.video-action-secondary {
  border: 1px solid rgba(255, 255, 255, 0.11);
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
}

.video-library-error {
  margin: 12px 0 0;
  color: #ff8791;
  font-size: 0.84rem;
}

.video-library-waiting {
  color: #8ea0b8;
  font-size: 0.84rem;
}

.video-library-empty,
.video-library-loading {
  grid-column: 1 / -1;
  padding: 60px 24px;
  border: 1px dashed rgba(255, 255, 255, 0.11);
  border-radius: 20px;
  text-align: center;
  color: #8ea0b8;
}

.video-library-empty h2 {
  margin: 10px 0 7px;
  color: #edf4ff;
}

.video-library-empty p {
  max-width: 520px;
  margin: 0 auto 22px;
}

.video-library-empty-icon {
  display: inline-grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.055);
  font-size: 1.3rem;
}

@media (max-width: 760px) {
  .videos-summary {
    grid-template-columns: 1fr 1fr;
  }

  .videos-summary button {
    grid-column: 1 / -1;
  }

  .video-library-grid {
    grid-template-columns: 1fr;
  }

  .video-library-preview {
    min-height: 280px;
  }

  .video-library-preview video {
    height: min(58vh, 460px);
  }

  .video-library-actions {
    flex-direction: column;
  }
}


/* =========================================================
   CRED-012O — VIDEO FROM IDEA STUDIO
   ========================================================= */

.idea-video-dashboard {
  max-width: 1500px;
  margin: 0 auto;
}

.idea-video-head {
  display: flex;
  justify-content: space-between;
  gap: 32px;
  align-items: flex-start;
  margin-bottom: 34px;
}

.idea-video-head h1 {
  max-width: 760px;
  margin: 8px 0 12px;
  font-size: clamp(36px, 5vw, 64px);
  line-height: .98;
  letter-spacing: -.045em;
}

.idea-video-head h1 span {
  display: block;
  background: linear-gradient(
    90deg,
    #7dd3fc,
    #a5b4fc
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.idea-video-head > div:first-child > p {
  max-width: 650px;
  margin: 0;
  color: var(--muted, #94a3b8);
  font-size: 16px;
  line-height: 1.7;
}

.idea-video-ai-badge {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 190px;
  padding: 13px 16px;
  border: 1px solid rgba(125, 211, 252, .16);
  border-radius: 18px;
  background: rgba(15, 23, 42, .55);
  box-shadow: 0 18px 60px rgba(0, 0, 0, .18);
}

.idea-video-ai-orb {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(
    135deg,
    #0ea5e9,
    #6366f1
  );
  box-shadow: 0 8px 28px rgba(14, 165, 233, .3);
}

.idea-video-ai-badge small,
.idea-video-ai-badge strong {
  display: block;
}

.idea-video-ai-badge small {
  color: #64748b;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.idea-video-ai-badge strong {
  margin-top: 2px;
  color: #e2e8f0;
}

.idea-video-layout {
  display: grid;
  grid-template-columns:
    minmax(0, 1.3fr)
    minmax(340px, .7fr);
  gap: 24px;
  align-items: stretch;
}

.idea-video-creator,
.idea-video-preview-panel {
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 26px;
  background:
    linear-gradient(
      145deg,
      rgba(15, 23, 42, .9),
      rgba(8, 15, 28, .92)
    );
  box-shadow: 0 28px 80px rgba(0, 0, 0, .2);
}

.idea-video-creator {
  padding: 30px;
}

.idea-video-preview-panel {
  padding: 24px;
}

.idea-video-creator-head,
.idea-video-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}

.idea-video-creator-head > div,
.idea-video-preview-head > div {
  display: flex;
  align-items: center;
  gap: 12px;
}

.idea-video-creator-head h2,
.idea-video-preview-head h2 {
  margin: 0;
  font-size: 20px;
}

.idea-video-step {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid rgba(125, 211, 252, .2);
  border-radius: 11px;
  color: #7dd3fc;
  background: rgba(14, 165, 233, .08);
  font-size: 12px;
  font-weight: 800;
}

.idea-video-model {
  padding: 7px 10px;
  border-radius: 999px;
  color: #7dd3fc;
  background: rgba(14, 165, 233, .08);
  font-size: 11px;
  font-weight: 700;
}

.idea-video-prompt-wrap {
  display: block;
  overflow: hidden;
  border: 1px solid rgba(125, 211, 252, .18);
  border-radius: 20px;
  background: rgba(2, 8, 23, .5);
  transition:
    border-color .2s ease,
    box-shadow .2s ease;
}

.idea-video-prompt-wrap:focus-within {
  border-color: rgba(56, 189, 248, .55);
  box-shadow:
    0 0 0 4px rgba(14, 165, 233, .08),
    0 18px 60px rgba(2, 132, 199, .08);
}

#ideaVideoPrompt {
  box-sizing: border-box;
  width: 100%;
  min-height: 210px;
  resize: vertical;
  padding: 22px;
  border: 0;
  outline: 0;
  color: #f8fafc;
  background: transparent;
  font: inherit;
  font-size: 16px;
  line-height: 1.7;
}

#ideaVideoPrompt::placeholder {
  color: #526078;
}

.idea-video-prompt-footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 18px;
  border-top: 1px solid rgba(148, 163, 184, .08);
  color: #64748b;
  font-size: 12px;
}

.idea-video-prompt-footer span:first-child {
  color: #7dd3fc;
}

.idea-video-examples {
  margin-top: 20px;
}

.idea-video-examples > span,
.idea-video-option-label {
  display: block;
  margin-bottom: 10px;
  color: #94a3b8;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.idea-video-examples > div {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.idea-video-examples button {
  padding: 9px 12px;
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 999px;
  color: #cbd5e1;
  background: rgba(15, 23, 42, .65);
  cursor: pointer;
}

.idea-video-examples button:hover {
  border-color: rgba(125, 211, 252, .35);
  color: #f8fafc;
}

.idea-video-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 28px;
}

.idea-video-format-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.idea-video-format-group button,
.idea-video-quality-card {
  min-height: 74px;
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 16px;
  background: rgba(2, 8, 23, .36);
}

.idea-video-format-group button {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
  padding: 12px;
  color: #cbd5e1;
  text-align: left;
  cursor: pointer;
}

.idea-video-format-group button.selected {
  border-color: rgba(56, 189, 248, .55);
  background: rgba(14, 165, 233, .08);
  box-shadow: inset 0 0 0 1px rgba(56, 189, 248, .08);
}

.idea-video-format-group strong {
  align-self: end;
  font-size: 13px;
}

.idea-video-format-group small {
  align-self: start;
  color: #64748b;
}

.format-icon {
  grid-row: 1 / 3;
  display: block;
  border: 1px solid #7dd3fc;
  border-radius: 3px;
}

.format-icon.portrait {
  width: 13px;
  height: 22px;
}

.format-icon.landscape {
  width: 22px;
  height: 13px;
}

.idea-video-quality-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 15px;
}

.idea-video-quality-card > span:first-child {
  color: #7dd3fc;
  font-size: 20px;
}

.idea-video-quality-card div {
  flex: 1;
}

.idea-video-quality-card strong,
.idea-video-quality-card small {
  display: block;
}

.idea-video-quality-card strong {
  color: #e2e8f0;
  font-size: 13px;
}

.idea-video-quality-card small {
  margin-top: 3px;
  color: #64748b;
}

.idea-video-check {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  color: #04111d;
  background: #7dd3fc;
  font-size: 12px;
  font-weight: 900;
}

.idea-video-submit-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid rgba(148, 163, 184, .1);
}

.idea-video-submit-note {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 390px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.5;
}

.idea-video-submit-note span {
  color: #7dd3fc;
}

.idea-video-submit-note p {
  margin: 0;
}

.idea-video-generate {
  display: flex;
  min-width: 190px;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 15px 18px;
  border: 0;
  border-radius: 15px;
  color: #04111d;
  background: linear-gradient(
    90deg,
    #38bdf8,
    #818cf8
  );
  box-shadow: 0 15px 38px rgba(14, 165, 233, .22);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

.idea-video-generate:hover {
  transform: translateY(-1px);
}

.idea-video-preview-head > span {
  color: #64748b;
  font-size: 11px;
}

.idea-video-preview-stage {
  position: relative;
  display: grid;
  min-height: 460px;
  overflow: hidden;
  place-items: center;
  border: 1px solid rgba(148, 163, 184, .1);
  border-radius: 22px;
  background:
    radial-gradient(
      circle at 50% 40%,
      rgba(14, 165, 233, .12),
      transparent 38%
    ),
    #030a14;
}

.idea-video-preview-stage::before {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(
      rgba(148, 163, 184, .025) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(148, 163, 184, .025) 1px,
      transparent 1px
    );
  background-size: 28px 28px;
  content: "";
}

.idea-video-preview-empty {
  position: relative;
  z-index: 2;
  max-width: 270px;
  padding: 30px;
  text-align: center;
}

.idea-video-preview-icon {
  display: grid;
  width: 78px;
  height: 78px;
  margin: 0 auto 22px;
  place-items: center;
  border: 1px solid rgba(125, 211, 252, .22);
  border-radius: 24px;
  background: rgba(14, 165, 233, .08);
  box-shadow:
    0 0 50px rgba(14, 165, 233, .1);
}

.idea-video-preview-icon span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  color: #07111f;
  background: linear-gradient(
    135deg,
    #7dd3fc,
    #818cf8
  );
}

.idea-video-preview-empty strong {
  display: block;
  color: #e2e8f0;
  font-size: 16px;
}

.idea-video-preview-empty p {
  margin: 9px 0 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.6;
}

.idea-video-preview-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}

.idea-video-preview-features > div {
  display: flex;
  gap: 10px;
  padding: 13px;
  border: 1px solid rgba(148, 163, 184, .08);
  border-radius: 14px;
  background: rgba(2, 8, 23, .3);
}

.idea-video-preview-features > div > span {
  color: #7dd3fc;
}

.idea-video-preview-features p {
  margin: 0;
}

.idea-video-preview-features strong,
.idea-video-preview-features small {
  display: block;
}

.idea-video-preview-features strong {
  color: #cbd5e1;
  font-size: 11px;
}

.idea-video-preview-features small {
  margin-top: 3px;
  color: #526078;
  font-size: 10px;
}

@media (max-width: 1100px) {
  .idea-video-layout {
    grid-template-columns: 1fr;
  }

  .idea-video-preview-stage {
    min-height: 360px;
  }
}

@media (max-width: 720px) {
  .idea-video-head {
    display: block;
  }

  .idea-video-ai-badge {
    width: fit-content;
    margin-top: 20px;
  }

  .idea-video-creator {
    padding: 20px;
  }

  .idea-video-options,
  .idea-video-preview-features {
    grid-template-columns: 1fr;
  }

  .idea-video-submit-row {
    align-items: stretch;
    flex-direction: column;
  }

  .idea-video-generate {
    width: 100%;
  }

  .idea-video-prompt-footer {
    flex-direction: column;
  }
}

/* CRED-012W-F1 PREMIUM DURATION */

.idea-video-duration-section {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(103, 168, 255, 0.12);
}

.idea-video-duration-section .idea-video-field-label {
  display: block;
  margin-bottom: 11px;
  color: #dcecff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.idea-video-duration-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.idea-video-duration-option {
  position: relative;
  min-width: 0;
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid rgba(113, 157, 218, 0.22);
  border-radius: 14px;
  background:
    linear-gradient(
      145deg,
      rgba(14, 30, 51, 0.88),
      rgba(8, 20, 37, 0.96)
    );
  color: #eaf5ff;
  text-align: left;
  cursor: pointer;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease,
    background 160ms ease;
}

.idea-video-duration-option:hover {
  border-color: rgba(68, 196, 255, 0.58);
  transform: translateY(-1px);
  background:
    linear-gradient(
      145deg,
      rgba(17, 42, 70, 0.96),
      rgba(8, 24, 43, 0.98)
    );
}

.idea-video-duration-option.selected {
  border-color: #22c7ff;
  background:
    radial-gradient(
      circle at 18% 30%,
      rgba(28, 178, 255, 0.17),
      transparent 48%
    ),
    linear-gradient(
      145deg,
      rgba(12, 47, 77, 0.98),
      rgba(7, 27, 48, 0.98)
    );
  box-shadow:
    0 0 0 1px rgba(34, 199, 255, 0.18),
    0 0 22px rgba(0, 174, 255, 0.18),
    inset 0 0 20px rgba(40, 180, 255, 0.05);
}

.idea-video-duration-icon {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(110, 195, 255, 0.3);
  border-radius: 10px;
  color: #9bdcff;
  background: rgba(31, 112, 168, 0.1);
  font-size: 22px;
}

.idea-video-duration-option.selected
.idea-video-duration-icon {
  border-color: rgba(63, 207, 255, 0.72);
  color: #dff7ff;
  background: rgba(29, 177, 238, 0.16);
}

.idea-video-duration-copy {
  min-width: 0;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4px;
}

.idea-video-duration-copy strong {
  color: #f4f9ff;
  font-size: 13px;
  font-weight: 800;
}

.idea-video-duration-copy small {
  overflow: hidden;
  color: #7892b2;
  font-size: 10px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idea-video-duration-option.selected
.idea-video-duration-copy small {
  color: #67d7ff;
}

.idea-video-duration-check {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: transparent;
  color: transparent;
  font-size: 11px;
  font-weight: 900;
}

.idea-video-duration-option.selected
.idea-video-duration-check {
  background:
    linear-gradient(
      135deg,
      #23c9ff,
      #5aaeff
    );
  color: #031424;
  box-shadow: 0 0 13px rgba(35, 201, 255, 0.34);
}

@media (max-width: 900px) {
  .idea-video-duration-options {
    grid-template-columns: 1fr;
  }
}

/* CRED-012W-F2A FULL WIDTH DURATION */

.idea-video-duration-section {
  width: 100%;
  margin: 22px 0 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(103, 168, 255, 0.14);
}

.idea-video-duration-section .idea-video-field-label {
  display: block;
  margin-bottom: 12px;
  color: #dcecff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.idea-video-duration-options {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.idea-video-duration-option {
  width: 100%;
  min-width: 0;
  min-height: 80px;
  padding: 14px 15px;
}

.idea-video-duration-copy strong {
  font-size: 13px;
  line-height: 1.25;
  white-space: nowrap;
}

.idea-video-duration-copy small {
  display: block;
  font-size: 10px;
  line-height: 1.35;
  white-space: normal;
}

.idea-video-duration-check {
  margin-left: auto;
}

.idea-video-submit-row {
  margin-top: 0;
}

@media (max-width: 900px) {
  .idea-video-duration-options {
    grid-template-columns: 1fr;
  }
}

/* CRED-F6T-CREATE-VIDEO-NAV */
.create-video-nav {
  display: grid;
  gap: 4px;
  margin: 6px 0;
}

.create-video-nav .nav-group-title {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px 6px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.58;
}

.create-video-nav .nav-subitem {
  margin-left: 12px;
  padding-left: 18px;
  font-size: 0.9rem;
}

.create-video-nav .nav-subitem::before {
  content: "↳";
  margin-right: 8px;
  opacity: 0.48;
}

.create-video-nav .nav-subitem.active {
  font-weight: 700;
}


/* =========================================================
   CRED-014H — CREATIVE BRIEF REVIEW
   ========================================================= */

.creative-brief-review {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid rgba(125, 211, 252, .14);
}

.creative-brief-review[hidden] {
  display: none;
}

.creative-brief-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}

.creative-brief-head > div {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.creative-brief-head h2 {
  margin: 1px 0 5px;
  color: #f8fafc;
  font-size: 20px;
}

.creative-brief-head p {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.55;
}

.creative-brief-ready {
  flex: 0 0 auto;
  padding: 7px 11px;
  border: 1px solid rgba(56, 189, 248, .2);
  border-radius: 999px;
  color: #7dd3fc;
  background: rgba(14, 165, 233, .08);
  font-size: 11px;
  font-weight: 800;
}

.creative-brief-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.creative-brief-field {
  display: block;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 17px;
  background: rgba(2, 8, 23, .38);
  transition:
    border-color .2s ease,
    box-shadow .2s ease;
}

.creative-brief-field:focus-within {
  border-color: rgba(56, 189, 248, .42);
  box-shadow: 0 0 0 3px rgba(14, 165, 233, .06);
}

.creative-brief-field-wide {
  grid-column: 1 / -1;
}

.creative-brief-field > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  border-bottom: 1px solid rgba(148, 163, 184, .08);
}

.creative-brief-field strong {
  color: #dbeafe;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .055em;
}

.creative-brief-field small {
  color: #64748b;
  font-size: 10px;
}

#creativeBriefSpeechStatus[data-enabled="true"] {
  color: #7dd3fc;
}

#creativeBriefSpeechStatus[data-enabled="false"] {
  color: #94a3b8;
}

.creative-brief-field textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 112px;
  resize: vertical;
  padding: 15px;
  border: 0;
  outline: 0;
  color: #e2e8f0;
  background: transparent;
  font: inherit;
  font-size: 13px;
  line-height: 1.65;
}

.creative-brief-field textarea::placeholder {
  color: #475569;
}

.creative-brief-warning {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-top: 16px;
  padding: 13px 15px;
  border: 1px solid rgba(34, 211, 238, .12);
  border-radius: 14px;
  color: #7890aa;
  background: rgba(8, 47, 73, .14);
  font-size: 11px;
  line-height: 1.55;
}

.creative-brief-warning > span {
  display: grid;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 50%;
  color: #07111f;
  background: #67e8f9;
  font-weight: 900;
}

.creative-brief-warning p {
  margin: 2px 0 0;
}

.creative-brief-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 20px;
}

.creative-brief-secondary {
  padding: 14px 17px;
  border: 1px solid rgba(125, 211, 252, .18);
  border-radius: 14px;
  color: #cbd5e1;
  background: rgba(15, 23, 42, .58);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
}

.creative-brief-secondary:hover {
  border-color: rgba(125, 211, 252, .38);
  color: #f8fafc;
}

.creative-brief-secondary:disabled,
.idea-video-generate:disabled {
  opacity: .55;
  cursor: wait;
}

@media (max-width: 720px) {
  .creative-brief-grid {
    grid-template-columns: 1fr;
  }

  .creative-brief-field-wide {
    grid-column: auto;
  }

  .creative-brief-head,
  .creative-brief-actions {
    flex-direction: column;
  }

  .creative-brief-ready {
    align-self: flex-start;
  }

  .creative-brief-actions > button {
    width: 100%;
  }
}

/* =========================================================
   VIDEO GENERATION PREMIUM STATUS
   ========================================================= */

.video-generation-status {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  margin-top: 24px;
  padding: 24px;
  border: 1px solid rgba(103, 232, 249, 0.26);
  border-radius: 22px;
  background:
    radial-gradient(
      circle at 0% 0%,
      rgba(34, 211, 238, 0.14),
      transparent 38%
    ),
    linear-gradient(
      135deg,
      rgba(15, 23, 42, 0.98),
      rgba(8, 15, 30, 0.98)
    );
  box-shadow:
    0 22px 60px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  overflow: hidden;
}

.video-generation-status[hidden] {
  display: none;
}

.video-generation-status::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(103, 232, 249, 0.05),
      transparent
    );
  transform: translateX(-100%);
  animation:
    video-generation-status-shimmer
    2.8s ease-in-out infinite;
}

.video-generation-status-orbit {
  position: relative;
  width: 58px;
  height: 58px;
  flex: 0 0 auto;
  border-radius: 50%;
  border: 1px solid rgba(103, 232, 249, 0.18);
  background: rgba(8, 15, 30, 0.78);
  display: grid;
  place-items: center;
}

.video-generation-status-orbit::before {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  border: 2px solid rgba(103, 232, 249, 0.18);
  border-top-color: rgba(103, 232, 249, 0.95);
  animation:
    video-generation-status-spin
    1.15s linear infinite;
}

.video-generation-status-orbit span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(103, 232, 249, 0.95);
  box-shadow:
    0 0 18px rgba(103, 232, 249, 0.8);
}

.video-generation-status-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.video-generation-status-kicker {
  display: inline-flex;
  align-items: center;
  margin-bottom: 6px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: rgba(103, 232, 249, 0.92);
}

.video-generation-status-copy h3 {
  margin: 0;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.25;
  color: #f8fafc;
}

.video-generation-status-copy p {
  margin: 8px 0 0;
  max-width: 660px;
  color: rgba(226, 232, 240, 0.74);
  line-height: 1.55;
}

.video-generation-status-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.video-generation-status-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.62);
  color: rgba(226, 232, 240, 0.78);
  font-size: 0.78rem;
  font-weight: 700;
}

.video-generation-status-link {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 17px;
  border: 1px solid rgba(103, 232, 249, 0.32);
  border-radius: 14px;
  background: rgba(34, 211, 238, 0.09);
  color: #e6fbff;
  font-size: 0.86rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  transition:
    transform 160ms ease,
    background 160ms ease,
    border-color 160ms ease;
}

.video-generation-status-link:hover {
  transform: translateY(-1px);
  background: rgba(34, 211, 238, 0.15);
  border-color: rgba(103, 232, 249, 0.5);
}

@keyframes video-generation-status-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes video-generation-status-shimmer {
  0% {
    transform: translateX(-100%);
  }

  55%,
  100% {
    transform: translateX(100%);
  }
}

@media (max-width: 760px) {
  .video-generation-status {
    grid-template-columns: auto 1fr;
  }

  .video-generation-status-link {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .video-generation-status::before,
  .video-generation-status-orbit::before {
    animation: none;
  }
}


/* =========================================================
   CRED-014O.12A — VIDEO LIBRARY DELETE
   ========================================================= */

.video-action-delete {
  border: 1px solid rgba(248,113,113,.24);
  background: rgba(127,29,29,.08);
  color: #fca5a5;
  border-radius: 10px;
  padding: 10px 14px;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition:
    background .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease;
}

.video-action-delete:hover {
  background: rgba(185,28,28,.16);
  border-color: rgba(248,113,113,.46);
  color: #fecaca;
  transform: translateY(-1px);
}

.video-action-delete:focus-visible,
.video-delete-modal button:focus-visible {
  outline: 2px solid var(--accent2);
  outline-offset: 2px;
}

.video-delete-modal-open {
  overflow: hidden;
}

.video-delete-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1600;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(2,8,15,.82);
  backdrop-filter: blur(8px);
}

.video-delete-modal-backdrop[hidden] {
  display: none;
}

.video-delete-modal {
  position: relative;
  width: min(500px,100%);
  padding: 28px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px;
  background:
    radial-gradient(
      circle at top right,
      rgba(220,38,38,.10),
      transparent 34%
    ),
    #081522;
  box-shadow:
    0 30px 90px rgba(0,0,0,.52);
}

.video-delete-modal-close {
  position: absolute;
  top: 16px;
  right: 17px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.video-delete-modal-close:hover {
  background: rgba(255,255,255,.05);
  color: white;
}

.video-delete-modal-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
  border: 1px solid rgba(248,113,113,.26);
  border-radius: 14px;
  background: rgba(127,29,29,.16);
  color: #fca5a5;
  font-size: 22px;
  font-weight: 900;
}

.video-delete-modal-copy h2 {
  margin: 7px 0 0;
  color: white;
  font-size: 25px;
  letter-spacing: -.025em;
}

.video-delete-modal-copy p {
  margin: 13px 0 0;
  max-width: 410px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.video-delete-modal-message {
  min-height: 20px;
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.video-delete-modal-message[data-type="error"] {
  color: #fca5a5;
}

.video-delete-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 8px;
}

.video-delete-cancel,
.video-delete-confirm {
  min-height: 42px;
  padding: 0 17px;
  border-radius: 11px;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.video-delete-cancel {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.025);
  color: var(--text);
}

.video-delete-confirm {
  border: 1px solid rgba(248,113,113,.38);
  background: #b91c1c;
  color: white;
  box-shadow:
    0 10px 28px rgba(185,28,28,.20);
}

.video-delete-confirm:hover {
  background: #c92626;
}

.video-delete-confirm:disabled,
.video-delete-cancel:disabled,
.video-delete-modal-close:disabled {
  cursor: wait;
  opacity: .58;
}

@media (max-width: 560px) {
  .video-delete-modal {
    padding: 24px 20px 20px;
  }

  .video-delete-modal-actions {
    flex-direction: column-reverse;
  }

  .video-delete-cancel,
  .video-delete-confirm {
    width: 100%;
  }
}


/* =========================================================
   AVATAR-VIDEO-002 — Avatar -> criação de vídeo
   ========================================================= */

.avatar-card-actions {
  display: grid;
  gap: 9px;
  margin-top: 15px;
}

.avatar-card-actions .button {
  min-height: 38px;
  width: 100%;
  justify-content: center;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.avatar-use-presenter {
  box-shadow:
    0 8px 24px rgba(43, 132, 255, 0.18);
}

.avatar-use-ai {
  border: 1px solid rgba(91, 184, 255, 0.2);
  background:
    rgba(14, 42, 68, 0.42);
}

.avatar-use-ai:hover {
  border-color:
    rgba(91, 184, 255, 0.45);
  background:
    rgba(21, 58, 91, 0.62);
}

@media (max-width: 720px) {
  .avatar-card-actions {
    gap: 8px;
  }
}


/* ==========================================================
   AVATAR_VIDEO_008_SELECTED_AVATAR
   Criar com IA — apresentador selecionado
   ========================================================== */

.idea-selected-avatar {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  margin-bottom: 20px;
  padding: 14px;
  border: 1px solid rgba(83, 157, 255, 0.24);
  border-radius: 18px;
  background:
    radial-gradient(
      circle at 0% 0%,
      rgba(42, 135, 255, 0.13),
      transparent 38%
    ),
    linear-gradient(
      145deg,
      rgba(10, 29, 51, 0.96),
      rgba(5, 19, 35, 0.96)
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.035),
    0 18px 38px rgba(0, 0, 0, 0.13);
}

.idea-selected-avatar[hidden] {
  display: none;
}

.idea-selected-avatar-media {
  width: 76px;
  height: 76px;
  overflow: hidden;
  border: 1px solid rgba(100, 165, 255, 0.3);
  border-radius: 16px;
  background: #071729;
}

.idea-selected-avatar-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.idea-selected-avatar-placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: #63a5ff;
  font-size: 1.7rem;
}

.idea-selected-avatar-copy {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.idea-selected-avatar-eyebrow {
  color: #68aaff;
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.idea-selected-avatar-copy strong {
  overflow: hidden;
  color: #f5f9ff;
  font-size: 1rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idea-selected-avatar-copy small {
  color: #8299b1;
  font-size: 0.74rem;
}

.idea-selected-avatar-ready {
  color: #70dca3;
  font-weight: 700;
}

.idea-selected-avatar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.idea-selected-avatar-change,
.idea-selected-avatar-remove {
  min-height: 36px;
  box-sizing: border-box;
  padding: 0 12px;
  border-radius: 10px;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 750;
  text-decoration: none;
  cursor: pointer;
}

.idea-selected-avatar-change {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(83, 157, 255, 0.28);
  background: rgba(32, 112, 230, 0.11);
  color: #8dbdff;
}

.idea-selected-avatar-remove {
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(255, 255, 255, 0.035);
  color: #91a5ba;
}

.idea-selected-avatar-change:hover,
.idea-selected-avatar-remove:hover {
  border-color: rgba(99, 165, 255, 0.55);
  color: #e9f3ff;
}

@media (max-width: 720px) {
  .idea-selected-avatar {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .idea-selected-avatar-media {
    width: 64px;
    height: 64px;
  }

  .idea-selected-avatar-actions {
    grid-column: 1 / -1;
  }
}

/* VAI-095D — Project AI Image Studio */

.image-studio-panel {
  overflow: hidden;
  position: relative;
}

.image-studio-panel::before {
  background:
    radial-gradient(
      circle,
      rgba(72, 118, 255, 0.14),
      transparent 68%
    );
  content: "";
  height: 320px;
  pointer-events: none;
  position: absolute;
  right: -110px;
  top: -140px;
  width: 320px;
}

.image-studio-head,
.image-studio-layout {
  position: relative;
  z-index: 1;
}

.image-studio-badge {
  align-items: center;
  background: rgba(80, 118, 255, 0.12);
  border: 1px solid rgba(105, 137, 255, 0.28);
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 700;
  gap: 0.35rem;
  padding: 0.45rem 0.75rem;
}

.image-studio-layout {
  display: grid;
  gap: 1.4rem;
  grid-template-columns:
    minmax(0, 0.9fr)
    minmax(320px, 1.1fr);
  margin-top: 1.35rem;
}

.image-studio-controls {
  display: grid;
  gap: 1rem;
}

.image-studio-controls label {
  display: grid;
  font-weight: 700;
  gap: 0.5rem;
}

.image-studio-controls select,
.image-studio-controls textarea {
  background: rgba(7, 13, 28, 0.58);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 14px;
  color: inherit;
  font: inherit;
  outline: none;
  padding: 0.9rem 1rem;
  resize: vertical;
  width: 100%;
}

.image-studio-controls select:focus,
.image-studio-controls textarea:focus {
  border-color: rgba(91, 132, 255, 0.72);
  box-shadow: 0 0 0 3px rgba(72, 118, 255, 0.12);
}

.image-studio-specs {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(3, 1fr);
}

.image-studio-specs > div {
  background: rgba(7, 13, 28, 0.46);
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 13px;
  display: grid;
  gap: 0.2rem;
  padding: 0.8rem;
}

.image-studio-specs span {
  font-size: 0.72rem;
  opacity: 0.62;
}

.image-studio-specs strong {
  font-size: 0.9rem;
}

.image-studio-actions,
.generated-image-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.image-studio-preview {
  align-items: center;
  background:
    linear-gradient(
      145deg,
      rgba(13, 23, 48, 0.96),
      rgba(7, 12, 27, 0.96)
    );
  border: 1px solid rgba(116, 145, 255, 0.2);
  border-radius: 20px;
  display: flex;
  justify-content: center;
  min-height: 470px;
  overflow: hidden;
  position: relative;
}

.image-studio-empty {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  max-width: 280px;
  padding: 2rem;
  text-align: center;
}

.image-studio-empty-icon {
  align-items: center;
  background: rgba(79, 118, 255, 0.14);
  border: 1px solid rgba(110, 142, 255, 0.24);
  border-radius: 50%;
  display: flex;
  font-size: 1.4rem;
  height: 54px;
  justify-content: center;
  width: 54px;
}

.image-studio-empty p {
  margin: 0;
  opacity: 0.64;
}

.generated-project-image {
  display: block;
  height: 100%;
  max-height: 620px;
  object-fit: contain;
  width: 100%;
}

.generated-image-actions {
  backdrop-filter: blur(14px);
  background: rgba(4, 9, 21, 0.76);
  bottom: 0;
  justify-content: center;
  left: 0;
  padding: 1rem;
  position: absolute;
  right: 0;
}

@media (max-width: 900px) {
  .image-studio-layout {
    grid-template-columns: 1fr;
  }

  .image-studio-preview {
    min-height: 420px;
  }
}

@media (max-width: 560px) {
  .image-studio-specs {
    grid-template-columns: 1fr;
  }

  .image-studio-actions,
  .generated-image-actions {
    flex-direction: column;
  }

  .image-studio-actions .button,
  .generated-image-actions .button {
    width: 100%;
  }
}


/* VAI-095M — Wan Video Studio */

.wan-video-studio-panel {
  position: relative;
  overflow: hidden;
}

.wan-video-studio-panel::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(
    180deg,
    #38bdf8,
    #2563eb
  );
}

.wan-video-studio-head {
  align-items: center;
}

.wan-video-studio-layout {
  display: grid;
  grid-template-columns:
    minmax(0, 1.25fr)
    minmax(260px, 0.75fr);
  gap: 24px;
  margin-top: 24px;
}

.wan-video-studio-controls {
  display: grid;
  gap: 18px;
}

.wan-video-studio-controls label {
  display: grid;
  gap: 8px;
  font-weight: 700;
}

.wan-video-studio-controls select,
.wan-video-studio-controls textarea {
  width: 100%;
}

.wan-video-ready-card {
  display: flex;
  min-height: 220px;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  padding: 24px;
  border: 1px solid
    rgba(148, 163, 184, 0.18);
  border-radius: 20px;
  background:
    linear-gradient(
      145deg,
      rgba(37, 99, 235, 0.12),
      rgba(15, 23, 42, 0.5)
    );
}

.wan-video-ready-card strong {
  font-size: 1.08rem;
}

@media (max-width: 820px) {
  .wan-video-studio-layout {
    grid-template-columns: 1fr;
  }
}


/* VAI-095O — Wan status and player */

.wan-video-progress {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid
    rgba(148, 163, 184, 0.18);
  border-radius: 16px;
  background:
    rgba(15, 23, 42, 0.34);
}

.wan-video-progress[hidden],
.wan-video-player-panel[hidden] {
  display: none;
}

.wan-video-progress-head,
.wan-video-player-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.wan-video-progress-head span {
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.wan-video-progress-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background:
    rgba(148, 163, 184, 0.18);
}

.wan-video-progress-track span {
  display: block;
  width: 12%;
  height: 100%;
  border-radius: inherit;
  background:
    linear-gradient(
      90deg,
      #38bdf8,
      #2563eb
    );
  transition:
    width 300ms ease;
}

.wan-video-player-panel {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid
    rgba(56, 189, 248, 0.24);
  border-radius: 20px;
  background:
    rgba(15, 23, 42, 0.42);
}

.wan-video-player-head strong {
  display: block;
  margin-top: 4px;
}

#wanVideoPlayer {
  width: 100%;
  max-height: 680px;
  border-radius: 18px;
  background: #020617;
}

/* ==========================================================
   UI-FIX-CTA-004
   Final landing CTA contrast isolation
   ========================================================== */

.landing-reference .reference-final-actions .reference-button-white {
  background: #ffffff;
  color: #1767ef;
  border: 1px solid rgba(255, 255, 255, .9);
}

.landing-reference .reference-final-actions .reference-button-white > span {
  color: inherit;
}

.landing-reference .reference-final-actions .reference-button-white:hover,
.landing-reference .reference-final-actions .reference-button-white:focus-visible {
  background: #ffffff;
  color: #0d55d8;
}

.landing-reference .reference-final-actions small {
  color: rgba(255, 255, 255, .82);
}


/* ==========================================================
   UI-LOGIN-002
   Premium login experience
   Scoped to .auth-login-premium
   ========================================================== */

.auth-login-premium {
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 18%, rgba(37,99,235,.17), transparent 29%),
    radial-gradient(circle at 83% 82%, rgba(56,189,248,.07), transparent 28%),
    #050b14;
}

.auth-login-premium .auth-shell {
  grid-template-columns: minmax(0, 1.08fr) minmax(470px, .92fr);
}

.auth-login-premium .auth-brand {
  position: relative;
  overflow: hidden;
  padding:
    clamp(34px, 4vw, 62px)
    clamp(42px, 7vw, 112px);
  gap: 0;
  border-right: 1px solid rgba(148,163,184,.11);
}

.auth-login-premium .auth-brand::after {
  content: "";
  position: absolute;
  width: 440px;
  height: 440px;
  right: -230px;
  bottom: -220px;
  border-radius: 50%;
  background: #2563eb;
  filter: blur(120px);
  opacity: .14;
  pointer-events: none;
}

.auth-login-premium .brand {
  position: relative;
  z-index: 2;
  font-size: 17px;
}

.auth-login-premium .brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background:
    linear-gradient(135deg, #60a5fa, #2563eb 58%, #7c3aed);
  box-shadow:
    0 12px 34px rgba(37,99,235,.28);
}

.login-premium-copy {
  position: relative;
  z-index: 2;
  width: min(680px, 100%);
  margin: auto 0;
}

.login-premium-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 22px;
  color: #7db7ff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
}

.login-premium-kicker::before {
  content: "";
  width: 28px;
  height: 1px;
  background: #3b82f6;
}

.auth-login-premium .auth-brand h1 {
  max-width: 620px;
  margin: 0;
  font-size: clamp(46px, 5vw, 74px);
  line-height: .96;
  letter-spacing: -.062em;
}

.auth-login-premium .auth-brand h1 span {
  display: block;
  margin-top: 8px;
  background:
    linear-gradient(90deg, #60a5fa, #818cf8 56%, #a78bfa);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.auth-login-premium .auth-brand p {
  max-width: 590px;
  margin: 25px 0 0;
  color: #8ea4bb;
  font-size: 15px;
  line-height: 1.75;
}

.login-product-preview {
  width: min(610px, 100%);
  margin-top: 38px;
  overflow: hidden;
  border:
    1px solid rgba(148,163,184,.16);
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(15,30,50,.92), rgba(6,15,27,.95));
  box-shadow:
    0 35px 90px rgba(0,0,0,.34);
}

.login-preview-top {
  height: 43px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 15px;
  border-bottom:
    1px solid rgba(148,163,184,.1);
}

.login-preview-top > span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #31465d;
}

.login-preview-top small {
  margin-left: auto;
  color: #526b83;
  font-size: 8px;
  letter-spacing: .15em;
}

.login-preview-body {
  min-height: 195px;
  display: grid;
  grid-template-columns: 68px 1fr;
}

.login-preview-body aside {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 22px 18px;
  border-right:
    1px solid rgba(148,163,184,.09);
  background: rgba(3,10,18,.24);
}

.login-preview-body aside i {
  height: 7px;
  border-radius: 99px;
  background: #1d3349;
}

.login-preview-body aside i:first-child {
  background: #3478e5;
}

.login-preview-content {
  padding: 25px 28px;
}

.login-preview-label {
  margin-bottom: 8px;
  color: #619cff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .16em;
}

.login-preview-content > strong {
  display: block;
  color: #eaf2fb;
  font-size: 16px;
}

.login-preview-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin-top: 20px;
}

.login-preview-cards span {
  display: grid;
  gap: 5px;
  min-height: 58px;
  padding: 12px;
  border:
    1px solid rgba(148,163,184,.11);
  border-radius: 11px;
  background: rgba(15,32,52,.68);
  color: #8399af;
  font-size: 9px;
}

.login-preview-cards b {
  color: #67a3ff;
  font-size: 9px;
}

.login-preview-progress {
  height: 4px;
  margin-top: 20px;
  overflow: hidden;
  border-radius: 99px;
  background: #14273a;
}

.login-preview-progress i {
  display: block;
  width: 72%;
  height: 100%;
  border-radius: inherit;
  background:
    linear-gradient(90deg, #2563eb, #60a5fa);
}

.login-premium-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 23px;
  color: #668097;
  font-size: 10px;
  font-weight: 700;
}

.login-premium-footer {
  position: relative;
  z-index: 2;
  color: #40566b !important;
  font-size: 9px;
  letter-spacing: .13em;
}

.auth-login-premium .auth-panel {
  position: relative;
  padding: clamp(32px, 5vw, 74px);
  background:
    radial-gradient(circle at 50% 45%, rgba(30,64,175,.09), transparent 40%);
}

.login-panel-wrap {
  width: min(480px, 100%);
}

.login-panel-heading {
  margin-bottom: 27px;
}

.login-panel-heading > span {
  color: #6ea8ff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .17em;
}

.login-panel-heading h2 {
  margin: 11px 0 7px;
  color: #f7fbff;
  font-size: clamp(34px, 3vw, 44px);
  line-height: 1;
  letter-spacing: -.045em;
}

.login-panel-heading p {
  margin: 0;
  color: #748ca4;
  font-size: 14px;
}

.auth-login-premium .auth-card {
  width: 100%;
  gap: 18px;
  padding: 29px;
  border:
    1px solid rgba(148,163,184,.15);
  border-radius: 20px;
  background:
    linear-gradient(145deg, rgba(10,24,40,.91), rgba(7,17,30,.95));
  box-shadow:
    0 35px 90px rgba(0,0,0,.28);
}

.auth-login-premium .auth-card label {
  color: #c8d5e3;
  font-size: 11px;
  letter-spacing: .01em;
}

.auth-login-premium .auth-card input {
  min-height: 50px;
  border:
    1px solid rgba(148,163,184,.16);
  border-radius: 11px;
  background: rgba(4,13,23,.75);
  padding-left: 42px;
  color: #f4f8fc;
}

.auth-login-premium .auth-card input:focus {
  border-color: #3b82f6;
  box-shadow:
    0 0 0 3px rgba(59,130,246,.11);
}

.auth-login-premium .field-icon {
  left: 14px;
  color: #57718b;
}

.auth-login-premium .password-toggle {
  right: 8px;
}

.login-form-tools {
  margin-top: -5px;
  color: #536c83;
  font-size: 10px;
}

.auth-login-premium .form-message {
  min-height: 4px;
  margin: 0;
}

.auth-login-premium .button.auth-submit {
  min-height: 52px;
  border: 0;
  border-radius: 11px;
  background:
    linear-gradient(100deg, #2563eb, #3b82f6 60%, #6366f1);
  box-shadow:
    0 16px 38px rgba(37,99,235,.22);
  color: white;
  font-size: 13px;
  transition:
    transform .2s ease,
    box-shadow .2s ease;
}

.auth-login-premium .button.auth-submit:hover {
  transform: translateY(-2px);
  box-shadow:
    0 20px 46px rgba(37,99,235,.3);
}

.login-register-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  margin-top: 3px;
}

.login-register-divider span {
  height: 1px;
  background: rgba(148,163,184,.11);
}

.login-register-divider small {
  color: #536a80;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .14em;
}

.login-create-account {
  min-height: 48px;
  display: grid;
  place-items: center;
  border:
    1px solid rgba(96,165,250,.18);
  border-radius: 11px;
  background: rgba(37,99,235,.045);
  color: #7db7ff;
  font-size: 12px;
  font-weight: 800;
  transition:
    background .2s ease,
    border-color .2s ease;
}

.login-create-account:hover {
  background: rgba(37,99,235,.09);
  border-color: rgba(96,165,250,.32);
}

.login-legal {
  margin: 18px auto 0;
  color: #40586e;
  text-align: center;
  font-size: 9px;
  line-height: 1.6;
}

@media (max-width: 1050px) {
  .auth-login-premium .auth-shell {
    grid-template-columns: 1fr 1fr;
  }

  .auth-login-premium .auth-brand {
    padding: 42px;
  }

  .login-premium-trust {
    gap: 10px;
  }
}

@media (max-width: 900px) {
  .auth-login-premium .auth-shell {
    display: block;
  }

  .auth-login-premium .auth-brand {
    display: flex;
    min-height: auto;
    padding: 28px 24px;
    border-right: 0;
    border-bottom:
      1px solid rgba(148,163,184,.1);
  }

  .auth-login-premium .login-premium-copy,
  .auth-login-premium .login-premium-footer {
    display: none;
  }

  .auth-login-premium .auth-panel {
    min-height: calc(100vh - 95px);
    padding: 45px 20px;
  }
}

@media (max-width: 560px) {
  .auth-login-premium .auth-panel {
    padding: 34px 16px;
  }

  .login-panel-heading h2 {
    font-size: 34px;
  }

  .auth-login-premium .auth-card {
    padding: 23px 18px;
  }
}

/* PROJECT-FLOW-007D.7B.1 — confirmação econômica do roteiro IA */
.script-ai-confirmation-modal{
  width:min(580px,100%);
}

.script-ai-confirmation-description{
  margin:16px 0 0;
}

.script-ai-quote-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:22px 0 16px;
}

.script-ai-quote-item{
  display:grid;
  gap:7px;
  min-width:0;
  padding:15px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#07111f;
}

.script-ai-quote-item span{
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}

.script-ai-quote-item strong{
  font-size:18px;
  letter-spacing:-.02em;
  overflow-wrap:anywhere;
}

@media(max-width:560px){
  .script-ai-quote-grid{
    grid-template-columns:1fr;
  }
}


/* PROJECT-FLOW-008D.2 — compact production UI */
.idea-form[hidden],
.manual-script-composer[hidden] {
  display: none !important;
}

.current-script-summary {
  display: grid;
  gap: 6px;
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(16, 36, 59, .48);
}

.current-script-summary p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.current-script-status {
  color: #7ddfa7;
  font-size: 13px;
  font-weight: 800;
}

.current-production-card .script-card-actions {
  justify-content: flex-start;
}

@media(max-width:700px) {
  .current-production-card .script-card-actions {
    flex-direction: column;
  }

  .current-production-card .script-card-actions .button {
    width: 100%;
  }
}
