/* Vynoriq AI — premium UI. Dark by default; light via [data-theme=light]. */
:root{
  --bg:#040a20;--bg2:#070f2c;--panel:#0b1436;--panel2:#111c46;--glass:rgba(11,20,54,.72);--line:rgba(160,180,255,.10);--line2:rgba(160,180,255,.18);
  --text:#f2f4ff;--muted:#9aa3c7;--faint:#6b75a0;--accent:#8a5cff;--accent2:#00e5ff;--accent3:#c98bff;--danger:#ff8b9b;--ok:#2fe0c4;
  --user:linear-gradient(135deg,#2a1c6e,#0f2a63);--grad:linear-gradient(120deg,#c98bff 0%,#7b3dff 45%,#00e5ff 100%);
  --shadow:0 20px 60px rgba(0,0,10,.5);--r:18px;color-scheme:dark
}
:root[data-theme=light]{
  --grad:linear-gradient(120deg,#b36bff 0%,#6a2cff 45%,#00b8d4 100%);--bg:#f5f6fd;--bg2:#eceefa;--panel:#ffffff;--panel2:#f2f2f8;--glass:rgba(255,255,255,.8);--line:rgba(20,20,40,.09);--line2:rgba(20,20,40,.16);
  --text:#12121a;--muted:#5f6275;--faint:#8a8da0;--accent:#6c5ce7;--accent2:#12a88a;--accent3:#d9469a;--danger:#c0392b;--ok:#12a88a;
  --user:linear-gradient(135deg,#ecebff,#e6f7f3);--shadow:0 20px 50px rgba(30,30,60,.12);color-scheme:light
}
*{box-sizing:border-box}html,body{margin:0}
body{background:var(--bg);color:var(--text);font:15px/1.6 Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,.display{font-family:Sora,Inter,system-ui,sans-serif;letter-spacing:-.02em}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:13px}.pad{padding:8px 12px}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
svg.i{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:11px 18px;font-weight:600;cursor:pointer;text-decoration:none!important;
  color:#fff;background:linear-gradient(135deg,#9b5cff,#5a2cff 60%,#2a6bff);box-shadow:0 8px 24px rgba(106,60,255,.4),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .15s,box-shadow .15s,filter .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(0,229,255,.28),inset 0 1px 0 rgba(255,255,255,.25)}
.btn.ghost{background:var(--panel2);color:var(--text);box-shadow:none;border:1px solid var(--line2)}.btn.ghost:hover{border-color:var(--accent)}
.btn.big{padding:15px 26px;font-size:16px;border-radius:14px}.btn.wide{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.link{background:none;border:0;color:var(--muted);cursor:pointer;padding:0}.link:hover{color:var(--text)}
.alert{background:rgba(255,120,120,.1);color:var(--danger);border:1px solid rgba(255,120,120,.3);border-radius:12px;padding:11px 14px;margin:14px 0;font-size:14px}
.alert.ok{background:rgba(53,214,180,.1);color:var(--ok);border-color:rgba(53,214,180,.3)}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:700;font-family:Sora,Inter,sans-serif;letter-spacing:-.01em;text-decoration:none!important}
.brand img{width:32px;height:32px;border-radius:9px}

/* ambient background for marketing pages */
body:not(.app){background:radial-gradient(1200px 600px at 15% -10%,rgba(138,92,255,.22),transparent 60%),radial-gradient(900px 500px at 95% 10%,rgba(0,229,255,.14),transparent 60%),var(--bg)}
.site-top{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 70%,transparent);border-bottom:1px solid var(--line)}
.site-top .in{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;max-width:1200px;margin:auto}
.site-top nav{display:flex;gap:22px;align-items:center}.site-top nav a:not(.btn){color:var(--muted);font-weight:500}.site-top nav a:not(.btn):hover{color:var(--text);text-decoration:none}
.site-foot{max-width:1200px;margin:60px auto 0;padding:28px 24px 40px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;color:var(--faint);font-size:13px}
.site-foot nav{display:flex;flex-wrap:wrap;gap:18px}.site-foot a{color:var(--muted)}

/* landing */
.landing{max-width:1200px;margin:auto;padding:0 24px}
.hero{text-align:center;padding:90px 0 50px;position:relative}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);font-size:13px;color:var(--muted)}
.pill b{color:var(--text);font-weight:600}.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--accent2);box-shadow:0 0 12px var(--accent2)}
.hero h1{font-size:clamp(38px,7vw,76px);line-height:1.02;margin:22px auto 18px;max-width:900px;font-weight:700}
.hero p.lead{font-size:clamp(16px,2vw,19px);color:var(--muted);max-width:640px;margin:0 auto 30px}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero .note{margin-top:14px;font-size:13px;color:var(--faint)}
.showcase{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin:30px 0 70px}
.tile{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);min-height:220px;background:var(--panel);box-shadow:var(--shadow)}
.tile .art{position:absolute;inset:0}.tile .cap{position:absolute;left:14px;bottom:14px;right:14px;display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.tile .cap span{font-size:13px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6);max-width:75%}.tile .cap b{font-size:11px;padding:4px 9px;border-radius:999px;background:rgba(0,0,0,.45);color:#fff;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18)}
.t1{grid-column:span 5;grid-row:span 2;min-height:460px}.t2{grid-column:span 4}.t3{grid-column:span 3}.t4{grid-column:span 3}.t5{grid-column:span 4}
.a1{background:radial-gradient(circle at 30% 30%,#f7b27a 0,transparent 35%),radial-gradient(circle at 70% 70%,#6a4cff 0,transparent 45%),linear-gradient(160deg,#2b1d3f,#0e1a2f)}
.a2{background:radial-gradient(circle at 60% 40%,#35d6b4 0,transparent 40%),linear-gradient(180deg,#0f2d3a,#081119)}
.a3{background:radial-gradient(circle at 50% 60%,#ff7ac6 0,transparent 38%),linear-gradient(200deg,#301236,#0d0b16)}
.a4{background:radial-gradient(circle at 40% 30%,#ffd36e 0,transparent 35%),linear-gradient(160deg,#3b2a12,#120d07)}
.a5{background:radial-gradient(circle at 70% 50%,#7aa7ff 0,transparent 40%),linear-gradient(140deg,#16213f,#0a0d19)}
.play{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.45);display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.2)}
.section-head{text-align:center;margin:0 auto 34px;max-width:680px}.section-head h2{font-size:clamp(28px,4vw,42px);margin:10px 0}.section-head p{color:var(--muted)}
.eyebrow{letter-spacing:.2em;font-size:12px;font-weight:700;color:var(--accent);text-transform:uppercase}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:80px}
.card{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:22px;padding:26px;position:relative;overflow:hidden}
.card h3{margin:14px 0 6px;font-size:20px}.card p{color:var(--muted);margin:0}.card .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line2);color:var(--accent)}
.b1{grid-column:span 3}.b2{grid-column:span 3}.b3{grid-column:span 2}.b4{grid-column:span 2}.b5{grid-column:span 2}
.tiers-demo{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.tiers-demo span{padding:7px 14px;border-radius:999px;border:1px solid var(--line2);font-size:13px;color:var(--muted)}.tiers-demo span.on{background:var(--grad);color:#fff;border-color:transparent}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:80px}.step{padding:24px;border-radius:20px;border:1px dashed var(--line2)}.step b{font-family:Sora,sans-serif;font-size:34px}.step h3{margin:6px 0}.step p{color:var(--muted);margin:0}
.cta-band{margin:10px 0 40px;border-radius:28px;padding:50px 30px;text-align:center;background:radial-gradient(600px 200px at 50% 0,rgba(138,92,255,.35),transparent),var(--panel);border:1px solid var(--line2)}
.cta-band h2{font-size:clamp(26px,4vw,40px);margin:0 0 10px}
.faq{max-width:780px;margin:0 auto 60px}.faq details{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin:10px 0}
.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between}.faq summary:after{content:"+";color:var(--muted);font-size:20px;line-height:1}.faq details[open] summary:after{content:"−"}.faq p{color:var(--muted);margin:10px 0 0}

/* auth */
.auth-wrap{min-height:calc(100vh - 140px);display:grid;place-items:center;padding:30px 20px}
.auth-card{width:100%;max-width:440px;background:var(--glass);backdrop-filter:blur(18px);border:1px solid var(--line2);border-radius:24px;padding:34px;box-shadow:var(--shadow)}
.auth-card h1{margin:0 0 6px;font-size:28px}.auth-card label{display:block;margin:16px 0 0;font-size:13px;font-weight:600;color:var(--muted)}
.auth-card input:not([type=checkbox]){display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid var(--line2);border-radius:12px;background:var(--panel2);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}
.auth-card input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent)}
.auth-card label.check{font-weight:400;display:flex;gap:10px;align-items:flex-start;color:var(--text)}.auth-card label.check input{margin-top:4px;accent-color:var(--accent)}.auth-card .btn{margin-top:22px}
.legal{max-width:820px;margin:30px auto;padding:0 24px}.legal h1{font-size:40px;margin-bottom:4px}.legal h2{font-size:20px;margin-top:30px}.legal p,.legal li{color:var(--muted)}.legal b{color:var(--text)}

/* pricing */
.pricing{max-width:1200px;margin:auto;padding:50px 24px}.pricing h1{text-align:center;font-size:clamp(34px,5vw,54px);margin:10px 0}.pricing .sub{text-align:center;color:var(--muted);max-width:640px;margin:0 auto}
.balance{display:flex;justify-content:center;margin:18px 0}.packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:36px 0 50px}
.pack{position:relative;background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:24px;padding:26px;display:flex;flex-direction:column;gap:8px}
.pack.best{border:1px solid transparent;background:linear-gradient(180deg,var(--panel),var(--bg2)) padding-box,var(--grad) border-box;box-shadow:0 20px 60px rgba(138,92,255,.25)}
.pack .tag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--grad);color:#fff;font-size:12px;font-weight:700;padding:4px 12px;border-radius:999px}
.pack h3{margin:0;font-size:18px;color:var(--muted);font-weight:600}.pack .price{font-family:Sora,sans-serif;font-size:42px;font-weight:700;line-height:1.1}.pack .cr{font-size:15px}.pack .cr b{font-size:20px}
.pack .per{color:var(--faint);font-size:13px}.pack ul{list-style:none;padding:0;margin:8px 0 12px;display:grid;gap:6px;color:var(--muted);font-size:14px}.pack li:before{content:"✓ ";color:var(--accent2)}
.pack form{margin:0}.pack .btn{width:100%;margin-top:4px}.pay-row{display:grid;gap:8px;margin-top:auto}
.cost-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.cost-table th,.cost-table td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left}.cost-table th{color:var(--muted);font-weight:600;font-size:13px}.cost-table tr:last-child td{border-bottom:0}
.trust{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;color:var(--faint);font-size:13px;margin-top:16px}.trust span{display:flex;align-items:center;gap:6px}

/* ============================== app */
body.app{height:100vh;overflow:hidden;background:var(--bg)}
.shell{display:grid;grid-template-columns:280px 1fr;height:100vh}
.side{background:var(--bg2);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:16px 12px;gap:12px;min-height:0}
.side-top{display:flex;justify-content:space-between;align-items:center;padding:0 6px}
.new-chat{width:100%;justify-content:flex-start}
.conv-list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:2px;min-height:0;margin:0 -4px;padding:0 4px}
.conv-group{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding:14px 10px 6px;font-weight:600}
.conv{display:flex;align-items:center;gap:8px;text-align:left;background:none;border:0;border-radius:10px;padding:9px 10px;cursor:pointer;color:var(--muted);font-size:14px;min-width:0}
.conv span.t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.conv:hover{background:var(--panel);color:var(--text)}.conv.on{background:var(--panel2);color:var(--text)}
.conv .del{opacity:0;border:0;background:none;color:var(--faint);cursor:pointer;padding:2px;display:flex}.conv:hover .del{opacity:1}.conv .del:hover{color:var(--danger)}
.side-bottom{display:grid;gap:10px}
.credits{display:flex;align-items:center;gap:10px;text-decoration:none!important;color:var(--text);border-radius:14px;padding:12px 14px;
  background:linear-gradient(var(--panel),var(--panel)) padding-box,var(--grad) border-box;border:1px solid transparent}
.credits .n{font-family:Sora,sans-serif;font-weight:700;font-size:18px}.credits small{color:var(--muted);display:block;font-size:12px;line-height:1.2}.credits b{margin-left:auto;font-size:13px;background:var(--grad);color:#fff;padding:5px 10px;border-radius:9px}
.me{display:flex;gap:10px;align-items:center;padding:6px 6px}.avatar{width:34px;height:34px;border-radius:10px;background:var(--grad);display:grid;place-items:center;font-weight:700;color:#fff;flex-shrink:0}
.me .who{min-width:0;flex:1}.me .who div{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me .who a,.me .who button{font-size:12px}
.side-legal{display:flex;gap:12px;font-size:12px;padding:0 6px}.side-legal a{color:var(--faint)}

.chat{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;background:radial-gradient(900px 400px at 50% -10%,rgba(138,92,255,.10),transparent 70%)}
.chat.drag:after{content:"Drop a photo to use it";position:absolute;inset:14px;border:2px dashed var(--accent);border-radius:22px;display:grid;place-items:center;font-weight:700;font-size:18px;background:color-mix(in srgb,var(--accent) 12%,transparent);pointer-events:none;z-index:5}
.chat-top{display:flex;align-items:center;gap:12px;padding:12px 22px;min-height:58px;border-bottom:1px solid var(--line)}
.chat-top #chatTitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.badge{font-size:11px;font-weight:700;letter-spacing:.06em;background:rgba(255,200,80,.14);color:#ffcf66;border:1px solid rgba(255,200,80,.3);border-radius:8px;padding:3px 8px}
.icon{background:none;border:1px solid transparent;cursor:pointer;width:38px;height:38px;border-radius:11px;color:var(--muted);display:inline-grid;place-items:center}
.icon:hover{background:var(--panel2);color:var(--text);border-color:var(--line)}
.messages{flex:1;overflow:auto;padding:28px max(18px,calc((100% - 840px)/2)) 24px;display:flex;flex-direction:column;gap:22px;scroll-behavior:smooth}
.empty{margin:auto;text-align:center;max-width:760px;width:100%}
.empty .orb{width:64px;height:64px;margin:0 auto 18px;border-radius:20px;background:var(--grad);box-shadow:0 0 60px rgba(138,92,255,.5);display:grid;place-items:center}
.empty .orb img{width:40px;height:40px;border-radius:10px}
.empty h1{font-size:clamp(28px,4vw,40px);margin:0 0 8px}.empty p{color:var(--muted);margin:0 0 26px}
.starters{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;text-align:left}
.starters button{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;cursor:pointer;transition:border-color .15s,transform .15s,background .15s}
.starters button:hover{border-color:var(--line2);transform:translateY(-2px);background:var(--panel2)}
.starters .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--panel2);color:var(--accent);flex-shrink:0}
.starters b{display:block;font-size:14px}.starters small{color:var(--muted);font-size:13px;line-height:1.4;display:block;margin-top:2px}

.msg{display:flex;gap:12px;align-items:flex-start;animation:rise .25s ease-out}@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.msg.user{justify-content:flex-end}.msg .av{width:30px;height:30px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line)}.msg .av img{width:22px;height:22px;border-radius:6px}
.bubble{max-width:min(720px,88%);min-width:0}
.msg.user .bubble{background:var(--user);border:1px solid var(--line2);border-radius:18px 18px 6px 18px;padding:12px 16px}
.msg.assistant .bubble{flex:1;max-width:100%;padding-top:3px}
.msg.blocked .bubble .text,.msg.blocked .bubble .md{color:var(--danger)}
.msg .text{white-space:pre-wrap;overflow-wrap:anywhere}
.md{overflow-wrap:anywhere}.md p{margin:0 0 12px}.md ul{margin:0 0 12px;padding-left:22px}.md li{margin:3px 0}.md h4{margin:14px 0 8px;font-size:16px}
.md pre{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:14px;overflow:auto;font-size:13px}.md code{background:var(--panel2);border-radius:6px;padding:1px 6px;font-size:13px}
.thumb{max-width:180px;border-radius:12px;display:block;margin-bottom:10px;border:1px solid var(--line2)}
.meta{font-size:12px;color:var(--faint);margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid var(--line2);color:var(--muted)}
.sources{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-top:12px}
.sources .label{grid-column:1/-1;font-size:12px;font-weight:700;color:var(--faint);letter-spacing:.1em;text-transform:uppercase}
.src{display:flex;gap:10px;align-items:center;padding:9px 11px;border-radius:12px;background:var(--panel);border:1px solid var(--line);color:var(--text);text-decoration:none!important;font-size:13px;min-width:0}
.src:hover{border-color:var(--line2)}.src i{font-style:normal;width:22px;height:22px;border-radius:7px;background:var(--panel2);display:grid;place-items:center;font-size:11px;color:var(--muted);flex-shrink:0}
.src span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
iframe.suggest{border:0;width:100%;height:64px;margin-top:8px;border-radius:12px}

.job{position:relative;display:inline-block;max-width:min(100%,540px);border-radius:20px;overflow:hidden;border:1px solid var(--line2);background:var(--panel)}
.job img,.job video{display:block;width:100%;max-height:72vh;object-fit:contain;background:#000}
.job img{cursor:zoom-in}
.job .bar{position:absolute;left:0;right:0;bottom:0;display:flex;gap:8px;justify-content:flex-end;padding:12px;background:linear-gradient(transparent,rgba(0,0,0,.6));opacity:0;transition:opacity .15s}
.job:hover .bar,.job:focus-within .bar{opacity:1}.job.video .bar{top:0;bottom:auto;background:linear-gradient(rgba(0,0,0,.55),transparent)}
.job .bar a,.job .bar button{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:7px 11px;border-radius:10px;background:rgba(20,20,30,.7);color:#fff;border:1px solid rgba(255,255,255,.18);cursor:pointer;text-decoration:none!important;backdrop-filter:blur(8px)}
.job.pending{width:min(100%,440px);aspect-ratio:4/5;display:grid;place-items:center;border-style:dashed}
.job.pending.landscape{aspect-ratio:16/9}.job.pending.square{aspect-ratio:1}
.shimmer{position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(138,92,255,.12) 50%,transparent 70%);background-size:200% 100%;animation:sh 1.6s linear infinite}@keyframes sh{to{background-position:-200% 0}}
.job.pending .in{position:relative;text-align:center;padding:20px;color:var(--muted);font-size:14px}.job.pending .in b{display:block;color:var(--text);font-size:15px;margin:10px 0 2px}
.spinner{width:34px;height:34px;margin:auto;border-radius:50%;border:3px solid var(--line2);border-top-color:var(--accent);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.job.failed{padding:16px 18px;color:var(--danger);border-color:rgba(255,120,120,.3);background:rgba(255,120,120,.06)}
.typing .dots{display:inline-flex;gap:5px;padding:10px 0}.typing .dots i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:b 1.2s infinite}.typing .dots i:nth-child(2){animation-delay:.15s}.typing .dots i:nth-child(3){animation-delay:.3s}
@keyframes b{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}

.composer-wrap{padding:8px max(18px,calc((100% - 840px)/2)) 14px}
.dock{background:var(--glass);backdrop-filter:blur(20px);border:1px solid var(--line2);border-radius:24px;box-shadow:var(--shadow);padding:10px;transition:border-color .15s,box-shadow .15s}
.dock:focus-within{border-color:color-mix(in srgb,var(--accent) 55%,var(--line2));box-shadow:var(--shadow),0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}
.attach-preview{display:flex;gap:12px;align-items:center;background:var(--panel2);border-radius:16px;padding:8px;margin-bottom:8px}
.attach-preview img{width:56px;height:56px;object-fit:cover;border-radius:12px}.attach-preview b{font-size:14px}.consent{display:flex;gap:7px;font-size:12px;color:var(--muted);margin-top:3px;cursor:pointer}.consent input{accent-color:var(--accent)}
.attach-preview .icon{margin-left:auto}
.composer{display:flex;align-items:flex-end;gap:6px}
.composer textarea{flex:1;border:0;background:transparent;resize:none;outline:none;padding:10px 6px;max-height:220px;font-size:15px;line-height:1.5}
.composer textarea::placeholder{color:var(--faint)}
.send{background:var(--grad);color:#fff;border:0;border-radius:14px;width:44px;height:44px;cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 20px rgba(138,92,255,.4);transition:transform .15s,opacity .15s}
.send:hover{transform:scale(1.05)}.send:disabled{opacity:.4;transform:none}.attach.dim{opacity:.45}
.controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 4px 2px;border-top:1px solid var(--line);margin-top:6px}
.seg{display:inline-flex;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px}
.seg button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:6px 12px;border-radius:9px;cursor:pointer;font-size:13px;font-weight:600;color:var(--muted)}
.seg button svg.i{width:15px;height:15px}.seg button:hover{color:var(--text)}
.seg button.on{background:var(--panel2);color:var(--text);box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 2px 8px rgba(0,0,0,.25)}
#tierSeg button.on{background:var(--grad);color:#fff}
#tierSeg button em{font-style:normal;font-size:11px;opacity:.75;font-weight:500}
.controls select{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:7px 10px;font-size:13px;color:var(--text)}
.toggle{font-size:13px;display:inline-flex;gap:8px;align-items:center;color:var(--muted);cursor:pointer;padding:6px 10px;border-radius:12px;border:1px solid var(--line);background:var(--bg2)}
.toggle input{accent-color:var(--accent)}.toggle:has(input:checked){color:var(--text);border-color:color-mix(in srgb,var(--accent) 60%,var(--line))}
.cost{margin-left:auto;font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.cost b{color:var(--text)}
.fine{font-size:11px;color:var(--faint);text-align:center;margin:10px 0 0}.fine a{color:var(--faint);text-decoration:underline}

.lightbox{position:fixed;inset:0;z-index:60;background:rgba(5,5,10,.92);display:grid;place-items:center;padding:30px;cursor:zoom-out}
.lightbox img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lightbox .close{position:absolute;top:18px;right:18px;color:#fff}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--panel2);color:var(--text);border:1px solid var(--line2);padding:12px 18px;border-radius:14px;max-width:90vw;z-index:70;box-shadow:var(--shadow);font-size:14px}
.only-mobile{display:none}
@media (max-width:860px){
  .shell{grid-template-columns:1fr}.side{position:fixed;inset:0 18% 0 0;z-index:40;transform:translateX(-102%);transition:transform .22s;visibility:hidden}
  .shell.side-open .side{transform:none;visibility:visible;box-shadow:0 0 60px rgba(0,0,0,.6)}.only-mobile{display:inline-grid}
  .starters{grid-template-columns:1fr}.cost{margin-left:0;width:100%}.seg button{padding:6px 9px}.chat-top{padding:10px 14px}
  .t1,.t2,.t3,.t4,.t5{grid-column:span 12;min-height:220px}.bento .card{grid-column:span 6}.steps{grid-template-columns:1fr}
  .site-top nav a.hide-m{display:none}
}
/* admin */
.admin{max-width:1240px;margin:auto;padding:30px 24px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0 26px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px}.stat b{display:block;font-size:26px;font-family:Sora,sans-serif}
.tbl{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);font-size:13px;margin:10px 0 28px;border-radius:14px;overflow:hidden}
.tbl th,.tbl td{padding:9px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.tbl th{color:var(--muted)}
.tbl input{width:84px;padding:5px 7px;background:var(--panel2);border:1px solid var(--line2);border-radius:8px}

/* brand footer credit */
.foot-brand p{margin:8px 0 0;max-width:420px}.site-foot .credit{width:100%;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--faint);text-align:center}
.site-foot .credit a,.side-credit a,.fine-credit a{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600;text-decoration:none}
.side-credit{font-size:11px;color:var(--faint);padding:0 6px}
.fine-credit{display:none}
@media (max-width:860px){.fine-credit{display:inline}}
.brand img{box-shadow:0 0 18px rgba(0,229,255,.25)}
.starters button>span:last-child{text-align:left;flex:1}


/* ================================================================
   V3 Premium auth + My PC / Local Studio connection
   ================================================================ */
body.auth-premium{min-height:100vh;overflow:auto;background:#060914}
body.auth-premium .site-foot{display:none}
.auth-stage{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(480px,.92fr);background:radial-gradient(900px 600px at 15% 10%,rgba(117,88,255,.2),transparent 62%),#070a13}
.auth-story{position:relative;overflow:hidden;padding:48px clamp(36px,6vw,88px);display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,rgba(14,19,39,.96),rgba(7,11,23,.98));border-right:1px solid rgba(255,255,255,.07)}
.auth-story:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;right:-230px;top:8%;background:radial-gradient(circle,rgba(116,92,255,.25),rgba(37,226,193,.05) 48%,transparent 72%);filter:blur(2px)}
.auth-story:after{content:"V";position:absolute;right:5%;bottom:-10%;font:700 min(36vw,520px)/1 Sora;color:rgba(255,255,255,.018);pointer-events:none}
.auth-logo{position:relative;z-index:1;display:flex;align-items:center;gap:12px;color:#fff!important;text-decoration:none!important;font:700 18px Sora}
.auth-logo img{width:46px;height:46px;border-radius:14px;box-shadow:0 12px 35px rgba(111,88,255,.28)}
.auth-story-copy{position:relative;z-index:1;max-width:650px;margin:70px 0}
.auth-kicker{font-size:10px;letter-spacing:.2em;font-weight:800;color:#9587ff;text-transform:uppercase}
.auth-story h1{font-size:clamp(40px,5vw,68px);line-height:1.04;margin:16px 0 18px;letter-spacing:-.045em}
.auth-story-copy>p{font-size:16px;color:#9ba6bb;max-width:600px}
.auth-benefits{display:grid;gap:12px;margin-top:34px;max-width:570px}
.auth-benefits>div{display:flex;align-items:center;gap:14px;padding:13px 14px;border:1px solid rgba(255,255,255,.075);background:rgba(255,255,255,.025);border-radius:14px;backdrop-filter:blur(12px)}
.auth-benefits i{font-style:normal;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(124,98,255,.12);color:#b8adff;font-size:12px;font-weight:800}
.auth-benefits b{display:block;font-size:13px;color:#eaf0fb}.auth-benefits small{display:block;color:#7f8ba0;margin-top:2px;font-size:11px}
.auth-story-foot{position:relative;z-index:1;display:flex;justify-content:space-between;color:#68758b;font-size:11px}
.auth-form-side{display:grid;place-items:center;padding:42px;background:radial-gradient(500px 360px at 80% 20%,rgba(58,220,190,.06),transparent 70%),#f4f5fa;color:#111827}
.auth-premium-card{width:min(460px,100%);padding:38px 36px;border:1px solid #e1e4ec;background:rgba(255,255,255,.92);border-radius:24px;box-shadow:0 30px 80px rgba(28,33,50,.13)}
.auth-premium-card h2{font-size:29px;margin:7px 0 4px;color:#101827}.auth-premium-card>.muted{color:#7b8495;margin:0 0 20px}
.auth-mobile-brand{display:none;align-items:center;gap:9px;margin-bottom:25px;color:#111827}.auth-mobile-brand img{width:38px;height:38px;border-radius:11px}
.premium-form label{display:block;margin:15px 0 0;color:#4d5667;font-size:12px;font-weight:700}
.field-shell{display:flex;align-items:center;margin-top:7px;border:1px solid #d9deea;border-radius:12px;background:#f8f9fc;transition:.16s;overflow:hidden}
.field-shell:focus-within{border-color:#7864ee;box-shadow:0 0 0 4px rgba(117,100,238,.1);background:#fff}
.field-shell>span{width:40px;text-align:center;color:#929bad;font-size:11px}.field-shell input{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;padding:13px 4px!important;color:#121826!important;outline:0}
.field-eye{border:0;background:transparent;color:#6f7788;font-size:11px;padding:10px 12px;cursor:pointer}
.form-between{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font-size:11px}.form-between span{color:#98a0ad}.form-between a{color:#6c56d9}
.auth-submit{margin-top:22px!important;min-height:48px;border-radius:12px!important}.auth-submit span{font-size:17px}
.auth-separator{display:flex;align-items:center;gap:12px;margin:22px 0;color:#a0a7b4;font-size:10px}.auth-separator:before,.auth-separator:after{content:"";height:1px;background:#e7e9ef;flex:1}
.auth-premium-card .btn.ghost{background:#fff;color:#222a39;border-color:#dfe3eb}
.auth-legal,.auth-switch{text-align:center;color:#8991a0;font-size:10px;margin:18px 0 0}.auth-switch{font-size:11px}.auth-premium-card a{color:#6754d3}
.premium-check{display:flex!important;gap:9px;align-items:flex-start!important;font-weight:500!important;color:#5f6879!important;line-height:1.45}.premium-check input{margin-top:3px;accent-color:#7564ee}.register-card{padding-top:31px;padding-bottom:31px}

/* premium signed-in polish */
body.app .side{background:linear-gradient(180deg,#070d20,#081023);box-shadow:14px 0 44px rgba(0,0,0,.13)}
body.app .chat{background:radial-gradient(850px 420px at 50% -8%,rgba(119,88,255,.11),transparent 68%),var(--bg)}
body.app .dock{border-color:rgba(150,170,255,.15);box-shadow:0 18px 55px rgba(0,0,0,.18)}

.engine-switch{display:flex;padding:3px;border:1px solid var(--line2);border-radius:10px;background:var(--panel)}
.engine-switch button{border:0;background:transparent;color:var(--muted);border-radius:7px;padding:5px 9px;font-size:10px;font-weight:700;cursor:pointer}.engine-switch button.on{background:var(--panel2);color:var(--text);box-shadow:0 3px 10px rgba(0,0,0,.15)}
.local-connect{display:flex;align-items:center;gap:6px;border:1px solid var(--line2);background:var(--panel);color:var(--muted);border-radius:10px;padding:7px 9px;font-size:10px;font-weight:650;cursor:pointer}.local-connect:hover{color:var(--text);border-color:var(--accent)}
.local-dot{width:7px;height:7px;border-radius:50%;background:#647086}.local-dot.ok{background:var(--ok);box-shadow:0 0 10px var(--ok)}
.local-thinking{color:var(--muted);font-size:13px}.local-thinking:after{content:"";display:inline-block;width:5px;height:12px;background:var(--accent);margin-left:5px;animation:vqblink .8s steps(1) infinite}@keyframes vqblink{50%{opacity:0}}
.local-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.local-modal-backdrop{position:absolute;inset:0;background:rgba(1,4,12,.72);backdrop-filter:blur(10px)}
.local-modal-card{position:relative;width:min(560px,100%);border:1px solid var(--line2);border-radius:22px;background:linear-gradient(180deg,var(--panel),var(--bg2));box-shadow:0 30px 100px rgba(0,0,0,.55);padding:24px}.local-modal-head{display:flex;justify-content:space-between;gap:14px}.local-modal-head h2{margin:6px 0 0;font-size:23px}.local-modal-card>p{color:var(--muted);font-size:12px}.local-modal-card label{display:block;color:var(--muted);font-size:11px;font-weight:700;margin-top:13px}.local-modal-card input,.local-modal-card select{width:100%;margin-top:6px;border:1px solid var(--line2);border-radius:10px;background:var(--panel2);color:var(--text);padding:11px 12px;outline:none}.local-help{margin-top:13px;border:1px solid rgba(69,222,189,.18);background:rgba(69,222,189,.05);color:#93a7ac;border-radius:10px;padding:10px;font-size:10px}.local-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.local-result{min-height:18px;margin-top:10px;color:var(--muted);font-size:10px}.local-result b{color:var(--ok)}
.access-pill{border:1px solid var(--line2);background:var(--panel2);color:var(--muted);padding:5px 8px;border-radius:999px;font-size:10px;cursor:pointer}.access-pill.on{color:var(--ok);border-color:rgba(47,224,196,.28);background:rgba(47,224,196,.07)}.inline-admin-toggle{margin:0}

@media(max-width:900px){.auth-stage{grid-template-columns:1fr}.auth-story{min-height:300px;padding:30px}.auth-story-copy{margin:40px 0 25px}.auth-story h1{font-size:40px}.auth-benefits{grid-template-columns:1fr 1fr}.auth-benefits>div:last-child{display:none}.auth-form-side{padding:30px 18px}.auth-story-foot{display:none}}
@media(max-width:620px){.auth-story{display:none}.auth-form-side{min-height:100vh;padding:20px 14px;background:#f4f5fa}.auth-premium-card{padding:28px 22px;border-radius:20px}.auth-mobile-brand{display:flex}.auth-premium-card h2{font-size:26px}.engine-switch{display:none}.local-connect{padding:7px}.local-connect #localConnectLabel{display:none}.local-modal-actions{flex-direction:column-reverse}.local-modal-actions .btn{width:100%}}

/* =====================================================================
   V4 SaaS UI — premium marketing, auth, workspace and admin control center
   ===================================================================== */
:root{
  --saas-card:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  --saas-border:rgba(176,190,255,.14);
}

/* MARKETING / MAIN WEBSITE */
body.landing{background:
  radial-gradient(1100px 700px at 12% -5%,rgba(123,83,255,.20),transparent 60%),
  radial-gradient(900px 620px at 96% 18%,rgba(0,224,255,.12),transparent 58%),
  linear-gradient(180deg,#05091c 0%,#050a1f 48%,#060b22 100%);
}
body.landing .site-top{background:rgba(5,9,28,.72);border-bottom-color:rgba(255,255,255,.065);box-shadow:0 10px 35px rgba(0,0,0,.12)}
body.landing .site-top .in{max-width:1320px;padding:16px 28px}
body.landing .brand img{width:36px;height:36px;border-radius:11px}
body.landing .site-top nav{gap:26px}
body.landing .site-top nav a:not(.btn){font-size:13px}
.landing{max-width:1320px;padding:0 28px}
.hero-v4{display:grid;grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);gap:54px;align-items:center;text-align:left;padding:92px 0 58px}
.hero-v4 .hero-copy-v4{max-width:650px}
.hero-v4 h1{font-size:clamp(46px,5.7vw,76px);max-width:none;margin:24px 0 18px;line-height:.99;letter-spacing:-.052em}
.hero-v4 p.lead{max-width:620px;margin:0 0 30px;font-size:18px;line-height:1.65}
.hero-v4 .hero-cta{justify-content:flex-start}
.hero-v4 .note{margin-top:15px}
.hero-proof{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px;color:#95a1bf;font-size:11px}
.hero-proof span{border:1px solid rgba(176,190,255,.12);background:rgba(255,255,255,.025);border-radius:999px;padding:7px 10px}
.hero-console{position:relative;padding:1px;border-radius:28px;background:linear-gradient(135deg,rgba(177,145,255,.55),rgba(70,91,255,.2),rgba(0,229,255,.38));box-shadow:0 45px 120px rgba(0,0,0,.48),0 0 80px rgba(99,69,255,.08)}
.hero-console:before{content:"";position:absolute;inset:-60px;border-radius:50%;background:radial-gradient(circle,rgba(104,72,255,.13),transparent 66%);z-index:-1;filter:blur(12px)}
.console-bar{height:52px;border-radius:27px 27px 0 0;background:#0a1027;display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.07);font-size:11px;color:#9ba6c3}
.console-bar>b{color:#e8edfb;font-size:12px}.console-bar>span{margin-left:auto;color:#4fe3c5;border:1px solid rgba(79,227,197,.2);background:rgba(79,227,197,.05);padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800}
.console-dots{display:flex;gap:5px}.console-dots i{width:7px;height:7px;border-radius:50%;background:#38425f}.console-dots i:nth-child(1){background:#7f63ff}.console-dots i:nth-child(2){background:#35b1ff}.console-dots i:nth-child(3){background:#44ddbd}
.console-body{min-height:485px;background:linear-gradient(145deg,#091025,#080d1f);border-radius:0 0 27px 27px;display:grid;grid-template-columns:150px 1fr;overflow:hidden}
.console-body aside{border-right:1px solid rgba(255,255,255,.065);padding:18px 14px;color:#73809e;font-size:9px}
.console-brand{display:flex;align-items:center;gap:8px;color:#f1f4ff;font-size:10px;margin-bottom:26px}.console-brand img{width:29px;height:29px;border-radius:9px}.console-body aside>em,.console-body aside>small{display:block;font-style:normal;letter-spacing:.13em;font-size:7px;text-transform:uppercase;color:#58627c;margin:14px 5px 7px}.console-body aside>strong{display:block;color:#fff;background:linear-gradient(100deg,rgba(126,91,255,.18),rgba(54,95,255,.08));padding:9px;border:1px solid rgba(132,114,255,.15);border-radius:8px}.console-body aside>p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:7px 5px;color:#66738f}
.console-body>section{padding:30px;display:flex;flex-direction:column;justify-content:center;text-align:left}
.console-status{display:flex;gap:7px;margin-bottom:28px}.console-status span{font-size:8px;padding:5px 7px;border-radius:999px;background:#101a3b;border:1px solid rgba(159,175,255,.12);color:#8f9bb7}.console-status span:first-child{color:#55e3c7}
.console-body section h3{font-size:29px;margin:0 0 7px}.console-body section>p{font-size:11px;color:#7885a4;margin:0 0 22px}
.console-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.console-grid>div{border:1px solid rgba(158,174,255,.09);background:rgba(255,255,255,.025);border-radius:12px;padding:13px}.console-grid b{display:block;font-size:10px}.console-grid small{display:block;color:#687590;margin-top:4px;font-size:8px}
.console-composer{margin-top:20px;border:1px solid rgba(161,177,255,.13);background:#0c1531;border-radius:13px;padding:12px 11px;display:flex;justify-content:space-between;align-items:center;color:#62718e;font-size:9px}.console-composer b{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#8f5cff,#316cff);color:#fff}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(163,180,255,.09);background:rgba(255,255,255,.022);border-radius:20px;margin:0 0 84px;overflow:hidden;box-shadow:inset 0 1px rgba(255,255,255,.02)}
.trust-strip>span{padding:20px 24px;border-right:1px solid rgba(163,180,255,.08)}.trust-strip>span:last-child{border-right:0}.trust-strip b{display:block;font-size:12px;color:#eef2ff}.trust-strip small{display:block;color:#71809e;font-size:10px;margin-top:4px}
body.landing .section-head{max-width:760px}.bento .card{box-shadow:inset 0 1px rgba(255,255,255,.025),0 20px 45px rgba(0,0,0,.12)}
body.landing .cta-band{background:radial-gradient(500px 240px at 50% 0,rgba(143,91,255,.36),transparent 75%),linear-gradient(145deg,#0d1433,#081127);box-shadow:0 30px 80px rgba(0,0,0,.22)}

/* PREMIUM AUTH */
body.auth-premium{background:#060914}
.auth-stage{grid-template-columns:minmax(480px,1.04fr) minmax(500px,.96fr);background:#060914}
.auth-story{padding:54px clamp(42px,6vw,94px);background:
  radial-gradient(660px 480px at 86% 20%,rgba(124,82,255,.19),transparent 68%),
  radial-gradient(520px 420px at 18% 78%,rgba(0,210,255,.06),transparent 72%),
  linear-gradient(155deg,#080c1d,#070b18 68%,#060914)}
.auth-story:before{width:540px;height:540px;right:-200px;top:12%;background:radial-gradient(circle,rgba(123,91,255,.18),rgba(44,205,202,.03) 50%,transparent 72%)}
.auth-story h1{font-size:clamp(44px,4.8vw,66px);letter-spacing:-.055em}
.auth-story-copy>p{font-size:15px;line-height:1.7}
.auth-benefits>div{padding:15px 16px;border-color:rgba(177,190,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018))}
.auth-form-side{background:
  radial-gradient(520px 420px at 78% 12%,rgba(112,76,255,.11),transparent 68%),
  radial-gradient(480px 420px at 15% 88%,rgba(0,200,224,.07),transparent 70%),
  #090e20;color:#eef2ff}
.auth-premium-card{width:min(475px,100%);padding:38px;border:1px solid rgba(179,191,255,.13);background:linear-gradient(180deg,rgba(16,23,48,.95),rgba(10,16,35,.96));box-shadow:0 38px 110px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.035);color:#eef2ff;backdrop-filter:blur(18px)}
.auth-premium-card h2{color:#f3f5ff;font-size:31px;letter-spacing:-.04em}.auth-premium-card>.muted{color:#8995af}
.auth-card-badges{display:flex;gap:7px;flex-wrap:wrap;margin:11px 0 4px}.auth-card-badges span{font-size:9px;color:#8fa0bf;border:1px solid rgba(167,182,255,.11);background:rgba(255,255,255,.02);border-radius:999px;padding:5px 7px}
.premium-form label{color:#a8b2c8}.field-shell{border-color:rgba(167,182,255,.13);background:#0b1229}.field-shell:focus-within{border-color:#7f66ff;box-shadow:0 0 0 4px rgba(117,100,238,.12);background:#0e1733}.field-shell>span{color:#6f7b97}.field-shell input{color:#edf1ff!important}.field-eye{color:#8793ad}.form-between span{color:#69758f}.form-between a,.auth-premium-card a{color:#9b88ff}.auth-separator{color:#6f7a91}.auth-separator:before,.auth-separator:after{background:rgba(180,192,255,.10)}.auth-premium-card .btn.ghost{background:#0c142d;color:#e4e9f7;border-color:rgba(168,182,255,.13)}.auth-legal,.auth-switch{color:#707d96}.premium-check{color:#8f9bb1!important}.auth-mobile-brand{color:#f0f3fb}.auth-mobile-brand img{box-shadow:0 0 28px rgba(86,74,255,.28)}
.field-shell input:-webkit-autofill,.field-shell input:-webkit-autofill:hover,.field-shell input:-webkit-autofill:focus{-webkit-text-fill-color:#edf1ff;-webkit-box-shadow:0 0 0 1000px #0b1229 inset;transition:background-color 5000s ease-in-out 0s}

/* SIGNED-IN WORKSPACE */
body.app{background:#050a1d}
.shell{grid-template-columns:255px 1fr}
.side{padding:18px 12px 14px;background:linear-gradient(180deg,#071025,#08112a 62%,#070d20)!important;border-right-color:rgba(171,188,255,.08)!important;box-shadow:20px 0 70px rgba(0,0,0,.15)!important}
.side-top{padding:0 7px 5px}.side-top .brand img{width:36px;height:36px;border-radius:11px}.side-top .brand span{font-size:13px}
.new-chat{min-height:43px;border-radius:11px;padding:10px 13px;justify-content:flex-start;box-shadow:0 8px 24px rgba(83,54,255,.22)}
.side-section-label{padding:7px 8px 0;color:#596783;font-size:8px;letter-spacing:.18em;font-weight:800}
.conv-list{padding-top:0}
.conv{border-radius:9px!important;margin:2px 0!important}.conv:hover{background:rgba(255,255,255,.035)!important}.conv.on{background:linear-gradient(100deg,rgba(119,89,255,.13),rgba(60,92,255,.05))!important;border:1px solid rgba(128,110,255,.12)!important}
.credits{border:1px solid rgba(119,137,255,.16);background:linear-gradient(145deg,rgba(124,84,255,.09),rgba(0,187,255,.035));box-shadow:inset 0 1px rgba(255,255,255,.02)}
.me{padding:7px!important;border-radius:12px}.avatar{box-shadow:0 7px 18px rgba(108,64,255,.22)}
.chat{background:
  radial-gradient(900px 460px at 52% -7%,rgba(112,79,255,.105),transparent 66%),
  radial-gradient(680px 500px at 94% 55%,rgba(0,180,230,.035),transparent 65%),
  #050a1d!important}
.chat-top{min-height:66px;padding:12px 24px;border-bottom-color:rgba(167,184,255,.075);background:rgba(5,10,29,.68);backdrop-filter:blur(16px);z-index:2}
.chat-heading{display:flex;flex-direction:column;gap:2px;min-width:0}.chat-heading>span{color:#566580;font-size:8px;letter-spacing:.16em;font-weight:800}.chat-heading #chatTitle{font-size:13px;color:#eef2ff}
.top-actions{gap:7px}.engine-switch,.local-connect,.chat-top .icon{background:rgba(13,20,45,.82);border-color:rgba(171,186,255,.12)}
.messages{padding-top:18px}.empty{max-width:820px;padding:0 22px}.workspace-badges{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-bottom:20px}.workspace-badges span{font-size:9px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.025);border:1px solid rgba(166,181,255,.1);color:#7887a5}.workspace-badges span:first-child{color:#65dfc7}.workspace-badges i{width:6px;height:6px;border-radius:50%;background:#52dfc4;display:inline-block;margin-right:5px;box-shadow:0 0 9px rgba(82,223,196,.5)}
.empty .orb{width:70px;height:70px;border-radius:22px;box-shadow:0 0 0 11px rgba(119,83,255,.045),0 0 70px rgba(108,73,255,.28)}.empty h1{font-size:clamp(34px,4vw,48px);letter-spacing:-.05em}.empty p{max-width:640px;margin-left:auto;margin-right:auto;line-height:1.6}
.starters{max-width:720px;margin:0 auto;gap:10px}.starters button{padding:17px;border-color:rgba(166,181,255,.09);background:linear-gradient(180deg,rgba(16,26,62,.78),rgba(10,19,46,.82));box-shadow:inset 0 1px rgba(255,255,255,.02)}.starters button:hover{border-color:rgba(126,101,255,.28);background:linear-gradient(180deg,rgba(25,35,75,.9),rgba(12,22,51,.9));transform:translateY(-2px)}.starters .ic{background:rgba(126,94,255,.09);border:1px solid rgba(126,94,255,.10);color:#9d88ff}
.composer-wrap{padding-bottom:18px}.dock{border-radius:20px;background:rgba(9,17,43,.88);border-color:rgba(164,180,255,.13)!important;box-shadow:0 25px 80px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.025)!important}.dock:focus-within{border-color:rgba(128,96,255,.45)!important;box-shadow:0 30px 90px rgba(0,0,0,.38),0 0 0 4px rgba(121,86,255,.08)!important}.controls{border-top-color:rgba(167,182,255,.08)}

/* ADMIN AUTH */
body.admin-auth{min-height:100vh;background:#060914;overflow:auto}.admin-auth .site-foot{display:none}
.admin-auth-stage{min-height:100vh;display:grid;grid-template-columns:minmax(480px,1.06fr) minmax(500px,.94fr)}
.admin-auth-brand{position:relative;overflow:hidden;padding:54px clamp(42px,6vw,94px);display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(760px 560px at 86% 20%,rgba(116,78,255,.2),transparent 70%),linear-gradient(150deg,#080d20,#060914 72%);border-right:1px solid rgba(255,255,255,.07)}
.admin-auth-brand:after{content:"CONTROL";position:absolute;right:-3%;bottom:-2%;font:700 min(9vw,120px)/1 Sora;color:rgba(255,255,255,.017);letter-spacing:-.06em}
.admin-auth-logo{position:relative;z-index:1;display:flex;align-items:center;gap:11px;color:#fff!important;text-decoration:none!important;font:700 18px Sora}.admin-auth-logo img{width:46px;height:46px;border-radius:14px;box-shadow:0 13px 35px rgba(87,68,255,.28)}
.admin-auth-copy{position:relative;z-index:1;max-width:680px}.admin-auth-kicker{font-size:10px;letter-spacing:.2em;font-weight:800;color:#9587ff}.admin-auth-copy h1{font-size:clamp(44px,5vw,68px);line-height:1.04;letter-spacing:-.055em;margin:16px 0 18px}.admin-auth-copy>p{color:#93a0b8;font-size:15px;line-height:1.7;max-width:600px}.admin-auth-points{display:grid;gap:10px;margin-top:28px;max-width:590px}.admin-auth-points>div{display:flex;gap:13px;align-items:center;padding:14px;border:1px solid rgba(169,184,255,.08);background:rgba(255,255,255,.022);border-radius:13px}.admin-auth-points>div>span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(125,94,255,.10);color:#aa9cff;font-size:9px;font-weight:800}.admin-auth-points p{margin:0}.admin-auth-points b{display:block;font-size:12px}.admin-auth-points small{display:block;color:#74819a;font-size:10px;margin-top:2px}.admin-auth-foot{position:relative;z-index:1;color:#5e6b83;font-size:10px}
.admin-auth-form-side{display:grid;place-items:center;padding:40px;background:radial-gradient(520px 420px at 75% 15%,rgba(111,78,255,.11),transparent 70%),#090e20}.admin-auth-card{width:min(470px,100%);padding:38px;border:1px solid rgba(174,188,255,.13);border-radius:24px;background:linear-gradient(180deg,rgba(16,23,48,.96),rgba(9,15,33,.97));box-shadow:0 38px 110px rgba(0,0,0,.42);color:#eef2ff}.admin-lock{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#8b5cff,#386bff);box-shadow:0 13px 38px rgba(91,64,255,.28);margin-bottom:19px}.admin-auth-card h2{font-size:30px;margin:8px 0 4px;letter-spacing:-.04em}.admin-auth-card>.muted{color:#8d99b2}.admin-session-note{margin:13px 0;padding:10px 12px;border:1px solid rgba(174,188,255,.1);background:rgba(255,255,255,.025);border-radius:10px;color:#8f9bb1;font-size:10px}.admin-auth-links{display:flex;justify-content:space-between;margin-top:19px;font-size:10px}.admin-auth-links a{color:#9382ff}.admin-auth-card .auth-legal{margin-top:22px}

/* ADMIN CONTROL CENTER */
body.admin-page{background:#070b19;min-height:100vh}.admin-page .site-foot{display:none}.admin-shell{min-height:100vh;background:radial-gradient(1000px 520px at 10% -8%,rgba(115,81,255,.12),transparent 70%),#070b19}
.admin-topbar{height:70px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid rgba(171,187,255,.08);background:rgba(7,11,25,.78);backdrop-filter:blur(18px)}.admin-topbar .brand img{width:38px;height:38px;border-radius:11px}.admin-topbar .brand em{font-style:normal;font:700 8px Inter;color:#8173ff;border:1px solid rgba(130,107,255,.22);background:rgba(130,107,255,.07);border-radius:999px;padding:4px 6px;margin-left:4px;letter-spacing:.08em}.admin-top-actions{display:flex;align-items:center;gap:12px;font-size:11px}.admin-top-actions>a{color:#95a2ba}.admin-top-actions form{margin:0}.admin-logout{border:1px solid rgba(169,184,255,.12);background:#0d1530;color:#d9dfed;padding:8px 11px;border-radius:9px;cursor:pointer}
.admin-saas{max-width:1440px;padding:38px 30px 80px}.admin-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:7px}.admin-hero h1{font-size:40px;margin:5px 0 5px}.admin-hero p{margin:0;color:#7f8ba3}.admin-live{font-size:9px;color:#74dcc5;border:1px solid rgba(78,218,188,.18);background:rgba(78,218,188,.045);border-radius:999px;padding:7px 9px}.admin-live span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4bdcc0;margin-right:5px;box-shadow:0 0 9px rgba(75,220,192,.55)}.admin-config-note{margin:0 0 24px}.admin-saas .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-saas .stat{padding:18px;border-color:rgba(169,184,255,.09);background:linear-gradient(180deg,rgba(15,24,52,.84),rgba(10,17,38,.9));box-shadow:inset 0 1px rgba(255,255,255,.02)}.admin-saas .stat b{font-size:24px;margin-top:7px}.admin-saas h2{font-size:18px;margin-top:31px}.admin-saas .tbl{border-color:rgba(169,184,255,.09);background:#0a1126;border-radius:14px;display:block;overflow:auto;white-space:nowrap}.admin-saas .tbl tbody{display:table;width:100%}.admin-saas .tbl th{background:#0d1630;color:#8190ab;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.admin-saas .tbl td{color:#b8c2d5}.admin-saas .tbl tr:hover td{background:rgba(255,255,255,.017)}

@media(max-width:1100px){.hero-v4{grid-template-columns:1fr;text-align:center}.hero-v4 .hero-copy-v4{max-width:800px;margin:auto}.hero-v4 .hero-cta{justify-content:center}.hero-proof{justify-content:center}.hero-console{max-width:780px;width:100%;margin:auto}.trust-strip{grid-template-columns:1fr 1fr}.trust-strip>span:nth-child(2){border-right:0}.trust-strip>span:nth-child(-n+2){border-bottom:1px solid rgba(163,180,255,.08)}.admin-saas .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.auth-stage,.admin-auth-stage{grid-template-columns:1fr}.auth-story,.admin-auth-brand{min-height:330px;padding:30px}.auth-story-copy{margin:40px 0 25px}.admin-auth-copy{margin:42px 0 25px}.admin-auth-copy h1{font-size:42px}.admin-auth-form-side{padding:30px 18px}.admin-auth-foot{display:none}.hero-v4{padding-top:70px}.console-body{grid-template-columns:120px 1fr}}
@media(max-width:720px){.landing{padding:0 17px}.site-top .in{padding:13px 16px!important}.hero-v4{padding-top:54px;gap:34px}.hero-v4 h1{font-size:44px}.console-body{grid-template-columns:1fr}.console-body aside{display:none}.console-body>section{padding:25px}.hero-console{border-radius:20px}.console-bar{border-radius:19px 19px 0 0}.console-body{border-radius:0 0 19px 19px;min-height:430px}.trust-strip{grid-template-columns:1fr}.trust-strip>span{border-right:0!important;border-bottom:1px solid rgba(163,180,255,.08)!important}.trust-strip>span:last-child{border-bottom:0!important}.admin-topbar{padding:0 15px}.admin-topbar .brand em{display:none}.admin-saas{padding:26px 14px 60px}.admin-saas .stats{grid-template-columns:1fr 1fr}.admin-hero{align-items:flex-start;flex-direction:column}.shell{grid-template-columns:1fr}.side{width:280px}.chat-top{padding-left:14px;padding-right:14px}}
@media(max-width:620px){.auth-form-side,.admin-auth-form-side{min-height:100vh;padding:20px 14px;background:#080d1d}.auth-premium-card,.admin-auth-card{padding:27px 21px;border-radius:19px}.auth-premium-card h2,.admin-auth-card h2{font-size:26px}.admin-auth-brand{display:none}.auth-story{display:none}.console-grid{grid-template-columns:1fr}.admin-saas .stats{grid-template-columns:1fr}.admin-top-actions>a{display:none}}


/* V4.1 — original Vynoriq brand mark in auth/admin */
.admin-lock{
  width:58px!important;
  height:58px!important;
  padding:8px!important;
  border-radius:17px!important;
  background:linear-gradient(145deg,rgba(135,91,255,.18),rgba(24,42,91,.55))!important;
  border:1px solid rgba(171,185,255,.14)!important;
  box-shadow:0 16px 42px rgba(54,40,150,.25)!important;
}
.admin-lock img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
}
.admin-auth-logo img,
.auth-logo img,
.auth-mobile-brand img,
.admin-topbar .brand img,
.console-brand img,
.side-top .brand img,
.orb img{
  object-fit:contain!important;
  background:transparent!important;
}


/* ===== V4.2 ADMIN CONTROL CENTER SIDEBAR ===== */
.admin-page{background:#070a12!important}
.admin-app-shell{min-height:100vh;background:#070a12;color:#eef2f8}
.admin-side{
  position:fixed;left:0;top:0;bottom:0;width:264px;z-index:70;
  display:flex;flex-direction:column;padding:18px 14px;
  background:linear-gradient(180deg,#0a0f1c 0%,#080d17 100%);
  border-right:1px solid rgba(142,157,201,.12);
  box-shadow:18px 0 50px rgba(0,0,0,.18)
}
.admin-side-head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 14px}
.admin-side-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.admin-side-brand img{width:38px;height:38px;object-fit:contain}
.admin-side-brand b{display:block;font-size:13px}
.admin-side-brand small{display:block;font-size:8px;letter-spacing:.17em;color:#68758e;margin-top:2px}
.admin-side-close{display:none;border:0;background:transparent;color:#7e8ba2;font-size:24px}
.admin-nav{display:flex;flex-direction:column;gap:4px}
.admin-nav-label{font-size:8px;letter-spacing:.18em;color:#536078;padding:12px 10px 5px;text-transform:uppercase}
.admin-nav a{
  display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:7px;
  padding:9px 10px;border-radius:10px;color:#8c98ad;text-decoration:none;font-size:11px;
  border:1px solid transparent;transition:.16s
}
.admin-nav a i{font-style:normal;width:20px;text-align:center;color:#77849b}
.admin-nav a em{font-style:normal;font-size:8px;padding:3px 6px;border-radius:999px;background:#111a2a;color:#6f7e99}
.admin-nav a:hover{color:#e6ebf4;background:rgba(255,255,255,.025)}
.admin-nav a.active{
  color:#fff;background:linear-gradient(90deg,rgba(121,83,255,.18),rgba(121,83,255,.055));
  border-color:rgba(132,106,255,.18);box-shadow:inset 3px 0 #7d5cff
}
.admin-nav a.active i{color:#b9adff}
.admin-side-bottom{margin-top:auto;border-top:1px solid rgba(142,157,201,.10);padding:12px 4px 0}
.admin-side-account{display:flex;align-items:center;gap:9px;padding:8px}
.admin-side-avatar{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#8c53ff,#366bff);font-size:11px;font-weight:800}
.admin-side-account b{font-size:10px;display:block}.admin-side-account small{font-size:8px;color:#647188;display:block;margin-top:2px;max-width:165px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-workspace-link,.admin-side-logout{
  width:100%;display:block;border:0;border-radius:9px;padding:8px 10px;margin-top:5px;
  text-align:left;text-decoration:none;font-size:9px
}
.admin-workspace-link{color:#aaa1ff;background:rgba(123,91,255,.07);border:1px solid rgba(123,91,255,.14)}
.admin-side-logout{color:#95a1b5;background:#0c1320;border:1px solid rgba(142,157,201,.12)}
.admin-main{margin-left:264px;min-height:100vh}
.admin-mobile-top{display:none}
.admin-main .admin{max-width:1320px!important;margin:0 auto!important;padding:48px 34px 120px!important}
.admin-section{scroll-margin-top:24px;margin:0 0 42px}
.admin-section-top{padding-top:4px}
.admin-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:13px}
.admin-section-head h2{margin:4px 0 3px!important;font-size:19px!important}
.admin-section-head p{margin:0;color:#758197;font-size:10px}
.admin-count{font-size:9px;color:#8d99ad;border:1px solid rgba(142,157,201,.12);background:#0d1422;padding:6px 8px;border-radius:999px}
.admin-count.danger{color:#ff8e9a;border-color:rgba(255,108,123,.2);background:rgba(255,108,123,.05)}
.admin-table-card{border:1px solid rgba(142,157,201,.11);border-radius:14px;background:#0b111d;overflow:hidden}
.admin-table-scroll{overflow:auto}
.admin-table-card .tbl{margin:0!important;min-width:900px}
.admin-table-card .tbl th{background:#0f1830!important;position:sticky;top:0;z-index:1}
.admin-table-card .tbl td{background:transparent!important}
.admin-role{display:inline-block;margin-left:7px;padding:2px 5px;border-radius:999px;background:rgba(125,91,255,.12);color:#a99bff;font-size:7px;letter-spacing:.08em}
.status-pill{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;border:1px solid rgba(142,157,201,.13);color:#9aa6b8;background:#101826}
.status-pill.active,.status-pill.done,.status-pill.paid{color:#61e2bd;border-color:rgba(71,221,183,.2);background:rgba(71,221,183,.06)}
.status-pill.failed,.status-pill.suspended{color:#ff8795;border-color:rgba(255,108,123,.22);background:rgba(255,108,123,.06)}
.status-pill.pending,.status-pill.processing{color:#f0c36a;border-color:rgba(240,195,106,.22);background:rgba(240,195,106,.055)}
.credit-inline{display:flex;align-items:center;gap:5px}
.credit-inline input{width:70px!important;min-width:70px!important}
.admin-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.admin-info-card{border:1px solid rgba(142,157,201,.11);border-radius:13px;background:linear-gradient(180deg,#0d1526,#0a101c);padding:15px}
.admin-info-card span{display:block;color:#69768d;font-size:8px;text-transform:uppercase;letter-spacing:.12em}
.admin-info-card b{display:block;color:#f1f4fa;font-size:16px;margin:7px 0 5px;word-break:break-word}
.admin-info-card p{font-size:9px;line-height:1.5;color:#738097;margin:0}
.admin-empty{text-align:center!important;color:#68758c!important;padding:22px!important}
.error-text{color:#d8a0a7!important;max-width:420px}
.admin-side-backdrop{display:none}

@media(max-width:900px){
  .admin-side{transform:translateX(-105%);transition:.2s;width:270px}
  .admin-side.open{transform:translateX(0)}
  .admin-side-close{display:block}
  .admin-side-backdrop.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);z-index:65}
  .admin-main{margin-left:0}
  .admin-mobile-top{
    display:flex;position:sticky;top:0;z-index:55;height:58px;align-items:center;gap:10px;
    padding:0 13px;border-bottom:1px solid rgba(142,157,201,.11);background:rgba(7,10,18,.88);backdrop-filter:blur(18px)
  }
  .admin-mobile-top>div{flex:1}.admin-mobile-top b{display:block;font-size:11px}.admin-mobile-top small{display:block;font-size:8px;color:#637087}
  .admin-menu-btn{border:1px solid rgba(142,157,201,.12);background:#0c1320;color:#fff;border-radius:9px;width:36px;height:36px}
  .admin-live-mini{font-size:8px;color:#64dfc0}.admin-live-mini i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4be0bd;margin-right:5px}
  .admin-main .admin{padding:27px 14px 90px!important}
  .admin-info-grid{grid-template-columns:1fr}
  .admin-section-head{align-items:flex-start;flex-direction:column}
  .admin-stat-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:480px){
  .admin-stat-grid{grid-template-columns:1fr!important}
}


/* ===== V4.3 ADMIN REAL CLICKABLE TABS ===== */
.admin-main .admin-section{
  display:none!important;
  margin-bottom:0!important;
}
.admin-main .admin-section.admin-tab-active{
  display:block!important;
  animation:adminTabIn .16s ease-out;
}
@keyframes adminTabIn{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:none}
}
.admin-main .admin{
  min-height:100vh;
}
.admin-nav a{
  cursor:pointer!important;
}
.admin-nav a.active{
  pointer-events:auto!important;
}
.admin-section-top{
  padding-top:0!important;
}
.admin-table-card{
  margin-bottom:20px;
}
.access-pill{
  min-width:104px!important;
  text-align:center!important;
  cursor:pointer!important;
}
.access-pill.on{
  color:#67e6c3!important;
  border-color:rgba(75,225,190,.24)!important;
  background:rgba(75,225,190,.08)!important;
}


/* ===== V4.4 SAFE CACHE CONTROL ===== */
.admin-cache-form{margin-top:12px}
.admin-cache-btn{
  width:100%;border:1px solid rgba(124,91,255,.26);border-radius:9px;
  padding:8px 10px;background:linear-gradient(135deg,rgba(124,91,255,.16),rgba(53,105,255,.10));
  color:#c9c2ff;font-size:9px;font-weight:700;cursor:pointer
}
.admin-cache-btn:hover{border-color:rgba(124,91,255,.45);color:#fff}


/* ===== V4.5 PROVIDERS & API SETTINGS ===== */
.provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.provider-card,.provider-settings-card,.provider-future{
  border:1px solid rgba(142,157,201,.12);border-radius:14px;
  background:linear-gradient(180deg,#0d1526,#0a101c);padding:16px
}
.provider-card-head{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center}
.provider-logo{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:900;color:#fff}
.provider-fal{background:linear-gradient(135deg,#161b2b,#363d50)}
.provider-gemini{background:linear-gradient(135deg,#7657ff,#2e7cff)}
.provider-card-head b{display:block;font-size:12px}
.provider-card-head small{display:block;font-size:8px;color:#6f7c92;margin-top:2px}
.provider-card>p,.provider-future p{font-size:9px;line-height:1.55;color:#758197;margin:12px 0 0}
.provider-status{font-size:8px;padding:5px 7px;border-radius:999px;border:1px solid rgba(142,157,201,.14)}
.provider-status.ok{color:#69e4c2;background:rgba(70,220,183,.06);border-color:rgba(70,220,183,.22)}
.provider-status.missing{color:#f1c56d;background:rgba(241,197,109,.05);border-color:rgba(241,197,109,.2)}
.provider-status.future{color:#8e9ab0;background:#101827}
.provider-settings-card{margin-top:12px}
.provider-settings-card h3,.provider-future h3{font-size:14px;margin:0 0 5px}
.provider-form{display:grid;gap:12px;margin-top:14px}
.provider-form label>span{display:block;font-size:10px;color:#b5c0d1;margin-bottom:4px}
.provider-form label>small{display:block;font-size:8px;color:#69768b;margin-bottom:6px}
.provider-form input[type=password]{
  width:100%;border:1px solid rgba(142,157,201,.15);border-radius:10px;
  background:#080e18;color:#fff;padding:10px 11px;outline:none;font-size:10px
}
.provider-form input[type=password]:focus{border-color:rgba(125,91,255,.45);box-shadow:0 0 0 3px rgba(125,91,255,.08)}
.provider-clear{display:flex!important;align-items:center;gap:7px!important;margin-top:-5px}
.provider-clear input{width:auto!important}
.provider-clear span{margin:0!important;color:#8793a8!important;font-size:9px!important}
.provider-save{
  width:max-content;border:0;border-radius:9px;padding:9px 13px;
  background:linear-gradient(135deg,#8d52ff,#356bff);color:#fff;font-size:9px;font-weight:800;cursor:pointer
}
.provider-future{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px}
.provider-future>div{max-width:780px}
.provider-future .eyebrow{font-size:8px}
.provider-future h3{margin-top:5px}
@media(max-width:760px){
  .provider-grid{grid-template-columns:1fr}
  .provider-future{align-items:flex-start;flex-direction:column}
  .provider-save{width:100%}
}


/* =========================================================
   V4.6 — PREMIUM PROVIDERS & API INFRASTRUCTURE PAGE
   ========================================================= */
.providers-page{max-width:1120px}
.providers-hero{
  display:flex;align-items:flex-end;justify-content:space-between;gap:28px;
  margin-bottom:20px
}
.providers-hero h2{
  margin:6px 0 7px!important;font-size:27px!important;letter-spacing:-.8px!important;
  color:#f6f8fd
}
.providers-hero>div:first-child>p{
  margin:0;max-width:670px;color:#77849a;font-size:10px;line-height:1.55
}
.providers-summary{
  min-width:190px;display:flex;align-items:center;gap:10px;
  padding:12px 14px;border:1px solid rgba(129,148,197,.12);border-radius:13px;
  background:linear-gradient(180deg,#0e1627,#0a111d)
}
.providers-summary-dot{
  width:9px;height:9px;border-radius:50%;background:#49debd;
  box-shadow:0 0 0 5px rgba(73,222,189,.08),0 0 18px rgba(73,222,189,.35)
}
.providers-summary b{display:block;color:#e8edf5;font-size:10px}
.providers-summary small{display:block;color:#68758b;font-size:8px;margin-top:2px}

.providers-security{
  display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;
  margin:0 0 16px;padding:13px 15px;
  border:1px solid rgba(66,220,185,.14);border-radius:13px;
  background:linear-gradient(90deg,rgba(53,190,159,.055),rgba(16,24,41,.7))
}
.providers-security-icon{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  color:#75e7ca;background:rgba(66,220,185,.08);border:1px solid rgba(66,220,185,.14)
}
.providers-security b{font-size:10px;color:#dce7e3}
.providers-security p{margin:3px 0 0;font-size:8px;color:#6f7c90}
.providers-security>span{
  font-size:8px;padding:5px 8px;border-radius:999px;
  color:#6be4c3;background:rgba(66,220,185,.06);border:1px solid rgba(66,220,185,.16)
}

.providers-form-v2{display:block!important;margin:0!important}
.provider-premium-grid{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;
  align-items:stretch!important
}
.provider-premium-card{
  position:relative;overflow:hidden;padding:18px!important;
  border:1px solid rgba(133,149,191,.12)!important;border-radius:16px!important;
  background:
    radial-gradient(450px 180px at 100% 0%,rgba(104,75,255,.075),transparent 60%),
    linear-gradient(180deg,#0e1627,#0a101c)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.13)!important
}
.provider-premium-card.is-connected{
  border-color:rgba(68,218,185,.18)!important
}
.provider-premium-card::before{
  content:"";position:absolute;inset:0 auto 0 0;width:2px;
  background:linear-gradient(180deg,#8b5cff,#3474ff);opacity:.72
}
.provider-premium-card.is-connected::before{
  background:linear-gradient(180deg,#49debd,#3d8cff)
}
.provider-premium-top{
  display:grid!important;grid-template-columns:46px minmax(0,1fr) auto!important;
  align-items:center!important;gap:11px!important
}
.provider-premium-logo{
  width:46px!important;height:46px!important;border-radius:13px!important;
  display:grid!important;place-items:center!important;color:#fff!important;
  font-size:16px!important;font-weight:900!important;
  box-shadow:0 12px 28px rgba(0,0,0,.18)!important
}
.fal-logo{
  background:linear-gradient(145deg,#242b3d,#101522)!important;
  border:1px solid rgba(255,255,255,.08)!important
}
.gemini-logo{
  background:linear-gradient(145deg,#795cff,#367aff)!important;
  border:1px solid rgba(151,132,255,.25)!important
}
.provider-premium-title{min-width:0}
.provider-name-row{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important}
.provider-name-row h3{
  margin:0!important;color:#f4f7fb!important;font-size:14px!important;letter-spacing:-.2px!important
}
.provider-chip{
  font-size:7px!important;letter-spacing:.10em!important;padding:3px 5px!important;border-radius:999px!important;
  color:#8d99af!important;background:#111b2d!important;border:1px solid rgba(136,153,196,.11)!important
}
.provider-premium-title>p{
  margin:4px 0 0!important;font-size:8px!important;color:#6f7d93!important;line-height:1.4!important
}
.provider-state{
  display:inline-flex!important;align-items:center!important;gap:5px!important;
  padding:5px 7px!important;border-radius:999px!important;font-size:8px!important;white-space:nowrap!important
}
.provider-state i{width:6px!important;height:6px!important;border-radius:50%!important;display:block!important}
.provider-state.connected{
  color:#68e3c2!important;background:rgba(69,220,185,.065)!important;
  border:1px solid rgba(69,220,185,.17)!important
}
.provider-state.connected i{background:#4bdfbd!important;box-shadow:0 0 10px rgba(75,223,189,.6)!important}
.provider-state.missing{
  color:#d8b66e!important;background:rgba(225,183,96,.055)!important;
  border:1px solid rgba(225,183,96,.15)!important
}
.provider-state.missing i{background:#d8b66e!important}

.provider-capabilities{
  display:flex!important;flex-wrap:wrap!important;gap:5px!important;
  margin:15px 0!important;padding-bottom:14px!important;border-bottom:1px solid rgba(136,153,196,.09)!important
}
.provider-capabilities span{
  padding:4px 6px!important;border-radius:7px!important;
  font-size:7px!important;color:#7f8ba0!important;background:#0a111d!important;
  border:1px solid rgba(136,153,196,.09)!important
}

.provider-key-box{display:block!important}
.provider-key-label{
  display:flex!important;justify-content:space-between!important;gap:12px!important;align-items:flex-start!important;
  margin-bottom:8px!important
}
.provider-key-label b{display:block!important;font-size:9px!important;color:#b8c2d1!important}
.provider-key-label small{
  display:block!important;font-size:7px!important;color:#627087!important;line-height:1.4!important;margin-top:2px!important
}
.key-saved{
  white-space:nowrap!important;font-size:7px!important;color:#65ddbd!important;
  padding:4px 6px!important;border-radius:7px!important;background:rgba(69,220,185,.05)!important;
  border:1px solid rgba(69,220,185,.13)!important
}
.provider-input-wrap{
  position:relative!important;display:block!important;width:100%!important
}
.provider-input-wrap + .provider-input-wrap{margin-top:8px!important}
.provider-input-lock{
  position:absolute!important;left:11px!important;top:50%!important;transform:translateY(-50%)!important;
  color:#5f6d84!important;font-size:11px!important;pointer-events:none!important
}
.providers-form-v2 .provider-input-wrap input[type=password],
.providers-form-v2 .provider-input-wrap input[type=text],
.providers-form-v2 .provider-input-wrap select{
  display:block!important;width:100%!important;height:42px!important;margin:0!important;
  padding:0 12px 0 33px!important;border-radius:10px!important;
  border:1px solid rgba(132,149,193,.14)!important;background:#070d17!important;color:#eef2f8!important;
  outline:none!important;font-size:9px!important;box-shadow:none!important
}
.providers-form-v2 .provider-input-wrap select{
  -webkit-appearance:none!important;appearance:none!important;padding-right:28px!important
}
.providers-form-v2 .provider-input-wrap input[type=password]:focus,
.providers-form-v2 .provider-input-wrap input[type=text]:focus,
.providers-form-v2 .provider-input-wrap select:focus{
  border-color:rgba(126,91,255,.48)!important;
  box-shadow:0 0 0 3px rgba(126,91,255,.075)!important
}
.providers-form-v2 .provider-input-wrap input::placeholder{color:#46546b!important}
.provider-remove-row{
  display:flex!important;flex-direction:row!important;align-items:center!important;
  gap:7px!important;margin:8px 0 0!important;padding:0!important;
  color:#7e8a9d!important;font-size:8px!important;cursor:pointer!important
}
.provider-remove-row input{
  width:13px!important;height:13px!important;margin:0!important;accent-color:#7a5cff!important;flex:0 0 auto!important
}
.provider-remove-row span{display:inline!important;margin:0!important;font-size:8px!important;color:#7e8a9d!important}

.provider-footer-note{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  margin-top:16px!important;padding-top:11px!important;border-top:1px solid rgba(136,153,196,.09)!important
}
.provider-footer-note span{font-size:7px!important;color:#56647b!important;text-transform:uppercase!important;letter-spacing:.1em!important}
.provider-footer-note b{font-size:8px!important;color:#8e9aaf!important}

.providers-savebar{
  margin-top:14px!important;padding:14px 16px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;
  border:1px solid rgba(128,146,190,.12)!important;border-radius:14px!important;
  background:linear-gradient(90deg,#0c1423,#0a111d)!important
}
.providers-savebar b{display:block!important;font-size:10px!important;color:#dce2ec!important}
.providers-savebar p{margin:3px 0 0!important;font-size:8px!important;color:#68758b!important}
.providers-save-btn{
  border:0!important;border-radius:10px!important;padding:10px 13px!important;
  display:flex!important;align-items:center!important;gap:12px!important;
  background:linear-gradient(135deg,#8b52ff,#356cff)!important;color:#fff!important;
  font-size:9px!important;font-weight:800!important;cursor:pointer!important;
  box-shadow:0 10px 26px rgba(73,68,242,.22)!important;white-space:nowrap!important
}
.providers-save-btn i{font-style:normal!important;font-size:12px!important}
.providers-save-btn:hover{filter:brightness(1.08)!important;transform:translateY(-1px)!important}

.providers-future-panel{
  margin-top:20px!important;padding:17px!important;
  border:1px solid rgba(128,146,190,.10)!important;border-radius:15px!important;
  background:#0a111c!important
}
.providers-future-head{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important
}
.providers-future-head h3{margin:5px 0 5px!important;font-size:14px!important;color:#e8edf4!important}
.providers-future-head p{margin:0!important;font-size:8px!important;color:#68758a!important}
.future-badge{
  padding:5px 7px!important;border-radius:999px!important;white-space:nowrap!important;
  font-size:7px!important;color:#7e8ba1!important;border:1px solid rgba(133,149,191,.12)!important;background:#101827!important
}
.future-provider-row{
  display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important;margin-top:14px!important
}
.future-provider{
  padding:10px!important;border:1px solid rgba(133,149,191,.08)!important;border-radius:10px!important;background:#080e18!important
}
.future-provider b{display:block!important;font-size:9px!important;color:#a6b0c1!important}
.future-provider small{display:block!important;font-size:7px!important;color:#56637a!important;margin-top:2px!important}
.providers-future-warning{
  margin:13px 0 0!important;padding-top:11px!important;border-top:1px solid rgba(133,149,191,.08)!important;
  color:#6c788d!important;font-size:8px!important;line-height:1.5!important
}

@media(max-width:900px){
  .providers-hero{align-items:flex-start!important;flex-direction:column!important}
  .providers-summary{width:100%!important}
  .provider-premium-grid{grid-template-columns:1fr!important}
}
@media(max-width:650px){
  .providers-security{grid-template-columns:36px 1fr!important}
  .providers-security>span{grid-column:2!important;width:max-content!important}
  .provider-premium-top{grid-template-columns:44px 1fr!important}
  .provider-state{grid-column:1/-1!important;width:max-content!important}
  .providers-savebar{align-items:stretch!important;flex-direction:column!important}
  .providers-save-btn{justify-content:center!important;width:100%!important}
  .future-provider-row{grid-template-columns:1fr 1fr!important}
  .providers-future-head{flex-direction:column!important}
}

/* V4.7 My PC local media results */
.local-media-card{overflow:hidden;border:1px solid rgba(130,148,194,.15);border-radius:14px;background:#08101d;max-width:min(720px,100%)}
.local-media-card>img,.local-media-card>video{display:block;width:100%;max-height:68vh;object-fit:contain;background:#050912}
.local-media-card .bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-top:1px solid rgba(130,148,194,.10)}
.local-media-card .bar a{display:inline-flex;align-items:center;gap:5px;color:#b8c4d6;text-decoration:none;font-size:9px}
.local-file-tag{font-size:8px;color:#65dfbf;padding:4px 6px;border:1px solid rgba(70,220,185,.15);background:rgba(70,220,185,.05);border-radius:999px}
.local-thinking{color:#9aa6bb;font-size:10px}


/* ===== V4.8 REAL LIGHT / DARK MODE ===== */
:root[data-theme=light] body.app{background:#f4f6fb!important;color:#151927!important}
:root[data-theme=light] body.app .side{background:linear-gradient(180deg,#fff,#f5f7fc 62%,#eef2f8)!important;border-right-color:rgba(30,45,80,.09)!important;box-shadow:16px 0 55px rgba(40,55,90,.08)!important}
:root[data-theme=light] body.app .side-section-label,:root[data-theme=light] body.app .conv-group,:root[data-theme=light] body.app .side-credit{color:#8791a6!important}
:root[data-theme=light] body.app .conv{color:#5f6a80!important}
:root[data-theme=light] body.app .conv:hover{background:#eef2f8!important;color:#172033!important}
:root[data-theme=light] body.app .conv.on{background:linear-gradient(100deg,#ece8ff,#edf4ff)!important;border-color:rgba(108,83,220,.13)!important;color:#171b28!important}
:root[data-theme=light] body.app .credits{background:linear-gradient(145deg,#f4f0ff,#edf8ff)!important;border-color:rgba(100,80,220,.14)!important;box-shadow:none!important}
:root[data-theme=light] body.app .side-legal a,:root[data-theme=light] body.app .me .who a,:root[data-theme=light] body.app .me .who button{color:#6a748a!important}
:root[data-theme=light] body.app .chat{background:radial-gradient(900px 460px at 52% -7%,rgba(112,79,255,.075),transparent 66%),radial-gradient(680px 500px at 94% 55%,rgba(0,180,230,.04),transparent 65%),#f6f8fc!important}
:root[data-theme=light] body.app .chat-top{background:rgba(255,255,255,.84)!important;border-bottom-color:rgba(35,50,85,.08)!important;box-shadow:0 1px 0 rgba(255,255,255,.6)!important}
:root[data-theme=light] body.app .chat-heading>span{color:#8a94a8!important}
:root[data-theme=light] body.app .chat-heading #chatTitle{color:#171b28!important}
:root[data-theme=light] body.app .engine-switch,:root[data-theme=light] body.app .local-connect,:root[data-theme=light] body.app .chat-top .icon{background:#fff!important;border-color:rgba(40,55,90,.11)!important;color:#59657a!important;box-shadow:0 5px 18px rgba(30,40,70,.055)!important}
:root[data-theme=light] body.app .engine-switch button.on{background:#eef1f7!important;color:#191d2b!important;box-shadow:none!important}
:root[data-theme=light] body.app .workspace-badges span{background:rgba(255,255,255,.72)!important;border-color:rgba(45,60,95,.10)!important;color:#6b768b!important}
:root[data-theme=light] body.app .workspace-badges span:first-child{color:#12886f!important}
:root[data-theme=light] body.app .empty h1{color:#161a27!important}
:root[data-theme=light] body.app .empty p{color:#667186!important}
:root[data-theme=light] body.app .starters button{background:linear-gradient(180deg,#fff,#f7f9fc)!important;border-color:rgba(35,50,85,.09)!important;box-shadow:0 12px 30px rgba(45,60,90,.055)!important;color:#1d2231!important}
:root[data-theme=light] body.app .starters button:hover{background:#fff!important;border-color:rgba(111,85,230,.24)!important;box-shadow:0 16px 35px rgba(60,70,110,.08)!important}
:root[data-theme=light] body.app .starters .ic{background:#f1edff!important;border-color:rgba(111,85,230,.10)!important;color:#7458e8!important}
:root[data-theme=light] body.app .starters small{color:#778196!important}
:root[data-theme=light] body.app .dock{background:rgba(255,255,255,.94)!important;border-color:rgba(38,54,91,.12)!important;box-shadow:0 24px 70px rgba(50,65,95,.10),inset 0 1px rgba(255,255,255,.9)!important}
:root[data-theme=light] body.app .dock:focus-within{border-color:rgba(118,86,238,.36)!important;box-shadow:0 28px 75px rgba(50,65,95,.12),0 0 0 4px rgba(121,86,255,.07)!important}
:root[data-theme=light] body.app .composer textarea{color:#171c2b!important}
:root[data-theme=light] body.app .composer textarea::placeholder{color:#99a1b1!important}
:root[data-theme=light] body.app .controls{border-top-color:rgba(40,55,90,.08)!important}
:root[data-theme=light] body.app .seg{background:#f2f4f8!important;border-color:rgba(40,55,90,.09)!important}
:root[data-theme=light] body.app .seg button{color:#677286!important}
:root[data-theme=light] body.app .seg button.on{background:#fff!important;color:#171c2b!important;box-shadow:0 3px 10px rgba(40,50,80,.07)!important}
:root[data-theme=light] body.app select,:root[data-theme=light] body.app .toggle{background:#f5f7fa!important;border-color:rgba(40,55,90,.10)!important;color:#4f5b70!important}
:root[data-theme=light] body.app .fine{color:#8a93a5!important}
:root[data-theme=light] body.app .msg .av{background:#fff!important;border-color:rgba(40,55,90,.09)!important}
:root[data-theme=light] body.app .msg.user .bubble{background:linear-gradient(135deg,#eeeaff,#e9f7f4)!important;border-color:rgba(85,70,180,.11)!important;color:#1b2030!important}
:root[data-theme=light] body.app .msg.assistant .bubble,:root[data-theme=light] body.app .md{color:#242a39!important}
:root[data-theme=light] body.app .md pre{background:#eef2f6!important;border-color:rgba(40,55,90,.10)!important}
:root[data-theme=light] body.app .md code{background:#edf0f5!important;color:#3d4557!important}
:root[data-theme=light] body.app .src,:root[data-theme=light] body.app .job{background:#fff!important;border-color:rgba(40,55,90,.10)!important}
:root[data-theme=light] body.app .src{color:#232938!important}
:root[data-theme=light] body.app .src i{background:#f0f3f8!important;color:#6c7688!important}
:root[data-theme=light] body.app .attach-preview{background:#f2f4f8!important}
:root[data-theme=light] body.app .local-modal-card{background:#fff!important;color:#171c2b!important;border-color:rgba(40,55,90,.11)!important;box-shadow:0 35px 100px rgba(35,45,75,.18)!important}
:root[data-theme=light] body.app .local-modal-card input,:root[data-theme=light] body.app .local-modal-card select{background:#f5f7fa!important;border-color:rgba(40,55,90,.11)!important;color:#171c2b!important}
:root[data-theme=light] body.app .local-help,:root[data-theme=light] body.app .local-result{color:#6f7a8e!important}


/* V4.9 — ADMIN CONTROLLED ENGINE */
.engine-policy-form{
  display:inline-flex;align-items:center;gap:3px;padding:3px;border-radius:10px;
  background:#09101b;border:1px solid rgba(135,151,192,.12)
}
.engine-policy-btn{
  border:0;border-radius:7px;padding:7px 9px;background:transparent;
  color:#738098;font-size:8px;font-weight:700;cursor:pointer;white-space:nowrap
}
.engine-policy-btn.active{background:#151d2e;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.16)}
.engine-policy-btn.private.active{
  color:#6fe5c5;background:rgba(65,214,179,.09);
  box-shadow:inset 0 0 0 1px rgba(65,214,179,.16)
}
:root[data-theme=light] .engine-policy-form{background:#eef2f7;border-color:rgba(40,55,90,.09)}
:root[data-theme=light] .engine-policy-btn.active{background:#fff;color:#1d2332}
:root[data-theme=light] .engine-policy-btn.private.active{color:#138268;background:#eaf8f4}

/* V5.0 — premium conversation navigation */
.premium-new-chat{display:grid!important;grid-template-columns:34px 1fr 22px!important;align-items:center!important;gap:10px!important;width:100%!important;padding:9px 10px!important;border-radius:12px!important;background:linear-gradient(135deg,#8d50ff,#356cff)!important;box-shadow:0 12px 28px rgba(74,70,245,.22)!important;text-align:left!important}
.new-chat-plus{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.12)}.new-chat-copy b{display:block;font-size:11px}.new-chat-copy small{display:block;font-size:7px;color:rgba(255,255,255,.68);margin-top:2px}.new-chat-arrow{font-size:15px;opacity:.75}.chat-history-search{position:relative;display:flex;align-items:center;margin:10px 1px 4px;border:1px solid rgba(135,151,192,.10);background:#090f1a;border-radius:10px;padding:0 8px}.chat-history-search>span{display:grid;place-items:center;color:#64718a}.chat-history-search input{width:100%;height:34px;border:0;background:transparent;color:#dfe5ef;outline:0;font-size:9px;padding:0 7px}.chat-history-search input::placeholder{color:#56637a}.chat-history-search button{border:0;background:transparent;color:#718099;cursor:pointer}.private-engine-list{display:grid;gap:12px}.private-engine-card{padding:15px;border:1px solid rgba(132,149,193,.11);border-radius:14px;background:linear-gradient(180deg,#0d1526,#0a101c)}.private-engine-user{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:11px}.private-engine-user b{display:block;font-size:11px}.private-engine-user small{display:block;font-size:8px;color:#69768c;margin-top:2px}.engine-policy-wide{margin-bottom:12px}.private-config-form{display:grid;grid-template-columns:1.1fr 1.4fr .8fr auto;gap:8px;align-items:end;padding-top:12px;border-top:1px solid rgba(132,149,193,.09)}.private-config-form label span{display:block;font-size:8px;color:#7c899e;margin:0 0 5px}.private-config-form input,.private-config-form select{width:100%;height:36px;border:1px solid rgba(132,149,193,.13);border-radius:9px;background:#080e18;color:#e8edf5;padding:0 9px;font-size:9px;outline:0}.private-config-form .provider-save{height:36px}@media(max-width:950px){.private-config-form{grid-template-columns:1fr 1fr}.private-config-form .provider-save{width:100%}}@media(max-width:620px){.private-config-form{grid-template-columns:1fr}}
:root[data-theme=light] .chat-history-search{background:#f1f4f8;border-color:rgba(40,55,90,.09)}:root[data-theme=light] .chat-history-search input{color:#1a2030}:root[data-theme=light] .private-engine-card{background:#fff;border-color:rgba(40,55,90,.09)}:root[data-theme=light] .private-config-form input,:root[data-theme=light] .private-config-form select{background:#f5f7fa;color:#1c2231;border-color:rgba(40,55,90,.10)}


/* =========================================================
   V5.1 — PREMIUM AI ENGINE ACCESS
   ========================================================= */
.engine-access-page{max-width:1180px}
.engine-access-hero{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px
}
.engine-access-hero h2{
  margin:6px 0 6px!important;font-size:27px!important;letter-spacing:-.8px!important;color:#f5f7fc
}
.engine-access-hero>div:first-child>p{
  margin:0;max-width:690px;color:#76839a;font-size:10px;line-height:1.55
}
.engine-access-summary{
  min-width:175px;display:flex;align-items:center;gap:10px;padding:12px 14px;
  border:1px solid rgba(133,149,191,.12);border-radius:13px;background:linear-gradient(180deg,#0e1627,#0a111d)
}
.engine-summary-dot{
  width:9px;height:9px;border-radius:50%;background:#48ddbc;
  box-shadow:0 0 0 5px rgba(72,221,188,.08),0 0 18px rgba(72,221,188,.32)
}
.engine-access-summary b{display:block;font-size:10px;color:#e8edf4}
.engine-access-summary small{display:block;font-size:8px;color:#67748a;margin-top:2px}

.engine-policy-info{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px
}
.engine-policy-info>div{
  padding:13px 14px;border:1px solid rgba(133,149,191,.10);border-radius:12px;
  background:linear-gradient(180deg,#0d1525,#0a111c)
}
.engine-policy-info span{font-size:7px;letter-spacing:.12em;color:#58667d}
.engine-policy-info b{display:block;font-size:11px;color:#e2e7ef;margin:6px 0 4px}
.engine-policy-info p{margin:0;font-size:8px;line-height:1.45;color:#68758b}

.engine-user-list{display:grid;gap:13px}
.engine-user-card{
  border:1px solid rgba(133,149,191,.11);border-radius:16px;
  background:
    radial-gradient(600px 180px at 100% 0%,rgba(111,83,255,.045),transparent 62%),
    linear-gradient(180deg,#0d1525,#090f1a);
  overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.13)
}
.engine-user-card.private-active{border-color:rgba(67,217,183,.16)}
.engine-user-head{
  display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 17px;
  border-bottom:1px solid rgba(133,149,191,.08)
}
.engine-user-identity{display:flex;align-items:center;gap:11px}
.engine-user-avatar{
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:linear-gradient(135deg,#8a54ff,#356dff);color:#fff;font-size:12px;font-weight:900;
  box-shadow:0 10px 24px rgba(83,72,240,.2)
}
.engine-user-name-row{display:flex;align-items:center;gap:7px}
.engine-user-name-row h3{margin:0!important;font-size:13px!important;color:#f0f3f8!important}
.engine-user-role{
  font-size:6px;padding:3px 5px;border-radius:999px;color:#a89cff;background:rgba(126,92,255,.09);
  border:1px solid rgba(126,92,255,.14);letter-spacing:.08em
}
.engine-user-identity p{margin:3px 0 0!important;font-size:8px!important;color:#68758b!important}
.engine-user-status{
  display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:999px;
  border:1px solid rgba(133,149,191,.10);background:#101826;color:#7e8aa0;font-size:8px
}
.status-dot{width:6px;height:6px;border-radius:50%;background:#758096}
.status-dot.ok{background:#49dfbd;box-shadow:0 0 9px rgba(73,223,189,.45)}
.status-dot.off{background:#ff7785}

.engine-mode-form{padding:15px 17px 17px}
.engine-mode-label{margin-bottom:9px}
.engine-mode-label>span{display:block;font-size:9px;color:#b0bacb}
.engine-mode-label small{display:block;font-size:7px;color:#5e6c82;margin-top:2px}
.engine-mode-selector{
  display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0!important;background:none!important;border:0!important
}
.engine-mode-option{
  width:100%;display:grid;grid-template-columns:36px 1fr 14px;align-items:center;gap:9px;
  padding:11px 12px;border:1px solid rgba(133,149,191,.10);border-radius:11px;
  background:#090f1a;color:#8995aa;text-align:left;cursor:pointer;transition:.16s
}
.engine-mode-option:hover{border-color:rgba(125,91,255,.25);background:#0b1220}
.engine-mode-option.active{
  border-color:rgba(125,91,255,.30);background:linear-gradient(135deg,rgba(125,91,255,.12),rgba(53,108,255,.05));
  color:#f4f6fb;box-shadow:inset 0 0 0 1px rgba(125,91,255,.06)
}
.engine-mode-option.private.active{
  border-color:rgba(67,217,183,.25);background:linear-gradient(135deg,rgba(67,217,183,.09),rgba(53,108,255,.04))
}
.engine-option-icon{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:#131b2b;color:#9e91ff;font-size:10px;font-weight:900
}
.engine-option-icon.private{color:#61dfbd;background:rgba(67,217,183,.08)}
.engine-mode-option b{display:block;font-size:10px}
.engine-mode-option small{display:block;font-size:7px;color:#68758c;margin-top:2px}
.engine-mode-option i{
  width:10px;height:10px;border-radius:50%;border:1px solid #49566d;justify-self:end;position:relative
}
.engine-mode-option.active i{border-color:#8d70ff;background:#8d70ff;box-shadow:0 0 0 3px rgba(141,112,255,.10)}
.engine-mode-option.private.active i{border-color:#48dcb9;background:#48dcb9;box-shadow:0 0 0 3px rgba(72,220,185,.09)}

.private-config-panel{
  margin:0 17px 17px;padding:15px;border:1px solid rgba(69,220,185,.11);border-radius:13px;
  background:
    radial-gradient(420px 140px at 100% 0%,rgba(66,219,184,.045),transparent 70%),
    #080f19
}
.private-config-top{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px
}
.private-config-kicker{font-size:7px;letter-spacing:.13em;color:#5ed9b8}
.private-config-top h4{margin:4px 0 4px;font-size:12px;color:#e8edf3}
.private-config-top p{margin:0;font-size:8px;color:#68758a}
.private-config-state{
  display:flex;align-items:center;gap:5px;padding:5px 7px;border-radius:999px;font-size:7px;white-space:nowrap
}
.private-config-state i{width:6px;height:6px;border-radius:50%}
.private-config-state.ready{color:#68e2c1;background:rgba(70,220,183,.06);border:1px solid rgba(70,220,183,.15)}
.private-config-state.ready i{background:#48ddbb}
.private-config-state.missing{color:#e1bd73;background:rgba(226,189,115,.05);border:1px solid rgba(226,189,115,.14)}
.private-config-state.missing i{background:#d9b86f}

.private-config-form{display:block!important}
.private-config-grid{
  display:grid;grid-template-columns:1.05fr 1.25fr .8fr;gap:10px;align-items:start
}
.private-field{display:block!important;margin:0!important}
.private-field>span{display:block;font-size:9px;color:#adb8c9;margin-bottom:3px}
.private-field>small{display:block;min-height:22px;font-size:7px;color:#5f6d83;line-height:1.4;margin-bottom:6px}
.private-input-wrap{position:relative;display:block;width:100%}
.private-input-wrap>i{
  position:absolute;left:10px;top:50%;transform:translateY(-50%);font-style:normal;color:#56647b;font-size:9px;z-index:2
}
.private-input-wrap input,
.private-input-wrap select{
  width:100%!important;height:40px!important;margin:0!important;padding:0 10px 0 30px!important;
  border:1px solid rgba(133,149,191,.13)!important;border-radius:9px!important;background:#070d16!important;
  color:#e8edf5!important;font-size:9px!important;outline:none!important;box-shadow:none!important
}
.private-input-wrap input:focus,
.private-input-wrap select:focus{
  border-color:rgba(124,91,255,.40)!important;box-shadow:0 0 0 3px rgba(124,91,255,.065)!important
}
.private-input-wrap input::placeholder{color:#435168!important}
.private-input-wrap select{appearance:auto!important}

.private-config-actions{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin-top:14px;padding-top:13px;border-top:1px solid rgba(133,149,191,.08)
}
.private-config-security{display:flex;align-items:center;gap:9px}
.private-config-security>span{
  width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  color:#67dfbf;background:rgba(70,220,183,.06);border:1px solid rgba(70,220,183,.12)
}
.private-config-security p{margin:0!important}
.private-config-security b{display:block;font-size:8px;color:#9ba6b7}
.private-config-security small{display:block;font-size:7px;color:#5f6d82;margin-top:2px}
.private-save-btn{
  border:0;border-radius:10px;padding:10px 13px;display:flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,#8c52ff,#356cff);color:#fff;font-size:9px;font-weight:800;cursor:pointer;
  box-shadow:0 10px 26px rgba(75,69,242,.22)
}
.private-save-btn i{font-style:normal;font-size:12px}
.private-save-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}

@media(max-width:900px){
  .engine-access-hero{align-items:flex-start;flex-direction:column}
  .engine-access-summary{width:100%}
  .engine-policy-info{grid-template-columns:1fr}
  .private-config-grid{grid-template-columns:1fr}
  .private-field>small{min-height:0}
}
@media(max-width:620px){
  .engine-user-head{align-items:flex-start;flex-direction:column}
  .engine-mode-selector{grid-template-columns:1fr}
  .private-config-top{flex-direction:column}
  .private-config-actions{align-items:stretch;flex-direction:column}
  .private-save-btn{width:100%;justify-content:center}
}


/* =========================================================
   V5.2 — PREMIUM CHAT NAV / ATTACHMENT / PRIVATE TEST
   ========================================================= */

/* New Chat */
body.app .premium-new-chat{
  display:grid!important;
  grid-template-columns:34px 1fr 26px!important;
  align-items:center!important;
  column-gap:10px!important;
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:8px 10px!important;
  border:1px solid rgba(165,145,255,.16)!important;
  border-radius:14px!important;
  background:
    radial-gradient(140px 70px at 0% 0%,rgba(255,255,255,.16),transparent 70%),
    linear-gradient(135deg,#8951ff 0%,#6546ff 50%,#3477ff 100%)!important;
  box-shadow:0 14px 32px rgba(73,59,230,.25),inset 0 1px rgba(255,255,255,.12)!important;
  color:#fff!important;
  text-align:left!important;
  overflow:hidden!important;
  transition:transform .16s ease,filter .16s ease!important;
}
body.app .premium-new-chat:hover{transform:translateY(-1px)!important;filter:brightness(1.05)!important}
body.app .new-chat-plus{
  width:32px!important;height:32px!important;border-radius:10px!important;
  display:grid!important;place-items:center!important;
  background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.08)!important
}
body.app .new-chat-plus .i{width:17px!important;height:17px!important}
body.app .new-chat-main{
  display:block!important;font-size:12px!important;font-weight:800!important;line-height:1!important;
  white-space:nowrap!important
}
body.app .new-chat-shortcut{
  width:24px!important;height:24px!important;border-radius:8px!important;
  display:grid!important;place-items:center!important;
  font-size:8px!important;font-weight:800!important;color:rgba(255,255,255,.76)!important;
  background:rgba(8,12,28,.16)!important;border:1px solid rgba(255,255,255,.10)!important
}

/* Conversation Search */
body.app .chat-history-search{
  position:relative!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) 28px!important;
  align-items:center!important;
  width:100%!important;
  min-height:42px!important;
  margin:12px 0 8px!important;
  padding:0 5px!important;
  border:1px solid rgba(140,155,198,.12)!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#0c1423,#09101b)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.018)!important;
  transition:border-color .15s,box-shadow .15s!important
}
body.app .chat-history-search:focus-within{
  border-color:rgba(123,91,255,.38)!important;
  box-shadow:0 0 0 3px rgba(123,91,255,.07),inset 0 1px rgba(255,255,255,.025)!important
}
body.app .chat-search-icon{
  width:30px!important;height:30px!important;display:grid!important;place-items:center!important;
  color:#68758c!important
}
body.app .chat-search-icon .i{width:15px!important;height:15px!important}
body.app .chat-history-search input[type="search"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  min-width:0!important;
  height:40px!important;
  margin:0!important;
  padding:0 4px!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#dce3ef!important;
  box-shadow:none!important;
  font-size:10px!important;
  line-height:40px!important
}
body.app .chat-history-search input[type="search"]::-webkit-search-cancel-button{display:none!important}
body.app .chat-history-search input::placeholder{color:#536178!important;opacity:1!important}
body.app .chat-history-search button{
  width:28px!important;height:28px!important;padding:0!important;margin:0!important;
  display:grid!important;place-items:center!important;
  border:0!important;border-radius:8px!important;background:transparent!important;color:#65738a!important;cursor:pointer!important
}
body.app .chat-history-search button:hover{background:#141d2d!important;color:#c9d2df!important}
body.app .chat-history-search button .i{width:13px!important;height:13px!important}

/* Composer Add button */
body.app .composer-add{
  width:38px!important;height:38px!important;min-width:38px!important;
  border-radius:12px!important;
  display:grid!important;place-items:center!important;
  margin:1px 2px 1px 0!important;
  background:#10192d!important;
  border:1px solid rgba(144,160,204,.12)!important;
  color:#9ba8bb!important;
  opacity:1!important;
  transition:.15s!important
}
body.app .composer-add:hover{
  background:#16213a!important;
  border-color:rgba(126,93,255,.30)!important;
  color:#fff!important;
  transform:translateY(-1px)!important
}
body.app .composer-add .i{width:18px!important;height:18px!important}

/* Make search chip cleaner */
body.app #searchToggle{
  border-radius:10px!important;
  padding:7px 10px!important;
  transition:.15s!important
}
body.app #searchToggle:has(input:checked){
  color:#b9adff!important;
  border-color:rgba(125,91,255,.25)!important;
  background:rgba(125,91,255,.08)!important
}

/* Admin private-engine connection test */
.private-action-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.private-test-btn{
  border:1px solid rgba(87,207,181,.18);border-radius:10px;padding:10px 12px;
  display:flex;align-items:center;gap:9px;background:rgba(69,217,183,.055);
  color:#75dec3;font-size:9px;font-weight:800;cursor:pointer
}
.private-test-btn i{font-style:normal;font-size:7px}
.private-test-btn:hover{background:rgba(69,217,183,.09);border-color:rgba(69,217,183,.28)}
.private-test-btn:disabled{opacity:.55;cursor:wait}
.private-test-result{
  display:none;margin:0 0 11px;padding:9px 11px;border-radius:9px;
  font-size:8px;line-height:1.5
}
.private-test-result.checking,.private-test-result.success,.private-test-result.error{display:block}
.private-test-result.checking{color:#9ca7ba;background:#0d1523;border:1px solid rgba(135,151,192,.10)}
.private-test-result.success{color:#72e2c4;background:rgba(70,220,183,.055);border:1px solid rgba(70,220,183,.16)}
.private-test-result.error{color:#ff9aa5;background:rgba(255,111,126,.055);border:1px solid rgba(255,111,126,.17)}

:root[data-theme=light] body.app .chat-history-search{
  background:#f2f5f9!important;border-color:rgba(40,55,90,.10)!important
}
:root[data-theme=light] body.app .chat-history-search input[type="search"]{color:#1c2231!important}
:root[data-theme=light] body.app .chat-history-search input::placeholder{color:#9099aa!important}
:root[data-theme=light] body.app .chat-history-search button:hover{background:#e7ebf2!important;color:#323b4d!important}
:root[data-theme=light] body.app .composer-add{
  background:#f0f3f8!important;border-color:rgba(40,55,90,.10)!important;color:#657186!important
}
:root[data-theme=light] body.app .composer-add:hover{background:#e9edf5!important;color:#242b3a!important}
@media(max-width:620px){
  .private-action-buttons{width:100%;flex-direction:column}
  .private-action-buttons button{width:100%;justify-content:center}
}


/* =========================================================
   V5.3 — Animated V loading states
   ========================================================= */
.typing .av-loading,
.v-loader .av-loading{
  position:relative;
  overflow:visible;
  box-shadow:0 10px 28px rgba(58,84,255,.18), 0 0 0 1px rgba(120,150,255,.08) inset;
}
.typing .av-loading img,
.v-loader .av-loading img{
  position:relative;
  z-index:3;
  animation:vqFloat 1.8s ease-in-out infinite;
  filter:drop-shadow(0 4px 12px rgba(117,82,255,.28));
}
.typing .av-loading .v-orbit,
.v-loader .av-loading .v-orbit{
  position:absolute;
  inset:-5px;
  border-radius:18px;
  z-index:1;
  background:conic-gradient(from 0deg, rgba(124,91,255,0) 0deg, rgba(124,91,255,.65) 100deg, rgba(86,224,255,.85) 200deg, rgba(124,91,255,0) 320deg);
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1px));
  mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1px));
  animation:vqSpin 1.25s linear infinite;
}
.typing .av-loading .v-glow,
.v-loader .av-loading .v-glow{
  position:absolute;
  inset:-2px;
  z-index:0;
  border-radius:16px;
  background:radial-gradient(circle at 50% 50%, rgba(124,91,255,.34), rgba(83,210,255,.12) 45%, rgba(0,0,0,0) 72%);
  filter:blur(8px);
  animation:vqPulse 1.8s ease-in-out infinite;
}
.typing .av-loading .v-pulse,
.v-loader .av-loading .v-pulse{
  position:absolute;
  inset:-8px;
  z-index:0;
  border-radius:20px;
  border:1px solid rgba(114,185,255,.18);
  opacity:.2;
  animation:vqRipple 1.8s ease-out infinite;
}
.v-loader{display:grid;place-items:center;margin-bottom:10px}
.v-loader .av-loading{width:58px;height:58px;border-radius:18px}
.v-loader .av-loading img{width:58px;height:58px;border-radius:18px}
.typing .bubble{min-height:52px;display:flex;align-items:center}
.typing .local-thinking{display:inline-flex;align-items:center;gap:2px}
@keyframes vqSpin{to{transform:rotate(360deg)}}
@keyframes vqPulse{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.06)}}
@keyframes vqRipple{0%{transform:scale(.85);opacity:0}35%{opacity:.32}100%{transform:scale(1.16);opacity:0}}
@keyframes vqFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
:root[data-theme=light] .typing .av-loading,
:root[data-theme=light] .v-loader .av-loading{
  box-shadow:0 10px 24px rgba(92,105,255,.16), 0 0 0 1px rgba(76,100,170,.08) inset;
}


/* =========================================================
   V5.4 — Pro chat polish + composer clear UX
   ========================================================= */
body.app .premium-new-chat{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) 26px!important;
  align-items:center!important;
  gap:12px!important;
  min-height:64px!important;
  padding:12px 14px!important;
  border-radius:18px!important;
  text-align:left!important;
  background:linear-gradient(135deg,#9d67ff 0%,#6e42ff 55%,#3c87ff 100%)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 16px 42px rgba(87,64,255,.34),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
body.app .new-chat-plus{width:40px!important;height:40px!important;border-radius:13px!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.12)!important}
body.app .new-chat-copy{display:flex!important;flex-direction:column!important;min-width:0!important;gap:2px!important}
body.app .new-chat-main{font-size:16px!important;font-weight:800!important;color:#fff!important;display:block!important}
body.app .new-chat-sub{display:block!important;font-size:12px!important;line-height:1.25!important;color:rgba(255,255,255,.82)!important}
body.app .new-chat-arrow{width:26px!important;height:26px!important;border-radius:999px!important;display:grid!important;place-items:center!important;font-size:16px!important;font-weight:700!important;color:#fff!important;background:rgba(10,18,44,.18)!important;border:1px solid rgba(255,255,255,.14)!important}
body.app .chat-history-search{min-height:48px!important;padding:0 8px!important;border-radius:14px!important;background:linear-gradient(180deg,rgba(12,20,35,.98),rgba(8,14,25,.98))!important;border-color:rgba(149,165,210,.15)!important;box-shadow:inset 0 1px rgba(255,255,255,.02),0 10px 24px rgba(0,0,0,.10)!important}
body.app .chat-search-icon{width:34px!important;height:34px!important;color:#7b87a3!important}
body.app .chat-search-icon .i{width:16px!important;height:16px!important}
body.app .chat-history-search input[type="search"]{height:46px!important;font-size:13px!important;color:#edf2fd!important;letter-spacing:.01em!important}
body.app .chat-history-search input::placeholder{color:#71809a!important}
body.app .chat-history-search button{width:30px!important;height:30px!important}
body.app .conv{border-radius:13px!important}
body.app .conv .t{font-size:14px!important}
body.app .dock{border-radius:24px!important;background:linear-gradient(180deg,rgba(11,20,50,.92),rgba(8,14,35,.94))!important;border:1px solid rgba(158,176,255,.14)!important;box-shadow:0 24px 80px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.03)!important}
body.app .attach-preview{padding:12px!important;border-radius:18px!important;border:1px solid rgba(161,178,245,.10)!important;background:linear-gradient(180deg,rgba(25,37,82,.98),rgba(17,27,61,.98))!important}
body.app .attach-preview img{width:62px!important;height:62px!important;border-radius:14px!important}
body.app .attach-preview b{font-size:18px!important;line-height:1.15!important}
body.app .consent{font-size:13px!important;color:#b4bed6!important;margin-top:6px!important}
body.app .composer{gap:10px!important;align-items:center!important;padding:2px 2px 0!important}
body.app .composer textarea{min-height:56px!important;padding:14px 8px 12px!important;font-size:17px!important;line-height:1.45!important;color:#edf2fd!important}
body.app .composer textarea::placeholder{color:#7e8aa7!important}
body.app .composer-add{width:44px!important;height:44px!important;min-width:44px!important;border-radius:14px!important;background:linear-gradient(180deg,#111c33,#0d1628)!important}
body.app .composer-add .i{width:20px!important;height:20px!important}
body.app .send{width:48px!important;height:48px!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(120,93,255,.40),0 0 0 1px rgba(255,255,255,.08) inset!important}
body.app .send .i{width:19px!important;height:19px!important}
body.app .controls{margin-top:10px!important;padding:11px 2px 0!important;gap:10px!important}
body.app .seg{border-radius:13px!important;padding:4px!important}
body.app .seg button{min-height:36px!important;padding:8px 14px!important;font-size:14px!important}
body.app .controls select, body.app .toggle{min-height:40px!important;font-size:14px!important;border-radius:13px!important}
body.app .toggle{padding:8px 12px!important}
body.app .cost{padding:8px 0 8px 6px!important;font-size:14px!important;color:#aeb8d0!important}
body.app .cost b{font-size:18px!important}
body.app .msg .bubble{border-radius:20px!important}
body.app .msg.user .bubble{padding:20px 22px!important;background:linear-gradient(135deg,rgba(55,39,134,.96),rgba(35,62,150,.96))!important;box-shadow:0 16px 34px rgba(38,48,110,.18)!important}
body.app .msg.assistant .bubble{padding:17px 18px!important;background:linear-gradient(180deg,rgba(13,21,50,.98),rgba(10,17,41,.98))!important;border:1px solid rgba(153,171,245,.08)!important}
body.app .msg .text{font-size:18px!important;line-height:1.5!important}
body.app .meta{margin-top:14px!important}
body.app .meta .chip{font-size:12px!important;padding:6px 10px!important;border-radius:999px!important}
body.app .fine{margin-top:12px!important;font-size:12px!important;color:#7f8baa!important}
body.app .local-thinking{font-size:15px!important;color:#d8e3ff!important}
body.app .typing .bubble{padding:15px 18px!important}
body.app .typing .dots i{width:8px!important;height:8px!important}
:root[data-theme=light] body.app .premium-new-chat{box-shadow:0 18px 36px rgba(103,92,235,.18)!important}
:root[data-theme=light] body.app .chat-history-search{background:linear-gradient(180deg,#f6f8fc,#eef2f8)!important;border-color:rgba(40,55,90,.10)!important}
:root[data-theme=light] body.app .chat-history-search input[type="search"]{color:#202838!important}
:root[data-theme=light] body.app .chat-history-search input::placeholder{color:#8d98ac!important}
:root[data-theme=light] body.app .dock{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,247,252,.96))!important;border-color:rgba(40,55,90,.11)!important;box-shadow:0 24px 64px rgba(49,63,104,.10), inset 0 1px 0 rgba(255,255,255,.8)!important}
:root[data-theme=light] body.app .attach-preview{background:linear-gradient(180deg,#f7f9fd,#eef3f9)!important;border-color:rgba(40,55,90,.08)!important}
:root[data-theme=light] body.app .composer textarea{color:#162033!important}
:root[data-theme=light] body.app .composer textarea::placeholder{color:#99a3b6!important}
:root[data-theme=light] body.app .msg.assistant .bubble{background:linear-gradient(180deg,#ffffff,#f6f8fb)!important;border-color:rgba(40,55,90,.08)!important}
@media (max-width: 860px){body.app .premium-new-chat{grid-template-columns:36px minmax(0,1fr) 22px!important;padding:11px 12px!important}body.app .new-chat-main{font-size:15px!important}body.app .new-chat-sub{font-size:11px!important}body.app .composer textarea{font-size:16px!important}}


/* =========================================================
   V5.5 — handwriting V loader, compact bottom, mobile polish
   ========================================================= */
.local-thinking:after{display:none!important;content:none!important}
.typing .av-loading,.v-loader .av-loading{
  position:relative!important;overflow:visible!important;background:transparent!important;border:0!important;
  box-shadow:none!important;width:38px!important;height:38px!important
}
.v-loader .av-loading{width:64px!important;height:64px!important}
.v-write{width:38px;height:38px;overflow:visible;filter:drop-shadow(0 8px 16px rgba(111,89,255,.25))}
.v-loader .v-write{width:64px;height:64px}
.v-write .v-stroke,.v-write .v-shadow{
  fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:6;
}
.v-write .v-shadow{stroke:rgba(111,89,255,.15);filter:blur(4px)}
.v-write .v-stroke{
  stroke:url(#vqv);stroke-dasharray:76;stroke-dashoffset:76;
  animation:vHandWrite 2.2s cubic-bezier(.55,.05,.25,1) infinite;
}
.v-hand-halo{
  position:absolute;inset:7px;border-radius:50%;background:radial-gradient(circle,rgba(119,92,255,.20),transparent 68%);
  filter:blur(8px);animation:vHalo 2.2s ease-in-out infinite
}
@keyframes vHandWrite{
  0%{stroke-dashoffset:76;opacity:.1;transform:translateY(1px) scale(.96)}
  48%{stroke-dashoffset:0;opacity:1;transform:translateY(-1px) scale(1.03)}
  72%{stroke-dashoffset:0;opacity:1;transform:translateY(0) scale(1)}
  100%{stroke-dashoffset:-76;opacity:.12;transform:translateY(1px) scale(.97)}
}
@keyframes vHalo{0%,100%{opacity:.2;transform:scale(.85)}50%{opacity:.9;transform:scale(1.15)}}
.work-message .bubble{min-height:42px!important;display:flex!important;align-items:center!important;background:transparent!important;border:0!important;padding:4px 0!important}
.work-line{display:flex;align-items:center;min-height:28px}
.work-message.has-partial .bubble{flex-direction:column!important;align-items:stretch!important;gap:14px}
.work-message.has-partial .work-copy{font-size:12px;color:var(--muted)}
body.app.vq-premium .fine{display:block!important;white-space:normal!important;overflow:visible!important}
.work-status{font-size:14px;font-weight:600;color:#aeb9d1;letter-spacing:.01em;transition:opacity .18s,transform .18s}
.work-status.status-in{animation:statusIn .32s ease-out}
@keyframes statusIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.job.pending .job-stage{font-size:15px!important;margin:8px 0 2px!important}
.job.pending .job-wait{font-size:12px;color:var(--muted)}
.task-failure{display:grid;gap:3px!important;padding:14px 16px!important;border-radius:16px!important;background:rgba(255,116,132,.06)!important;border:1px solid rgba(255,116,132,.14)!important}
.task-failure b{font-size:14px;color:#ff9aa7}.task-failure span{font-size:12px;color:#aeb8cc}
/* remove bottom dead space */
body.app,.shell{height:100dvh!important;min-height:100dvh!important}
body.app .chat{height:100dvh!important;min-height:0!important}
body.app .composer-wrap{padding-top:6px!important;padding-bottom:4px!important}
body.app .fine{margin:5px 0 0!important;line-height:1.25!important;min-height:15px!important}
body.app .messages{padding-bottom:14px!important}
/* Search is automatic; no public toggle */
body.app #searchToggle{display:none!important}
/* Mobile */
@media(max-width:860px){
  body.app{overflow:hidden!important}
  body.app .shell{height:100dvh!important}
  body.app .side{inset:0 12% 0 0!important;width:auto!important;padding:14px 12px!important}
  body.app .chat-top{min-height:54px!important;padding:8px 10px!important}
  body.app .chat-heading>span{font-size:9px!important}
  body.app .chat-top #chatTitle{font-size:13px!important;max-width:55vw!important}
  body.app .messages{padding:18px 12px 10px!important;gap:16px!important}
  body.app .msg{gap:8px!important}
  body.app .bubble{max-width:94%!important}
  body.app .msg.user .bubble{padding:13px 14px!important;border-radius:16px 16px 5px 16px!important}
  body.app .msg .text{font-size:15px!important}
  body.app .composer-wrap{padding:5px 8px 3px!important}
  body.app .dock{border-radius:18px!important;padding:8px!important}
  body.app .composer{gap:6px!important;align-items:flex-end!important}
  body.app .composer textarea{min-height:44px!important;max-height:120px!important;font-size:16px!important;padding:10px 5px!important}
  body.app .composer-add{width:40px!important;height:40px!important;min-width:40px!important;border-radius:12px!important}
  body.app .send{width:42px!important;height:42px!important;border-radius:13px!important}
  body.app .controls{display:grid!important;grid-template-columns:1fr auto!important;gap:7px!important;padding-top:7px!important;margin-top:6px!important}
  body.app #modeSeg{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;width:100%!important}
  body.app #modeSeg button{justify-content:center!important;padding:7px 6px!important;font-size:12px!important}
  body.app #tierSeg{grid-column:1/-1!important;width:100%!important;overflow-x:auto!important;white-space:nowrap!important}
  body.app #tierSeg button{padding:7px 10px!important;font-size:12px!important}
  body.app #aspect{grid-column:1!important;min-width:0!important;width:100%!important;font-size:12px!important;min-height:36px!important}
  body.app .cost{grid-column:2!important;margin:0!important;align-self:center!important;font-size:11px!important;padding:4px 2px!important;white-space:nowrap!important}
  body.app .cost b{font-size:14px!important}
  body.app .fine{font-size:9px!important;margin-top:3px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.app .attach-preview{padding:8px!important;border-radius:14px!important}
  body.app .attach-preview img{width:46px!important;height:46px!important;border-radius:10px!important}
  body.app .attach-preview b{font-size:13px!important}
  body.app .consent{font-size:10px!important;line-height:1.25!important}
  body.app .starters{grid-template-columns:1fr!important;gap:8px!important}
  body.app .starters button{padding:12px!important}
  body.app .empty h1{font-size:28px!important}
  body.app .empty p{font-size:13px!important;margin-bottom:18px!important}
  body.app .orb{width:54px!important;height:54px!important;margin-bottom:12px!important}
  body.app .premium-new-chat{min-height:56px!important}
  body.app .chat-history-search{min-height:44px!important;margin:9px 0 6px!important}
}
@media(max-width:430px){
  body.app .side{inset:0 7% 0 0!important}
  body.app .chat-heading>span{display:none!important}
  body.app .chat-top #chatTitle{max-width:62vw!important}
  body.app .fine{display:none!important}
}
:root[data-theme=light] .work-status{color:#657189!important}
:root[data-theme=light] .task-failure{background:#fff4f5!important;border-color:rgba(190,70,90,.12)!important}

/* V5.5.1: smart search has no user-facing toggle */
body.app #searchToggle, body.app #search{display:none!important}


/* =========================================================
   V5.5.2 — Reliable animated V loader
   SVG has its own animation; these rules only handle motion/layout.
   ========================================================= */
body.app .typing .av.av-loading,
body.app .v-loader .av.av-loading{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.app .v-loader .av.av-loading{
  width:66px!important;
  height:66px!important;
  min-width:66px!important;
  min-height:66px!important;
}
body.app .av-loading .v-write{
  display:block!important;
  width:42px!important;
  height:42px!important;
  overflow:visible!important;
  transform-origin:50% 50%!important;
  animation:vqLoaderDance 2.35s ease-in-out infinite!important;
  filter:drop-shadow(0 7px 16px rgba(112,86,255,.32))!important;
}
body.app .v-loader .av-loading .v-write{
  width:66px!important;
  height:66px!important;
}
body.app .av-loading .v-hand-halo{
  position:absolute!important;
  inset:5px!important;
  display:block!important;
  border-radius:50%!important;
  pointer-events:none!important;
  background:radial-gradient(circle,rgba(116,91,255,.24),rgba(74,203,255,.07) 48%,transparent 72%)!important;
  filter:blur(7px)!important;
  animation:vqLoaderHalo 2.35s ease-in-out infinite!important;
}
body.app .typing .bubble{
  min-height:48px!important;
}
body.app .work-status{
  font-size:14px!important;
  line-height:1.35!important;
  color:#bdc8df!important;
}
body.app .local-thinking:after,
body.app .work-status:after{
  display:none!important;
  content:none!important;
}
@keyframes vqLoaderDance{
  0%,100%{transform:translateY(1px) rotate(-2deg) scale(.96)}
  24%{transform:translateY(-2px) rotate(1.5deg) scale(1.05)}
  52%{transform:translateY(0) rotate(-1deg) scale(1)}
  76%{transform:translateY(-1px) rotate(2deg) scale(1.035)}
}
@keyframes vqLoaderHalo{
  0%,100%{opacity:.22;transform:scale(.82)}
  46%{opacity:.95;transform:scale(1.15)}
  72%{opacity:.55;transform:scale(1.02)}
}
@media (prefers-reduced-motion: reduce){
  body.app .av-loading .v-write,
  body.app .av-loading .v-hand-halo{
    animation-duration:4.5s!important;
  }
}


/* =========================================================
   V5.6 — ADMIN PROFILE / 2FA / GEMINI TEST / MOBILE
   ========================================================= */

/* Separate admin login */
.admin-login-page{min-height:100vh}
.admin-login-stage{
  min-height:100vh;display:grid;place-items:center;padding:28px 18px;
  background:
    radial-gradient(700px 400px at 20% 0%,rgba(126,87,255,.22),transparent 65%),
    radial-gradient(700px 400px at 100% 100%,rgba(0,214,255,.08),transparent 65%),
    #070a13
}
.admin-login-card{
  width:min(470px,100%);padding:34px;border:1px solid rgba(154,169,220,.14);
  border-radius:24px;background:rgba(10,16,31,.94);box-shadow:0 35px 100px rgba(0,0,0,.42);
  backdrop-filter:blur(18px)
}
.admin-login-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;margin-bottom:26px}
.admin-login-brand img{width:44px;height:44px;border-radius:13px}
.admin-login-brand b{display:block;font:700 14px Sora}.admin-login-brand small{font-size:8px;letter-spacing:.13em;color:#6f7b92}
.admin-login-card h1{font-size:30px;margin:7px 0 4px}
.admin-login-security{display:flex;gap:10px;align-items:center;margin-top:18px;padding:11px;border:1px solid rgba(70,219,183,.12);background:rgba(70,219,183,.04);border-radius:12px}
.admin-login-security>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#63dfbf;background:rgba(70,219,183,.08)}
.admin-login-security p{margin:0}.admin-login-security b{display:block;font-size:10px}.admin-login-security small{display:block;font-size:8px;color:#78859a;margin-top:2px}

/* Admin profile */
.admin-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.admin-profile-card{
  border:1px solid rgba(133,149,191,.11);border-radius:16px;padding:17px;
  background:linear-gradient(180deg,#0d1525,#090f1a);box-shadow:0 20px 55px rgba(0,0,0,.12)
}
.admin-identity-card{grid-column:span 1}
.admin-profile-avatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#9460ff,#3e7dff);font-weight:900;color:#fff;box-shadow:0 12px 28px rgba(80,66,235,.22)}
.admin-profile-copy{margin:12px 0 15px}.admin-profile-copy h3,.admin-profile-card h3{margin:5px 0 4px;font-size:15px;color:#edf2f9}.admin-profile-copy p,.admin-profile-muted{margin:0;color:#718098;font-size:9px;line-height:1.55}
.admin-security-pill{display:inline-flex;margin-top:8px;padding:4px 7px;border-radius:999px;color:#a99aff;background:rgba(125,90,255,.08);border:1px solid rgba(125,90,255,.14);font-size:7px;font-weight:800;letter-spacing:.05em}
.admin-profile-form{display:grid;gap:10px;margin-top:12px}.admin-profile-form.compact{margin-top:10px}
.admin-profile-form label,.admin-2fa-setup label{display:grid;gap:5px;color:#8d99ad;font-size:8px;font-weight:700}
.admin-profile-form input,.admin-2fa-setup input{
  width:100%;height:40px;border-radius:9px;border:1px solid rgba(133,149,191,.13);background:#070d16;color:#edf1f8;padding:0 11px;outline:none
}
.admin-profile-form input:focus,.admin-2fa-setup input:focus{border-color:rgba(126,91,255,.38);box-shadow:0 0 0 3px rgba(126,91,255,.06)}
.admin-profile-primary,.admin-profile-secondary,.admin-profile-danger{
  min-height:39px;border-radius:9px;padding:0 12px;font-size:9px;font-weight:800;cursor:pointer
}
.admin-profile-primary{border:0;color:#fff;background:linear-gradient(135deg,#8c52ff,#356cff);box-shadow:0 10px 24px rgba(72,64,230,.18)}
.admin-profile-secondary{border:1px solid rgba(133,149,191,.13);color:#cbd3df;background:#101827}
.admin-profile-danger{border:1px solid rgba(255,107,124,.18);color:#ff9eaa;background:rgba(255,107,124,.055)}
.admin-2fa-card{grid-column:span 2}
.admin-2fa-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.admin-2fa-state{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:7px;border:1px solid rgba(133,149,191,.12);color:#8490a4}
.admin-2fa-state i{width:6px;height:6px;border-radius:50%;background:#727f94}.admin-2fa-state.on{color:#62ddbd;border-color:rgba(70,220,183,.15);background:rgba(70,220,183,.05)}.admin-2fa-state.on i{background:#48dbb8}
.admin-2fa-setup{margin-top:13px;padding:13px;border-radius:12px;border:1px solid rgba(70,220,183,.10);background:#080f19}
.admin-secret-line{display:flex;gap:8px;align-items:center}.admin-secret-line code{flex:1;padding:10px;border-radius:8px;background:#050b13;border:1px solid rgba(133,149,191,.10);color:#75e1c1;overflow-wrap:anywhere}.admin-secret-line button{border:1px solid rgba(125,91,255,.17);background:rgba(125,91,255,.07);color:#b3a8ff;border-radius:8px;padding:8px 10px;cursor:pointer}
.admin-uri{display:block;margin-top:7px;padding:9px;border-radius:8px;background:#050b13;overflow-wrap:anywhere;color:#8390a4}
.admin-2fa-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.admin-2fa-actions details{border:1px solid rgba(133,149,191,.10);border-radius:11px;padding:10px;background:#080f19}.admin-2fa-actions summary{cursor:pointer;font-size:9px;font-weight:800;color:#aab5c5}
.admin-recovery-card{margin-top:14px;padding:16px;border-radius:15px;border:1px solid rgba(255,193,84,.16);background:rgba(255,193,84,.035)}.admin-recovery-card h3{margin:5px 0 4px}.admin-recovery-card p{margin:0;color:#8c846f;font-size:8px}.admin-recovery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.admin-recovery-grid code{padding:9px;text-align:center;border-radius:8px;background:#0a0f17;border:1px solid rgba(255,193,84,.12);color:#efca82;font-size:9px}
.admin-workspace-engine{margin-top:14px}.admin-engine-selector{margin-top:12px}
.gemini-diagnostic-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0 18px;padding:15px 16px;border:1px solid rgba(133,149,191,.11);border-radius:14px;background:linear-gradient(180deg,#0d1524,#09111d)}
.gemini-diagnostic-panel h3{margin:5px 0 3px;font-size:13px}.gemini-diagnostic-panel p{margin:0;color:#68758a;font-size:8px}.gemini-test-btn{border:1px solid rgba(70,220,183,.16);border-radius:10px;padding:10px 12px;background:rgba(70,220,183,.055);color:#6fe0bf;font-size:9px;font-weight:800;cursor:pointer}.gemini-test-btn:disabled{opacity:.45;cursor:not-allowed}

/* Mobile chat hardening */
html,body{max-width:100%;overflow-x:hidden}
body.app .shell,body.app .chat,body.app .messages,body.app .composer-wrap,body.app .dock{min-width:0;max-width:100%}

@media (max-width:860px){
  html,body{width:100%;max-width:100%;overscroll-behavior:none}
  body.app{height:var(--vq-mobile-vh,100dvh)!important;min-height:0!important;overflow:hidden!important}
  body.app .shell{display:block!important;width:100%!important;height:var(--vq-mobile-vh,100dvh)!important;overflow:hidden!important}
  body.app .side{
    position:fixed!important;inset:0 auto 0 0!important;width:min(86vw,330px)!important;max-width:330px!important;
    height:var(--vq-mobile-vh,100dvh)!important;padding:max(14px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
    z-index:60!important;transform:translate3d(-104%,0,0)!important;opacity:0!important;visibility:visible!important;pointer-events:none!important;
    transition:transform .22s ease,opacity .18s ease!important;box-shadow:24px 0 70px rgba(0,0,0,.38)!important
  }
  body.app .shell.side-open .side{transform:translate3d(0,0,0)!important;opacity:1!important;pointer-events:auto!important}
  body.app .chat{display:flex!important;flex-direction:column!important;width:100%!important;height:var(--vq-mobile-vh,100dvh)!important;min-height:0!important;overflow:hidden!important}
  body.app .chat-top{flex:0 0 auto!important;min-height:56px!important;padding:max(8px,env(safe-area-inset-top)) 10px 8px!important}
  body.app .messages{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;padding:14px 10px 12px!important}
  body.app .msg{width:100%!important;max-width:100%!important;min-width:0!important;gap:8px!important}
  body.app .msg .av{width:30px!important;min-width:30px!important;flex:0 0 30px!important}
  body.app .msg.assistant .bubble{width:calc(100% - 38px)!important;max-width:calc(100% - 38px)!important;min-width:0!important}
  body.app .msg.user .bubble{max-width:90%!important;min-width:0!important}
  body.app .bubble,body.app .md,body.app .text{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important}
  body.app .job,body.app .job img,body.app .job video,body.app .local-media-card,body.app .local-media-card img,body.app .local-media-card video{max-width:100%!important;width:100%!important}
  body.app .empty{width:100%!important;max-width:100%!important;padding:10px 8px 16px!important}
  body.app .empty h1{font-size:clamp(28px,9vw,38px)!important;line-height:1.08!important}
  body.app .empty p{font-size:13px!important;max-width:92%!important}
  body.app .starters{grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;gap:8px!important}
  body.app .composer-wrap{
    flex:0 0 auto!important;width:100%!important;padding:7px 8px max(8px,env(safe-area-inset-bottom))!important;
    background:linear-gradient(180deg,transparent,rgba(4,10,32,.90) 22%,var(--bg) 52%)!important
  }
  body.app .dock{width:100%!important;border-radius:18px!important;padding:8px!important}
  body.app .composer{display:grid!important;grid-template-columns:40px minmax(0,1fr) 44px!important;align-items:end!important;gap:5px!important}
  body.app .composer-add{width:40px!important;height:40px!important;min-width:40px!important}
  body.app .composer textarea{min-width:0!important;width:100%!important;min-height:42px!important;max-height:120px!important;font-size:16px!important;padding:9px 5px!important}
  body.app .send{width:44px!important;height:44px!important;min-width:44px!important}
  body.app .controls{display:flex!important;align-items:center!important;gap:6px!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding:8px 1px 1px!important;scrollbar-width:none!important}
  body.app .controls::-webkit-scrollbar{display:none!important}
  body.app .seg{flex:0 0 auto!important}.body.app .seg button{white-space:nowrap!important}
  body.app .seg button{white-space:nowrap!important;padding:6px 9px!important;font-size:12px!important}
  body.app .controls select,body.app .toggle{flex:0 0 auto!important;white-space:nowrap!important;font-size:12px!important}
  body.app .cost{margin-left:auto!important;flex:0 0 auto!important;white-space:nowrap!important;font-size:12px!important}
  body.app .attach-preview{align-items:center!important;padding:8px!important;gap:8px!important}
  body.app .attach-preview img{width:48px!important;height:48px!important}
  body.app .attach-preview b{font-size:13px!important}.consent{font-size:10px!important;line-height:1.35!important}
  body.app .fine{display:none!important}
  .auth-stage{grid-template-columns:1fr!important;min-height:100dvh!important}
  .auth-story{display:none!important}.auth-form-side{min-height:100dvh!important;padding:20px 14px!important}
  .auth-premium-card{width:100%!important;max-width:480px!important;padding:24px 18px!important;border-radius:20px!important}
}

@media(max-width:720px){
  .admin-profile-grid{grid-template-columns:1fr}.admin-2fa-card{grid-column:span 1}.admin-2fa-actions{grid-template-columns:1fr}
  .admin-recovery-grid{grid-template-columns:1fr 1fr}.gemini-diagnostic-panel{align-items:stretch;flex-direction:column}.gemini-test-btn{width:100%}
}
/* V5.8 hosted PHP web-chat setup. */
.own-search-form{display:grid;gap:16px;margin-top:20px}
.own-search-form label{display:grid;gap:8px;font-size:14px;font-weight:600}
.own-search-form input,.own-search-form select{width:100%;min-width:0;box-sizing:border-box}
.own-search-form label.provider-remove-row{display:flex;align-items:center;gap:10px;font-weight:400}
.own-search-form input[type=checkbox]{width:18px;height:18px;flex:0 0 18px}
.own-search-form .providers-save-btn{justify-self:start}
.own-search-tests{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.own-search-panel>p{color:var(--muted);line-height:1.65}

/* V5.9: contained conversation sources. Native Google ads/footer stay visible. */
.google-chat-panel{margin-top:14px;min-width:0;max-width:100%;overflow-wrap:anywhere}
.google-chat-status{font-size:13px;line-height:1.6;color:var(--muted,#8c99b8);margin:0 0 10px}
.google-chat-button{font:inherit;font-size:13px;line-height:1.4;border:1px solid #8870ca66;border-radius:12px;padding:10px 15px;background:#8253da16;color:inherit;cursor:pointer;margin:8px 0 14px}
.google-chat-button:hover{background:#8253da28}.google-chat-button:disabled{cursor:wait;opacity:.65}
.google-chat-results{max-width:100%;min-width:0;color:#202124;background:#fff;border-radius:12px;overflow:auto}
.google-chat-results:empty{display:none}
.google-excerpts{padding:0 8px;color:#202124;background:#fff}
.google-excerpt{padding:16px 4px;border-bottom:1px solid #e5e7eb;overflow-wrap:anywhere;line-height:1.65}
.google-excerpt:last-child{border-bottom:0}
.google-excerpt-title{display:block;font-weight:650;color:#4338a0!important;font-size:15px;text-decoration:none}
.google-excerpt-source{font-size:12px;color:#52634b;margin-top:3px;word-break:break-word}
.google-excerpt-text{margin:8px 0!important;font-size:14px;color:#202124}
.google-excerpt-label{display:block;font-size:11px;color:#5f6368}
.google-excerpt-image{max-width:120px;height:auto;border-radius:6px;margin-top:7px}
@media(max-width:600px){.google-chat-panel{margin-top:10px}.google-excerpt{padding:13px 0}.google-excerpts{padding:0 4px}}

/* Inline answer controls */
.chat-action{margin-top:12px;padding:10px 14px;border:1px solid var(--line,#363459);border-radius:12px;background:transparent;color:inherit;cursor:pointer;font:inherit}
.chat-action:hover{background:rgba(128,100,255,.12)}
.chat-sources{margin-top:14px;border-top:1px solid var(--line,#363459);padding-top:10px}
.chat-sources>summary{cursor:pointer;font-size:12px;opacity:.8}
.chat-sources .sources{margin-top:10px}

.learning-controls{padding:10px 12px;font-size:12px;max-height:280px;overflow:auto}.learning-controls summary{cursor:pointer}.learning-controls label{display:block;margin:10px 0}.learning-controls input:not([type=checkbox]):not([type=file]){width:100%;padding:6px}.learning-controls p{font-size:11px;opacity:.8;line-height:1.5}
/* V6.1 workspace refinement, scoped to the signed-in application. */
body.app.vq-premium{background:#090b12!important;color:#eceef8!important;}body.app.vq-premium .shell{grid-template-columns:258px minmax(0,1fr)!important;}
body.app.vq-premium .side{background:linear-gradient(180deg,#11131f,#0c0e17)!important;border-right:1px solid #ffffff09!important;padding:22px 14px 12px!important;}
body.app.vq-premium .side-top{padding:0 8px 24px!important;}body.app.vq-premium .brand{font-size:16px!important;letter-spacing:-.4px!important;}body.app.vq-premium .brand img{width:32px!important;height:32px!important;}
body.app.vq-premium .premium-new-chat{border:1px solid #b9a3ff28!important;background:linear-gradient(110deg,#8d54f5,#6759ed)!important;box-shadow:0 8px 28px #6950d01a!important;border-radius:15px!important;min-height:60px!important;}
body.app.vq-premium .new-chat-main{font-size:14px!important;}body.app.vq-premium .new-chat-sub{font-size:11px!important;opacity:.75!important;}body.app.vq-premium .chat-history-search{margin-top:20px!important;background:#090b1355!important;border-color:#ffffff0b!important;border-radius:12px!important;}
body.app.vq-premium .side-section-label{font-size:10px!important;letter-spacing:1.8px!important;opacity:.5!important;margin-top:23px!important;}body.app.vq-premium .conv{border-radius:10px!important;margin:3px 0!important;color:#9b9fb6!important;font-size:13px!important;padding:12px!important;}body.app.vq-premium .conv:hover,body.app.vq-premium .conv.on{background:#ffffff07!important;color:#f0ecff!important;}
body.app.vq-premium .chat{--vq-chat-column:920px;--vq-chat-gutter:max(28px,calc((100% - var(--vq-chat-column))/2));background:radial-gradient(ellipse at 50% 0%,#5942820b,transparent 60%),#090b12!important;}body.app.vq-premium .chat-top{height:74px!important;min-height:74px!important;border-bottom:1px solid #ffffff05!important;padding:0 38px!important;background:transparent!important;}body.app.vq-premium .chat-heading>span{font-size:9px!important;letter-spacing:2px!important;opacity:.45!important;}.app #chatTitle{font-size:13px!important;font-weight:500!important;margin-top:5px!important;}
body.app.vq-premium .messages{padding:30px var(--vq-chat-gutter) 24px!important;}body.app.vq-premium .empty{max-width:840px!important;padding-top:clamp(20px,7vh,100px)!important;margin:auto!important;}body.app.vq-premium .workspace-badges{margin-bottom:26px!important;}body.app.vq-premium .workspace-badges span{font-size:10px!important;letter-spacing:.5px!important;padding:7px 12px!important;background:#151422!important;border:1px solid #a897dd1a!important;color:#aba7c2!important;}
body.app.vq-premium .empty .orb{width:66px!important;height:66px!important;margin-bottom:25px!important;border-radius:22px!important;box-shadow:0 0 65px #925af319!important;}body.app.vq-premium .empty .orb img{width:100%!important;height:100%!important;object-fit:contain!important;}body.app.vq-premium .empty h1{font-size:clamp(31px,3.4vw,51px)!important;font-weight:600!important;line-height:1.19!important;letter-spacing:-2px!important;}body.app.vq-premium .grad-text{background:linear-gradient(100deg,#c8b2ff,#8f79fd 60%,#6fbdde)!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;}body.app.vq-premium .empty>p{font-size:14px!important;color:#85899f!important;margin-top:18px!important;line-height:1.8!important;}
body.app.vq-premium .starters{gap:11px!important;max-width:670px!important;margin:32px auto!important;}body.app.vq-premium .starters button{padding:18px!important;border-radius:16px!important;background:linear-gradient(130deg,#171725,#11131e)!important;border:1px solid #ffffff0a!important;transition:transform .18s,border-color .18s!important;min-height:82px!important;}body.app.vq-premium .starters button:hover{transform:translateY(-3px)!important;border-color:#b998ff55!important;}body.app.vq-premium .starters b{font-size:13px!important;font-weight:500!important;}body.app.vq-premium .starters small{font-size:11px!important;color:#85889d!important;margin-top:5px!important;}body.app.vq-premium .starters .ic{background:#ad89ff0b!important;color:#b9a5ef!important;border:1px solid #ad89ff15!important;border-radius:11px!important;}
body.app.vq-premium .composer-wrap{flex:0 0 auto!important;padding:16px var(--vq-chat-gutter) 14px!important;background:linear-gradient(0deg,#090b12 84%,transparent)!important;}body.app.vq-premium .dock{width:100%!important;max-width:var(--vq-chat-column)!important;margin-inline:auto!important;border-radius:23px!important;padding:13px 15px 10px!important;background:linear-gradient(135deg,#171823,#11131d)!important;border:1px solid #c6baff1a!important;box-shadow:0 16px 55px #0003!important;}body.app.vq-premium .composer{gap:13px!important;min-height:62px!important;}body.app.vq-premium .composer textarea{min-width:0!important;font-size:15px!important;line-height:1.7!important;padding-top:13px!important;color:#e8e6f3!important;}body.app.vq-premium .composer textarea::placeholder{color:#75798e!important;}body.app.vq-premium .composer-add{border-radius:13px!important;border:1px solid #ffffff0b!important;background:#ffffff04!important;}body.app.vq-premium .send{border-radius:15px!important;width:46px!important;height:46px!important;background:linear-gradient(145deg,#b77bf9,#7965f4 58%,#54b7ed)!important;box-shadow:0 3px 17px #a278ef22!important;}body.app.vq-premium .controls{padding:11px 1px 0!important;gap:12px!important;border-top:1px solid #ffffff07!important;align-items:center!important;}body.app.vq-premium .quality-label{font-size:10px!important;color:#74798e!important;letter-spacing:.5px!important;}.app #tierSeg{padding:3px!important;background:#090a1255!important;border:1px solid #ffffff07!important;border-radius:11px!important;}.app #tierSeg button{font-size:11px!important;padding:7px 13px!important;border-radius:8px!important;color:#9094a9!important;}.app #tierSeg button.on{color:#eee9ff!important;background:#8771c828!important;box-shadow:inset 0 0 0 1px #b498ff25!important;}.app #aspect{font-size:11px!important;background:#090b1255!important;border-color:#ffffff09!important;border-radius:10px!important;color:#a4a7b9!important;padding:8px!important;}body.app.vq-premium .fine{width:100%!important;max-width:var(--vq-chat-column)!important;margin:10px auto 0!important;font-size:10px!important;color:#666c82!important;}body.app.vq-premium .fine-credit{display:none!important;}
body.app.vq-premium .msg{gap:13px!important;margin:25px 0!important;}body.app.vq-premium .msg .av{width:29px!important;height:29px!important;border-radius:10px!important;}body.app.vq-premium .msg .bubble{font-size:15px!important;line-height:1.85!important;letter-spacing:.05px!important;}body.app.vq-premium .msg.assistant .bubble{background:transparent!important;border:0!important;box-shadow:none!important;padding:0 0 0 3px!important;max-width:calc(100% - 45px)!important;}body.app.vq-premium .msg.user .bubble{background:linear-gradient(135deg,#24213b,#1d2337)!important;border:1px solid #c0b2fc12!important;border-radius:19px 19px 5px 19px!important;padding:13px 21px!important;max-width:82%!important;}body.app.vq-premium .md pre{border:1px solid #ffffff10!important;background:#111420!important;border-radius:14px!important;}body.app.vq-premium .md code{font-size:.88em!important;}body.app.vq-premium .chat-sources{margin-top:16px!important;font-size:11px!important;}body.app.vq-premium .chat-sources summary{color:#a89dc7!important;cursor:pointer!important;}body.app.vq-premium .task-failure-msg .bubble{border:1px solid #f8717120!important;background:#f8717106!important;padding:15px!important;border-radius:15px!important;}
body.app.vq-premium .side-bottom{padding:10px 0 0!important;}body.app.vq-premium .credits{background:#ffffff03!important;border:1px solid #ffffff08!important;border-radius:13px!important;}body.app.vq-premium .profile-trigger{display:flex!important;align-items:center!important;gap:11px!important;width:100%!important;padding:14px 9px!important;margin:9px 0!important;border:1px solid transparent!important;background:transparent!important;color:inherit!important;text-align:left!important;border-radius:13px!important;cursor:pointer!important;}body.app.vq-premium .profile-trigger:hover{background:#ffffff05!important;border-color:#ffffff08!important;}body.app.vq-premium .profile-trigger>span:nth-child(2){min-width:0!important;flex:1!important;}body.app.vq-premium .profile-trigger b{display:block!important;max-width:150px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:12px!important;font-weight:500!important;}body.app.vq-premium .profile-trigger small{display:block!important;color:#777d94!important;margin-top:3px!important;font-size:10px!important;}body.app.vq-premium .avatar{display:grid!important;place-items:center!important;background:linear-gradient(135deg,#9474ce,#59698f)!important;width:34px!important;height:34px!important;border:1px solid #ffffff20!important;border-radius:11px!important;color:white!important;flex-shrink:0!important;}body.app.vq-premium .side-credit{font-size:9px!important;opacity:.6!important;}body.app.vq-premium .side-legal{padding-left:8px!important;}
body.app.vq-premium .profile-dialog{background:#151721!important;color:#e8e7f0!important;border:1px solid #cbb6ff26!important;border-radius:25px!important;width:min(500px,calc(100vw - 28px))!important;max-height:88vh!important;overflow:auto!important;padding:27px!important;box-shadow:0 24px 100px #0009!important;}.profile-dialog::backdrop{background:#04050caa!important;backdrop-filter:blur(7px)!important;}.profile-dialog-top{display:flex!important;justify-content:space-between!important;gap:15px!important;align-items:center!important;}.profile-dialog-top h2{font-size:22px!important;margin:7px 0 22px!important;letter-spacing:-.6px!important;}.profile-dialog-top .eyebrow{font-size:9px!important;letter-spacing:2px!important;color:#a39bb7!important;}.profile-identity{display:flex!important;align-items:center!important;gap:15px!important;padding:18px 0 24px!important;border-bottom:1px solid #ffffff09!important;}.profile-identity .avatar{width:50px!important;height:50px!important;font-size:22px!important;border-radius:16px!important;}.profile-identity b{font-size:13px!important;word-break:break-word!important;}.profile-identity p{font-size:11px!important;color:#85899f!important;margin:5px 0!important;}.profile-dialog form label{display:block!important;font-size:12px!important;margin:20px 0 8px!important;}.profile-dialog #profileName{width:100%!important;border:1px solid #ffffff12!important;background:#0f111b!important;color:inherit!important;padding:12px 14px!important;border-radius:11px!important;margin-bottom:15px!important;}.profile-dialog #profileStatus{font-size:12px!important;min-height:18px!important;color:#ac9fcc!important;}.profile-links{display:flex!important;gap:15px!important;border-top:1px solid #ffffff09!important;padding:20px 0!important;font-size:12px!important;}.profile-dialog .learning-controls{padding:16px 0!important;border-top:1px solid #ffffff09!important;max-height:none!important;}.profile-dialog .learning-controls summary{font-size:13px!important;}.profile-dialog .learning-controls input[type=checkbox]{accent-color:#9b73ef!important;}.profile-dialog .profile-logout{padding-top:12px!important;border-top:1px solid #ffffff09!important;}.profile-dialog button:focus-visible,.app button:focus-visible,.app a:focus-visible{outline:2px solid #b69ce8!important;outline-offset:3px!important;}
html[data-theme=light] body.app,html[data-theme=light] body.app.vq-premium .chat{background:#f8f8fb!important;color:#242238!important;}html[data-theme=light] body.app.vq-premium .side{background:#f0f0f7!important;border-color:#dedde9!important;}html[data-theme=light] body.app.vq-premium .dock,html[data-theme=light] body.app.vq-premium .profile-dialog{background:#fff!important;border-color:#dedae9!important;color:#282539!important;}html[data-theme=light] body.app.vq-premium .starters button{background:#fff!important;border-color:#e2dfeb!important;color:#30293d!important;}html[data-theme=light] body.app.vq-premium .msg.user .bubble{background:#eeebf7!important;border-color:#e0d9ef!important;color:#30283f!important;}html[data-theme=light] body.app.vq-premium .composer-wrap{background:linear-gradient(0deg,#f8f8fb 84%,transparent)!important;}html[data-theme=light] .app textarea,html[data-theme=light] body.app.vq-premium .profile-dialog #profileName{color:#282539!important;background:transparent!important;}html[data-theme=light] body.app.vq-premium .conv{color:#656076!important;}html[data-theme=light] body.app.vq-premium .conv:hover,html[data-theme=light] body.app.vq-premium .conv.on{background:#e6e2f2!important;color:#282039!important;}html[data-theme=light] .app #tierSeg button.on{color:#6c459e!important;}html[data-theme=light] body.app.vq-premium .md pre{background:#f0edf6!important;border-color:#ddd7e9!important;color:#30283f!important;}
@media(max-width:760px){body.app.vq-premium .shell{grid-template-columns:minmax(0,1fr)!important;}body.app.vq-premium .side{width:275px!important;}body.app.vq-premium .chat-top{padding:0 17px!important;height:61px!important;min-height:61px!important;}body.app.vq-premium .messages{padding:18px var(--vq-chat-gutter)!important;}body.app.vq-premium .empty{padding-top:25px!important;}body.app.vq-premium .empty h1{font-size:33px!important;letter-spacing:-1.2px!important;}body.app.vq-premium .empty .orb{width:52px!important;height:52px!important;margin-bottom:20px!important;}body.app.vq-premium .starters{margin-top:25px!important;gap:8px!important;}body.app.vq-premium .starters button{padding:12px!important;min-height:81px!important;}body.app.vq-premium .starters small{font-size:10px!important;}body.app.vq-premium .composer-wrap{padding:10px var(--vq-chat-gutter) max(10px,env(safe-area-inset-bottom))!important;}body.app.vq-premium .dock{padding:8px 10px!important;border-radius:19px!important;}body.app.vq-premium .quality-label{display:none!important;}body.app.vq-premium .controls{gap:8px!important;flex-wrap:wrap!important;}.app #tierSeg button{padding:7px 12px!important;}body.app.vq-premium .msg .bubble{font-size:14px!important;}body.app.vq-premium .fine{font-size:9px!important;line-height:1.6!important;}body.app.vq-premium .profile-dialog{padding:21px!important;}body.app.vq-premium .empty>p{font-size:12px!important;padding:0 15px!important;}}
@media(prefers-reduced-motion:reduce){.app *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

body.app.vq-premium .md pre{direction:ltr!important;text-align:left!important}
@media(max-width:760px){body.app.vq-premium .side{position:fixed!important;transform:translateX(-110%)!important;opacity:0!important;pointer-events:none!important}body.app.vq-premium .shell.side-open .side{transform:translateX(0)!important;opacity:1!important;pointer-events:auto!important}body.app.vq-premium .controls{flex-wrap:nowrap!important;overflow-x:auto!important}body.app.vq-premium #tierSeg{width:auto!important;flex:0 0 auto!important}body.app.vq-premium #aspect{width:auto!important;flex:0 0 auto!important}body.app.vq-premium .starters{grid-template-columns:1fr 1fr!important}body.app.vq-premium .starters button{gap:7px!important;padding:12px 9px!important}body.app.vq-premium .starters .ic{display:none!important}}

/* V6.6 R3: one conversation column for messages, composer and its footer.
   Use the chat pane width, so mobile drawer state never shifts the composer. */
@media(max-width:860px){
  body.app.vq-premium .chat{--vq-chat-gutter:11px;}
  body.app.vq-premium .messages{padding:18px var(--vq-chat-gutter)!important;}
  body.app.vq-premium .composer-wrap{padding:10px var(--vq-chat-gutter) max(10px,env(safe-area-inset-bottom))!important;}
}

/* Give the browser's native shape menu opaque, readable option colours. */
body.app.vq-premium .profile-security{padding:21px 0 15px;border-top:1px solid #ffffff0d;margin-top:10px;}
body.app.vq-premium .profile-section-heading h3{font-size:16px;letter-spacing:-.02em;margin:0;color:#eceaf5;}
body.app.vq-premium .profile-section-heading p{font-size:12px;line-height:1.6;color:#9a9db3;margin:6px 0 0;}
body.app.vq-premium .profile-password-field{display:flex;align-items:center;min-width:0;border:1px solid #363348;border-radius:11px;background:#0f111b;}
body.app.vq-premium .profile-password-field:focus-within{border-color:#b498e8;box-shadow:0 0 0 3px #9d7bde22;}
body.app.vq-premium .profile-password-field input{width:100%;min-width:0;min-height:44px;background:transparent;border:0;outline:0;padding:11px 12px;color:#eeeaf8;font-size:14px;}
body.app.vq-premium .profile-password-field button{flex:0 0 auto;min-height:44px;padding:0 13px;border:0;border-radius:9px;background:transparent;color:#bba5e3;font-size:12px;cursor:pointer;}
body.app.vq-premium .profile-security-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:19px;}
body.app.vq-premium .profile-security-actions a{font-size:12px;}
body.app.vq-premium #passwordStatus{min-height:18px;margin:12px 0 0;font-size:12px;line-height:1.6;color:#a9a1bc;}
body.app.vq-premium #passwordStatus.error{color:#ffafba;}
body.app.vq-premium #passwordStatus.success{color:#72ddbc;}
body.app.vq-premium .profile-dialog #learnProfile{width:100%;margin-top:8px;min-height:44px;border:1px solid #363348;border-radius:10px;background:#0f111b;color:#eeeaf8;padding:10px 12px;font-size:14px;}
body.app.vq-premium .profile-dialog .learning-controls input[type=checkbox]{width:17px;height:17px;margin-right:6px;vertical-align:middle;}
:root[data-theme=light] body.app.vq-premium .profile-section-heading h3{color:#292638;}
:root[data-theme=light] body.app.vq-premium .profile-section-heading p{color:#656076;}
:root[data-theme=light] body.app.vq-premium .profile-security{border-color:#ddd7e9;}
:root[data-theme=light] body.app.vq-premium .profile-password-field,:root[data-theme=light] body.app.vq-premium .profile-dialog #learnProfile{background:#f7f5fb;border-color:#d8d1e5;color:#292638;}
:root[data-theme=light] body.app.vq-premium .profile-password-field input{color:#292638;}
:root[data-theme=light] body.app.vq-premium .profile-password-field button{color:#674393;}
:root[data-theme=light] body.app.vq-premium #passwordStatus.error{color:#a62d43;}
:root[data-theme=light] body.app.vq-premium #passwordStatus.success{color:#167454;}
@media(max-width:640px){body.app.vq-premium .profile-password-field input,body.app.vq-premium .profile-dialog #learnProfile{font-size:16px;}}

body.app.vq-premium #aspect{color-scheme:dark;background-color:#10131e!important;color:#e4e7f2!important;border-color:#353247!important;}
body.app.vq-premium #aspect option{background-color:#151824;color:#edf0fa;}
body.app.vq-premium #aspect option:checked{background-color:#6550a1;color:#fff;}
body.app.vq-premium #aspect:focus-visible{outline:2px solid #bca0f4;outline-offset:3px;}
:root[data-theme=light] body.app.vq-premium #aspect{color-scheme:light;background-color:#f2f0f7!important;color:#292638!important;border-color:#d8d1e5!important;}
:root[data-theme=light] body.app.vq-premium #aspect option{background-color:#fff;color:#292638;}
:root[data-theme=light] body.app.vq-premium #aspect option:checked{background-color:#e5dcf7;color:#392360;}

/* Admin connection and per-account content controls. Native form semantics are retained. */
body.admin-page .private-config-details{margin:0 18px 18px;border:1px solid #263049;border-radius:13px;background:#0a111c;}
body.admin-page .private-config-details>summary{padding:14px 16px;color:#d6dced;font-size:13px;font-weight:600;cursor:pointer;}
body.admin-page .private-config-details>summary>span{margin-left:10px;color:#95a0b9;font-size:11px;font-weight:400;}
body.admin-page .private-config-details>summary:focus-visible{outline:2px solid #bca0f4;outline-offset:3px;}
body.admin-page .private-config-details .private-config-panel{margin:0 12px 12px;}
body.admin-page .own-search-panel{padding:24px!important;background:linear-gradient(145deg,#101728,#0a111c 65%)!important;border-color:rgba(157,130,240,.17)!important;border-radius:18px!important;}
body.admin-page .own-search-panel>.eyebrow{color:#ac92ef;font-size:10px;letter-spacing:.14em;}
body.admin-page .own-search-panel>h3{margin:8px 0 6px;font-size:20px;line-height:1.35;color:#edf0fa;letter-spacing:-.02em;}
body.admin-page .own-search-panel>p{margin:0;max-width:720px;font-size:13px;line-height:1.65;color:#8e9bb3;}
body.admin-page .own-search-form{gap:18px;margin-top:22px;}
body.admin-page .vq-pc-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:0;}
body.admin-page .vq-admin-field{display:grid;align-content:start;gap:8px;min-width:0;margin:0;font-weight:500;}
body.admin-page .vq-admin-field>span{font-size:13px;line-height:1.4;color:#c5cee1;font-weight:600;}
body.admin-page .vq-admin-field>small{font-size:11px;line-height:1.55;color:#8090a9;font-weight:400;}
body.admin-page .vq-admin-field input,body.admin-page .vq-admin-field select{display:block;width:100%;min-width:0;min-height:46px;margin:0;border:1px solid #27324a;border-radius:11px;padding:11px 13px;background:#080e1a;color:#e6eaf5;font:inherit;font-size:14px;line-height:1.5;outline:none;box-shadow:inset 0 1px 2px #0002;transition:border-color .15s,box-shadow .15s;}
body.admin-page .vq-admin-field input::placeholder{color:#6f7b93;opacity:1;font-size:13px;}
body.admin-page .vq-admin-field select{appearance:none;padding-right:40px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%239facc4' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;color-scheme:dark;}
body.admin-page .vq-admin-field select option{background:#101827;color:#e6eaf5;}
body.admin-page .vq-admin-field input:hover,body.admin-page .vq-admin-field select:hover{border-color:#465070;}
body.admin-page .vq-admin-field input:focus,body.admin-page .vq-admin-field select:focus{border-color:#a181f3;box-shadow:0 0 0 3px rgba(154,119,241,.14);}
body.admin-page .vq-admin-switch{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:18px;align-items:center;min-width:0;min-height:76px;margin:0;padding:15px 16px;border:1px solid #263049;border-radius:13px;background:linear-gradient(110deg,#101827,#0c1320);cursor:pointer;transition:border-color .15s,background .15s;}
body.admin-page .vq-admin-switch:hover{border-color:#584775;}
body.admin-page .vq-admin-switch:has(input:checked){border-color:rgba(157,125,239,.3);background:linear-gradient(110deg,rgba(126,91,222,.11),#0c1320);}
body.admin-page .vq-admin-switch-copy{display:block;min-width:0;}
body.admin-page .vq-admin-switch-copy b{display:block;color:#dce2f2;font-size:13px;line-height:1.5;font-weight:600;}
body.admin-page .vq-admin-switch-copy small{display:block;margin-top:3px;color:#8290a8;font-size:11px;line-height:1.55;font-weight:400;}
body.admin-page .vq-admin-switch input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;display:block;width:42px;min-width:42px;height:24px;min-height:24px;margin:0;padding:0;border:1px solid #47516a;border-radius:999px;background:#242d40;box-shadow:inset 0 1px 2px #0003;cursor:pointer;transition:background .15s,border-color .15s;}
body.admin-page .vq-admin-switch input[type=checkbox]::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#b0bad0;box-shadow:0 1px 3px #0005;transition:transform .15s,background .15s;}
body.admin-page .vq-admin-switch input[type=checkbox]:checked{background:linear-gradient(120deg,#9763ef,#7352e1);border-color:#a384f0;}
body.admin-page .vq-admin-switch input[type=checkbox]:checked::after{transform:translateX(18px);background:#fff;}
body.admin-page .vq-admin-switch input[type=checkbox]:focus-visible{outline:2px solid #c2a7ff;outline-offset:4px;}
body.admin-page .vq-pc-enable{border-color:rgba(157,125,239,.25);}
body.admin-page .vq-pc-note{margin:0;padding:12px 15px;border:1px solid #242d42;border-left:3px solid #8c68d6;border-radius:10px;background:#0c1321;color:#8e9bb3;font-size:12px;line-height:1.65;}
body.admin-page .vq-pc-save{display:flex;justify-content:flex-end;padding-top:2px;}
body.admin-page .own-search-form .providers-save-btn{min-height:44px;border-radius:11px!important;padding:11px 17px!important;font-size:13px!important;}
body.admin-page .own-search-tests{align-items:center;justify-content:space-between;gap:16px;padding-top:20px;margin-top:22px;border-top:1px solid #263049;}
body.admin-page .own-search-tests>div{flex:1;min-width:180px;}
body.admin-page .own-search-tests b{color:#c8d0e3;font-size:13px;font-weight:600;}
body.admin-page .own-search-tests p{margin:4px 0 0;color:#8491a9;font-size:12px;line-height:1.6;}
body.admin-page .own-search-tests .gemini-test-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;flex:0 0 auto;border:1px solid #51446e;border-radius:11px;padding:11px 15px;background:#9370d911;color:#c3abea;font-size:13px;font-weight:600;}
body.admin-page .own-search-tests .gemini-test-btn:hover:enabled{background:#9370d924;border-color:#9471c9;}
body.admin-page .own-search-tests .gemini-test-btn:disabled{opacity:.48;cursor:not-allowed;}
body.admin-page .vq-policy-form{padding:20px 18px;border-bottom:1px solid #202a3c;}
body.admin-page .vq-policy-heading{margin-bottom:15px;}
body.admin-page .vq-policy-heading>span{display:block;color:#d7ddef;font-size:14px;font-weight:600;}
body.admin-page .vq-policy-heading>small{display:block;color:#8090a8;font-size:12px;margin-top:3px;line-height:1.6;}
body.admin-page .vq-policy-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1.1fr);align-items:end;gap:13px;}
body.admin-page .vq-policy-grid .vq-admin-field select{min-height:48px;font-size:13px;}
body.admin-page .vq-policy-grid .vq-admin-switch{min-height:77px;padding:13px;gap:12px;}
body.admin-page .vq-policy-footer{display:flex;align-items:flex-start;gap:22px;justify-content:space-between;margin-top:17px;}
body.admin-page .vq-policy-footer>p{margin:0;max-width:850px;flex:1;color:#8492a9;font-size:12px;line-height:1.7;}
body.admin-page .vq-admin-save{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;flex:0 0 auto;border:1px solid #a78bf033;border-radius:11px;padding:11px 16px;background:linear-gradient(125deg,#9359ee,#6852e2);color:#fff;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap;cursor:pointer;box-shadow:0 6px 20px #7652c523;}
body.admin-page .vq-admin-save:hover{filter:brightness(1.1);}
body.admin-page .vq-admin-save:focus-visible,body.admin-page .own-search-tests button:focus-visible,body.admin-page .own-search-form button:focus-visible{outline:2px solid #c2a7ff;outline-offset:3px;}
@media(max-width:1180px){body.admin-page .vq-policy-grid{grid-template-columns:1fr 1fr;}body.admin-page .vq-policy-grid>.vq-admin-field{grid-column:1/-1;}body.admin-page .vq-policy-footer{flex-direction:column;gap:15px;}body.admin-page .vq-policy-footer>.vq-admin-save{align-self:flex-end;}}
@media(max-width:640px){body.admin-page .own-search-panel{padding:18px!important;}body.admin-page .own-search-panel>h3{font-size:19px;}body.admin-page .vq-pc-fields,body.admin-page .vq-policy-grid{grid-template-columns:minmax(0,1fr);gap:14px;}body.admin-page .vq-admin-field input,body.admin-page .vq-admin-field select{font-size:16px;}body.admin-page .vq-policy-grid .vq-admin-field select{font-size:14px;}body.admin-page .vq-policy-form{padding:18px 14px;}body.admin-page .vq-pc-save,body.admin-page .own-search-tests{display:flex;flex-direction:column;align-items:stretch;}body.admin-page .vq-pc-save button,body.admin-page .vq-policy-footer>.vq-admin-save,body.admin-page .own-search-tests .gemini-test-btn{width:100%;}body.admin-page .vq-policy-footer>p{font-size:11px;}body.admin-page .own-search-tests>div{min-width:0;}}
@media(prefers-reduced-motion:reduce){body.admin-page .vq-admin-switch,body.admin-page .vq-admin-switch input,body.admin-page .vq-admin-switch input::after,body.admin-page .vq-admin-field input,body.admin-page .vq-admin-field select{transition:none;}}

/* Account services and social authentication. */
.social-signin{display:grid;grid-template-columns:1fr;gap:11px;margin-top:25px}
.social-signin form{margin:0}
.social-signin-btn{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;min-height:51px;border:1px solid #3c3c50;border-radius:12px;background:#1d1e29;color:#f0eff7;font:600 14px/1.4 inherit;cursor:pointer;transition:background .16s,border-color .16s}
.social-signin-btn:hover{background:#292737;border-color:#8975bb}
.social-signin-btn:focus-visible{outline:2px solid #b899ff;outline-offset:3px}
.social-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:25px;height:25px;border-radius:50%;font-family:Arial,sans-serif;font-weight:700;font-size:20px;line-height:1}
.social-icon.google{background:#fff;color:#4285f4;border:1px solid #e7e7eb;font-size:18px}
.social-icon.facebook{background:#1877f2;color:#fff;font-size:25px;padding-top:4px}
.auth-premium .social-divider{margin:24px 0}
.auth-support{display:block;text-align:center;margin-top:19px;color:#a7a3b8;font-size:12px}
.auth-complete-wrap{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:60px 20px}
.auth-complete-wrap .auth-premium-card{width:min(100%,520px);margin:auto;background:linear-gradient(150deg,#1a1926,#11131d);border:1px solid #353247;border-radius:26px;padding:38px;box-shadow:0 25px 85px #0005}
.auth-complete-wrap .auth-logo{margin-bottom:32px;font-size:19px}
.auth-complete-wrap h2{font-size:30px;margin:12px 0}
.auth-complete-wrap strong{overflow-wrap:anywhere}
.social-verification{margin-top:26px;padding:20px;background:#111321;border:1px solid #323049;border-radius:16px}
.social-verification h3{margin:0 0 8px}
.social-verification p{font-size:13px;color:#a7a5ba;line-height:1.7}
.social-verification .premium-form{margin-top:18px}
body.admin-page .account-service-card{background:linear-gradient(145deg,#111b2b,#101725);border:1px solid #28334a;border-radius:19px;padding:26px;margin:0 0 24px;box-shadow:0 12px 30px #0001}
body.admin-page .account-service-heading{display:flex;align-items:center;gap:15px;margin-bottom:25px}
body.admin-page .account-service-heading h3{margin:0;color:#e3e8f4;font-size:18px}
body.admin-page .account-service-heading p{margin:5px 0 0;color:#8f9bb2;font-size:13px;line-height:1.6}
body.admin-page .service-symbol{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid #71539a66;border-radius:13px;background:#8c5be21a;color:#c1a1fa;font-size:23px;font-weight:600}
body.admin-page .service-badge{margin-left:auto;padding:6px 11px;border:1px solid #495674;border-radius:999px;color:#a8b8d6;font-size:11px;white-space:nowrap}
body.admin-page .account-fields,body.admin-page .social-provider-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
body.admin-page .account-settings-form label{display:flex;flex-direction:column;gap:9px;min-width:0;color:#c8d3e9;font-size:13px;font-weight:500;margin:0}
body.admin-page .account-settings-form input:not([type=checkbox]),body.admin-page .account-settings-form select{width:100%;min-width:0;min-height:46px;border:1px solid #33405a;border-radius:10px;background:#0b1322;color:#e1e7f6;padding:12px 13px;font:400 14px/1.4 inherit;outline:none;box-shadow:inset 0 1px 3px #0002;color-scheme:dark}
body.admin-page .account-settings-form input::placeholder{color:#75839c;opacity:1}
body.admin-page .account-settings-form input:focus,body.admin-page .account-settings-form select:focus{border-color:#a784ed;box-shadow:0 0 0 3px #a784ed20}
body.admin-page .account-settings-form small{display:block;color:#7f8fa9;font-size:11px;font-weight:400;line-height:1.6}
body.admin-page .account-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start}
body.admin-page .account-form-footer{display:flex;align-items:center;justify-content:space-between;gap:26px;border-top:1px solid #29344a;margin-top:26px;padding-top:22px}
body.admin-page .account-form-footer p{margin:0;max-width:650px;font-size:12px;line-height:1.7;color:#8c9ab3}
body.admin-page .account-form-footer .btn{flex:none;min-height:44px;border-radius:11px;font-size:13px}
body.admin-page .account-test-mail{display:flex;align-items:center;gap:18px;border-top:1px solid #29344a;padding-top:20px;margin-top:23px}
body.admin-page .account-test-mail span{font-size:12px;line-height:1.7;color:#8d9bb3;overflow-wrap:anywhere}
body.admin-page .account-test-mail .btn{flex:none;font-size:12px;border-radius:10px}
body.admin-page .social-provider-card{background:#0d1524;border:1px solid #2a354b;border-radius:15px;padding:21px;min-width:0}
body.admin-page .social-provider-card>label{margin-top:19px}
body.admin-page .social-provider-card>p{font-size:12px;line-height:1.75;color:#8796ae;margin:18px 0 0}
body.admin-page .social-provider-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
body.admin-page .social-provider-head h4{display:flex;align-items:center;gap:10px;margin:0;font-size:16px;color:#e0e6f3}
body.admin-page .social-provider-head .vq-admin-switch{flex-direction:row;align-items:center;padding:7px 9px;gap:8px;min-height:0;font-size:11px;background:transparent;border:0}
body.admin-page .account-copy-field{display:flex;align-items:stretch;min-width:0}
body.admin-page .account-copy-field input{border-radius:10px 0 0 10px!important;font-size:11px!important;color:#aab8d0!important}
body.admin-page .account-copy-field button{border:1px solid #405074;border-left:0;border-radius:0 10px 10px 0;background:#1b2942;color:#c9d7ef;padding:8px 12px;cursor:pointer}
@media(max-width:1100px){body.admin-page .social-provider-grid{grid-template-columns:minmax(0,1fr)}body.admin-page .account-form-footer{align-items:flex-start;flex-direction:column;gap:16px}}
@media(max-width:640px){body.admin-page .account-service-card{padding:18px;border-radius:15px}body.admin-page .account-fields{grid-template-columns:minmax(0,1fr);gap:18px}body.admin-page .account-service-heading{align-items:flex-start;flex-wrap:wrap}body.admin-page .account-service-heading>div{flex:1;min-width:130px}body.admin-page .service-badge{margin-left:59px}body.admin-page .account-test-mail{align-items:stretch;flex-direction:column;gap:12px}body.admin-page .account-form-footer .btn{width:100%}body.admin-page .social-provider-card{padding:16px}body.admin-page .account-settings-form input:not([type=checkbox]),body.admin-page .account-settings-form select{font-size:16px}.auth-complete-wrap{padding:25px 14px}.auth-complete-wrap .auth-premium-card{padding:25px 21px;border-radius:20px}.social-signin-btn{font-size:14px}}
.auth-premium .auth-form-side,.auth-premium .auth-premium-card,.auth-premium .premium-form,.auth-premium .field-shell{min-width:0;max-width:100%}
.social-signin-btn{font-family:inherit;font-weight:600;font-size:14px;line-height:1.4}
body.admin-page .account-settings-form input:not([type=checkbox]),body.admin-page .account-settings-form select{font-family:inherit;font-weight:400;line-height:1.4}
@media(max-width:900px){.auth-premium .auth-stage{grid-template-columns:minmax(0,1fr)!important}}

/* A running turn keeps its cancel action in the composer. */
#sendBtn.is-stop {background:#eceaf7;color:#171526;box-shadow:none}
.stop-square {display:block;width:15px;height:15px;border-radius:3px;background:currentColor;margin:auto}
.running-edit {display:block;margin:10px 0 0 auto;border:1px solid #ffffff24;border-radius:10px;background:transparent;color:inherit;padding:6px 11px;font:inherit;font-size:12px;cursor:pointer;opacity:.8}
.running-edit:hover {opacity:1;background:#ffffff12}
.running-edit:focus-visible {outline:2px solid #ad98ff;outline-offset:3px}

/* ---------------------------------------------------------------- Brain v2: live replies */
.v2-status{display:inline-flex;align-items:center;gap:10px;min-height:30px;font-size:14px;font-weight:600;color:#aeb9d1}
.v2-status .v2-clock{font-size:11.5px;font-weight:500;color:var(--faint);font-variant-numeric:tabular-nums}
.v2-status .v2-clock:empty{display:none}
.v2-pulse{width:8px;height:8px;border-radius:50%;background:var(--grad);box-shadow:0 0 0 0 rgba(138,92,255,.55);animation:v2pulse 1.6s ease-out infinite;flex-shrink:0}
@keyframes v2pulse{0%{box-shadow:0 0 0 0 rgba(138,92,255,.55)}70%{box-shadow:0 0 0 9px rgba(138,92,255,0)}100%{box-shadow:0 0 0 0 rgba(138,92,255,0)}}
.v2-label.status-in{animation:statusIn .32s ease-out}
.v2-live.streaming .v2-text>:last-child::after{content:"";display:inline-block;width:7px;height:15px;margin-left:4px;border-radius:2px;background:var(--accent);vertical-align:-2px;animation:v2caret 1s steps(2) infinite}
@keyframes v2caret{50%{opacity:0}}
.v2-sources{margin:2px 0 14px;min-width:0}
.v2-sources.saved{margin:16px 0 0}
.v2-sources-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.v2-source-row{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scroll-snap-type:x proximity;scrollbar-width:thin}
.v2-src{flex:0 0 200px;display:grid;gap:4px;align-content:start;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--line);color:var(--text);text-decoration:none!important;scroll-snap-align:start;transition:border-color .15s,transform .15s,background .15s;min-width:0}
.v2-src:hover{border-color:var(--line2);background:rgba(255,255,255,.06);transform:translateY(-1px)}
.v2-src-head{display:flex;align-items:center;gap:7px;min-width:0;font-size:11.5px;color:var(--muted)}
.v2-src-n{flex-shrink:0;width:18px;height:18px;border-radius:6px;display:grid;place-items:center;background:var(--panel2);color:var(--text);font-size:10.5px;font-weight:700}
.v2-src-site{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2-src-title{font-size:12.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v2-src-date{font-size:10.5px;color:var(--faint)}
a.cite{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin:0 2px;border-radius:6px;background:rgba(138,92,255,.18);color:#d4c2ff!important;font:700 10.5px/1 Inter,system-ui,sans-serif;text-decoration:none!important;vertical-align:2px;transition:background .15s}
a.cite:hover{background:var(--accent);color:#fff!important}
.v2-caption{font-size:14px;color:var(--muted);margin:0 0 10px}
.v2-media{margin-top:4px}
.v2-make{position:relative;width:min(100%,420px);aspect-ratio:3/4;border-radius:20px;overflow:hidden;border:1px dashed var(--line2);background:radial-gradient(120% 80% at 20% 0%,rgba(138,92,255,.16),transparent 60%),radial-gradient(90% 70% at 100% 100%,rgba(0,229,255,.10),transparent 60%),var(--panel);display:grid;place-items:center}
.v2-make.landscape{aspect-ratio:16/9}.v2-make.square{aspect-ratio:1}
.v2-make-shine{position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.06) 50%,transparent 70%);background-size:220% 100%;animation:v2shine 1.9s linear infinite}
@keyframes v2shine{from{background-position:120% 0}to{background-position:-120% 0}}
.v2-make-in{position:relative;display:grid;justify-items:center;gap:6px;width:min(80%,300px);text-align:center;padding:18px}
.v2-make-in .v-loader{width:54px;height:54px;display:grid;place-items:center;margin-bottom:4px}
.v2-make-title{font-size:15px;font-weight:600;color:var(--text)}
.v2-make-sub{font-size:12px;color:var(--muted);min-height:16px}
.v2-bar{width:100%;height:4px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:6px}
.v2-bar i{display:block;height:100%;width:38%;border-radius:4px;background:var(--grad);animation:v2indet 1.5s ease-in-out infinite}
.v2-bar.determinate i{animation:none;transition:width .45s ease}
@keyframes v2indet{0%{transform:translateX(-110%)}100%{transform:translateX(280%)}}
.v2-make.failed{border-style:solid;border-color:rgba(255,120,140,.35)}
.v2-make.failed .v2-make-shine,.v2-make.failed .v2-bar{display:none}
.v2-gallery{display:grid;gap:8px;max-width:min(100%,540px)}
.v2-gallery.multi{grid-template-columns:repeat(2,minmax(0,1fr));max-width:min(100%,640px)}
.v2-gallery{justify-items:start}
.v2-gallery .job{max-width:100%}
.v2-gallery .job img{width:auto;max-width:100%;height:auto;max-height:70vh;background:transparent}
.v2-gallery .job video{max-height:70vh}
.v2-gallery.multi .job img{width:100%}
.msg.v2-note .md{border-left:3px solid rgba(255,190,110,.55);padding-left:12px;color:var(--muted)}
.md-table{overflow-x:auto;margin:0 0 14px;border:1px solid var(--line);border-radius:12px}
.md-table table{border-collapse:collapse;width:100%;font-size:13.5px;line-height:1.5}
.md-table th,.md-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.md-table th{font-weight:600;color:var(--muted);background:rgba(255,255,255,.03);white-space:nowrap}
.md-table tr:last-child td{border-bottom:0}
.md ol{margin:0 0 12px;padding-left:24px}.md ol li{margin:3px 0}
.md h4:first-child{margin-top:0}
:root[data-theme=light] .v2-status{color:#5f6881}
:root[data-theme=light] .v2-src{background:#fff;border-color:rgba(40,55,90,.10)}
:root[data-theme=light] .v2-src:hover{background:#f7f6fd;border-color:rgba(108,92,231,.3)}
:root[data-theme=light] .v2-src-n{background:#efedf9;color:#3b3552}
:root[data-theme=light] a.cite{background:rgba(108,92,231,.12);color:#5a47c9!important}
:root[data-theme=light] a.cite:hover{background:#6c5ce7;color:#fff!important}
:root[data-theme=light] .v2-make{background:radial-gradient(120% 80% at 20% 0%,rgba(108,92,231,.12),transparent 60%),#fff;border-color:rgba(40,55,90,.16)}
:root[data-theme=light] .v2-bar{background:rgba(40,55,90,.08)}
:root[data-theme=light] .md-table{border-color:rgba(40,55,90,.10)}
:root[data-theme=light] .md-table th{background:#f5f4fb;color:#5b5670}
html[data-theme=light] .app #tierSeg{background:#f3f1f8!important;border-color:#e3dfee!important}
html[data-theme=light] .app #tierSeg button{color:#6f6983!important}
html[data-theme=light] .app #tierSeg button.on{background:#fff!important;color:#5b3fa0!important;box-shadow:0 2px 8px rgba(70,50,130,.10),inset 0 0 0 1px rgba(120,90,210,.18)!important}
html[data-theme=light] .app #aspect{background:#f6f5fa!important;border-color:#e3dfee!important;color:#4f4963!important}
@media(max-width:760px){.v2-src{flex-basis:170px}.v2-make{width:100%}.v2-gallery.multi{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.v2-pulse,.v2-make-shine,.v2-bar i,.v2-live.streaming .v2-text>:last-child::after{animation:none}}

/* ---------------------------------------------------------------- Documents in chat (Document Controller) */
.doc-tray{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px;max-height:180px;overflow-y:auto;padding:2px}
.doc-chip{position:relative;display:flex;align-items:center;gap:10px;min-width:0;width:min(100%,260px);padding:8px 8px 10px 10px;border-radius:14px;border:1px solid var(--line2);background:var(--panel2);overflow:hidden}
.doc-chip.error{border-color:rgba(255,120,140,.45)}
.doc-chip .doc-meta{min-width:0;flex:1;display:grid;gap:1px}
.doc-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doc-sub{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doc-chip.error .doc-sub{color:var(--danger);white-space:normal}
.doc-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:transparent}
.doc-bar i{display:block;height:100%;background:var(--grad);transition:width .3s ease}
.doc-chip.ready .doc-bar i{background:var(--ok);opacity:.55}
.doc-chip.error .doc-bar{display:none}
.doc-chip .doc-x{width:28px;height:28px;flex-shrink:0;border-radius:9px}
.doc-badge{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;font:800 10px/1 Inter,system-ui,sans-serif;letter-spacing:.04em;color:#fff;background:#5b6480}
.doc-badge.t-pdf{background:#d9434f}.doc-badge.t-xlsx,.doc-badge.t-csv{background:#1f8f55}.doc-badge.t-docx{background:#2f6bd8}
.doc-badge.t-pptx{background:#d0652b}.doc-badge.t-zip{background:#7a5af0}.doc-badge.t-txt,.doc-badge.t-md,.doc-badge.t-json{background:#56607a}
.doc-sent{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.doc-sent-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:4px 10px 4px 4px;border-radius:10px;background:rgba(255,255,255,.07);font-size:12.5px}
.doc-sent-chip .doc-badge{width:26px;height:26px;border-radius:7px;font-size:8.5px}
.doc-sent-chip span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.v2-doc{display:flex;align-items:center;gap:14px;width:min(100%,460px);padding:14px 16px;border-radius:18px;border:1px dashed var(--line2);background:radial-gradient(120% 90% at 0% 0%,rgba(138,92,255,.14),transparent 60%),var(--panel)}
.v2-doc.failed{border-style:solid;border-color:rgba(255,120,140,.35)}
.v2-doc.failed .v2-bar{display:none}
.v2-doc-ic{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:rgba(138,92,255,.16);color:#cdb8ff}
.v2-doc-ic .i{width:22px;height:22px}
.v2-doc-body{min-width:0;flex:1;display:grid;gap:3px}
.v2-doc-title{font-size:14.5px;color:var(--text)}
.v2-doc-sub{font-size:12px;color:var(--muted);min-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin:12px 0 0;max-width:640px}
.doc-file{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border-radius:14px;border:1px solid var(--line2);background:rgba(255,255,255,.035);color:var(--text);text-decoration:none!important;transition:border-color .15s,background .15s,transform .15s}
.doc-file:hover{border-color:rgba(138,92,255,.5);background:rgba(138,92,255,.08);transform:translateY(-1px)}
.doc-file .doc-meta{min-width:0;flex:1;display:grid;gap:2px}
.doc-dl{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--accent3);white-space:nowrap}
.doc-dl .i{width:15px;height:15px}
.doc-plan{margin:14px 0 0;border:1px solid var(--line2);border-radius:16px;overflow:hidden;max-width:760px;background:rgba(255,255,255,.02)}
.doc-plan-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;padding:12px 14px;border-bottom:1px solid var(--line)}
.doc-plan-title{display:grid;gap:1px;min-width:0;flex:1}
.doc-plan-title b{font-size:14.5px}
.doc-plan-where{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-plan-keys{font-size:11.5px;color:var(--faint)}
.doc-table{max-height:420px;overflow-y:auto}
.doc-row{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);transition:opacity .15s}
.doc-row:last-child{border-bottom:0}
.doc-row.off{opacity:.45}
.doc-row.off .doc-new{text-decoration:line-through}
.doc-pick{padding-top:2px;cursor:pointer}
.doc-pick input{width:17px;height:17px;accent-color:var(--accent);cursor:pointer}
.doc-plan.closed .doc-pick input{cursor:default}
.doc-main{min-width:0;flex:1;display:grid;gap:6px}
.doc-row-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
.doc-key{font-size:13.5px;word-break:break-word}
.doc-kind{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(0,229,255,.12);color:#8eeeff}
.doc-kind.append{background:rgba(47,224,196,.14);color:#7cf0d9}
.doc-cells{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.doc-cells li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:13px;line-height:1.45;min-width:0}
.doc-h{color:var(--muted);font-weight:600}
.doc-h::after{content:":"}
.doc-old{color:var(--faint)}
.doc-arrow{color:var(--faint)}
.doc-new{color:var(--text);font-weight:600;word-break:break-word}
.doc-src{flex-basis:100%;font-size:11.5px;color:var(--faint);word-break:break-word}
.doc-more,.doc-warn{margin:0;padding:10px 14px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
.doc-warn{list-style:none;display:grid;gap:4px;color:#f3c98b}
.doc-warn li::before{content:"! ";font-weight:800}
.doc-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:12px 14px;border-top:1px solid var(--line);background:rgba(255,255,255,.025)}
.doc-apply{min-height:38px;padding:0 16px;border-radius:12px}
.doc-apply:disabled{opacity:.55;cursor:not-allowed}
.doc-note{font-size:12px;color:var(--muted)}
:root[data-theme=light] .doc-chip{background:#f4f5fa;border-color:rgba(40,55,90,.12)}
:root[data-theme=light] .doc-sent-chip{background:rgba(40,55,90,.07)}
:root[data-theme=light] .v2-doc{background:radial-gradient(120% 90% at 0% 0%,rgba(108,92,231,.10),transparent 60%),#fff;border-color:rgba(40,55,90,.16)}
:root[data-theme=light] .v2-doc-ic{background:#efebff;color:#6c5ce7}
:root[data-theme=light] .doc-file{background:#fff;border-color:rgba(40,55,90,.12)}
:root[data-theme=light] .doc-file:hover{background:#f7f5ff;border-color:rgba(108,92,231,.35)}
:root[data-theme=light] .doc-dl{color:#6c4fd8}
:root[data-theme=light] .doc-plan{background:#fff;border-color:rgba(40,55,90,.12)}
:root[data-theme=light] .doc-kind{background:#e6f6fb;color:#0b6f86}
:root[data-theme=light] .doc-kind.append{background:#e3f7f1;color:#0c7a61}
:root[data-theme=light] .doc-warn{color:#9a5b00}
:root[data-theme=light] .doc-actions{background:#f8f8fc}
@media(max-width:760px){
  .doc-chip{width:100%}
  .doc-files{grid-template-columns:1fr}
  .doc-row{padding:10px 12px}
  .doc-table{max-height:none}
  .doc-apply{width:100%}
}
@media(prefers-reduced-motion:reduce){.doc-bar i,.doc-file{transition:none}}

/* ---------------------------------------------------------------- Voice: speak to type, listen to replies */
body.app .composer .mic{width:40px;height:40px;min-width:40px;border-radius:12px;display:grid;place-items:center;margin:0 4px 0 0;background:transparent;border:1px solid transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}
body.app .composer .mic:hover{background:rgba(255,255,255,.06);color:var(--text)}
body.app .composer .mic .i{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.app .composer .mic.on{background:rgba(255,95,120,.16);color:#ff7d93;animation:micpulse 1.4s ease-out infinite}
@keyframes micpulse{0%{box-shadow:0 0 0 0 rgba(255,95,120,.45)}70%{box-shadow:0 0 0 10px rgba(255,95,120,0)}100%{box-shadow:0 0 0 0 rgba(255,95,120,0)}}
.msg-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.msg-action{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:4px 10px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}
.msg-action:hover{color:var(--text);border-color:var(--line2)}
.msg-action.on{color:var(--accent3);border-color:rgba(138,92,255,.45)}
.voice-controls{margin:14px 0 0}
.voice-controls summary{cursor:pointer;font-weight:600}
.voice-controls label{display:flex;gap:8px;align-items:center;margin:10px 0 0;font-size:14px}
.voice-controls select{margin-left:auto;min-height:34px;border-radius:9px;padding:0 8px}
.voice-controls p{font-size:12.5px;color:var(--muted);margin:10px 0 0}
:root[data-theme=light] body.app .composer .mic:hover{background:#eef1f7}
@media(pointer:coarse){.msg-action{min-height:36px;padding:6px 12px}}
@media(prefers-reduced-motion:reduce){body.app .composer .mic.on{animation:none}}

/* R8.93: retrieved photos stay inside each answer and link to their source. */
.v2-source-row { flex-wrap: wrap; gap: 10px; }
.v2-src.v2-src-has-photo { flex: 0 1 220px; width: 220px; max-width: 100%; overflow: hidden; }
.v2-src-photo { display: block; width: 100%; height: 140px; object-fit: cover; border-radius: 8px; margin-bottom: 8px; }
@media(max-width:600px) { .v2-src.v2-src-has-photo { flex-basis: calc(50% - 10px); width: calc(50% - 10px); min-width: 125px; } .v2-src-photo { height: 110px; } }
