/* Promptory V27 — Account / Credits */
.account-nav-slot{position:relative;display:flex;align-items:center;margin-left:4px}.account-signin-btn,.account-avatar-btn{border:1px solid var(--border,#e8e4f1);background:#fff;color:var(--ink,#211d2e);font:inherit;cursor:pointer}.account-signin-btn{height:38px;padding:0 15px;border-radius:999px;font-weight:700}.account-signin-btn:hover{border-color:#d9cff7;background:#faf8ff}.account-avatar-btn{display:flex;align-items:center;gap:8px;padding:3px 8px 3px 3px;border-radius:999px}.account-avatar{width:32px;height:32px;border-radius:50%;display:inline-grid;place-items:center;overflow:hidden;background:#ede9fe;color:#6d28d9;font-weight:800;flex:none}.account-avatar img{width:100%;height:100%;object-fit:cover}.account-avatar.large{width:42px;height:42px}.account-avatar.xl{width:72px;height:72px;font-size:24px}.account-balance-pill{font-size:12px;font-weight:800;white-space:nowrap}.account-balance-pill small{font-size:10px;color:#9790aa;font-weight:600}.account-menu{position:absolute;right:0;top:48px;width:260px;z-index:1200;background:#fff;border:1px solid #ebe6f4;border-radius:18px;box-shadow:0 18px 50px rgba(42,31,69,.14);padding:10px}.account-menu-head{display:flex;gap:10px;align-items:center;padding:8px 8px 12px;border-bottom:1px solid #f0edf5;margin-bottom:5px}.account-menu-head div{min-width:0}.account-menu-head b,.account-menu-head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-head small{color:#9690a6;margin-top:2px}.account-menu a,.account-menu button{display:block;width:100%;border:0;background:none;text-align:left;padding:10px 11px;border-radius:10px;text-decoration:none;color:#4d465d;font:inherit;cursor:pointer}.account-menu a:hover,.account-menu button:hover{background:#f7f4ff;color:#6d28d9}.account-menu a b{color:#6d28d9}.account-modal[hidden]{display:none!important}.account-modal{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:20px}.account-modal-backdrop{position:absolute;inset:0;background:rgba(26,20,40,.42);backdrop-filter:blur(4px)}.account-modal-card{position:relative;z-index:1;width:min(440px,100%);background:#fff;border:1px solid #ebe6f4;border-radius:24px;box-shadow:0 28px 80px rgba(34,25,54,.2);padding:30px}.account-modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;border-radius:12px;background:#f2eff8;color:#302a3d;font-size:24px;cursor:pointer}.account-auth-logo{font-size:18px;font-weight:900;display:flex;align-items:center;gap:7px}.account-auth-logo span{width:30px;height:30px;border-radius:9px;background:#7c3aed;color:white;display:grid;place-items:center}.account-auth-logo em{font-style:normal;color:#7c3aed}.account-modal-card h2{font-size:26px;margin:22px 0 7px}.account-auth-sub{color:#8e889e;line-height:1.55;margin:0 0 20px}.account-google-btn{width:100%;height:50px;border:1px solid #dfdbe8;background:white;border-radius:14px;font:inherit;font-weight:750;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:10px}.account-google-btn:hover{background:#faf9fd}.google-g{font-weight:900;color:#4285f4;font-size:18px}.account-or{display:flex;align-items:center;gap:12px;color:#a09aac;font-size:12px;margin:18px 0}.account-or:before,.account-or:after{content:"";height:1px;background:#ece8f2;flex:1}.account-email-form label,.account-otp-form label{display:block;color:#595168;font-size:13px;font-weight:700}.account-email-form input,.account-otp-form input{width:100%;box-sizing:border-box;margin-top:7px;height:48px;border:1px solid #ded8e9;border-radius:13px;padding:0 14px;font:inherit;outline:none}.account-email-form input:focus,.account-otp-form input:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #f2edff}.account-email-form .btn,.account-otp-form .btn{width:100%;margin-top:12px;height:48px}.account-otp-form p{color:#777084;font-size:13px}.account-text-btn{border:0;background:none;color:#7c3aed;font:inherit;font-size:13px;cursor:pointer;margin-top:10px}.account-auth-error,.account-config-warning{margin-top:14px;border-radius:11px;padding:10px 12px;font-size:12.5px;line-height:1.45}.account-auth-error{background:#fff1f1;color:#b42318}.account-config-warning{background:#fff8e8;color:#8a5d00}.account-modal-open{overflow:hidden}.account-recharge-card{width:min(820px,100%)}.account-package-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.account-package{position:relative;border:1px solid #e8e3f0;border-radius:18px;padding:19px;background:#fff;display:flex;flex-direction:column;gap:7px}.account-package.featured{border-color:#a78bfa;background:linear-gradient(180deg,#fbf9ff,#fff)}.package-badge{position:absolute;top:-10px;right:12px;background:#7c3aed;color:#fff;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.account-package h3{margin:0;font-size:17px}.package-price{font-size:30px;font-weight:900;margin-top:5px}.account-package b{font-size:15px}.account-package small{color:#918a9d;min-height:30px}.account-package .btn{margin-top:8px}.studio-credit-line{display:flex;justify-content:flex-end;min-height:22px;margin:2px 0 8px;color:#7e778e;font-size:12.5px;font-weight:700}.account-page-shell{min-height:650px}.account-page-root{padding:28px 0 60px}.account-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:5px 0 30px}.account-page-head h1{font-size:44px;margin:4px 0 0}.account-kicker{color:#7c3aed;font-size:12px;font-weight:900;letter-spacing:.13em}.balance-card{min-width:190px;border-radius:20px;background:#f6f2ff;padding:18px 22px}.balance-card small,.balance-card span{display:block;color:#8e879c}.balance-card strong{display:inline-block;font-size:34px;margin:3px 5px 0 0}.account-section{margin:32px 0}.account-section h2{font-size:22px;margin:0 0 16px}.account-table{border:1px solid #e9e5ef;border-radius:18px;overflow:hidden;background:#fff}.account-table-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 150px;gap:18px;align-items:center;padding:14px 18px;border-bottom:1px solid #f0edf4}.account-table-row:last-child{border-bottom:0}.account-table-row small{display:block;color:#9992a5;margin-top:3px}.account-table-row strong.positive{color:#16835b}.account-table-row strong.negative{color:#b42318}.payment-status{display:inline-flex;width:max-content;border-radius:999px;padding:5px 8px;background:#f2eff7;color:#6b6476;font-size:11px;text-transform:capitalize}.payment-status.paid{background:#eaf9f0;color:#147349}.generation-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.generation-history-card{border:1px solid #e9e5ef;border-radius:20px;overflow:hidden;background:#fff}.generation-history-card>a,.generation-placeholder{display:block;aspect-ratio:1/1;background:#f6f3fb}.generation-history-card img{width:100%;height:100%;object-fit:cover}.generation-placeholder{display:grid;place-items:center;color:#90899c}.generation-card-body{padding:16px}.generation-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.generation-card-body p{color:#6f687a;font-size:13px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.generation-status{font-size:10px;border-radius:999px;padding:5px 7px;background:#f1eef5}.generation-status.succeeded{background:#e8f8ef;color:#157047}.generation-status.failed{background:#fff0f0;color:#b42318}.generation-meta{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.generation-meta span,.account-provider-row span{font-size:10px;border-radius:999px;background:#f4f1f8;padding:5px 7px;color:#6d6678}.account-text-link{color:#7c3aed;text-decoration:none;font-size:12px;font-weight:750}.account-profile-card{border:1px solid #e8e4ef;border-radius:22px;padding:24px;display:flex;align-items:center;gap:18px}.account-profile-card>div{flex:1}.account-profile-card h2{margin:0}.account-profile-card p{color:#858092}.account-provider-row{display:flex;gap:7px}.account-page-empty,.account-loading{text-align:center;border:1px dashed #ded8e8;border-radius:18px;padding:36px;color:#918a9e}.account-toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,12px);opacity:0;background:#211d2e;color:#fff;padding:11px 15px;border-radius:12px;z-index:5000;transition:.18s}.account-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.account-balance-pill{display:none}.account-package-grid{grid-template-columns:repeat(2,1fr)}.generation-history-grid{grid-template-columns:repeat(2,1fr)}.account-page-head{align-items:flex-start}.account-table-row{grid-template-columns:1fr auto}.account-table-row>span:last-child{display:none}}
@media(max-width:620px){.account-signin-btn{height:34px;padding:0 11px;font-size:12px}.account-package-grid,.generation-history-grid{grid-template-columns:1fr}.account-modal-card{padding:24px 18px}.account-page-head{display:block}.balance-card{margin-top:16px}.account-profile-card{align-items:flex-start;flex-wrap:wrap}.account-table-row{padding:12px}.account-page-head h1{font-size:34px}}

/* V27.1 Email continue button */
.account-email-form .btn {
  width: 100%;
  height: 52px;
  margin-top: 14px;
  border: 1px solid #171717 !important;
  border-radius: 14px !important;
  background: #171717 !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 15px;
  font-weight: 800;
}
.account-email-form .btn:hover {
  background: #242424 !important;
  border-color: #242424 !important;
  transform: none !important;
  box-shadow: none !important;
}
.account-email-form .btn:active {
  background: #0f0f0f !important;
  border-color: #0f0f0f !important;
}
.account-email-form .btn:focus,
.account-email-form .btn:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(23,23,23,.10) !important;
}

/* V27.2 - Login redesign */
.account-modal-v272 .account-modal-backdrop{background:rgba(24,20,34,.48);backdrop-filter:blur(6px)}
.account-modal-v272 .account-login-card{width:min(520px,calc(100vw - 32px));padding:34px 38px 30px;border:1px solid #e8e3ef;border-radius:28px;box-shadow:0 30px 90px rgba(30,22,48,.22)}
.account-login-brand{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:2px;font-size:19px;font-weight:900;color:#211d2e}.account-login-brand>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#7c3aed;color:#fff}.account-login-brand em{font-style:normal;color:#7c3aed}
.account-login-intro{text-align:center;margin:25px 0 24px}.account-login-intro h2{margin:0;color:#181522;font-size:30px;line-height:1.18;letter-spacing:-.025em}.account-login-intro p{margin:9px auto 0;max-width:390px;color:#8d879b;font-size:14px;line-height:1.6}
.account-modal-v272 .account-google-btn{height:54px;border:1px solid #ddd9e5;border-radius:14px;background:#fff;color:#211d2e;font-size:15px;font-weight:800;box-shadow:0 1px 0 rgba(36,29,49,.02)}.account-modal-v272 .account-google-btn:hover{background:#faf9fc;border-color:#d1cbdc}.account-google-icon{width:21px;height:21px;flex:none}
.account-modal-v272 .account-or{margin:21px 0;color:#9790a2;font-size:13px}.account-modal-v272 .account-or:before,.account-modal-v272 .account-or:after{background:#e7e3eb}
.account-modal-v272 .account-email-form label,.account-modal-v272 .account-otp-form label{color:#4d465b;font-size:13px;font-weight:800}.account-modal-v272 .account-email-form input,.account-modal-v272 .account-otp-form input{height:52px;margin-top:8px;border:1px solid #dcd7e5;border-radius:13px;background:#fff;padding:0 15px;color:#201c2b;font-size:15px;box-shadow:none}.account-modal-v272 .account-email-form input:focus,.account-modal-v272 .account-otp-form input:focus{border-color:#9c79f5;box-shadow:0 0 0 3px rgba(124,58,237,.10);outline:none}
.account-email-continue{width:100%;height:52px;margin-top:14px;border:1px solid #7c3aed;border-radius:14px;background:#7c3aed;color:#fff;font:inherit;font-size:15px;font-weight:850;cursor:pointer;transition:.16s}.account-email-continue:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9}.account-email-continue:disabled{cursor:not-allowed;background:#eee9f7;border-color:#eee9f7;color:#aaa3b7;box-shadow:none}
.account-login-hint{margin:9px 2px 0;color:#aaa3b3;font-size:11.5px;line-height:1.45}.account-otp-message{margin:0 0 18px;text-align:center}.account-otp-message b{display:block;color:#292433;font-size:17px}.account-otp-message p{margin:6px 0 0;color:#8d8798;font-size:13px}.account-modal-v272 .account-text-btn{display:block;margin:12px auto 0;color:#7c3aed;font-weight:700}
.account-login-legal{margin-top:24px;padding-top:20px;border-top:1px solid #ece8f0;text-align:center;color:#9a94a4;font-size:11.5px;line-height:1.7}.account-login-legal a{color:#665e73;font-weight:700;text-decoration:none}.account-login-legal a:hover{color:#7c3aed}.account-new-user{margin-top:14px;text-align:center;color:#7d7689;font-size:13px;font-weight:650}.account-modal-v272 .account-modal-close{width:38px;height:38px;top:16px;right:16px;border-radius:12px;background:#f3f0f7;color:#302a3c}
@media(max-width:620px){.account-modal-v272 .account-login-card{padding:28px 20px 24px;border-radius:24px}.account-login-intro h2{font-size:26px}}

/* V27.2 legal pages */
.legal-page{padding-top:54px;padding-bottom:80px}.legal-document{width:min(760px,100%);margin:0 auto;color:#393244;font-size:15px;line-height:1.85}.legal-kicker{color:#7c3aed;font-size:12px;font-weight:900;letter-spacing:.14em}.legal-document h1{margin:8px 0;color:#1f1a29;font-size:clamp(34px,5vw,52px);line-height:1.08;letter-spacing:-.035em}.legal-updated{color:#9690a0;margin-bottom:34px}.legal-document h2{color:#26202f;font-size:20px;margin:34px 0 8px}.legal-document p{margin:0 0 14px}

/* V27.4 Waffo legal pages */
.legal-document{width:min(820px,100%)}
.legal-section{margin:34px 0}.legal-section h2{margin:0 0 10px}.legal-section p{margin:0 0 12px}
.legal-list{margin:10px 0 14px;padding-left:22px;color:#4b4455}.legal-list li{margin:7px 0;line-height:1.75}
.legal-callout{margin:22px 0 34px;padding:16px 18px;border:1px solid #e4dcf7;border-radius:14px;background:#faf8ff;color:#5c526d;font-size:14px;line-height:1.65}
.legal-document a{color:#6d36da;text-decoration:none}.legal-document a:hover{text-decoration:underline}
.legal-table-wrap{overflow-x:auto;margin:14px 0 18px;border:1px solid #e8e3ed;border-radius:14px}.legal-table{width:100%;border-collapse:collapse;font-size:13.5px}.legal-table th,.legal-table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #eeeaf2}.legal-table th{background:#faf9fc;color:#51485d;font-weight:800}.legal-table tr:last-child td{border-bottom:0}
@media(max-width:620px){.legal-page{padding-top:34px}.legal-section{margin:28px 0}.legal-table{min-width:560px}}


/* V27.9 visible Buy Credits entry points */
.account-buy-credits-btn{
  height:38px;display:inline-flex;align-items:center;justify-content:center;gap:5px;
  padding:0 13px;border:1px solid #7c3aed;border-radius:12px;
  background:#7c3aed;color:#fff;font:inherit;font-size:13px;font-weight:800;
  cursor:pointer;white-space:nowrap;box-shadow:0 5px 14px rgba(124,58,237,.14)
}
.account-buy-credits-btn:hover{background:#6d28d9;border-color:#6d28d9}
.account-buy-credits-btn span{font-size:16px;line-height:1}
.account-menu-buy{
  display:grid!important;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;
  background:#f7f3ff!important;color:#5b21b6!important;margin:4px 0 5px
}
.account-menu-buy>span{
  width:22px;height:22px;border-radius:7px;display:grid;place-items:center;
  background:#7c3aed;color:#fff;font-weight:900
}
.account-menu-buy b{color:#5b21b6!important}
.account-menu-buy small{color:#8d83a1!important;font-size:11px}
.studio-credit-line{align-items:center;gap:10px}
.studio-buy-credits-btn{
  appearance:none;border:0;background:transparent;color:#7c3aed;padding:2px 0;
  font:inherit;font-size:12.5px;font-weight:800;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px
}
.studio-buy-credits-btn:hover{color:#5b21b6}
.account-recharge-sub{margin:-8px 0 22px;color:#8d849b;font-size:13px;line-height:1.6}
@media(max-width:860px){.account-buy-credits-btn{padding:0 10px;font-size:12px}}
@media(max-width:700px){.account-buy-credits-btn{display:none}}


/* V28.1 — Credits dropdown card layout fix */
.account-menu-buy{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  column-gap:0 !important;
  row-gap:0 !important;
  white-space:normal !important;
  text-align:left !important;
  overflow:hidden !important;
}
.account-menu-buy-top{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  min-width:0 !important;
  gap:16px !important;
}
.account-menu-buy-kicker{
  display:block !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  white-space:nowrap !important;
  writing-mode:horizontal-tb !important;
  word-break:keep-all !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.account-menu-buy-top b{
  display:block !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
  writing-mode:horizontal-tb !important;
}
.account-menu-buy small{
  display:block !important;
  width:100% !important;
  margin-top:8px !important;
  white-space:normal !important;
  writing-mode:horizontal-tb !important;
  word-break:normal !important;
}
.account-menu-buy-cta{
  width:100% !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
  writing-mode:horizontal-tb !important;
  text-align:center !important;
}
.account-menu{
  min-width:300px !important;
}
@media(max-width:480px){
  .account-menu{
    min-width:min(300px, calc(100vw - 24px)) !important;
  }
}


/* V28.2 — Simplified credits entry */

/* Top nav: subtle secondary action, no purple pill */
.account-nav-slot{
  gap:8px;
}
.account-buy-credits-btn{
  height:38px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 14px !important;
  gap:0 !important;
  border:1px solid #e6e1ec !important;
  border-radius:12px !important;
  background:#ffffff !important;
  color:#4f495c !important;
  box-shadow:none !important;
  font-size:13px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}
.account-buy-credits-btn:hover{
  background:#f8f6fb !important;
  border-color:#d9d2e5 !important;
  color:#25212d !important;
}
.account-buy-credits-btn span{
  display:none !important;
}

/* Dropdown: one simple purchase area */
.account-menu-buy-wrap{
  width:100%;
  box-sizing:border-box;
  padding:12px;
  margin:8px 0 10px;
  border-radius:16px;
  background:#f7f5f9;
}
.account-menu-buy-simple{
  width:100%;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border:1px solid #181818;
  border-radius:12px;
  background:#181818;
  color:#ffffff;
  font:inherit;
  font-size:14px;
  font-weight:800;
  line-height:1;
  text-align:center;
  cursor:pointer;
  box-shadow:none;
}
.account-menu-buy-simple:hover{
  background:#0f0f0f;
  border-color:#0f0f0f;
}

/* Neutralize the old V28/V28.1 complex card if any stale markup remains */
.account-menu-buy{
  display:none !important;
}
.account-menu-buy-top,
.account-menu-buy-kicker,
.account-menu-buy-cta{
  display:none !important;
}

@media(max-width:700px){
  .account-buy-credits-btn{
    height:36px !important;
    padding:0 11px !important;
    font-size:12px !important;
  }
}


/* V28.3 centered package CTA and per-plan benefits */
.account-package{
  display:flex;
  flex-direction:column;
}
.account-package-buy-btn,
.account-package [data-buy-package]{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:14px !important;
  padding-right:14px !important;
}
.account-package-buy-btn::before,
.account-package-buy-btn::after{
  content:none !important;
}
.account-package-buy-btn.is-checkout-loading,
.billing-package>.btn.is-checkout-loading{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:wait !important;
  opacity:.82;
}
.checkout-btn-spinner{
  width:15px;
  height:15px;
  flex:0 0 15px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:checkout-btn-spin .7s linear infinite;
}
@keyframes checkout-btn-spin{to{transform:rotate(360deg)}}
.package-benefits{
  list-style:none;
  margin:18px 0 0;
  padding:18px 0 0;
  border-top:1px solid #eeeaf4;
  display:grid;
  gap:11px;
}
.package-benefits li{
  position:relative;
  margin:0;
  padding-left:25px;
  color:#5e586a;
  font-size:13px;
  line-height:1.55;
  text-align:left;
}
.package-benefits li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#10a36f;
  font-size:16px;
  font-weight:900;
  line-height:1.35;
}
.account-package.featured .package-benefits{
  border-top-color:#e3d8ff;
}
.account-package-grid{
  align-items:stretch;
}
.account-package-grid .account-package{
  height:100%;
}
@media(max-width:900px){
  .package-benefits li{
    font-size:12.5px;
  }
}


/* V28.4 wider credits modal */
.account-modal.account-credits-modal .account-modal-card,
.account-credits-modal .account-modal-card,
.credits-modal .account-modal-card,
[data-credits-modal] .account-modal-card,
.account-modal--credits .account-modal-card,
.account-credits-dialog {
  width: min(1440px, calc(100vw - 48px)) !important;
  max-width: min(1440px, calc(100vw - 48px)) !important;
}

.account-modal.account-credits-modal .account-modal-body,
.account-credits-modal .account-modal-body,
.credits-modal .account-modal-body,
[data-credits-modal] .account-modal-body,
.account-modal--credits .account-modal-body,
.account-credits-dialog .account-modal-body {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

@media (max-width: 1100px) {
  .account-modal.account-credits-modal .account-modal-card,
  .account-credits-modal .account-modal-card,
  .credits-modal .account-modal-card,
  [data-credits-modal] .account-modal-card,
  .account-modal--credits .account-modal-card,
  .account-credits-dialog {
    width: min(96vw, 960px) !important;
    max-width: min(96vw, 960px) !important;
  }

  .account-modal.account-credits-modal .account-modal-body,
  .account-credits-modal .account-modal-body,
  .credits-modal .account-modal-body,
  [data-credits-modal] .account-modal-body,
  .account-modal--credits .account-modal-body,
  .account-credits-dialog .account-modal-body {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

@media (max-width: 720px) {
  .account-modal.account-credits-modal .account-modal-card,
  .account-credits-modal .account-modal-card,
  .credits-modal .account-modal-card,
  [data-credits-modal] .account-modal-card,
  .account-modal--credits .account-modal-card,
  .account-credits-dialog {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
  }

  .account-modal.account-credits-modal .account-modal-body,
  .account-credits-modal .account-modal-body,
  .credits-modal .account-modal-body,
  [data-credits-modal] .account-modal-body,
  .account-modal--credits .account-modal-body,
  .account-credits-dialog .account-modal-body {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}


/* V28.6 horizontal credits modal layout */
.account-modal.account-credits-modal .account-modal-card,
.account-credits-modal .account-modal-card,
.credits-modal .account-modal-card,
[data-credits-modal] .account-modal-card,
.account-modal--credits .account-modal-card,
.account-credits-dialog {
  width: min(1720px, calc(100vw - 28px)) !important;
  max-width: min(1720px, calc(100vw - 28px)) !important;
  height: auto !important;
  max-height: min(92vh, 980px) !important;
}

.account-modal.account-credits-modal .account-modal-body,
.account-credits-modal .account-modal-body,
.credits-modal .account-modal-body,
[data-credits-modal] .account-modal-body,
.account-modal--credits .account-modal-body,
.account-credits-dialog .account-modal-body {
  padding-left: 32px !important;
  padding-right: 32px !important;
}

.account-package-grid,
.account-modal .account-package-grid,
.account-credits-modal .account-package-grid,
.account-credits-dialog .account-package-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(300px, 1fr)) !important;
  gap: 18px !important;
  align-items: start !important;
}

.account-package,
.account-package-grid .account-package {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
}

.package-benefits {
  gap: 10px !important;
}

.package-benefits li {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

@media (max-width: 1460px) {
  .account-modal.account-credits-modal .account-modal-card,
  .account-credits-modal .account-modal-card,
  .credits-modal .account-modal-card,
  [data-credits-modal] .account-modal-card,
  .account-modal--credits .account-modal-card,
  .account-credits-dialog {
    width: min(1480px, calc(100vw - 24px)) !important;
    max-width: min(1480px, calc(100vw - 24px)) !important;
  }

  .account-package-grid,
  .account-modal .account-package-grid,
  .account-credits-modal .account-package-grid,
  .account-credits-dialog .account-package-grid {
    grid-template-columns: repeat(4, minmax(260px, 1fr)) !important;
    gap: 16px !important;
  }
}

@media (max-width: 1180px) {
  .account-modal.account-credits-modal .account-modal-card,
  .account-credits-modal .account-modal-card,
  .credits-modal .account-modal-card,
  [data-credits-modal] .account-modal-card,
  .account-modal--credits .account-modal-card,
  .account-credits-dialog {
    width: min(96vw, 1040px) !important;
    max-width: min(96vw, 1040px) !important;
  }

  .account-package-grid,
  .account-modal .account-package-grid,
  .account-credits-modal .account-package-grid,
  .account-credits-dialog .account-package-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .account-modal.account-credits-modal .account-modal-card,
  .account-credits-modal .account-modal-card,
  .credits-modal .account-modal-card,
  [data-credits-modal] .account-modal-card,
  .account-modal--credits .account-modal-card,
  .account-credits-dialog {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }

  .account-modal.account-credits-modal .account-modal-body,
  .account-credits-modal .account-modal-body,
  .credits-modal .account-modal-body,
  [data-credits-modal] .account-modal-body,
  .account-modal--credits .account-modal-body,
  .account-credits-dialog .account-modal-body {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .account-package-grid,
  .account-modal .account-package-grid,
  .account-credits-modal .account-package-grid,
  .account-credits-dialog .account-package-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}


/* V28.7 credits modal overflow fix */
.account-recharge-card{
  width:min(1180px, calc(100vw - 48px)) !important;
  max-width:min(1180px, calc(100vw - 48px)) !important;
  min-width:0 !important;
  height:auto !important;
  max-height:92vh !important;
  box-sizing:border-box !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
}

.account-recharge-card .account-package-grid{
  width:100% !important;
  max-width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

.account-recharge-card .account-package{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  box-sizing:border-box !important;
}

.account-recharge-card .package-benefits li{
  font-size:12.5px !important;
  line-height:1.45 !important;
}

@media(max-width:1180px){
  .account-recharge-card{
    width:min(980px, calc(100vw - 32px)) !important;
    max-width:min(980px, calc(100vw - 32px)) !important;
  }
  .account-recharge-card .account-package-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:720px){
  .account-recharge-card{
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px) !important;
  }
  .account-recharge-card .account-package-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
}

/* V29 compact generation history */
.generation-history-grid{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr)) !important;
  gap:12px;
}

.generation-history-card{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  padding:0;
  border:0;
  border-radius:12px;
  overflow:hidden;
  background:#f4f1f8;
  cursor:pointer;
  box-shadow:0 0 0 1px rgba(71,55,100,.08);
  transition:transform .18s ease,box-shadow .18s ease;
}

.generation-history-card:hover{
  transform:translateY(-2px);
  box-shadow:0 9px 24px rgba(42,31,69,.13);
}

.generation-history-card:focus-visible{
  outline:3px solid rgba(124,58,237,.3);
  outline-offset:2px;
}

.generation-history-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.generation-detail-card{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(300px,.85fr);
  width:min(1040px,calc(100vw - 40px));
  height:min(780px,90vh);
  max-height:90vh;
  overflow:hidden;
  border:1px solid #ebe6f4;
  border-radius:24px;
  background:#fff;
  box-shadow:0 28px 80px rgba(34,25,54,.25);
}

.generation-detail-card>.generation-detail-toast{
  position:absolute;
  left:50%;
  top:18px;
  bottom:auto;
  z-index:10;
  transform:translateX(-50%) translateY(-64px);
}

.generation-detail-card>.generation-detail-toast.show{
  transform:translateX(-50%) translateY(0);
}

.generation-detail-image{
  min-height:520px;
  display:grid;
  place-items:center;
  padding:24px;
  background:#f5f2fa;
}

.generation-detail-image img{
  width:100%;
  height:100%;
  max-height:calc(90vh - 48px);
  object-fit:contain;
}

.generation-detail-info{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:62px 30px 26px;
}

.generation-detail-info dl{
  flex:1;
  min-height:0;
  overflow-y:auto;
  margin:0;
  padding-right:6px;
}

.generation-detail-info dl>div{
  padding:14px 0;
  border-top:1px solid #eeeaf3;
}

.generation-detail-info dl>div:first-child{
  padding-top:0;
  border-top:0;
}

.generation-detail-modal .account-modal-close{
  display:grid;
  place-items:center;
  padding:0;
  font-size:0;
  line-height:0;
}

.generation-detail-modal .account-modal-close::before,
.generation-detail-modal .account-modal-close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:17px;
  height:2px;
  border-radius:2px;
  background:currentColor;
}

.generation-detail-modal .account-modal-close::before{
  transform:translate(-50%,-50%) rotate(45deg);
}

.generation-detail-modal .account-modal-close::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}

.generation-detail-info dt{
  margin-bottom:6px;
  color:#928b9f;
  font-size:12px;
  font-weight:750;
}

.generation-detail-info dd{
  margin:0;
  color:#302a3d;
  line-height:1.6;
  overflow-wrap:anywhere;
}

.generation-detail-prompt dd{
  white-space:pre-wrap;
  font-size:13px;
}

.generation-detail-prompt-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}

.generation-detail-prompt-head dt{
  margin:0;
}

.generation-detail-prompt-head button{
  flex:none;
  padding:6px 10px;
  border:1px solid #dfd8eb;
  border-radius:999px;
  background:#fff;
  color:#6d28d9;
  font:inherit;
  font-size:11px;
  font-weight:750;
  cursor:pointer;
}

.generation-detail-prompt-head button:hover{
  border-color:#a78bfa;
  background:#f8f5ff;
}

.generation-detail-actions{
  flex:none;
  padding-top:16px;
  background:#fff;
}

.generation-detail-remake{
  width:100%;
  min-height:48px;
}

@media(max-width:900px){
  .generation-history-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .generation-detail-card{height:auto;grid-template-columns:1fr;overflow:auto;}
  .generation-detail-image{min-height:0;height:min(56vh,560px);}
  .generation-detail-image img{max-height:100%;}
  .generation-detail-info{display:block;overflow:visible;}
  .generation-detail-info dl{overflow:visible;padding-right:0;}
}

@media(max-width:620px){
  .generation-history-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:8px;}
  .generation-detail-card{width:calc(100vw - 20px);max-height:94vh;border-radius:18px;}
  .generation-detail-image{height:50vh;padding:12px;}
  .generation-detail-info{padding:28px 18px 20px;}
}

@media(max-width:420px){
  .generation-history-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

/* V30 billing page */
.billing-page{
  width:min(1180px,100%);
  margin:0 auto;
  padding:18px 0 20px;
}

.account-page-root.billing-page-root{
  padding-bottom:0;
}

.account-page-shell.billing-page-shell{
  min-height:0;
}

.account-page-shell.billing-page-shell+.footer{
  margin-top:20px;
}

.billing-page-head{
  margin-bottom:26px;
}

.billing-page-head h1{
  margin:7px 0 8px;
  color:#211d2e;
  font-size:42px;
  letter-spacing:-.035em;
}

.billing-page-head p,
.billing-section-head p{
  margin:0;
  color:#888194;
  line-height:1.6;
}

.billing-balance-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:166px;
  padding:30px 34px;
  border:1px solid #e5dfeb;
  border-radius:24px;
  background:linear-gradient(120deg,#fff 0%,#f8f6fb 62%,#f0eafd 100%);
  color:#282231;
  box-shadow:0 14px 38px rgba(53,34,89,.08);
}

.billing-balance-card::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-80px;
  top:-160px;
  width:390px;
  height:390px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(155,111,238,.18),rgba(124,58,237,0) 66%);
}

.billing-balance-main>span{
  display:block;
  margin-bottom:9px;
  color:#81798d;
  font-size:13px;
  font-weight:700;
}

.billing-balance-main>div{
  display:flex;
  align-items:baseline;
  gap:10px;
}

.billing-balance-main strong{
  color:#211d2e;
  font-size:52px;
  line-height:1;
  letter-spacing:-.045em;
}

.billing-balance-main small{
  color:#81798d;
  font-size:14px;
  font-weight:700;
}

.billing-create-link{
  min-width:128px;
  background:#2b2533 !important;
  color:#fff !important;
  border-color:#2b2533 !important;
  box-shadow:0 8px 22px rgba(38,30,48,.16) !important;
  text-decoration:none;
}

.billing-purchase-section,
.billing-activity-section{
  margin-top:28px;
  padding:28px;
  border:1px solid #e9e4f0;
  border-radius:24px;
  background:#fff;
}

.billing-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:21px;
}

.billing-section-head h2{
  margin:0 0 5px;
  color:#292335;
  font-size:22px;
  letter-spacing:-.02em;
}

.billing-package-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
}

.billing-package{
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:20px;
  border:1px solid #e8e3ed;
  border-radius:18px;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.billing-package:hover{
  transform:translateY(-2px);
  border-color:#cdbcf7;
  box-shadow:0 12px 30px rgba(57,41,87,.1);
}

.billing-package.featured{
  border-color:#9f7aea;
  background:linear-gradient(180deg,#faf8ff,#fff 58%);
  box-shadow:0 0 0 1px rgba(124,58,237,.08);
}

.billing-package-badge{
  position:absolute;
  right:14px;
  top:-10px;
  padding:5px 9px;
  border-radius:999px;
  background:#7c3aed;
  color:#fff;
  font-size:10px;
  font-weight:800;
}

.billing-package-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.billing-package-head h3{
  margin:0;
  color:#2d2738;
  font-size:16px;
}

.billing-package-head>span{
  color:#9a93a4;
  font-size:10px;
}

.billing-package-credits{
  display:flex;
  align-items:baseline;
  gap:6px;
  margin-top:22px;
}

.billing-package-credits strong{
  color:#211d2e;
  font-size:31px;
  line-height:1;
  letter-spacing:-.035em;
}

.billing-package-credits small{
  color:#8d8698;
  font-size:11px;
}

.billing-package-price{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:17px;
  padding-top:15px;
  border-top:1px solid #efebf3;
}

.billing-package-price strong{
  color:#302a3d;
  font-size:22px;
}

.billing-package-price span{
  color:#8f8899;
  font-size:10px;
}

.billing-package-bonus{
  min-height:32px;
  margin:12px 0 16px;
  color:#9992a2;
  font-size:11px;
  font-weight:700;
}

.billing-package-bonus.has-bonus{
  color:#6d28d9;
}

.billing-package>.btn{
  width:100%;
  min-height:42px;
  margin-top:auto;
}

.billing-trust-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #efebf3;
}

.billing-trust-row span{
  color:#716a7d;
  font-size:12px;
  line-height:1.5;
}

.billing-trust-row span::first-letter{
  color:#16a36f;
}

.billing-tabs{
  display:inline-flex;
  gap:4px;
  margin-bottom:18px;
  padding:4px;
  border-radius:12px;
  background:#f4f1f7;
}

.billing-tabs button{
  min-width:104px;
  padding:9px 14px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#7b7486;
  font:inherit;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}

.billing-tabs button.active{
  background:#fff;
  color:#342944;
  box-shadow:0 2px 8px rgba(44,33,63,.08);
}

.billing-tab-panel[hidden]{display:none!important;}

.billing-list{
  overflow:hidden;
  border:1px solid #ebe7f0;
  border-radius:16px;
}

.billing-list-head,
.billing-list-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px 130px;
  gap:16px;
  align-items:center;
}

.billing-list-head{
  padding:10px 16px;
  background:#faf9fc;
  color:#9992a3;
  font-size:10px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.billing-list-row{
  min-height:65px;
  padding:12px 16px;
  border-top:1px solid #f0edf4;
  color:#5f586b;
  font-size:13px;
}

.billing-list-row>div b,
.billing-list-row>div small{
  display:block;
}

.billing-list-row>div b{
  color:#393242;
  font-size:13px;
}

.billing-list-row>div small{
  margin-top:3px;
  color:#9992a3;
  font-size:10px;
}

.billing-list-row .positive{color:#16835b;}
.billing-list-row .negative{color:#b42318;}

.billing-empty{
  padding:40px;
  border:1px dashed #dfdae7;
  border-radius:16px;
  color:#938c9e;
  text-align:center;
}

@media(max-width:980px){
  .billing-package-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:680px){
  .billing-page{padding-top:4px;}
  .billing-page-head h1{font-size:34px;}
  .billing-balance-card{min-height:150px;padding:25px 22px;}
  .billing-balance-main strong{font-size:44px;}
  .billing-create-link{min-width:100px;padding-left:14px;padding-right:14px;}
  .billing-purchase-section,.billing-activity-section{padding:20px 16px;border-radius:20px;}
  .billing-package-grid{grid-template-columns:1fr;}
  .billing-trust-row{grid-template-columns:1fr;gap:8px;}
  .billing-list-head,.billing-list-row{grid-template-columns:minmax(0,1fr) 88px 74px;gap:8px;}
  .billing-list-head,.billing-list-row{padding-left:12px;padding-right:12px;}
}

/* Package recommendation badges */
.package-badge,
.billing-package-badge{
  background:#f97316;
  color:#fff;
}
