/* =========================================================================
   AVS Desi AI — Bootstrap 5.3 theme (purple + gold), dark default + light
   ========================================================================= */
:root,[data-bs-theme=light]{
  --brand-gold:#ddb35f;--brand-gold-hover:#e9c67f;--brand-gold-ink:#8a5f12;--brand-gold-soft:#f6ecd7;
  --brand-purple:#7b3fc4;--brand-purple-ink:#7340a3;--brand-purple-soft:#efe5fb;
  --surface:#ffffff;--surface-2:#f2eafc;--surface-3:#e6d9f7;--line:#e4d8f1;--line-2:#d3c2e8;--bg-2:#f5effd;
  --ink:#271938;--muted:#6b5882;--dim:#8a78a0;
  --ok:#1d8a57;--ok-soft:#e2f5eb;--bad:#b8403a;--bad-soft:#fbe6e4;--info:#2d6bc4;--info-soft:#e4eefb;--warn:#9a6a0b;--warn-soft:#fbf0d9;
  --shadow:0 24px 70px #3815521f;--shadow-sm:0 6px 20px #3815521a;
  --bs-body-bg:#faf7ff;--bs-body-color:#271938;--bs-secondary-color:#6b5882;--bs-tertiary-bg:#f2eafc;--bs-border-color:#e4d8f1;
  --bs-link-color:#7340a3;--bs-link-hover-color:#5a2c86;--bs-link-color-rgb:115,64,163;--bs-emphasis-color:#140b22;
  --bs-body-font-family:"Inter","Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --bs-border-radius:.75rem;--bs-border-radius-lg:1rem;--bs-border-radius-sm:.5rem;
  --serif:"Instrument Serif",Georgia,serif;--sidebar-w:252px;--topbar-h:66px;
}
[data-bs-theme=dark]{
  --brand-gold:#e6be70;--brand-gold-hover:#f2d390;--brand-gold-ink:#edc678;--brand-gold-soft:#3a2a45;
  --brand-purple:#8b5cf6;--brand-purple-ink:#c9a2f4;--brand-purple-soft:#2f2147;
  --surface:#1f1530;--surface-2:#2a1d3f;--surface-3:#36264f;--line:#3b2a52;--line-2:#4b3765;--bg-2:#180f27;
  --ink:#fbf7ff;--muted:#b6a7c8;--dim:#8f7fa6;
  --ok:#5fd39a;--ok-soft:#173a2c;--bad:#ff8b84;--bad-soft:#43202a;--info:#7cb6ff;--info-soft:#1d2b47;--warn:#ffc65c;--warn-soft:#3f3020;
  --shadow:0 24px 70px #0a031780;--shadow-sm:0 6px 20px #0a03174d;
  --bs-body-bg:#140d21;--bs-body-color:#fbf7ff;--bs-secondary-color:#b6a7c8;--bs-tertiary-bg:#1f1530;--bs-secondary-bg:#2a1d3f;--bs-border-color:#3b2a52;
  --bs-link-color:#e6be70;--bs-link-hover-color:#f2d390;--bs-link-color-rgb:230,190,112;--bs-emphasis-color:#ffffff;
  --bs-form-valid-color:#5fd39a;--bs-form-invalid-color:#ff8b84;
}
body{font-size:14.5px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,.h1,.h2,.h3,.h4,.h5{letter-spacing:-.02em;font-weight:650}
.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.text-gold{color:var(--brand-gold)!important}.text-gold-ink{color:var(--brand-gold-ink)!important}
.text-purple{color:var(--brand-purple-ink)!important}
.text-muted-2{color:var(--muted)!important}.text-dim{color:var(--dim)!important}
.hi{font-family:"Noto Sans Devanagari",var(--bs-body-font-family)}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--brand-gold)}
.small-2{font-size:12.5px}.xs{font-size:11.5px}
.fw-650{font-weight:650}
.bg-surface{background:var(--surface)!important}.bg-surface-2{background:var(--surface-2)!important}.bg-2{background:var(--bg-2)!important}
.border-line{border-color:var(--line)!important}
::selection{background:var(--brand-gold);color:#2a1840}

/* buttons */
.btn{font-weight:600;border-radius:10px;padding:.55rem 1rem;font-size:.875rem}
.btn-sm{border-radius:8px;padding:.35rem .7rem;font-size:.8rem}
.btn-lg{border-radius:12px;padding:.8rem 1.4rem;font-size:.95rem}
.btn-gold,.btn-primary{--bs-btn-color:#2a1840;--bs-btn-bg:var(--brand-gold);--bs-btn-border-color:var(--brand-gold);--bs-btn-hover-color:#2a1840;--bs-btn-hover-bg:var(--brand-gold-hover);--bs-btn-hover-border-color:var(--brand-gold-hover);--bs-btn-active-bg:var(--brand-gold-hover);--bs-btn-active-color:#2a1840;--bs-btn-disabled-bg:var(--brand-gold);--bs-btn-disabled-border-color:var(--brand-gold);--bs-btn-disabled-color:#2a1840;--bs-btn-focus-shadow-rgb:230,190,112}
.btn-soft{--bs-btn-color:var(--ink);--bs-btn-bg:var(--surface-2);--bs-btn-border-color:var(--line);--bs-btn-hover-color:var(--ink);--bs-btn-hover-bg:var(--surface-3);--bs-btn-hover-border-color:var(--line-2);--bs-btn-active-bg:var(--surface-3);--bs-btn-active-color:var(--ink)}
.btn-ghost{--bs-btn-color:var(--muted);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--ink);--bs-btn-hover-bg:var(--surface-2);--bs-btn-active-bg:var(--surface-2)}
.btn-glass{background:#14092699;color:#fff;border:1px solid #ffffff2a;backdrop-filter:blur(8px)}.btn-glass:hover{background:#140926cc;color:#fff}
.btn-google{background:#fff;color:#1f1f1f;border:1px solid #dadce0}.btn-google:hover{background:#f6f6f6;color:#1f1f1f}
.btn-icon{width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:10px}
.btn .bi{font-size:1.05em}
.link-gold{color:var(--brand-gold);font-weight:600;text-decoration:none}.link-gold:hover{text-decoration:underline;color:var(--brand-gold-hover)}

/* forms */
.form-control,.form-select{background-color:var(--bg-2);border-color:var(--line);border-radius:10px;padding:.6rem .85rem;font-size:.9rem}
.form-select{padding-right:2.4rem;background-position:right .8rem center}.form-select-sm{padding-right:2rem}
[data-bs-theme=light] .form-control,[data-bs-theme=light] .form-select{background-color:#fff}
.form-control:focus,.form-select:focus{border-color:#c49eea;box-shadow:0 0 0 .2rem #a971dc33;background-color:var(--bg-2)}
.form-label{font-weight:600;font-size:.82rem;margin-bottom:.35rem}
.form-text{color:var(--dim);font-size:.76rem}
.form-check-input:checked{background-color:var(--brand-gold);border-color:var(--brand-gold)}
.form-switch .form-check-input{width:2.4em;height:1.3em;cursor:pointer}
.form-check-input:focus{box-shadow:0 0 0 .2rem #e6be7040;border-color:var(--brand-gold)}
.input-group-text{background:var(--surface-2);border-color:var(--line);color:var(--muted)}
.otp{display:flex;gap:10px}.otp input{width:48px;height:56px;text-align:center;font-size:22px;font-weight:700;border-radius:12px;border:1px solid var(--line);background:var(--bg-2);color:var(--ink)}
.otp input:focus{outline:none;border-color:var(--brand-gold);box-shadow:0 0 0 .2rem #e6be7033}

/* cards, badges */
.card{--bs-card-bg:var(--surface);--bs-card-border-color:var(--line);--bs-card-border-radius:18px;--bs-card-cap-bg:transparent}
.card-hover{transition:transform .18s,border-color .18s}.card-hover:hover{transform:translateY(-3px);border-color:var(--brand-gold)}
.badge{font-weight:650;letter-spacing:.2px;border-radius:6px;padding:.35em .6em}
.badge-soft-success{background:var(--ok-soft);color:var(--ok)}.badge-soft-danger{background:var(--bad-soft);color:var(--bad)}
.badge-soft-info{background:var(--info-soft);color:var(--info)}.badge-soft-warning{background:var(--warn-soft);color:var(--warn)}
.badge-soft-secondary{background:var(--surface-2);color:var(--muted)}.badge-soft-purple{background:var(--brand-purple-soft);color:var(--brand-purple-ink)}
.badge-soft-gold{background:var(--brand-gold-soft);color:var(--brand-gold-ink)}
.tag-new{background:linear-gradient(90deg,#ff9a3c,#e6be70);color:#2a1840;font-size:9px;font-weight:800;letter-spacing:.6px;padding:2px 6px;border-radius:5px;font-style:normal}
.tag-hot{background:#ff5d6c;color:#fff;font-size:9px;font-weight:800;letter-spacing:.6px;padding:2px 6px;border-radius:5px;font-style:normal}
.chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;text-decoration:none}
.chip:hover{color:var(--ink);border-color:var(--line-2)}.chip.active{background:var(--brand-gold-soft);border-color:var(--brand-gold);color:var(--brand-gold-ink)}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.chips.scroll::-webkit-scrollbar{display:none}
.tool-ico{width:40px;height:40px;border-radius:11px;background:var(--brand-gold-soft);color:var(--brand-gold);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}
.tool-ico.v{background:var(--brand-purple-soft);color:var(--brand-purple-ink)}.tool-ico.a{background:var(--info-soft);color:var(--info)}.tool-ico.e{background:var(--ok-soft);color:var(--ok)}
.avatar{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px;background:linear-gradient(135deg,#8b5cf6,#e6be70);color:#fff;flex-shrink:0;overflow:hidden;object-fit:cover}
.avatar-sm{width:28px;height:28px;font-size:11px}.avatar-lg{width:72px;height:72px;font-size:22px}
.credit{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--brand-gold-ink)}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;height:100%}
.stat .label{color:var(--muted);font-size:12.5px;font-weight:600;display:flex;justify-content:space-between}
.stat .label .bi{color:var(--brand-gold)}
.stat .value{font-size:26px;font-weight:750;letter-spacing:-.6px;margin-top:4px}
.stat .delta{font-size:12px;color:var(--dim)}
.progress{--bs-progress-bg:var(--surface-3);--bs-progress-bar-bg:var(--brand-gold);border-radius:99px;height:8px}
.progress-bar{background:linear-gradient(90deg,var(--brand-purple),var(--brand-gold))}
.empty-state{text-align:center;padding:48px 16px;color:var(--muted)}
.empty-state .ico{width:60px;height:60px;border-radius:18px;background:var(--brand-gold-soft);color:var(--brand-gold);display:inline-flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:12px}

/* tables */
.table{--bs-table-bg:transparent;--bs-table-border-color:var(--line);--bs-table-hover-bg:color-mix(in srgb,var(--surface-2) 50%,transparent);font-size:13.5px;margin-bottom:0}
.table>thead th{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--dim);background:var(--bg-2);white-space:nowrap;padding:.8rem 1rem}
.table>tbody td{padding:.8rem 1rem;vertical-align:middle}
.table-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.table-card .table-responsive{margin:0}
.thumb{width:46px;height:46px;border-radius:9px;object-fit:cover;background:var(--surface-2);flex-shrink:0}
.thumb-wide{width:76px;height:46px}
.pagination{--bs-pagination-bg:var(--surface);--bs-pagination-border-color:var(--line);--bs-pagination-color:var(--ink);--bs-pagination-hover-bg:var(--surface-2);--bs-pagination-hover-color:var(--ink);--bs-pagination-active-bg:var(--brand-gold);--bs-pagination-active-border-color:var(--brand-gold);--bs-pagination-active-color:#2a1840;--bs-pagination-disabled-bg:var(--surface);--bs-pagination-disabled-border-color:var(--line)}
.nav-tabs{--bs-nav-tabs-border-color:var(--line);--bs-nav-tabs-link-active-bg:transparent;--bs-nav-tabs-link-active-color:var(--ink);--bs-nav-tabs-link-active-border-color:transparent;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.nav-tabs .nav-link{border:0;border-bottom:2px solid transparent;color:var(--muted);font-weight:600;font-size:13.5px;white-space:nowrap;padding:.7rem .9rem}
.nav-tabs .nav-link.active{border-bottom-color:var(--brand-gold);color:var(--ink)}
.nav-tabs .nav-link:hover{color:var(--ink)}
.dropdown-menu{--bs-dropdown-bg:var(--surface);--bs-dropdown-border-color:var(--line);--bs-dropdown-link-hover-bg:var(--surface-2);--bs-dropdown-link-color:var(--ink);--bs-dropdown-link-hover-color:var(--ink);--bs-dropdown-link-active-bg:var(--surface-3);--bs-dropdown-link-active-color:var(--ink);border-radius:12px;box-shadow:var(--shadow);padding:6px;font-size:13.5px}
.dropdown-item{border-radius:8px;padding:.5rem .7rem;display:flex;align-items:center;gap:8px}
.modal{--bs-modal-bg:var(--surface);--bs-modal-border-color:var(--line);--bs-modal-border-radius:20px}
.alert{border-radius:12px;font-size:13.5px}
.accordion{--bs-accordion-bg:var(--surface);--bs-accordion-border-color:var(--line);--bs-accordion-active-bg:var(--surface);--bs-accordion-active-color:var(--ink);--bs-accordion-btn-focus-box-shadow:none;--bs-accordion-border-radius:14px;--bs-accordion-inner-border-radius:14px}
.accordion-item{margin-bottom:10px;border-radius:14px!important;border:1px solid var(--line)!important;overflow:hidden}
.accordion-button{font-weight:600}
.toast-container{z-index:2000}

/* art tiles */
.art{position:relative;overflow:hidden;background:var(--surface-2);border-radius:14px;aspect-ratio:4/3;display:block}
.art>img,.art>video{width:100%;height:100%;object-fit:cover;display:block}
.art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#0a031799);pointer-events:none}
.art .art-top{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;align-items:center;z-index:2;gap:6px}
.art .art-label{position:absolute;left:12px;right:12px;bottom:10px;z-index:2;color:#fff;font-size:12.5px;font-weight:600;text-shadow:0 1px 8px #0009}
.glass{background:#14092699;backdrop-filter:blur(8px);color:#fff;border:1px solid #ffffff22}
.ratio-1{aspect-ratio:1}.ratio-34{aspect-ratio:3/4}.ratio-169{aspect-ratio:16/10}.ratio-916{aspect-ratio:9/12}

/* ===================================================================== public site */
.announce{background:linear-gradient(90deg,#3a1f5c,#5b2c6f 45%,#7a3b2e);color:#fff;font-size:12.5px;text-align:center;padding:8px 44px;position:relative}
.announce a{font-weight:700;color:#e6be70;margin-left:6px;text-decoration:none}
.announce .btn-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);filter:invert(1);opacity:.7;width:.6em;height:.6em}
.site-header{position:sticky;top:0;z-index:1030;background:color-mix(in srgb,var(--bs-body-bg) 85%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.site-header .navbar{min-height:72px}
.site-header .nav-link{font-weight:550;font-size:14px;color:var(--muted);border-radius:9px;padding:.5rem .8rem!important}
.site-header .nav-link:hover,.site-header .nav-link.active{color:var(--ink);background:var(--surface-2)}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:750;font-size:19px;letter-spacing:-.5px;color:var(--ink);text-decoration:none}
.brand:hover{color:var(--ink)}
.brand-mark{width:36px;height:36px;border-radius:11px;background:linear-gradient(140deg,#7b3fc4,#e6be70);display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 6px 18px #7b3fc455;flex-shrink:0}
.brand-mark svg{width:22px;height:22px}.brand img.brand-logo{height:36px;width:auto}
.brand small{display:block;font-size:9.5px;letter-spacing:2px;font-weight:700;color:var(--dim);text-transform:uppercase;line-height:1}
.brand .ai{color:var(--brand-gold)}
.mega{min-width:560px;padding:12px}.mega .dropdown-item{align-items:flex-start;gap:12px;padding:10px;white-space:normal}
.mega .dropdown-item strong{font-size:13.5px;display:block}.mega .dropdown-item span{font-size:12px;color:var(--muted)}
.hero{padding:40px 0 30px}
.hero-carousel{border-radius:24px;overflow:hidden;border:1px solid var(--line);background:#150a26}
.hero-carousel .carousel-item{min-height:540px;position:relative}
.hero-carousel .slide-img{position:absolute;top:0;right:0;width:66%;height:100%;object-fit:cover}
.hero-carousel .carousel-item::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#150a26 0%,#150a26 36%,#150a26b3 52%,#150a2600 78%),linear-gradient(0deg,#150a26cc,transparent 35%)}
.hero-carousel .slide-content{position:relative;z-index:2;padding:56px;max-width:640px;color:#fff;min-height:540px;display:flex;flex-direction:column;justify-content:flex-end;gap:16px}
.hero-carousel h1{font-size:clamp(34px,5.2vw,60px);letter-spacing:-2px;line-height:1.03;color:#fff}
.hero-carousel p{color:#e6dcf3;font-size:16px;max-width:480px;margin:0}
.hero-carousel .hi-line{font-size:18px;color:#e6be70;font-weight:600}
.hero-carousel .carousel-indicators{justify-content:flex-end;margin:0 28px 24px auto}
.hero-carousel .carousel-indicators [data-bs-target]{width:28px;height:4px;border-radius:9px;background:#ffffff66;border:0}
.hero-carousel .carousel-indicators .active{background:#e6be70;width:44px}
.hero-prompt{position:relative;z-index:5;margin:-44px auto 0;max-width:820px;background:var(--surface);border:1px solid var(--line-2);border-radius:20px;box-shadow:var(--shadow);padding:10px 10px 10px 18px;display:flex;align-items:center;gap:12px}
.hero-prompt input{flex:1;border:0;background:transparent;font-size:15px;height:46px;min-width:0;color:var(--ink)}
.hero-prompt input:focus{outline:none}
.hero-prompt .form-select{width:auto;max-width:200px}
.trust{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:24px;color:var(--muted);font-size:13px}.trust .bi{color:var(--brand-gold);margin-right:6px}
.section{padding:80px 0}.section-tight{padding:56px 0}
.section-alt{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head h2{font-size:clamp(26px,3.2vw,36px)}
.section-head p{color:var(--muted);font-size:15px;max-width:640px}
.tool-card{display:flex;flex-direction:column;height:100%;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .18s,border-color .18s}
.tool-card:hover{transform:translateY(-3px);border-color:var(--brand-gold);color:inherit}
.tool-card .art{border-radius:0;aspect-ratio:16/10}
.tool-card .body{padding:16px;display:flex;flex-direction:column;gap:4px;flex:1}
.tool-card .body p{color:var(--muted);font-size:12.5px;margin:0}
.tool-card .meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;font-size:12px;color:var(--dim)}
.template-card{display:block;position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4;border:1px solid var(--line);text-decoration:none}
.template-card .art{border-radius:0;height:100%;aspect-ratio:auto}
.template-card .tc-body{position:absolute;left:0;right:0;bottom:0;padding:14px;z-index:3;color:#fff}
.template-card .tc-body strong{display:block;font-size:15px}.template-card .tc-body span{font-size:12px;color:#e8def5}
.template-card .use{position:absolute;top:12px;right:12px;z-index:3;opacity:0;transition:opacity .2s}
.template-card:hover .use{opacity:1}
.masonry{columns:4 240px;column-gap:14px}.masonry>*{break-inside:avoid;margin-bottom:14px;display:block}
.step-card{padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--surface);height:100%}
.step-card .num{font-family:var(--serif);font-size:46px;color:var(--brand-gold);line-height:1;font-style:italic}
.stats-strip{border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden}
.stats-strip .col{padding:26px;border-right:1px solid var(--line)}.stats-strip .col:last-child{border-right:0}
.stats-strip strong{display:block;font-size:30px;letter-spacing:-1px}
.price-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:14px;height:100%;position:relative}
.price-card.featured{border-color:var(--brand-gold);background:linear-gradient(180deg,color-mix(in srgb,var(--brand-gold) 10%,var(--surface)),var(--surface) 40%)}
.price-card .ribbon{position:absolute;top:-11px;left:24px}
.price-card .price{font-size:34px;font-weight:800;letter-spacing:-1.2px}
.price-card .credits-box{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-weight:600;font-size:13px}
.feature-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;font-size:13px;color:var(--muted)}
.feature-list li{display:flex;gap:9px}.feature-list .bi{color:var(--ok)}
.topup{border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--surface);display:flex;flex-direction:column;gap:6px;position:relative;cursor:pointer;height:100%;transition:border-color .15s}
.topup:hover{border-color:var(--line-2)}.topup.active{border-color:var(--brand-gold);box-shadow:0 0 0 1px var(--brand-gold)}
.topup .amount{font-size:26px;font-weight:800;letter-spacing:-.8px}.topup .amount .bi{color:var(--brand-gold)}
.testimonial{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;height:100%}
.cta-band{border-radius:24px;padding:56px;background:radial-gradient(circle at 85% 20%,#e6be7033,transparent 40%),linear-gradient(120deg,#2b1645,#4a1f5c 55%,#6b2f3a);color:#fff;border:1px solid #ffffff1a}
.cta-band p{color:#e7dcf5}
.page-hero{padding:64px 0 40px;text-align:center;border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 0,#7b3fc433,transparent 55%)}
.page-hero p{color:var(--muted);max-width:620px;margin:10px auto 0;font-size:15px}
.prose{font-size:15px;line-height:1.75;color:var(--muted)}.prose h2{font-size:22px;color:var(--ink);margin:32px 0 10px}.prose h3{color:var(--ink);margin:24px 0 8px}.prose a{color:var(--brand-gold)}
.prose strong{color:var(--ink)}
.site-footer{border-top:1px solid var(--line);padding:56px 0 24px;margin-top:40px;background:var(--bg-2)}
.site-footer h6{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--dim);margin-bottom:14px}
.site-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;font-size:13.5px}
.site-footer ul a{color:var(--muted);text-decoration:none}.site-footer ul a:hover{color:var(--ink)}
.socials a{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}
.socials a:hover{color:var(--brand-gold);border-color:var(--brand-gold)}

/* auth */
.auth-wrap{min-height:100vh}
.auth-visual{position:relative;margin:16px;border-radius:24px;overflow:hidden;color:#fff;min-height:calc(100vh - 32px)}
.auth-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.auth-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#120822f0,#12082233 60%);z-index:1}
.auth-visual .inner{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:44px}
.auth-visual .brand{position:absolute;top:32px;left:36px;z-index:2;color:#fff}
.auth-visual h2{font-size:clamp(28px,3.4vw,44px);letter-spacing:-1.4px;line-height:1.05;color:#fff}
.auth-form{max-width:420px;width:100%;margin:auto}
.or-line{display:flex;align-items:center;gap:12px;color:var(--dim);font-size:12px}.or-line::before,.or-line::after{content:"";flex:1;height:1px;background:var(--line)}

/* ===================================================================== app shell */
.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:1040;transition:transform .25s}
[data-bs-theme=dark] .app-sidebar{background:#190f28}
.app-sidebar .brand{padding:18px 20px 12px}
.app-sidebar .scroll{flex:1;overflow-y:auto;padding:4px 12px 16px;scrollbar-width:thin}
.nav-label{font-size:10.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);padding:14px 10px 6px}
.side-link{display:flex;align-items:center;gap:11px;height:38px;padding:0 10px;border-radius:9px;color:var(--muted);font-size:13.5px;font-weight:550;text-decoration:none;position:relative}
.side-link .bi{font-size:16px;width:18px;text-align:center}
.side-link:hover{background:var(--surface-2);color:var(--ink)}
.side-link.active{background:var(--brand-gold-soft);color:var(--brand-gold-ink)}
.side-link.active::before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--brand-gold)}
.side-link .count{margin-left:auto;font-size:11px;font-weight:700;background:var(--surface-3);color:var(--ink);padding:1px 7px;border-radius:99px}
.side-link .tag-new,.side-link .tag-hot{margin-left:auto}
.app-sidebar .foot{padding:12px;border-top:1px solid var(--line)}
.credit-widget{border-radius:14px;padding:14px;background:linear-gradient(140deg,#3a2257,#4f2a52 60%,#5c3a2a);color:#fff;border:1px solid #ffffff14}
.credit-widget .muted{color:#d8cbe8}.credit-widget .bi-lightning-charge-fill{color:#e6be70}
.credit-widget .progress{--bs-progress-bg:#ffffff22;height:5px}
.app-main{margin-left:var(--sidebar-w);min-height:100vh;display:flex;flex-direction:column}
.app-topbar{position:sticky;top:0;z-index:1020;height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 24px;background:color-mix(in srgb,var(--bs-body-bg) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.app-topbar .breadcrumb{margin:0;font-size:13px}.breadcrumb-item+.breadcrumb-item::before{color:var(--dim)}
.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb .active{color:var(--ink);font-weight:600}
.topbar-search{flex:0 1 320px;margin-left:auto}
.topbar-credits{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-weight:700;font-size:13px;color:var(--ink);text-decoration:none}
.topbar-credits .bi{color:var(--brand-gold)}
.user-chip{display:flex;align-items:center;gap:8px;padding:3px 8px 3px 3px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.user-chip .who{line-height:1.15;text-align:left}.user-chip .who strong{display:block;font-size:12.5px}.user-chip .who span{font-size:11px;color:var(--dim)}
.notif-dot{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--brand-gold);box-shadow:0 0 0 2px var(--bs-body-bg)}
.app-content{padding:26px;flex:1;width:100%;max-width:1440px}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.page-head h1{font-size:clamp(22px,2.4vw,28px);margin:0}
.page-head p{color:var(--muted);margin:4px 0 0}
.app-footer{padding:16px 26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--dim)}
.app-footer a{color:var(--brand-gold);text-decoration:none}
.sidebar-backdrop{position:fixed;inset:0;background:#07021099;z-index:1035;display:none}
body.nav-open .sidebar-backdrop{display:block}
.dash-banner{position:relative;border-radius:24px;overflow:hidden;min-height:220px;display:flex;align-items:center;border:1px solid var(--line);background:#150a26}
.dash-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dash-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#120822f2,#12082299 50%,#12082211);z-index:1}
.dash-banner .inner{position:relative;z-index:2;padding:32px;color:#fff;max-width:560px}
.dash-banner p{color:#e2d7f0}
.quick-tool{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;text-decoration:none;color:inherit;height:100%;transition:border-color .15s,transform .15s}
.quick-tool:hover{border-color:var(--brand-gold);transform:translateY(-2px);color:inherit}
.creation{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;height:100%}
.creation .art{border-radius:0;aspect-ratio:1}
.creation .c-body{padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:6px}
.creation .c-body strong{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.creation .c-body span{font-size:11.5px;color:var(--dim)}
.studio-panel{position:sticky;top:calc(var(--topbar-h) + 20px)}
.prompt-box{border:1px solid var(--line);border-radius:12px;background:var(--bg-2);overflow:hidden}
[data-bs-theme=light] .prompt-box{background:#fff}
.prompt-box:focus-within{border-color:#c49eea;box-shadow:0 0 0 .2rem #a971dc33}
.prompt-box textarea{border:0;background:transparent;width:100%;min-height:120px;padding:12px;resize:vertical;color:var(--ink)}
.prompt-box textarea:focus{outline:none}
.prompt-tools{display:flex;align-items:center;gap:4px;padding:6px 8px;border-top:1px solid var(--line);font-size:12px;color:var(--dim)}
.option-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.option-tile{border:1px solid var(--line);border-radius:10px;padding:9px 6px;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:12px;color:var(--muted);background:var(--bg-2);cursor:pointer;text-align:center;user-select:none}
.option-tile.active,input:checked+.option-tile{border-color:var(--brand-gold);background:var(--brand-gold-soft);color:var(--brand-gold-ink)}
.option-tile .ratio{border:1.6px solid currentColor;border-radius:3px}
.dropzone{border:1.5px dashed var(--line-2);border-radius:12px;padding:20px;text-align:center;color:var(--muted);background:var(--bg-2);cursor:pointer;position:relative;transition:border-color .15s}
.dropzone:hover,.dropzone.drag{border-color:var(--brand-gold)}
.dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.dropzone .preview{max-height:140px;border-radius:8px;margin:0 auto 8px;display:block}
.cost-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;background:var(--surface-2);font-size:13px}
.canvas{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.canvas-stage{position:relative;aspect-ratio:16/10;background:radial-gradient(circle at 50% 40%,#2c1c45,#150c24);display:flex;align-items:center;justify-content:center;overflow:hidden}
[data-bs-theme=light] .canvas-stage{background:radial-gradient(circle at 50% 40%,#f3eafd,#e7dbf6)}
.canvas-stage>img,.canvas-stage>video{max-width:100%;max-height:100%;object-fit:contain;position:relative;z-index:1}
.canvas-stage audio{position:relative;z-index:1;width:80%}
.canvas-empty{text-align:center;max-width:380px;padding:20px}
.canvas-empty .ring{width:76px;height:76px;border-radius:22px;background:var(--brand-gold-soft);color:var(--brand-gold);display:inline-flex;align-items:center;justify-content:center;font-size:30px;margin-bottom:12px}
.canvas-gen{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#120822d9;color:#fff;backdrop-filter:blur(6px)}
.spinner{width:46px;height:46px;border-radius:50%;border:3px solid #ffffff22;border-top-color:#e6be70;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.wallet-hero{border-radius:24px;padding:26px;background:radial-gradient(circle at 90% 10%,#e6be7040,transparent 40%),linear-gradient(130deg,#2e1a4a,#4b2560 60%,#6a3524);color:#fff;border:1px solid #ffffff18}
.wallet-hero .big{font-size:44px;font-weight:800;letter-spacing:-1.6px;line-height:1}
.wallet-hero .muted{color:#dccdf0}
.wallet-hero .split{border-left:1px solid #ffffff22;padding-left:20px}
.thread{display:flex;flex-direction:column;gap:14px}
.msg{display:flex;gap:10px;max-width:85%}.msg .bubble{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:13.5px;white-space:pre-wrap}
.msg .meta{font-size:11px;color:var(--dim);margin-top:4px}.msg.me{margin-left:auto;flex-direction:row-reverse}.msg.me .bubble{background:var(--brand-gold-soft);border-color:transparent}.msg.me .meta{text-align:right}
.msg.internal .bubble{background:var(--warn-soft);border-style:dashed}
.notif-row{display:flex;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);align-items:flex-start;text-decoration:none;color:inherit}
.notif-row:last-child{border-bottom:0}.notif-row.unread{background:color-mix(in srgb,var(--brand-gold-soft) 45%,transparent)}
.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;font-size:13.5px;margin:0}.kv dt{color:var(--dim);font-weight:500}.kv dd{margin:0;font-weight:550;word-break:break-word}
.provider-logo{width:52px;height:52px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;color:#fff;flex-shrink:0}
.health-grid .cell{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--bg-2)}
.health-grid .cell span{display:block;font-size:11.5px;color:var(--dim)}
.code,code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--brand-purple-ink)}
pre.code{padding:14px;overflow:auto;line-height:1.6;white-space:pre}
.sortable-row .drag{cursor:grab;color:var(--dim)}
.invoice-paper{background:#fff;color:#1d1530;border-radius:12px;padding:32px;max-width:820px;margin:0 auto}
.invoice-paper table{width:100%;border-collapse:collapse;font-size:13px}.invoice-paper th,.invoice-paper td{padding:8px;border-bottom:1px solid #eee;text-align:left}
.demo-ribbon{background:repeating-linear-gradient(45deg,#3f3020,#3f3020 10px,#4a3825 10px,#4a3825 20px);color:#ffc65c;font-size:12.5px;text-align:center;padding:6px 12px}
[data-bs-theme=light] .demo-ribbon{background:#fbf0d9;color:#9a6a0b}

/* ===================================================================== responsive */
@media (max-width:991.98px){
  .app-sidebar{transform:translateX(-100%)}body.nav-open .app-sidebar{transform:none}
  .app-main{margin-left:0}.app-topbar{padding:0 14px}.topbar-search{display:none}.app-content{padding:18px 14px}
  .studio-panel{position:static}
  .hero-carousel .slide-img{width:100%}
  .hero-carousel .carousel-item::before{background:linear-gradient(0deg,#150a26 30%,#150a26cc 55%,#150a2640)}
  .hero-carousel .slide-content{padding:28px 22px 70px;min-height:520px}
  .hero-carousel .carousel-indicators{justify-content:flex-start;margin:0 0 22px 22px}
  .wallet-hero .split{border-left:0;padding-left:0;border-top:1px solid #ffffff22;padding-top:14px}
  .stats-strip .col{flex:0 0 50%;border-bottom:1px solid var(--line)}
  .mega{min-width:0}
}
@media (max-width:575.98px){
  .section{padding:56px 0}.hero{padding:14px 0 20px}
  .hero-prompt{flex-wrap:wrap;margin-top:-26px;padding:10px}.hero-prompt input{flex-basis:100%;order:-1}.hero-prompt .form-select{flex:1;max-width:none}
  .option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta-band{padding:32px 22px}
  .user-chip .who{display:none}.topbar-credits .lbl{display:none}
  .kv{grid-template-columns:1fr}.msg{max-width:100%}
  .otp input{width:44px;height:52px}
}
@media print{.no-print{display:none!important}body{background:#fff}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* nav pills (admin provider tabs) */
.nav-pills .nav-link{color:var(--muted);border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.45rem 1rem;font-weight:600;font-size:14px}
.nav-pills .nav-link:hover{color:var(--ink);border-color:var(--brand-gold)}
.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background:var(--brand-gold);border-color:var(--brand-gold);color:#2a1840}
.chart-wrap svg text{font-family:inherit}
