:root{
    --bg:#0c0f14;
    --panel:#11151c;
    --panel-2:#171c24;
    --panel-3:#1f2631;
    --line:#29313d;
    --text:#f5f7fb;
    --muted:#9aa6b6;
    --accent:#73e7c1;
    --accent-2:#6ea8ff;
    --danger:#ff7f8d;
    --shadow:0 18px 60px rgba(0,0,0,.32);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.app-body{overflow:hidden}
.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}
.sidebar{background:#0a0d12;border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:16px;min-height:100vh;position:relative;z-index:20}
.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 10px}
.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#07110e;font-weight:900}
.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:12px;margin-top:2px}
.new-chat{display:block;border:1px solid var(--line);background:var(--panel-2);border-radius:13px;padding:12px 14px;font-weight:700}
.new-chat:hover{border-color:#4b596c}
.side-nav{display:flex;flex-direction:column;gap:4px}.side-nav a{padding:11px 12px;border-radius:11px;color:#c5ceda;display:flex;gap:11px;align-items:center}.side-nav a:hover,.side-nav a.active{background:var(--panel-2);color:#fff}.side-nav a.active{box-shadow:inset 3px 0 var(--accent)}
.sidebar-section-title{padding:4px 10px 0;color:#7f8b9b;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.recent-list{display:flex;flex-direction:column;gap:2px;overflow:auto;max-height:31vh}.recent-list a{padding:9px 11px;border-radius:9px;color:#aeb8c5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.recent-list a:hover{background:var(--panel-2);color:#fff}
.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:14px 8px 0;display:grid;gap:12px}.mini-user{display:flex;align-items:center;gap:10px}.mini-user>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#26313e;font-weight:800}.mini-user strong,.mini-user small{display:block}.mini-user small{color:var(--muted);font-size:12px}.logout-link{font-size:13px;color:#aeb8c5}
.main-panel{min-width:0;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 50% -20%,rgba(91,151,255,.10),transparent 38%),var(--bg)}
.topbar{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 20px;background:rgba(12,15,20,.78);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.topbar strong,.topbar small{display:block}.topbar small{color:var(--muted);font-size:11px}.topbar-actions{margin-left:auto;display:flex;gap:12px;align-items:center}.topbar-actions a{padding:8px 11px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;font-size:13px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.menu-button{display:none;background:none;border:0;color:#fff;font-size:22px}
.page-wrap{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:34px 0 60px}.page-head{margin-bottom:24px}.page-head h1{font-size:clamp(28px,4vw,44px);margin:0 0 8px;letter-spacing:-.04em}.page-head p{color:var(--muted);margin:0;max-width:720px;line-height:1.7}
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.card{background:rgba(20,25,33,.9);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0}.muted{color:var(--muted)}
.form-group{display:grid;gap:8px;margin-bottom:16px}.form-group label{font-weight:700;font-size:14px}.input,.textarea,.select{width:100%;border:1px solid var(--line);background:#0d1117;color:#fff;border-radius:13px;padding:13px 14px;outline:none}.textarea{min-height:120px;resize:vertical;line-height:1.55}.input:focus,.textarea:focus,.select:focus{border-color:#5d7797;box-shadow:0 0 0 3px rgba(110,168,255,.10)}
.btn{border:0;border-radius:13px;padding:12px 17px;font-weight:800;background:linear-gradient(135deg,var(--accent),#8ef2d0);color:#06110e;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{filter:brightness(1.05)}.btn.secondary{background:var(--panel-3);color:#fff;border:1px solid var(--line)}.btn.danger{background:#3a1d24;color:#ffb5be;border:1px solid #61303a}.btn[disabled]{opacity:.55;cursor:not-allowed}
.alert{padding:13px 15px;border-radius:12px;margin-bottom:16px;border:1px solid var(--line);background:var(--panel-2);color:#dce3ec}.alert.error{background:#2b171c;border-color:#5a2d36;color:#ffc0c7}.alert.success{background:#12271f;border-color:#285342;color:#baf4df}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.auth-art{padding:7vw;background:radial-gradient(circle at 30% 20%,rgba(115,231,193,.22),transparent 28%),radial-gradient(circle at 80% 70%,rgba(110,168,255,.22),transparent 34%),#090c11;display:flex;flex-direction:column;justify-content:space-between}.auth-art h1{font-size:clamp(42px,6vw,80px);line-height:.96;letter-spacing:-.065em;margin:20px 0}.auth-art p{max-width:560px;color:#b6c0cc;font-size:18px;line-height:1.7}.auth-card-wrap{display:grid;place-items:center;padding:32px;background:#0d1117}.auth-card{width:min(470px,100%);background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:28px}.auth-card h2{font-size:30px;margin:0 0 8px}.auth-card>p{color:var(--muted);margin-top:0}.auth-footer{text-align:center;margin-top:18px;color:var(--muted)}.auth-footer a{color:var(--accent)}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(29,36,47,.95),rgba(16,20,27,.95));border-radius:20px;padding:22px;min-height:210px;display:flex;flex-direction:column}.service-card .icon{font-size:30px}.service-card h3{font-size:22px;margin:18px 0 8px}.service-card p{color:var(--muted);line-height:1.6;margin:0 0 20px}.service-card a{margin-top:auto;color:var(--accent);font-weight:800}
.creation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.creation-card{border:1px solid var(--line);background:var(--panel);border-radius:18px;overflow:hidden}.creation-card img{width:100%;aspect-ratio:1.3/1;object-fit:cover;background:#080a0e}.creation-card .body{padding:15px}.creation-card h3{margin:0 0 7px;font-size:16px}.creation-card small{color:var(--muted)}
.app-footer{text-align:center;color:#6f7b8b;font-size:12px;padding:14px 20px;border-top:1px solid rgba(41,49,61,.55);margin-top:auto}
.empty-state{border:1px dashed #354151;border-radius:18px;padding:34px;text-align:center;color:var(--muted)}
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px}.data-table th{color:#8f9aaa}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#25303c;color:#c9d5e3;font-size:12px}.badge.completed{background:#17372c;color:#b9f5dc}.badge.failed{background:#3a1e25;color:#ffbbc4}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-290px;top:0;width:280px;transition:.25s}.sidebar.open{left:0;box-shadow:20px 0 60px rgba(0,0,0,.5)}.menu-button{display:block}.grid-2,.service-cards{grid-template-columns:1fr}.creation-grid{grid-template-columns:repeat(2,1fr)}.auth-shell{grid-template-columns:1fr}.auth-art{display:none}.app-body{overflow:auto}}
@media(max-width:560px){.page-wrap{width:min(100% - 20px,1100px);padding-top:22px}.topbar{padding:0 12px}.creation-grid{grid-template-columns:1fr}.card{padding:17px}.auth-card-wrap{padding:16px}.auth-card{padding:22px}.topbar-actions a{display:none}}
.chat-page{height:calc(100vh - 64px);display:flex;flex-direction:column;min-height:0}.chat-scroll{flex:1;overflow-y:auto;padding:34px 18px 150px}.chat-inner{width:min(840px,100%);margin:auto}.welcome-panel{text-align:center;padding:8vh 0 30px}.welcome-orb{width:66px;height:66px;border-radius:22px;margin:0 auto 22px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#07110e;font-size:28px;font-weight:900;box-shadow:0 20px 55px rgba(100,190,210,.2)}.welcome-panel h1{font-size:clamp(34px,5vw,52px);letter-spacing:-.05em;margin:0 0 12px}.welcome-panel p{color:var(--muted);font-size:17px}.suggestion-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:32px}.suggestion{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:15px;text-align:left;color:#dce3ec}.suggestion small{display:block;color:var(--muted);margin-top:6px}.message-row{display:flex;gap:13px;margin:0 0 26px;align-items:flex-start}.message-avatar{flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#27313e;display:grid;place-items:center;font-size:12px;font-weight:900}.message-row.assistant .message-avatar{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#07110e}.message-content{min-width:0;max-width:calc(100% - 47px);line-height:1.72;white-space:pre-wrap;overflow-wrap:anywhere}.message-row.user .message-content{background:#202733;border:1px solid #303a48;padding:12px 15px;border-radius:16px}.message-meta{color:#7f8b9a;font-size:11px;margin-bottom:5px;font-weight:700}.chat-composer-wrap{position:absolute;left:280px;right:0;bottom:31px;padding:0 18px;background:linear-gradient(transparent,var(--bg) 34%)}.chat-composer{width:min(840px,100%);margin:auto;background:#171c24;border:1px solid #354151;border-radius:22px;padding:12px 13px 10px;box-shadow:0 18px 55px rgba(0,0,0,.32)}.chat-composer textarea{display:block;width:100%;max-height:220px;min-height:44px;border:0;background:transparent;color:#fff;outline:0;resize:none;padding:10px 8px;font-size:16px;line-height:1.5}.composer-actions{display:flex;align-items:center;gap:8px}.composer-note{color:#788595;font-size:12px}.send-button{margin-left:auto;width:42px;height:42px;border:0;border-radius:14px;background:#fff;color:#0c1015;font-weight:900;font-size:18px}.typing-dots{display:inline-flex;gap:5px;padding-top:8px}.typing-dots i{width:7px;height:7px;background:#8c98a8;border-radius:50%;animation:bounce 1.2s infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-6px);opacity:1}}
@media(max-width:900px){.chat-composer-wrap{left:0}.suggestion-grid{grid-template-columns:1fr}.chat-scroll{padding-left:12px;padding-right:12px}}
.generator-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:20px}.preview-stage{min-height:470px;border:1px dashed #3b4858;border-radius:18px;background:radial-gradient(circle at center,rgba(110,168,255,.08),transparent 48%),#0c1016;display:grid;place-items:center;overflow:hidden;padding:18px}.preview-stage img{max-width:100%;max-height:650px;border-radius:12px;box-shadow:0 18px 60px rgba(0,0,0,.45)}.preview-placeholder{text-align:center;color:var(--muted);max-width:360px}.preview-placeholder .big-icon{font-size:46px;margin-bottom:12px}.inline-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.radio-card{position:relative}.radio-card input{position:absolute;opacity:0}.radio-card label{display:block;border:1px solid var(--line);background:#0e1218;border-radius:12px;padding:11px;text-align:center;color:#b8c2cf;cursor:pointer;font-size:13px}.radio-card input:checked+label{border-color:var(--accent);background:#14241f;color:#d8fff1}.loading-ring{width:46px;height:46px;border:4px solid #2d3744;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 14px}@keyframes spin{to{transform:rotate(360deg)}}.video-job-list{display:grid;gap:12px}.video-job{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:14px;background:#10151c}.progress{height:7px;background:#232b36;border-radius:999px;overflow:hidden;margin-top:9px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));min-width:2%;transition:.3s}.job-actions{display:flex;gap:8px;align-items:center}
@media(max-width:900px){.generator-layout{grid-template-columns:1fr}.preview-stage{min-height:330px}}
@media(max-width:520px){.inline-options{grid-template-columns:1fr}.video-job{grid-template-columns:1fr}}

/* Live AI banner generation inside chat */
.composer-mode-banner{display:flex;align-items:center;gap:10px;margin:0 4px 6px;padding:8px 10px;border:1px solid rgba(115,231,193,.34);background:rgba(27,71,58,.28);border-radius:13px;color:#d9fff2;font-size:13px;font-weight:800}.composer-mode-banner[hidden]{display:none!important}.composer-mode-banner select{margin-left:auto;border:1px solid #3d5b51;background:#101a17;color:#eafff7;border-radius:9px;padding:6px 9px;outline:none}.composer-mode-banner button{width:29px;height:29px;border:0;border-radius:9px;background:#25352f;color:#d9fff2;font-size:19px;line-height:1}.composer-tool{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#202733;color:#d5dde8;border-radius:11px;padding:8px 11px;font-size:13px;font-weight:750}.composer-tool:hover,.composer-tool.active{border-color:var(--accent);background:#153229;color:#dffff4}.composer-tool[disabled]{opacity:.55;cursor:not-allowed}.chat-image-card{width:min(620px,100%);margin:4px 0 0;border:1px solid #303b49;border-radius:18px;overflow:hidden;background:#10151c;box-shadow:0 18px 55px rgba(0,0,0,.28);white-space:normal}.chat-image-card img{display:block;width:100%;max-height:680px;object-fit:contain;background:#080b10}.chat-image-actions{display:flex;align-items:center;gap:12px;padding:12px 13px;color:#c8d1dc;font-size:13px}.chat-image-actions span{min-width:0;flex:1}.chat-image-download{flex:0 0 auto;border:1px solid #3a4858;background:#202833;border-radius:10px;padding:8px 11px;color:#fff;font-weight:800}.chat-image-download:hover{border-color:var(--accent);color:#dffff4}.image-generating{width:min(480px,100%);display:flex;align-items:center;gap:14px;border:1px solid #304052;border-radius:16px;padding:16px;background:linear-gradient(110deg,#111720,#1b2330,#111720);background-size:220% 100%;animation:imageShimmer 1.8s linear infinite}.image-generating-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#07110e;font-size:20px;font-weight:900}.image-generating strong,.image-generating small{display:block}.image-generating small{color:var(--muted);margin-top:3px}@keyframes imageShimmer{0%{background-position:180% 0}100%{background-position:-40% 0}}
@media(max-width:600px){.composer-note{display:none}.composer-tool span{display:none}.composer-mode-banner{flex-wrap:wrap}.composer-mode-banner select{margin-left:0}.chat-image-actions{align-items:flex-start;flex-direction:column}.chat-image-download{width:100%;text-align:center}.chat-image-card{border-radius:14px}}

/* AI Maha Live Studio v2: upload, video, revisions and wallet billing */
.mode-price{margin-left:auto;color:#bff8e3;font-size:12px;font-weight:700;white-space:nowrap}.composer-mode-banner select+select{margin-left:0}.attachment-preview-list{display:flex;gap:9px;overflow-x:auto;padding:3px 4px 10px}.attachment-preview-list[hidden]{display:none!important}.attachment-chip{min-width:190px;max-width:260px;display:flex;align-items:center;gap:9px;padding:8px;border:1px solid #364252;border-radius:13px;background:#111720}.attachment-chip img{width:42px;height:42px;border-radius:9px;object-fit:cover;background:#080b10}.attachment-file-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:#222b37;font-size:20px}.attachment-chip div{min-width:0;flex:1}.attachment-chip strong,.attachment-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-chip strong{font-size:12px}.attachment-chip small{color:var(--muted);font-size:10px;margin-top:3px}.remove-attachment{width:25px;height:25px;border:0;border-radius:8px;background:#2c3542;color:#dbe3ed;font-size:17px}.composer-tool.uploading{animation:uploadPulse 1s infinite}@keyframes uploadPulse{50%{opacity:.45}}.message-attachments{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px;white-space:normal}.message-image-attachment{width:150px;border:1px solid #394454;border-radius:13px;overflow:hidden;background:#10151c}.message-image-attachment img{display:block;width:100%;height:105px;object-fit:cover}.message-image-attachment span{display:block;padding:7px 9px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-file-attachment{display:inline-flex;max-width:260px;align-items:center;padding:9px 11px;border:1px solid #394454;border-radius:11px;background:#151b23;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-image-actions>div:first-child{min-width:0;flex:1}.chat-image-actions strong,.chat-image-actions small{display:block}.chat-image-actions small,.video-card-head small{color:var(--muted);font-size:11px;margin-top:3px}.creative-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.chat-edit-creative{border:1px solid #426356;background:#163128;color:#dffff4;border-radius:10px;padding:8px 11px;font-weight:800}.chat-edit-creative:hover{border-color:var(--accent)}.chat-video-card{width:min(620px,100%);border:1px solid #303b49;border-radius:18px;background:#10151c;padding:16px;white-space:normal;box-shadow:0 18px 55px rgba(0,0,0,.24)}.video-card-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px}.video-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#07110e;font-weight:900}.video-card-head strong,.video-card-head small{display:block}.video-chat-error{color:var(--danger);font-size:12px;margin-top:9px}.video-chat-error:empty{display:none}.video-chat-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.refund-note{color:#baf4df;font-size:12px}.badge.queued,.badge.in_progress,.badge.processing{background:#263246;color:#cde0ff}.composer-actions{flex-wrap:wrap}.composer-note{margin-right:auto}.message-row.error .message-content{color:#ffc0c7}.price-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.price-card{border:1px solid var(--line);background:#10151c;border-radius:15px;padding:15px}.price-card strong,.price-card small{display:block}.price-card strong{font-size:22px;margin-top:8px}.price-card small{color:var(--muted)}
@media(max-width:900px){.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.mode-price{width:100%;margin-left:0}.attachment-chip{min-width:170px}.video-card-head{grid-template-columns:40px minmax(0,1fr)}.video-card-head .badge{grid-column:2}.video-chat-actions,.creative-actions{width:100%;justify-content:stretch}.creative-actions>*{flex:1;text-align:center}.chat-image-actions>div:first-child{width:100%}.price-grid{grid-template-columns:1fr}.message-image-attachment{width:120px}.message-image-attachment img{height:85px}}

/* AI Maha v5: non-chat pages must scroll vertically on desktop. */
@media (min-width:901px){
  .main-panel{height:100vh;max-height:100vh;overflow-y:auto;overflow-x:hidden;min-height:0}
  .chat-page{height:calc(100vh - 64px);overflow:hidden}
  .chat-page .chat-scroll{overflow-y:auto}
}

/* Make the video revision action obvious inside live chat. */
.chat-video-card .chat-edit-creative{background:#163128;border-color:#4d7b68;font-weight:900}
.chat-video-card .video-chat-actions{align-items:center;flex-wrap:wrap}
