/* Workspace refinement: neutral glass, readable type and purposeful spacing. */
:root{--muted:#acacb3;--faint:#85858e;--line:rgba(255,255,255,.11)}
body{background:#090a0b}button,input,select,textarea{touch-action:manipulation}
.glass{background:linear-gradient(135deg,#ffffff08,#ffffff02);box-shadow:inset 0 1px 0 #ffffff08,0 8px 35px #00000012}
.sidebar{width:230px;background:linear-gradient(155deg,#101112f5,#0a0b0cf5);backdrop-filter:blur(28px)}
.app-shell{min-height:100vh;min-height:100dvh;display:flex}
.app-main{margin-left:230px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;flex:1 1 auto;width:calc(100% - 230px)}
.app-content{flex:1 0 auto;width:100%;max-width:1440px;margin:0 auto;padding:36px 36px 28px;display:flex;flex-direction:column}
.app-topbar{padding:0 36px;background:#0b0c0dc9;backdrop-filter:blur(20px);flex-shrink:0}
.app-footer{display:block;margin-top:auto;width:100%;border-top:1px solid var(--line);background:#090a0b;font-size:14px;color:var(--muted);line-height:1.65}
.app-content[data-page=playground] ~ .app-footer,
.app-content[data-page=images] ~ .app-footer,
.app-content[data-page=videos] ~ .app-footer,
.app-content[data-page=audio] ~ .app-footer,
.app-content[data-page=speech] ~ .app-footer{display:none!important}
@media(min-width:901px) and (min-height:550px){
  .app-content[data-page=status] ~ .app-footer,
  .app-content[data-page=account] ~ .app-footer{
    display:none!important;
  }
}
/* Keys, Connect & Help pages: full page natural scrolling and visible footer */
.app-shell[data-page=keys],
.app-shell[data-page=keys] .app-main,
.app-shell[data-page=connect],
.app-shell[data-page=connect] .app-main,
.app-shell[data-page=help],
.app-shell[data-page=help] .app-main {
  height: auto !important;
  max-height: none !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  overflow: visible !important;
}
.app-content[data-page=keys],
.app-content[data-page=connect],
.app-content[data-page=help] {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  flex: 1 0 auto !important;
}
.app-content[data-page=keys] ~ .app-footer,
.app-content[data-page=connect] ~ .app-footer,
.app-content[data-page=help] ~ .app-footer {
  display: block !important;
}
.app-footer-inner{max-width:1440px;margin:0 auto;padding:36px 36px 32px;display:grid;grid-template-columns:1.8fr repeat(4,minmax(0,1fr));gap:32px 28px;font-size:15px;color:var(--muted)}
.footer-col{display:flex;flex-direction:column;gap:10px}
.footer-col-brand .logo{color:var(--text);display:inline-flex;align-items:center;gap:10px;font-weight:600;text-decoration:none;font-size:16px}
.footer-col-brand .logo:hover{color:#fff}
.footer-col-brand .footer-desc{font-size:15px;line-height:1.65;color:#a0a4b4;margin:8px 0 10px;max-width:340px}
.footer-col-brand .footer-copy{font-size:15px;color:#8e929f}
.footer-col-title{font-size:15px;font-weight:600;color:#e1e4ea;text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px}
.footer-col-links{display:flex;flex-direction:column;gap:10px}
.footer-col-links a{color:#a0a4b4;text-decoration:none;font-size:15px;transition:color .15s}
.footer-col-links a:hover{color:var(--accent,#9aefd2)}
@media(max-width:960px){.app-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.footer-col-brand{grid-column:1/-1}}
@media(max-width:560px){.app-footer-inner{grid-template-columns:minmax(0,1fr)}}
.footer-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;padding-top:4px}
.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px 26px;flex:1 1 auto;font-size:14px;color:var(--muted)}
.footer-links a{color:var(--muted);text-decoration:none;transition:color .18s;display:inline-flex;align-items:center;min-height:32px;font-size:14px}
.footer-links a:hover{color:#f4f4f5}
.footer-links span{color:var(--muted);font-size:14px}
.product-landing{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.product-landing>.container{display:flex;flex-direction:column;flex:1 0 auto}
.product-landing main{flex:1 0 auto}
.product-landing .app-footer{margin-top:auto;width:100%;border-top:1px solid var(--line);background:#090a0b}
.product-landing .app-footer-inner{max-width:1320px;padding:48px 24px 36px}
.product-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-start;gap:20px 36px;padding:28px 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.side-nav a{font-size:12px;min-height:45px}.side-nav a.active{background:linear-gradient(100deg,#ffffff0d,#ffffff04);box-shadow:none;border-color:transparent}
.workspace-label{color:#85858e}.side-promo p{font-size:11px}.sidebar-status{font-size:10px;display:flex;align-items:center;gap:8px}.sidebar-status .icon{width:13px;margin-left:auto}
.page-header h1{font-size:31px;letter-spacing:-1.1px;font-weight:550}.page-header p{font-size:12px;color:#a0a0aa;margin-top:6px}.page-header{margin-bottom:28px}
.field label{font-size:11px;color:#aaaab3}.field input,.field select,.field textarea{font-size:12px;min-height:43px}.field small{font-size:10px;color:#96969f}select option,select optgroup{background:#17181b;color:#eee}
.btn{min-height:42px}.btn.small{min-height:36px}.icon-btn{min-width:34px}.notice{color:#c4c4d4;font-size:15px}.notice strong{color:#f4f4f6}
.panel-head h2{font-size:14px}.panel-head p{font-size:11px}.metric-top{font-size:11px}.metric-foot{font-size:10px;color:#9696a0}.metric-value{font-variant-numeric:tabular-nums}.chart-bar label{font-size:10px;color:#9696a0}.chart-empty{font-size:12px;color:#9494a0}
.topbar-balance,.currency-toggle,.lang-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:6px 10px;height:32px;min-height:32px;border:1px solid var(--line);border-radius:7px;font-family:var(--mono);font-size:11px;background:rgba(255,255,255,0.03);color:#d0d0d8;box-sizing:border-box;line-height:1;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.topbar-balance{text-decoration:none}.topbar-balance .icon{width:15px;height:15px}.topbar-balance:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.2);color:#fff}.user-email{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.currency-menu,.lang-menu{position:relative;display:inline-flex;align-items:center}
.currency-toggle,.lang-toggle{cursor:pointer}
.currency-toggle:hover,.lang-toggle:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.2);color:#fff}
.currency-menu.is-open .currency-toggle,.lang-menu.is-open .lang-toggle{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.28);color:#fff}
.currency-toggle .currency-flag,.lang-toggle .lang-flag{display:inline-flex;align-items:center;font-size:13px;line-height:1}
.currency-toggle .currency-code,.lang-toggle .lang-code{font-weight:400;letter-spacing:normal}
.currency-arrow,.lang-arrow{width:9px;height:9px;color:var(--muted,#96969e);transition:transform .2s cubic-bezier(0.16,1,0.3,1),color .15s;flex-shrink:0}
.currency-menu.is-open .currency-arrow,.lang-menu.is-open .lang-arrow{transform:rotate(180deg);color:#fff}
.lang-dropdown{display:none;position:absolute;top:calc(100% + 6px);right:0;min-width:160px;background:#0e1013;border:1px solid var(--line);border-radius:18px !important;padding:6px;flex-direction:column;gap:3px;box-shadow:0 14px 34px rgba(0,0,0,0.65),0 2px 8px rgba(0,0,0,0.4);z-index:120}
.currency-dropdown{display:none;position:absolute;top:calc(100% + 6px);left:0;right:auto;width:max-content;min-width:118px;box-sizing:border-box;background:#0e1013;border:1px solid var(--line);border-radius:18px !important;padding:6px;flex-direction:column;gap:3px;box-shadow:0 14px 34px rgba(0,0,0,0.65),0 2px 8px rgba(0,0,0,0.4);z-index:120}
.currency-menu.is-open .currency-dropdown,.lang-menu.is-open .lang-dropdown{display:flex}
.currency-option{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:8px 14px;background:transparent;border:1px solid transparent;border-radius:10px;color:#c6c6cf;font-family:var(--mono);font-size:14px;cursor:pointer;text-align:left;line-height:1.2;transition:background .12s,color .12s;box-sizing:border-box;white-space:nowrap}
.lang-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;background:transparent;border:1px solid transparent;border-radius:10px;color:#c6c6cf;font-family:var(--mono);font-size:14px;cursor:pointer;text-align:left;line-height:1.2;transition:background .12s,color .12s;box-sizing:border-box}
.currency-option:hover,.lang-option:hover{background:rgba(255,255,255,0.06);color:#fff}
.currency-option:focus-visible,.lang-option:focus-visible{outline:2px solid #fff;outline-offset:1px}
.currency-option.active,.lang-option.active{background:rgba(255,255,255,0.09);color:#fff;border-color:rgba(255,255,255,0.1)}
.currency-option-left,.lang-option-left{display:inline-flex;align-items:center;gap:9px}
.currency-option .currency-flag,.lang-option .lang-flag{font-size:14px;line-height:1;display:inline-flex;align-items:center}
.currency-option .currency-flag-svg,.lang-option .lang-flag-svg{width:19px;height:13.5px}
.currency-option-code,.lang-option-code{font-size:14px;font-weight:500;letter-spacing:normal}
.currency-option-symbol,.lang-option-name{font-size:13px;color:var(--muted,#96969e);margin-left:3px}
.currency-option.active .currency-option-symbol,.lang-option.active .lang-option-name{color:#c4c4cc}
.currency-option-check,.lang-option-check{width:14px;height:14px;color:#fff;opacity:0;flex-shrink:0;margin-left:10px;transition:opacity .12s}
.currency-option.active .currency-option-check,.lang-option.active .lang-option-check{opacity:1}
.catalog-hero{display:grid;grid-template-columns:1.1fr 1fr 150px;align-items:center;gap:20px;padding:32px 34px;margin-bottom:26px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 57% 25%,#ffffff09,transparent 60%),linear-gradient(130deg,#ffffff04,#ffffff01)}
.catalog-hero h2{font-size:31px;line-height:1.24;font-weight:500;letter-spacing:-1.3px;margin:12px 0}.catalog-hero h2 span{color:#96969e}.catalog-hero p{font-size:12px;color:#a4a4af;line-height:1.8}
.catalog-numbers{display:grid;gap:16px;border-left:1px solid var(--line);padding-left:26px}.catalog-numbers strong{display:block;font-family:var(--mono);font-size:26px;font-weight:400;line-height:1.2;letter-spacing:-1px}.catalog-numbers span{font-size:10px;color:#a0a0ab}
.catalog-orbit{width:250px;height:220px;justify-self:center;position:relative;display:grid;place-items:center}.catalog-orbit:before,.catalog-orbit:after{content:'';position:absolute;inset:10px 0;border:1px solid #ffffff10;border-radius:50%;transform:rotate(-25deg)}.catalog-orbit:after{inset:36px 35px;transform:rotate(25deg);border-style:dashed}.catalog-orbit .logo-mark{transform:scale(2.4);filter:drop-shadow(0 0 20px #fff2)}
.orbit-tag{position:absolute;padding:7px 14px;border:1px solid #ffffff19;background:linear-gradient(135deg,#292a2ed9,#121316e8);border-radius:8px;box-shadow:0 8px 20px #0007;font-size:11px;z-index:1}.orbit-tag:nth-of-type(2){left:0;top:30px;transform:rotate(-9deg)}.orbit-tag:nth-of-type(3){right:0;top:55px;transform:rotate(8deg)}.orbit-tag:nth-of-type(4){left:4px;bottom:30px;transform:rotate(-6deg)}.orbit-tag:nth-of-type(5){right:0;bottom:24px;transform:rotate(5deg)}
.vendor-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:23px}.filter-chip{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;min-height:38px;border-radius:8px;font-size:11px;border:1px solid transparent;background:transparent;color:#a6a6af;white-space:nowrap;cursor:pointer}.filter-chip:hover{background:#ffffff08;color:#eee}.filter-chip.active{background:#ececef;color:#131416;border-color:#fff}.filter-chip .icon{width:15px;height:15px}.filter-chip span{font-size:9px;opacity:.65}.favorite-filter{margin-left:auto;border-color:var(--line)}
.catalog-category-bar{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;padding:4px 0 16px!important;margin-bottom:16px!important;overflow:visible!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
.catalog-category-bar::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.no-scrollbar,[data-no-scrollbar]{scrollbar-width:none!important}
.no-scrollbar::-webkit-scrollbar,[data-no-scrollbar]::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.category-tab{display:inline-flex;align-items:center;gap:8px;padding:0 14px;min-height:38px;height:38px;border-radius:999px;border:none;background:transparent;color:#9d9da8;font-size:15px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .18s ease;flex-shrink:0;box-sizing:border-box}
.category-tab .icon{width:16px;height:16px;color:#858591;transition:color .18s;flex-shrink:0}
.category-tab:hover{color:#f0f0f3;background:rgba(255,255,255,0.06);border:none}
.category-tab:hover .icon{color:#e0e0e8}
.category-tab.active{color:#0d0e12;background:#ffffff;border:none;box-shadow:0 2px 10px rgba(0,0,0,0.2)}
.category-tab.active .icon{color:#0d0e12}
.category-tab-label{line-height:1;font-size:15px;font-weight:500}
.category-tab-count{font-family:inherit;font-size:11.5px;font-weight:600;padding:1px 7px;border-radius:999px;background:rgba(255,255,255,0.06);color:#888894;margin-left:1px;transition:all .18s;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}
.category-tab.active .category-tab-count{background:rgba(255,255,255,0.22);color:#ffffff;font-weight:600}
.catalog-controls{padding-top:18px;border-top:1px solid var(--line)}.catalog-filters{grid-template-columns:2fr 1fr 1.15fr;gap:12px}.search-field{position:relative;display:flex;align-items:center}.search-field .icon{position:absolute;left:12px;width:16px;color:#9d9da8}.search-field input{padding-left:37px;padding-right:31px}.search-field kbd{position:absolute;right:10px;color:#898993;border:1px solid #ffffff20;padding:0 4px;line-height:19px;border-radius:3px;font-size:10px;pointer-events:none}
.catalog-result-head{font-size:11px;color:#a5a5af;margin:6px 0 20px}.catalog-result-head span:last-child{font-family:var(--mono);font-size:10px}.model-cards{gap:16px}.catalog-card{padding:20px 21px;border-radius:14px;transition:transform .2s,border-color .2s,background .2s}.catalog-card:hover{transform:translateY(-3px);border-color:#ffffff30;background:linear-gradient(135deg,#ffffff0b,#ffffff04)}
.catalog-card-top{margin-bottom:21px}.vendor-badge{display:flex;align-items:center;gap:9px;font-size:10px;color:#b5b5be}.vendor-logo{width:28px;height:28px;min-width:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,0.08);border-radius:8px;background:rgba(255,255,255,0.03);backdrop-filter:blur(8px);transition:transform .2s,border-color .2s}.vendor-logo:hover{transform:scale(1.06);border-color:rgba(255,255,255,0.2)}.vendor-logo-img{width:18px;height:18px;object-fit:contain;display:block}.vendor-name{font-size:11px;font-weight:500;color:#c0c0cb}.vendor-monogram{width:29px;height:29px;display:grid;place-items:center;font-size:10px;font-weight: 550;font-family:var(--mono);color:#dcdce3;border:1px solid #ffffff1a;border-radius:8px;background:linear-gradient(130deg,#fff1,#fff0)}
.favorite{color:#81818c;transition:color .18s,transform .18s}.favorite:hover{color:#fbbf24}.favorite.is-favorite,.favorite.is-favorite:hover{color:#fbbf24!important}.favorite.is-favorite .icon{color:#fbbf24!important;fill:#fbbf24!important;stroke:#fbbf24!important;filter:drop-shadow(0 0 6px rgba(251,191,36,.35))}.favorite-filter.active .icon{color:#f59e0b!important;fill:#f59e0b!important;stroke:#f59e0b!important}.favorite .icon{width:16px;height:16px}.model-type{color:#a4a4af;font-size:15px;margin-bottom:5px;font-weight:600}.catalog-card h2{font-size:18px;line-height:1.4;font-weight: 600}.catalog-card h2 button{font:inherit;font-size:18px;font-weight: 600;color:inherit;text-align:left;border:0;padding:0;background:none;overflow-wrap:anywhere}.catalog-card h2 button:hover{text-decoration:underline;text-underline-offset:4px}
.model-id{display:flex;align-items:center;gap:5px;margin-top:4px;min-width:0}.model-id code{color:#93939d;font-family:var(--mono);font-size:15px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.model-id .icon-btn{width:26px;min-width:26px;height:26px}.model-id .icon{width:13px}.catalog-card-price{margin:22px 0 15px;font-size:15px;gap:10px}.catalog-card-price>span{gap:6px;flex-wrap:wrap;font-size:15px}.catalog-card-price small{font-size:15px;color:#92929d}.catalog-card-price strong{margin-left:auto;font-size:16px;letter-spacing:-.4px;color:#e8e8ed}.model-availability{display:flex;align-items:center;gap:6px;font-size:15px;color:#a3a3ae;min-height:20px}.model-availability .icon{width:12px;height:12px}.catalog-card-bottom{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-top:17px;gap:12px;border-top:none !important}.catalog-card-bottom .btn{font-size:15px;flex:1;justify-content:space-between;background:#ffffff03}.catalog-card-bottom>.icon-btn{border:1px solid var(--line);height:36px;width:36px}.pager{padding:10px 0;gap:14px}.pager span{font-size:15px}
.model-dialog{width:690px}.model-dialog .modal-head{align-items:flex-start;gap:15px}.model-dialog .modal-head h2{font-size:24px;overflow-wrap:anywhere}.detail-meta{display:flex;gap:8px;align-items:center;margin-top:-10px;margin-bottom:20px}.detail-meta .favorite{margin-left:auto}.model-dialog .base-url code{font-size:12px}.detail-pricing{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:24px}.detail-pricing>div{padding:20px;background:#ffffff04;border:1px solid var(--line);border-radius:12px}.detail-pricing span{display:block;color:#aaaab4;font-size:11px}.detail-pricing strong{display:block;margin-top:8px;font-family:var(--mono);font-size:25px;font-weight:400;letter-spacing:-1px}.detail-note{font-size:13.5px;color:#9da0b3;line-height:1.55;margin:13px 0}.detail-status{display:flex;align-items:center;gap:9px;padding:13px 0;font-size:13px;color:#c0c0cb}.detail-status .icon{width:16px}
.model-calculator{border-top:1px solid var(--line);padding-top:18px;margin-top:5px}.model-calculator h3{font-size:17px;font-weight:600;margin-bottom:14px}.estimate-fields{display:flex;gap:14px}.estimate-fields .field{flex:1;margin-bottom:10px;min-width:0}.detail-estimate{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px;font-size:15px;color:#afafba}.detail-estimate span{font-size:15px;font-weight:600}.detail-estimate output{font-family:var(--mono);font-size:18px;color:#f0f0f3;font-weight:600}.snippet-tabs{display:flex;gap:7px;padding-top:17px;border-top:1px solid var(--line)}.detail-actions{display:flex;gap:10px;margin-top:20px}.model-dialog .code-box pre{font-size:11px;max-height:340px;line-height:1.85}.detail-list{display:grid;margin:22px 0;gap:0}.detail-list>div{display:grid;grid-template-columns:1fr 1.5fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.detail-list dt{color:#a2a2af}.detail-list dd{margin:0;text-align:right;overflow-wrap:anywhere;color:#dddde5}
.landing-model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.landing-model{padding:23px;text-align:left;display:flex;flex-direction:column;gap:20px;color:inherit}.landing-model>strong{font-size:16px;font-weight:550;overflow-wrap:anywhere}.landing-model>span:not(.vendor-badge){font-size:10px;color:#aaaab4;line-height:1.8}.landing-model .inline-cta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:17px;margin-top:auto}.landing-model:hover{border-color:#ffffff3a;background:#ffffff07}.landing-model .icon{width:15px}.hero-copy{font-size:15px}.nav-links{font-size:13px}.hero-footnote{color:#a0a0a9}.feature p{font-size:12px;color:#a3a3ad}.compat-strip>span{color:#92929d}.faq-list summary{font-size:13px}.faq-list details p{font-size:12px}.landing-footer p{color:#9999a5}.code-box pre{font-size:11px}
.onboarding{display:none!important}
.usage-filters{display:flex;gap:15px;align-items:flex-end;padding:22px;margin-bottom:23px}.usage-filters .field{flex:1;min-width:0;margin:0}.usage-filters>.btn{min-height:43px}.table-detail-link{color:#e0e0e8;padding:0;border:0;background:none;font-size:11px;text-align:left;cursor:pointer;max-width:260px;overflow:hidden;text-overflow:ellipsis}.table-detail-link:hover{text-decoration:underline;text-underline-offset:4px}th{font-size:10px;color:#a1a1ad}td{font-size:11px}.table-key-name{font-size:12px}.empty-state h3{font-size:15px}.empty-state p{font-size:12px;color:#a2a2ae}.empty-state .btn{font-size:11px}.base-url code{font-size:11px}
.status-banner{display:flex;align-items:center;gap:16px;padding:20px 24px;margin-bottom:20px}.status-banner>.icon{width:28px;height:28px;flex-shrink:0}.status-banner.is-ready>.icon{color:#00d68f}.status-banner.is-not-ready>.icon{color:#f59e0b}.status-banner h2{font-size:20px;font-weight:600;letter-spacing:-.3px}.status-banner p{color:#a0a0ad;font-size:15px;margin-top:4px}.status-components{padding:0 28px}.status-component{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.status-component:last-child{border:0}.status-component h3{font-size:18px;font-weight:600}.status-component p{font-size:15px;color:#c2c2ce;margin-top:4px}.status-component small{font-size:14px;color:#8e8e9a;margin-top:4px;display:block}.status-pill{font-size:14px;font-weight:500;padding:4px 12px;border-radius:10px;line-height:1.4;white-space:nowrap}.status-pill.status-operational,.status-pill.status-configured{background:rgba(0,214,143,0.12);border:1px solid rgba(0,214,143,0.28);color:#6ee7b7}.status-pill.status-degraded{background:rgba(245,158,11,0.12);border:1px solid rgba(245,158,11,0.28);color:#fde047}.status-pill.status-unconfigured{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);color:#a0a0ac}.status-note{margin-top:20px}
.playground-layout{display:flex;flex-direction:column;width:100%;height:auto;min-height:580px}.chat-panel{height:calc(100dvh - 225px);min-height:580px}.chat-welcome p{font-size:12px;color:#a3a3af}.composer textarea{font-size:13px}.composer-foot{font-size:9px;color:#a0a0ac}.message-text{font-size:13px;color:#d1d1d9}.message-label{font-size:10px}.chat-usage{font-size:10px;color:#a3a3ae}.message-copy{padding:4px 0;font-size:10px!important;min-height:30px!important}.message-copy .icon{width:13px}.message-text h3,.message-text h4,.message-text h5{font-size:16px;margin:13px 0 5px;font-weight:600;white-space:normal;color:inherit}.message-text>code{font-family:var(--mono);font-size:11px;background:#ffffff09;border-radius:4px;padding:2px 5px}.answer-bullet{display:flex;gap:10px;white-space:normal;margin:4px 0}.answer-code{white-space:normal;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#08090ac9;margin:13px 0}.answer-code>div{display:flex;align-items:center;justify-content:space-between;padding:5px 12px;border-bottom:1px solid var(--line);font-size:10px;color:#aaaab5}.answer-code pre{margin:0;padding:15px;overflow:auto;line-height:1.8;white-space:pre;font-family:var(--mono);font-size:11px}.answer-code code{font-family:inherit}.settings-panel{position:sticky;top:20px}.settings-panel h2{font-size:14px}.settings-price strong{font-size:11px;max-width:180px}.settings-price>span{font-size:10px;color:#aaaab4}
.password-field{position:relative}.password-field input{padding-right:45px}.password-field .icon-btn{position:absolute;right:5px;top:5px}.modal-intro{font-size:12px;color:#b3b3be}.auth-fineprint{color:#9898a5;font-size:10px}.auth-switch{font-size:12px}.auth-switch button{font-size:12px}dialog .field input{font-size:14px}.form-error{font-size:12px}
@media(min-width:1500px){.model-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-hero{grid-template-columns:1fr 1fr 210px}.app-content{padding:40px}}
@media(max-width:1150px){.sidebar{width:210px}.app-main{margin-left:210px;width:calc(100% - 210px)}.app-content{padding:28px 24px}.catalog-hero{grid-template-columns:1fr 1fr;padding:28px}.catalog-numbers{grid-column:1/-1;grid-template-columns:repeat(3,1fr);border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.catalog-orbit{width:220px}.catalog-filters{grid-template-columns:1fr 1fr}.catalog-filters .model-search{grid-column:auto}.favorite-filter{margin-left:0}.playground-layout{display:flex;flex-direction:column;width:100%}.landing-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-email{display:none}.onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.playground-layout{grid-template-columns:1fr}.settings-panel{position:static}.chat-panel{height:600px}.usage-filters{flex-wrap:wrap}.usage-filters .field{flex-basis:calc(50% - 15px)}.usage-filters>.btn{flex:1}.catalog-hero h2{font-size:27px}.catalog-orbit{width:170px}.orbit-tag{padding:6px 9px;font-size:9px}.topbar-balance,.currency-toggle,.lang-toggle{padding:5px 8px;height:28px;min-height:28px;font-size:10px;gap:6px}.model-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.sidebar{width:244px}.app-main{margin-left:0;width:100%}.app-topbar{padding:0 16px}.app-content{padding:25px 18px}.page-header h1{font-size:26px}.page-header p{font-size:12px;max-width:240px}.page-header .header-actions{flex-wrap:wrap;justify-content:flex-end}.page-header .btn{font-size:10px;min-height:38px}.catalog-hero{padding:24px;gap:12px;grid-template-columns:1fr}.catalog-hero h2{font-size:29px}.catalog-orbit{display:none}.catalog-numbers{gap:13px;padding-top:20px;margin-top:12px}.catalog-numbers strong{font-size:23px}.catalog-numbers span{font-size:9px;line-height:1.5;display:block;margin-top:5px}.catalog-hero p{font-size:12px}.vendor-tabs{gap:6px;flex-wrap:nowrap;overflow:auto;padding-bottom:7px;margin-bottom:12px;scrollbar-width:thin}.filter-chip{font-size:11px;padding:9px 12px;flex-shrink:0}.catalog-filters{gap:0 12px}.catalog-filters .model-search{grid-column:1/-1}.catalog-filters .field:last-child{grid-column:1/-1}.field input,.field select,.field textarea{font-size:14px;min-height:44px}.field label{font-size:11px}.catalog-result-head{font-size:11px;align-items:flex-start}.catalog-result-head span:last-child{font-size:9px;max-width:170px}.model-cards{grid-template-columns:1fr}.catalog-card{padding:23px}.catalog-card h2{font-size:18px}.model-id code{font-size:11px}.catalog-card-price strong{font-size:18px}.catalog-card-price small{font-size:10px}.catalog-card-bottom .btn{min-height:40px}.favorite{height:40px;width:40px}.model-dialog{padding:24px 20px}.model-dialog .modal-head h2{font-size:22px}.detail-pricing{gap:10px}.detail-pricing>div{padding:15px 12px}.detail-pricing strong{font-size:20px}.detail-pricing span{font-size:10px}.detail-actions{flex-wrap:wrap}.detail-actions>.btn{flex:1}.estimate-fields{gap:10px}.detail-estimate output{font-size:15px}.model-dialog .code-box pre{font-size:10px;padding:15px}.landing-model-grid{grid-template-columns:1fr 1fr;gap:10px}.landing-model{padding:17px 13px;gap:16px}.landing-model .vendor-badge{font-size:9px}.landing-model>strong{font-size:14px}.landing-model>span:not(.vendor-badge){font-size:10px}.hero-footnote{flex-wrap:wrap;gap:9px 14px}.onboarding{padding:21px}.onboarding-steps{gap:16px}.onboarding-step strong{font-size:12px}.onboarding .panel-head h2{font-size:15px}.onboarding-step p{font-size:11px}.metric-foot{font-size:10px}.usage-filters{padding:18px}.usage-filters .field{flex-basis:100%}.usage-filters>.btn{width:100%}.table-detail-link{font-size:11px;max-width:185px}.detail-list>div{grid-template-columns:1fr 1.3fr}.chat-panel{min-height:510px;height:calc(100dvh - 210px)}.composer textarea{font-size:14px}.composer-foot{font-size:9px;flex-wrap:wrap;gap:4px}.settings-panel{gap:0 14px}.settings-panel .field label{font-size:11px}.settings-panel .field:first-of-type{grid-column:1/-1}.message-text{font-size:13px}.chat-welcome h2{font-size:22px}.chat-welcome p{font-size:12px}.chat-usage{font-size:9px}.suggestions button{font-size:11px;padding:10px}.status-banner{padding:22px;gap:13px}.status-banner h2{font-size:19px}.status-components{padding:0 19px}.status-component{flex-wrap:wrap;gap:12px}.status-component p{font-size:12px}.status-component .pill{font-size:10px}.detail-note{font-size:12px}.topbar-balance,.currency-toggle,.lang-toggle{padding:4px 7px;height:26px;min-height:26px;font-size:10px;gap:5px}.app-footer-inner{padding:24px 18px;flex-direction:column;align-items:flex-start;gap:16px}.product-footer{flex-direction:column;align-items:flex-start;gap:16px;padding:24px 0}.footer-links{justify-content:flex-start;gap:10px 18px}.base-url code{font-size:11px}.notice{font-size:11px}.empty-state p{font-size:12px}}
@media(max-width:370px){.landing-model-grid{grid-template-columns:1fr}.onboarding-steps{grid-template-columns:1fr}.detail-pricing{grid-template-columns:1fr}.hero-buttons{flex-wrap:wrap}.page-header{flex-wrap:wrap}.catalog-card-price strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.catalog-card:hover{transform:none}}
.answer-line{white-space:pre-wrap}.answer-space{height:9px}.answer-space+.answer-space{display:none}
.catalog-summary{display:flex;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:36px;padding:0 0 24px;border-bottom:1px solid var(--line);margin-bottom:24px}
.catalog-summary>div{display:flex;align-items:baseline;gap:8px;min-width:0}
.catalog-summary strong{font-size:22px;font-weight:600}.catalog-summary span{font-size:12px;color:var(--muted)}
.catalog-card{border-radius:20px;min-height:270px}.catalog-card h2{font-size:17px}
.catalog-card-price{margin-top:14px;justify-content:flex-start}.catalog-card-bottom{margin-top:auto}.catalog-card-bottom .btn{border-radius:999px !important}
@media(max-width:600px){.catalog-summary{gap:20px;justify-content:space-between}.catalog-summary>div{flex-direction:column;gap:0}.catalog-summary span{font-size:10px}.catalog-summary strong{font-size:20px}}

/* Mobile global overflow prevention & responsive layout safeguards */
@media (max-width: 650px) {
  html, body {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: clip !important;
  }
  .app-shell, .app-main, .app-content, .product-landing, .container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 480px) {
  .app-topbar {
    padding: 0 8px !important;
  }
  .breadcrumb {
    display: none !important;
  }
  .user-menu {
    gap: 4px !important;
    margin-left: auto !important;
  }
  .topbar-balance,
  .currency-toggle {
    padding: 4px 6px !important;
    height: 24px !important;
    min-height: 24px !important;
    font-size: 10px !important;
    gap: 4px !important;
  }
  .currency-arrow {
    width: 8px !important;
    height: 8px !important;
  }
  .currency-dropdown {
    width: 100% !important;
    min-width: 100% !important;
    padding: 4px !important;
    left: 0 !important;
    right: 0 !important;
    box-sizing: border-box !important;
  }
  .currency-option {
    padding: 7px 10px !important;
    font-size: 12px !important;
  }
  .currency-option-code {
    font-size: 12px !important;
  }
  .currency-option-symbol {
    font-size: 11px !important;
  }
  .currency-option .currency-flag {
    font-size: 13px !important;
  }
}

/* Payment Methods & Lava Pay styling */
.payment-methods-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
}
.payment-methods-stack .payment-method {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  transition: background 0.15s;
}
.payment-methods-stack .payment-method:hover {
  background: rgba(255, 255, 255, 0.04);
}
.payment-methods-stack .payment-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}
.payment-methods-stack .payment-icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

/* Modal Payment Buttons */
.payment-buttons-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 16px 0 12px 0;
}
.btn-payment-method {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 13px 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px !important;
  color: var(--fg, #f0f0f4);
  cursor: pointer;
  text-align: left;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}
.btn-payment-method:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
}
.btn-payment-method:active:not(:disabled) {
  transform: translateY(0);
  background: rgba(255, 255, 255, 0.05);
}
.btn-payment-method:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.btn-payment-method .pm-icon-wrap {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.btn-payment-method .pm-icon-wrap img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.btn-payment-method .pm-icon-wrap.sbp-icon,
.btn-payment-method .pm-icon-wrap.card-icon,
.btn-payment-method .pm-icon-wrap.lava-icon,
.btn-payment-method .pm-icon-wrap.crypto-icon,
.btn-payment-method .pm-icon-wrap.heleket-icon {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.btn-payment-method .pm-icon-wrap.card-icon img {
  width: 36px;
  height: 24px;
  object-fit: contain;
}
.btn-payment-method .pm-icon-wrap.crypto-icon {
  color: #a4a4b2;
}
.btn-payment-method .pm-icon-wrap.crypto-icon svg {
  width: 26px;
  height: 26px;
}
.btn-payment-method .pm-icon-wrap.heleket-icon {
  padding: 0;
}
.pm-coins-cluster {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-items: center;
}
.pm-coins-cluster img {
  width: 14px !important;
  height: 14px !important;
  object-fit: contain;
}
.pm-coins-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 3px;
  flex-wrap: wrap;
}
.pm-coin {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 500;
  color: #cfdad5;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  padding: 1px 5px;
}
.pm-coin img {
  width: 13px !important;
  height: 13px !important;
  object-fit: contain;
}
.btn-payment-method .pm-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.btn-payment-method .pm-title {
  font-size: 13.5px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.01em;
}
.btn-payment-method .pm-subtitle {
  font-size: 11px;
  color: var(--muted, #85858e);
}
.btn-payment-method .pm-arrow {
  color: var(--muted, #85858e);
  display: flex;
  align-items: center;
  transition: transform 0.2s;
  margin-left: auto;
}
.btn-payment-method:hover:not(:disabled) .pm-arrow {
  color: #fff;
  transform: translateX(3px);
}
.topup-estimate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px dashed rgba(255, 255, 255, 0.1);
  border-radius: 9px;
  margin-bottom: 14px;
  font-size: 12px;
}
.topup-estimate strong,
#topup-rub-val {
  color: #49d69e;
  font-size: 13.5px;
  font-family: var(--mono, monospace);
  font-weight: 500;
}
.currency-option-check {
  display: none !important;
}

.sidebar-topup-btn {
  width: 100%;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 0 10px !important;
  margin-bottom: 12px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 13.5px !important;
  font-weight: 600;
  border-radius: 9px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar-topup-btn svg, .sidebar-topup-btn .icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.nav-group + .nav-group {
  margin-top: 24px !important;
}

.sidebar-status {
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #7e7e88;
  padding: 4px 6px;
  border-radius: 6px;
  transition: color 0.15s, background 0.15s;
}
.sidebar-status:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.04);
}

/* Modern 2-Column Auth Modal in Tokvian Style */
dialog.auth-dialog-modal {
  width: 780px !important;
  max-width: min(780px, calc(100% - 32px)) !important;
  padding: 0 !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  background: #0f1115 !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  overflow: hidden !important;
}
dialog:has(.auth-dialog) {
  width: 780px !important;
  max-width: min(780px, calc(100% - 32px)) !important;
  padding: 0 !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  background: #0f1115 !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  overflow: hidden !important;
}
.auth-dialog {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  min-height: 520px;
}
.auth-dialog-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 10;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted, #93939e);
  cursor: pointer;
  transition: color 0.15s, background 0.15s;
}
.auth-dialog-close:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
}
.auth-main-pane {
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #0f1115;
}
.auth-main-pane .auth-head h2 {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0 0 6px;
}
.auth-main-pane .modal-intro {
  font-size: 14px;
  color: var(--muted, #93939e);
  margin: 0 0 20px;
  line-height: 1.5;
}
.auth-tabs {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px !important;
  padding: 4px;
  margin-bottom: 20px;
  gap: 4px;
  width: 100% !important;
  box-sizing: border-box !important;
}
.auth-tab {
  flex: 1;
  padding: 8px 12px;
  background: transparent;
  border: 0;
  border-radius: 10px !important;
  color: var(--muted, #93939e);
  font-size: 14px !important;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
  text-align: center;
}
.auth-tab.active {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-weight: 600;
  border-radius: 10px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.auth-tab:hover:not(.active):not(:disabled) {
  color: #d0d0d8;
  background: rgba(255, 255, 255, 0.05);
}
.auth-tab:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.auth-oauth-providers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 14px;
}
@media (max-width: 360px) {
  .auth-oauth-providers {
    grid-template-columns: 1fr;
  }
}
.btn-google,
.btn-yandex {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border-radius: 14px !important;
  min-height: 44px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.btn-google:hover,
.btn-yandex:hover {
  background: rgba(255, 255, 255, 0.11) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  color: #fff !important;
}
.btn-google svg, .btn-google .icon,
.btn-yandex svg, .btn-yandex .icon {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  stroke: none !important;
}
[data-theme="light"] .btn-google,
.theme-light .btn-google,
[data-theme="light"] .btn-yandex,
.theme-light .btn-yandex {
  background: #ffffff !important;
  border: 1px solid #d5d7e0 !important;
  color: #1a1c23 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}
[data-theme="light"] .btn-google:hover,
.theme-light .btn-google:hover,
[data-theme="light"] .btn-yandex:hover,
.theme-light .btn-yandex:hover {
  background: #f8f9fa !important;
  border-color: #bcc0ce !important;
}
.auth-divider {
  display: flex;
  align-items: center;
  text-align: center;
  margin: 14px 0 18px;
  color: var(--muted, #93939e);
  font-size: 15px !important;
}
.auth-divider::before,
.auth-divider::after {
  content: '';
  flex: 1;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
[data-theme="light"] .auth-divider::before,
[data-theme="light"] .auth-divider::after,
.theme-light .auth-divider::before,
.theme-light .auth-divider::after {
  border-bottom-color: rgba(0, 0, 0, 0.1);
}
.auth-divider span {
  padding: 0 12px;
  font-size: 15px !important;
  color: #93939e;
}
/* Linked Accounts Section */
.linked-account-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 16px 20px !important;
}

.linked-account-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.linked-provider-icon {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.linked-provider-icon svg,
.linked-provider-icon .icon {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  stroke: none !important;
}

.linked-account-email {
  font-size: 16px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #ffffff !important;
  overflow-wrap: anywhere !important;
  line-height: 1.35 !important;
}

.linked-account-name {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.75) !important;
}

.linked-account-row .danger-btn {
  color: #ffffff !important;
  padding: 0 18px !important;
  min-height: 40px !important;
  flex-shrink: 0 !important;
}

/* Light theme overrides */
[data-theme="light"] .linked-account-email,
.theme-light .linked-account-email,
html.theme-light .linked-account-email {
  color: #11141a !important;
}

[data-theme="light"] .linked-account-name,
.theme-light .linked-account-name,
html.theme-light .linked-account-name {
  color: #5e6573 !important;
}

[data-theme="light"] .linked-account-row .danger-btn,
.theme-light .linked-account-row .danger-btn,
html.theme-light .linked-account-row .danger-btn {
  background: #fee2e2 !important;
  border: 1px solid #fca5a5 !important;
  color: #b91c1c !important;
}

[data-theme="light"] .linked-account-row .danger-btn:hover,
.theme-light .linked-account-row .danger-btn:hover,
html.theme-light .linked-account-row .danger-btn:hover {
  background: #fecaca !important;
  border-color: #f87171 !important;
  color: #991b1b !important;
}

@media (max-width: 540px) {
  .linked-account-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
  }
  .linked-account-row .settings-account-btn {
    width: 100% !important;
    max-width: 100% !important;
  }
}
.input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.input-wrap .input-icon {
  position: absolute;
  left: 13px;
  color: #797986;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 2;
}
.input-wrap .input-icon svg, .input-wrap .input-icon .icon {
  width: 16px;
  height: 16px;
}
.input-wrap input {
  padding-left: 40px !important;
  font-size: 14px !important;
  height: 44px;
  min-height: 44px;
  border-radius: 14px !important;
}
.input-wrap.password-field input {
  padding-right: 42px !important;
}
.input-wrap .toggle-pass-btn {
  position: absolute;
  right: 6px;
  background: transparent;
  border: 0;
  color: #797986;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 6px;
  z-index: 2;
}
.input-wrap .toggle-pass-btn:hover {
  color: #fff;
}
.field-label-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}
.field-label-row label {
  margin: 0 !important;
}
.auth-forgot-link {
  background: transparent;
  border: 0;
  color: var(--accent, #9aefd2);
  font-size: 15px;
  cursor: pointer;
  padding: 0;
  text-decoration: none;
}
.auth-forgot-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.auth-submit-btn {
  height: 44px !important;
  min-height: 44px !important;
  font-size: 15px !important;
  font-weight: 600;
  margin-top: 6px;
  border-radius: 14px !important;
}
.auth-main-pane .auth-fineprint {
  font-size: 13px !important;
  color: #70707c;
  text-align: center;
  margin-top: 16px;
  line-height: 1.5;
}

/* Right Column (Promo / Value Props) */
.auth-promo-pane {
  background: linear-gradient(155deg, rgba(154, 239, 210, 0.07) 0%, rgba(16, 17, 20, 0.95) 45%, rgba(10, 11, 13, 0.98) 100%);
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  padding: 36px 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.auth-promo-logo {
  margin-bottom: 18px;
}
.auth-promo-logo .logo {
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.auth-promo-title {
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #fff;
  margin: 0 0 8px;
  line-height: 1.35;
}
.auth-promo-desc {
  font-size: 14px;
  color: var(--muted, #93939e);
  margin: 0 0 24px;
  line-height: 1.5;
}
.auth-promo-cards {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}
.auth-promo-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 11px;
}
.auth-promo-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #e2e2e8;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}
.auth-promo-icon svg, .auth-promo-icon .icon {
  width: 15px;
  height: 15px;
}
.auth-promo-card-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.auth-promo-card-text strong {
  font-size: 13.5px;
  color: #f0f0f5;
  font-weight: 600;
  line-height: 1.3;
}
.auth-promo-card-text span {
  font-size: 12.5px;
  color: var(--muted, #93939e);
  line-height: 1.4;
}
.auth-promo-foot {
  font-size: 13px;
  color: #797986;
  line-height: 1.5;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding-top: 16px;
}

@media (max-width: 768px) {
  dialog,
  dialog.model-dialog,
  dialog.admin-dialog,
  dialog.auth-dialog-modal,
  dialog.chat-history-dialog,
  dialog.image-lightbox-dialog {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin: auto !important;
    box-sizing: border-box !important;
  }
  dialog:has(.auth-dialog) {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin: auto !important;
    box-sizing: border-box !important;
  }
  dialog.auth-dialog-modal {
    max-width: min(440px, calc(100% - 24px)) !important;
  }
  dialog:has(.auth-dialog) {
    max-width: min(440px, calc(100% - 24px)) !important;
  }
  .auth-dialog {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .auth-promo-pane {
    display: none !important;
  }
  .auth-main-pane {
    padding: 28px 20px !important;
    box-sizing: border-box !important;
  }
}

/* ==========================================================================
   Usage Table Component & Source Badges (Dashboard & Request History)
   ========================================================================== */
.usage-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.usage-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.usage-table thead th {
  padding: 12px 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #9da0b3 !important;
  border-bottom: 1px solid var(--line) !important;
  text-align: left !important;
  white-space: nowrap !important;
}
.usage-table thead th:last-child {
  text-align: right !important;
}
.usage-table tbody td {
  padding: 13px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  vertical-align: middle;
  font-size: 13.5px;
  color: #d1d5db;
}
.usage-table tbody tr {
  transition: background 0.15s ease;
}
.usage-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.025);
}
.usage-table tbody tr:last-child td {
  border-bottom: 0;
}
.usage-model-cell {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.usage-col-model .table-detail-link {
  font-family: var(--font) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #fff !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  text-align: left !important;
  transition: color 0.15s ease;
}
.usage-col-model .table-detail-link:hover {
  color: var(--accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.usage-source-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 3px 9px !important;
  font-size: 13px !important;
  font-weight: 550 !important;
  border-radius: 6px !important;
  letter-spacing: 0.01em !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  margin: 0 !important;
}
.usage-source-badge.source-image {
  background: rgba(227, 190, 121, 0.12) !important;
  color: #e3be79 !important;
  border: 1px solid rgba(227, 190, 121, 0.25) !important;
}
.usage-source-badge.source-playground {
  background: rgba(154, 239, 210, 0.1) !important;
  color: #9aefd2 !important;
  border: 1px solid rgba(154, 239, 210, 0.22) !important;
}
.usage-source-badge.source-api {
  background: rgba(255, 255, 255, 0.05) !important;
  color: #a1a1ad !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.usage-col-date {
  color: #9da0b3 !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}
.usage-col-tokens {
  font-family: var(--mono) !important;
  font-size: 13px !important;
  color: #c4c4d6 !important;
  white-space: nowrap !important;
}
.usage-col-status {
  white-space: nowrap !important;
}
.usage-col-status .status-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 550 !important;
  background: rgba(154, 239, 210, 0.08) !important;
  color: #9aefd2 !important;
  border: 1px solid rgba(154, 239, 210, 0.16) !important;
}
.usage-col-status .status-label.pending {
  background: rgba(227, 190, 121, 0.08) !important;
  color: #e3be79 !important;
  border-color: rgba(227, 190, 121, 0.18) !important;
}
.usage-col-cost {
  font-family: var(--mono) !important;
  font-size: 13.5px !important;
  font-weight: 450 !important;
  color: #fff !important;
  white-space: nowrap !important;
  text-align: right !important;
}
.usage-col-cost .table-subtext {
  display: inline-block !important;
  margin-left: 5px !important;
  font-size: 12px !important;
  padding: 1px 5px !important;
  border-radius: 4px !important;
  background: rgba(227, 190, 121, 0.12) !important;
  color: #e3be79 !important;
}

/* ==========================================================================
   Mobile-Optimized Cards for Panels & Tables (Eliminates horizontal scrolling)
   ========================================================================== */
@media (max-width: 650px) {
  /* Panels & general container bounding */
  .panel, .glass, .balance-panel, .key-card, .onboarding, .metric, .quickstart {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Modal detail adjustments */
  .model-dialog {
    padding: 20px 16px !important;
  }
  .detail-pricing {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .estimate-fields {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .detail-list > div {
    grid-template-columns: 1fr auto !important;
    gap: 8px !important;
  }

  /* Invoices Table -> Responsive Mobile Cards (/billing) */
  .invoices-table-wrap {
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .invoices-table {
    display: block !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }
  .invoices-table thead {
    display: none !important;
  }
  .invoices-table tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
  .invoices-table tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "amount status"
      "date   method"
      "action action" !important;
    padding: 13px 15px !important;
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid var(--line) !important;
    border-radius: 12px !important;
    gap: 7px 12px !important;
    align-items: center !important;
  }
  .invoices-table tbody tr:has(.invoice-col-action:empty) {
    grid-template-areas:
      "amount status"
      "date   method" !important;
  }
  .invoices-table td {
    padding: 0 !important;
    border: 0 !important;
    min-width: 0 !important;
    white-space: normal !important;
  }
  .invoice-col-amount {
    grid-area: amount !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #fff !important;
    letter-spacing: -0.3px;
  }
  .invoice-col-status {
    grid-area: status !important;
    justify-self: end !important;
  }
  .invoice-col-status .status-label {
    margin: 0 !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    padding: 4px 9px !important;
  }
  .invoice-col-date {
    grid-area: date !important;
    font-size: 11.5px !important;
    color: var(--muted) !important;
  }
  .invoice-col-method {
    grid-area: method !important;
    justify-self: end !important;
    font-size: 11.5px !important;
    color: var(--muted) !important;
  }
  .invoice-col-action {
    grid-area: action !important;
    width: 100% !important;
    margin-top: 4px !important;
  }
  .invoice-col-action:empty {
    display: none !important;
  }
  .invoice-col-action .btn {
    width: 100% !important;
    min-height: 38px !important;
    justify-content: center !important;
    border-radius: 8px !important;
    font-size: 12px !important;
  }

  /* Ledger Table -> Responsive Mobile Cards (/billing) */
  .ledger-table-wrap {
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .ledger-table {
    display: block !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }
  .ledger-table thead {
    display: none !important;
  }
  .ledger-table tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .ledger-table tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "kind   amount"
      "date   amount" !important;
    padding: 12px 14px !important;
    background: rgba(255, 255, 255, 0.02) !important;
    border: 1px solid var(--line) !important;
    border-radius: 10px !important;
    gap: 3px 12px !important;
    align-items: center !important;
  }
  .ledger-table td {
    padding: 0 !important;
    border: 0 !important;
    min-width: 0 !important;
  }
  .ledger-col-kind {
    grid-area: kind !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #e5e5eb !important;
  }
  .ledger-col-date {
    grid-area: date !important;
    font-size: 11px !important;
    color: var(--muted) !important;
  }
  .ledger-col-amount {
    grid-area: amount !important;
    justify-self: end !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #fff !important;
  }

  /* Usage History Table -> Responsive Mobile Cards (/usage, /dashboard) */
  .usage-table-wrap {
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .usage-table {
    display: block !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }
  .usage-table thead {
    display: none !important;
  }
  .usage-table tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
  .usage-table tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 5px 12px !important;
    padding: 13px 15px !important;
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid var(--line) !important;
    border-radius: 11px !important;
    align-items: center !important;
  }
  .usage-table td {
    padding: 0 !important;
    border: 0 !important;
    min-width: 0 !important;
  }
  .usage-col-model {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  .usage-col-model .usage-model-cell {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    flex-wrap: wrap !important;
  }
  .usage-col-model .table-detail-link {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #fff !important;
    display: inline-block !important;
    text-align: left !important;
  }
  .usage-col-model .usage-source-badge {
    margin: 0 !important;
  }
  .usage-col-cost {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    text-align: right !important;
    font-size: 15px !important;
    font-weight: 450 !important;
    color: #fff !important;
  }
  .usage-col-cost .table-subtext {
    display: block !important;
    font-size: 12px !important;
    color: var(--muted) !important;
  }
  .usage-col-date {
    grid-column: 1 !important;
    grid-row: 2 !important;
    font-size: 13px !important;
    color: #9da0b3 !important;
  }
  .usage-col-tokens {
    grid-column: 1 !important;
    grid-row: 3 !important;
    font-size: 13px !important;
    color: #c4c4d6 !important;
  }
  .usage-col-status {
    grid-column: 2 !important;
    grid-row: 2 / span 2 !important;
    justify-self: end !important;
  }
  .usage-col-status .status-label {
    margin: 0 !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    padding: 3px 8px !important;
  }

  /* Documentation Tables -> Clean Readable Cards (/docs) */
  .docs-table-wrap {
    overflow: visible !important;
    margin: 14px 0 !important;
  }
  .docs-table {
    display: block !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }
  .docs-table thead {
    display: none !important;
  }
  .docs-table tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  .docs-table tbody tr {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding: 14px 16px !important;
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid var(--line) !important;
    border-radius: 10px !important;
  }
  .docs-table td {
    padding: 0 !important;
    border: 0 !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }
  .docs-table td strong {
    font-size: 15px !important;
    color: #fff !important;
  }
  .docs-table td.mono {
    font-size: 15px !important;
    color: var(--accent, #9aefd2) !important;
  }
}

/* Universal custom scrollbars matching chat */
html,body,*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.22)}
::-webkit-scrollbar-thumb:active{background:rgba(255,255,255,.32)}
::-webkit-scrollbar-corner{background:transparent}

/* Performance optimization: disable expensive backdrop-filter on repetitive card grids */
.catalog-card,
.landing-model,
.admin-metric,
.review-card {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Custom Select Menu (Modern glass dropdown matching chat model picker) */
.custom-select-menu {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

.custom-select-trigger {
  width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--line);
  border-radius: 10px;
  color: #f4f4f6;
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
  transition: all 0.18s ease;
}

.custom-select-trigger:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.2);
}

.custom-select-menu.is-open .custom-select-trigger {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.35);
  box-shadow: 0 0 0 2px rgba(154, 239, 210, 0.12);
}

.custom-select-trigger:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.custom-select-trigger-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  font-size: 15px;
}

.custom-select-chevron {
  width: 12px;
  height: 12px;
  color: #9da0b3;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), color 0.15s;
  flex-shrink: 0;
}

.custom-select-menu.is-open .custom-select-chevron {
  transform: rotate(180deg);
  color: #ffffff;
}

.custom-select-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 1200;
  min-width: 100%;
  background: #121316;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(255, 255, 255, 0.05);
  padding: 6px;
  box-sizing: border-box;
  backdrop-filter: blur(24px);
}

.custom-select-dropdown[hidden] {
  display: none !important;
}

.custom-select-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 260px;
  overflow-y: auto;
  overflow-x: hidden;
  margin: 0;
  padding: 2px;
  width: 100%;
  box-sizing: border-box;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
}

.custom-select-list::-webkit-scrollbar {
  width: 5px;
}

.custom-select-list::-webkit-scrollbar-track {
  background: transparent;
}

.custom-select-list::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.22);
  border-radius: 4px;
}

.custom-select-list::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.4);
}

.custom-select-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 6px 10px;
  min-height: 32px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #e2e2ea;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.35;
  transition: all 0.15s ease;
  box-sizing: border-box;
}

.custom-select-option:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.custom-select-option.is-selected {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.28);
  color: #ffffff;
}

.custom-select-option-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.custom-select-option-info strong {
  font-size: 15px;
  font-weight: 550;
  color: #f4f4f6;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.custom-select-option-info small {
  font-size: 15px;
  color: #9da0b3;
  line-height: 1.3;
}

.custom-select-option-badge {
  font-size: 15px;
  font-weight: 500;
  padding: 2px 7px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.06);
  color: #a4a4b0;
  flex-shrink: 0;
}

/* ============================================================
   Onboarding Welcome Dialog Modal (Post-login / Welcome)
   ============================================================ */
dialog.bonus-dialog-modal {
  width: 980px !important;
  max-width: min(980px, calc(100vw - 32px)) !important;
  max-height: min(92vh, 880px) !important;
  padding: 0 !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: #0f1115 !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
  overflow-y: auto !important;
  scrollbar-width: thin;
}

.onboarding-dialog {
  position: relative;
  padding: 36px 32px 30px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.bonus-close-btn {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted, #93939e);
  cursor: pointer;
  transition: color 0.15s, background 0.15s;
  z-index: 2;
}

.bonus-close-btn:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
}

.onboarding-head {
  text-align: center;
  margin-bottom: 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.onboarding-head h2 {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #ffffff;
  margin: 0 0 10px;
  line-height: 1.25;
}

.onboarding-subtitle {
  font-size: 16px;
  color: #9da0b3;
  line-height: 1.5;
  margin: 0 0 16px;
  max-width: 620px;
}

.onboarding-bonus-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 8px;
  background: rgba(154, 239, 210, 0.08);
  border: 1px solid rgba(154, 239, 210, 0.22);
  color: #9aefd2;
  font-size: 15px;
  font-weight: 550;
  line-height: 1.4;
}

.onboarding-bonus-badge .icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: #9aefd2;
}

.onboarding-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  align-items: stretch;
  margin-bottom: 24px;
}

.onboarding-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px 20px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  box-sizing: border-box;
  text-align: left;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.onboarding-card:hover {
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(255, 255, 255, 0.16);
}

.onboarding-card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 20px;
  flex: 1 1 auto;
}

.onboarding-card-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.09);
  color: #9aefd2;
  margin-bottom: 16px;
  flex-shrink: 0;
}

.onboarding-card-icon-box .icon {
  width: 22px;
  height: 22px;
}

.onboarding-card-title {
  font-size: 18px;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 10px;
  line-height: 1.3;
}

.onboarding-card-text {
  font-size: 15px;
  color: #9da0b3;
  line-height: 1.55;
  margin: 0;
}

.onboarding-card-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: auto;
  width: 100%;
}

.onboarding-card-actions .btn {
  min-height: 44px;
  font-size: 15px;
  font-weight: 600;
  border-radius: 8px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
}

.onboarding-btn-secondary {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #eaeaec !important;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.onboarding-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.24) !important;
  color: #ffffff !important;
}

.onboarding-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 4px;
}

.onboarding-footer-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: none;
  color: #9da0b3;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  padding: 6px 14px;
  border-radius: 8px;
  transition: color 0.15s ease, background 0.15s ease;
}

.onboarding-footer-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.04);
}

.onboarding-footer-link .icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* Light Theme Styling for Onboarding Dialog */
[data-theme="light"] dialog.bonus-dialog-modal,
.theme-light dialog.bonus-dialog-modal,
html.theme-light dialog.bonus-dialog-modal {
  background: #ffffff !important;
  border: 1px solid #dce1e8 !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.12) !important;
}

[data-theme="light"] .bonus-close-btn,
.theme-light .bonus-close-btn,
html.theme-light .bonus-close-btn {
  background: rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.08);
  color: #6b7280;
}

[data-theme="light"] .bonus-close-btn:hover,
.theme-light .bonus-close-btn:hover,
html.theme-light .bonus-close-btn:hover {
  background: rgba(0, 0, 0, 0.08);
  color: #111827;
}

[data-theme="light"] .onboarding-head h2,
.theme-light .onboarding-head h2,
html.theme-light .onboarding-head h2 {
  color: #11141a !important;
}

[data-theme="light"] .onboarding-subtitle,
.theme-light .onboarding-subtitle,
html.theme-light .onboarding-subtitle {
  color: #333742 !important;
}

[data-theme="light"] .onboarding-bonus-badge,
.theme-light .onboarding-bonus-badge,
html.theme-light .onboarding-bonus-badge {
  background: #f0f2f5 !important;
  border: 1px solid #dce1e8 !important;
  color: #11141a !important;
}

[data-theme="light"] .onboarding-bonus-badge .icon,
.theme-light .onboarding-bonus-badge .icon,
html.theme-light .onboarding-bonus-badge .icon {
  color: #11141a !important;
}

[data-theme="light"] .onboarding-card,
.theme-light .onboarding-card,
html.theme-light .onboarding-card {
  background: #f8f9fa !important;
  border: 1px solid #dce1e8 !important;
}

[data-theme="light"] .onboarding-card:hover,
.theme-light .onboarding-card:hover,
html.theme-light .onboarding-card:hover {
  background: #ffffff !important;
  border-color: #b0b8c4 !important;
}

[data-theme="light"] .onboarding-card-icon-box,
.theme-light .onboarding-card-icon-box,
html.theme-light .onboarding-card-icon-box {
  background: #ffffff !important;
  border: 1px solid #dce1e8 !important;
  color: #11141a !important;
}

[data-theme="light"] .onboarding-card-title,
.theme-light .onboarding-card-title,
html.theme-light .onboarding-card-title {
  color: #11141a !important;
}

[data-theme="light"] .onboarding-card-text,
.theme-light .onboarding-card-text,
html.theme-light .onboarding-card-text {
  color: #333742 !important;
}

[data-theme="light"] .onboarding-btn-secondary,
.theme-light .onboarding-btn-secondary,
html.theme-light .onboarding-btn-secondary {
  background: #ffffff !important;
  border: 1px solid #dce1e8 !important;
  color: #11141a !important;
}

[data-theme="light"] .onboarding-btn-secondary:hover,
.theme-light .onboarding-btn-secondary:hover,
html.theme-light .onboarding-btn-secondary:hover {
  background: #f0f2f5 !important;
  border-color: #b8bec9 !important;
  color: #000000 !important;
}

[data-theme="light"] .onboarding-footer-link,
.theme-light .onboarding-footer-link,
html.theme-light .onboarding-footer-link {
  color: #4b5563 !important;
}

[data-theme="light"] .onboarding-footer-link:hover,
.theme-light .onboarding-footer-link:hover,
html.theme-light .onboarding-footer-link:hover {
  color: #11141a !important;
  background: #f0f2f5 !important;
}

@media (max-width: 860px) {
  dialog.bonus-dialog-modal {
    width: calc(100% - 24px) !important;
    max-width: 520px !important;
    margin: auto !important;
  }
  .onboarding-dialog {
    padding: 28px 18px 22px !important;
  }
  .onboarding-cards-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .onboarding-head h2 {
    font-size: 22px !important;
  }
}

/* Landing page topbar actions matching workspace user-menu */
.product-landing .topnav-actions .topbar-balance {
  font-size: 15px !important;
  height: 40px !important;
  min-height: 40px !important;
  border-radius: 999px !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.product-landing .topnav-actions .icon-btn {
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Accessible, high-contrast form errors for Light and Dark themes */
.form-error {
  color: #fca5a5 !important;
  border-left: 3px solid #ef4444 !important;
  background: rgba(239, 68, 68, 0.12) !important;
  padding: 10px 14px !important;
  border-radius: 0 10px 10px 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin-bottom: 16px !important;
  box-sizing: border-box !important;
  word-break: break-word !important;
}

[data-theme="light"] .form-error,
.theme-light .form-error,
html.theme-light .form-error {
  color: #b91c1c !important;
  border-left: 3px solid #dc2626 !important;
  background: #fef2f2 !important;
  box-shadow: inset 0 0 0 1px rgba(220, 38, 38, 0.15) !important;
}





/* ==========================================================================
   Dedicated Standalone Onboarding Page (/welcome)
   ========================================================================== */
.welcome-screen {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background-color: #090a0b;
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
  overflow-x: clip;
}

.welcome-screen .landing-grid-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 820px;
  background-size: 56px 56px;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
                    linear-gradient(to bottom, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-position: center top;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.82) 50%, rgba(0, 0, 0, 0.15) 82%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.82) 50%, rgba(0, 0, 0, 0.15) 82%, transparent 100%);
  pointer-events: none;
  z-index: 0;
}

.welcome-main {
  flex: 1 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 120px 24px 60px;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
}

.welcome-container {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}

.welcome-head {
  text-align: center;
  margin-bottom: 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.welcome-title {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #ffffff;
  margin: 0 0 12px;
  line-height: 1.25;
}

.welcome-subtitle {
  font-size: 16px;
  color: #9da0b3;
  line-height: 1.5;
  margin: 0 0 24px;
  max-width: 640px;
}

/* Prominent yet elegant Bonus Banner ('лучше выделить - но не жирнить') */
.welcome-bonus-banner {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 10px 22px;
  border-radius: 8px;
  background: rgba(154, 239, 210, 0.08);
  border: 1px solid rgba(154, 239, 210, 0.32);
  box-shadow: 0 0 24px rgba(154, 239, 210, 0.06);
  margin: 0 auto;
  box-sizing: border-box;
}

.welcome-bonus-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  border-radius: 8px;
  background: rgba(154, 239, 210, 0.15);
  border: 1px solid rgba(154, 239, 210, 0.38);
  flex-shrink: 0;
}

.welcome-bonus-amount {
  font-size: 17px;
  font-weight: 550;
  color: #9aefd2;
  letter-spacing: -0.01em;
}

.welcome-bonus-label {
  font-size: 15px;
  font-weight: 500;
  color: #e2e8f0;
}

.welcome-bonus-text {
  font-size: 15px;
  font-weight: 400;
  color: #cbd5e1;
  line-height: 1.45;
}

.welcome-footer-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.welcome-action-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #9da0b3;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  padding: 10px 20px;
  border-radius: 8px;
  transition: all 0.15s ease;
}

.welcome-action-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.24);
}

.welcome-action-link .icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* Light theme for Welcome Page */
[data-theme="light"] .welcome-screen,
.theme-light .welcome-screen,
html.theme-light .welcome-screen {
  background-color: #ffffff !important;
}

[data-theme="light"] .welcome-screen .landing-grid-bg,
.theme-light .welcome-screen .landing-grid-bg,
html.theme-light .welcome-screen .landing-grid-bg {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.04) 1px, transparent 1px),
                    linear-gradient(to bottom, rgba(0, 0, 0, 0.04) 1px, transparent 1px) !important;
}

[data-theme="light"] .welcome-title,
.theme-light .welcome-title,
html.theme-light .welcome-title {
  color: #11141a !important;
}

[data-theme="light"] .welcome-subtitle,
.theme-light .welcome-subtitle,
html.theme-light .welcome-subtitle {
  color: #4b5563 !important;
}

[data-theme="light"] .welcome-bonus-banner,
.theme-light .welcome-bonus-banner,
html.theme-light .welcome-bonus-banner {
  background: #f0fdf9 !important;
  border: 1px solid #99f6e4 !important;
  box-shadow: 0 2px 14px rgba(13, 148, 136, 0.07) !important;
}

[data-theme="light"] .welcome-bonus-pill,
.theme-light .welcome-bonus-pill,
html.theme-light .welcome-bonus-pill {
  background: #ccfbf1 !important;
  border: 1px solid #5eead4 !important;
}

[data-theme="light"] .welcome-bonus-amount,
.theme-light .welcome-bonus-amount,
html.theme-light .welcome-bonus-amount {
  color: #0f766e !important;
}

[data-theme="light"] .welcome-bonus-label,
.theme-light .welcome-bonus-label,
html.theme-light .welcome-bonus-label {
  color: #0f172a !important;
}

[data-theme="light"] .welcome-bonus-text,
.theme-light .welcome-bonus-text,
html.theme-light .welcome-bonus-text {
  color: #334155 !important;
}

[data-theme="light"] .welcome-action-link,
.theme-light .welcome-action-link,
html.theme-light .welcome-action-link {
  background: #f8f9fa !important;
  border: 1px solid #dce1e8 !important;
  color: #4b5563 !important;
}

[data-theme="light"] .welcome-action-link:hover,
.theme-light .welcome-action-link:hover,
html.theme-light .welcome-action-link:hover {
  background: #f0f2f5 !important;
  border-color: #b0b8c4 !important;
  color: #11141a !important;
}

@media (max-width: 860px) {
  .welcome-main {
    padding: 96px 16px 40px !important;
  }
  .welcome-title {
    font-size: 26px !important;
  }
  .welcome-bonus-banner {
    flex-direction: column !important;
    text-align: center !important;
    gap: 10px !important;
    padding: 14px 16px !important;
  }
}


/* ==========================================================================
   User Account Dropdown Menu (Replacing standalone logout button)
   ========================================================================== */
.user-account-menu {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.user-account-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: 4px 12px !important;
  cursor: pointer !important;
  color: var(--text, #ffffff) !important;
  transition: background 0.15s ease, border-color 0.15s ease !important;
  min-height: 40px !important;
  text-align: left !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

.user-account-toggle:hover,
.user-account-menu.is-open .user-account-toggle {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.user-account-toggle .avatar {
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 50% !important;
  background: rgba(154, 239, 210, 0.12) !important;
  border: 1px solid rgba(154, 239, 210, 0.28) !important;
  color: #9aefd2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.user-account-toggle .avatar .icon {
  width: 18px !important;
  height: 18px !important;
  color: #9aefd2 !important;
}

.user-account-meta {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  line-height: 1.25 !important;
}

.user-account-email {
  font-size: 15px !important;
  font-weight: 550 !important;
  color: #ffffff !important;
  max-width: 170px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
}

.user-account-role {
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #9da0b3 !important;
  white-space: nowrap !important;
  display: block !important;
}

.user-account-arrow {
  color: #9da0b3 !important;
  transition: transform 0.2s ease, color 0.15s ease !important;
  flex-shrink: 0 !important;
  margin-left: 2px !important;
}

.user-account-menu.is-open .user-account-arrow {
  transform: rotate(180deg) !important;
  color: #ffffff !important;
}

.user-account-dropdown {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  min-width: 250px !important;
  width: max-content !important;
  max-width: 300px !important;
  background: #111317 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 20px !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.05) !important;
  padding: 8px !important;
  box-sizing: border-box !important;
  display: none !important;
  flex-direction: column !important;
  z-index: 1001 !important;
  transform-origin: top right !important;
}

.user-account-menu.is-open .user-account-dropdown {
  display: flex !important;
  animation: userDropdownIn 0.15s ease-out !important;
}

.user-dropdown-nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.user-dropdown-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  color: #e2e8f0 !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  background: transparent !important;
  border: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  text-align: left !important;
  transition: background 0.12s ease, color 0.12s ease !important;
}

.user-dropdown-item:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #ffffff !important;
}

.user-dropdown-item.active {
  color: #9aefd2 !important;
  background: rgba(154, 239, 210, 0.08) !important;
}

.user-dropdown-item .icon {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  color: #9da0b3 !important;
  transition: color 0.12s ease !important;
}

.user-dropdown-item:hover .icon {
  color: #ffffff !important;
}

.user-dropdown-item.active .icon {
  color: #9aefd2 !important;
}

.user-dropdown-divider {
  height: 1px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  margin: 6px 0 !important;
  width: 100% !important;
}

.user-dropdown-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-right: 8px !important;
}

.user-dropdown-footer .logout-item {
  width: auto !important;
  flex: 1 !important;
  color: #cbd5e1 !important;
}

.user-dropdown-footer .logout-item:hover {
  color: #f87171 !important;
  background: rgba(239, 68, 68, 0.08) !important;
}

.user-dropdown-footer .logout-item:hover .icon {
  color: #f87171 !important;
}

.user-dropdown-id {
  font-size: 15px !important;
  font-family: var(--font-mono, monospace) !important;
  color: #9da0b3 !important;
  white-space: nowrap !important;
  padding-left: 8px !important;
  flex-shrink: 0 !important;
}

/* Light Theme for User Account Dropdown */
[data-theme="light"] .user-account-toggle:hover,
[data-theme="light"] .user-account-menu.is-open .user-account-toggle,
.theme-light .user-account-toggle:hover,
.theme-light .user-account-menu.is-open .user-account-toggle,
html.theme-light .user-account-toggle:hover,
html.theme-light .user-account-menu.is-open .user-account-toggle {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

[data-theme="light"] .user-account-email,
.theme-light .user-account-email,
html.theme-light .user-account-email {
  color: #11141a !important;
}

[data-theme="light"] .user-account-role,
.theme-light .user-account-role,
html.theme-light .user-account-role {
  color: #64748b !important;
}

[data-theme="light"] .user-account-arrow,
.theme-light .user-account-arrow,
html.theme-light .user-account-arrow {
  color: #64748b !important;
}

[data-theme="light"] .user-account-menu.is-open .user-account-arrow,
.theme-light .user-account-menu.is-open .user-account-arrow,
html.theme-light .user-account-menu.is-open .user-account-arrow {
  color: #11141a !important;
}

[data-theme="light"] .user-account-toggle .avatar,
.theme-light .user-account-toggle .avatar,
html.theme-light .user-account-toggle .avatar {
  background: #e2e8f0 !important;
  border: 1px solid #cbd5e1 !important;
  color: #11141a !important;
}

[data-theme="light"] .user-account-dropdown,
.theme-light .user-account-dropdown,
html.theme-light .user-account-dropdown {
  background: #ffffff !important;
  border: 1px solid #dce1e8 !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12) !important;
}

[data-theme="light"] .user-dropdown-item,
.theme-light .user-dropdown-item,
html.theme-light .user-dropdown-item {
  color: #1f2937 !important;
}

[data-theme="light"] .user-dropdown-item .icon,
.theme-light .user-dropdown-item .icon,
html.theme-light .user-dropdown-item .icon {
  color: #6b7280 !important;
}

[data-theme="light"] .user-dropdown-item:hover,
.theme-light .user-dropdown-item:hover,
html.theme-light .user-dropdown-item:hover {
  background: #f0f2f5 !important;
  color: #000000 !important;
}

[data-theme="light"] .user-dropdown-item:hover .icon,
.theme-light .user-dropdown-item:hover .icon,
html.theme-light .user-dropdown-item:hover .icon {
  color: #11141a !important;
}

[data-theme="light"] .user-dropdown-item.active,
.theme-light .user-dropdown-item.active,
html.theme-light .user-dropdown-item.active {
  color: #0f766e !important;
  background: #f0fdfa !important;
}

[data-theme="light"] .user-dropdown-item.active .icon,
.theme-light .user-dropdown-item.active .icon,
html.theme-light .user-dropdown-item.active .icon {
  color: #0f766e !important;
}

[data-theme="light"] .user-dropdown-divider,
.theme-light .user-dropdown-divider,
html.theme-light .user-dropdown-divider {
  background: #e5e7eb !important;
}

[data-theme="light"] .user-dropdown-id,
.theme-light .user-dropdown-id,
html.theme-light .user-dropdown-id {
  color: #64748b !important;
}

[data-theme="light"] .user-dropdown-footer .logout-item:hover,
.theme-light .user-dropdown-footer .logout-item:hover,
html.theme-light .user-dropdown-footer .logout-item:hover {
  color: #dc2626 !important;
  background: #fef2f2 !important;
}

[data-theme="light"] .user-dropdown-footer .logout-item:hover .icon,
.theme-light .user-dropdown-footer .logout-item:hover .icon,
html.theme-light .user-dropdown-footer .logout-item:hover .icon {
  color: #dc2626 !important;
}

@media (max-width: 650px) {
  .user-account-meta {
    display: none !important;
  }
}


/* ==========================================================================
   Avatar Alignment & Light Theme Fixes (Zero gap at bottom, Black icon in Light)
   ========================================================================== */
.avatar,
.user-account-toggle .avatar,
.app-topbar .avatar,
.topbar-account .avatar {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(154, 239, 210, 0.12) !important;
  border: 1px solid rgba(154, 239, 210, 0.3) !important;
  color: #9aefd2 !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

.avatar .icon,
.avatar .avatar-svg,
.avatar svg,
.user-account-toggle .avatar .icon,
.user-account-toggle .avatar .avatar-svg,
.user-account-toggle .avatar svg,
.app-topbar .avatar .icon,
.app-topbar .avatar .avatar-svg,
.app-topbar .avatar svg,
.topbar-account .avatar .icon,
.topbar-account .avatar .avatar-svg,
.topbar-account .avatar svg {
  width: 100% !important;
  height: 100% !important;
  color: #9aefd2 !important;
  fill: #9aefd2 !important;
  stroke: none !important;
  display: block !important;
  margin: 0 !important;
  transform: none !important;
}

/* Light Theme Avatar: person silhouette is strictly BLACK */
[data-theme="light"] .avatar,
.theme-light .avatar,
html.theme-light .avatar,
[data-theme="light"] .user-account-toggle .avatar,
.theme-light .user-account-toggle .avatar,
html.theme-light .user-account-toggle .avatar,
[data-theme="light"] .app-topbar .avatar,
.theme-light .app-topbar .avatar,
html.theme-light .app-topbar .avatar,
[data-theme="light"] .topbar-account .avatar,
.theme-light .topbar-account .avatar,
html.theme-light .topbar-account .avatar {
  background: #e2e8f0 !important;
  border: 1px solid #cbd5e1 !important;
  color: #11141a !important;
}

[data-theme="light"] .avatar .icon,
[data-theme="light"] .avatar .avatar-svg,
[data-theme="light"] .avatar svg,
.theme-light .avatar .icon,
.theme-light .avatar .avatar-svg,
.theme-light .avatar svg,
html.theme-light .avatar .icon,
html.theme-light .avatar .avatar-svg,
html.theme-light .avatar svg,
[data-theme="light"] .user-account-toggle .avatar .icon,
[data-theme="light"] .user-account-toggle .avatar .avatar-svg,
[data-theme="light"] .user-account-toggle .avatar svg,
.theme-light .user-account-toggle .avatar .icon,
.theme-light .user-account-toggle .avatar .avatar-svg,
.theme-light .user-account-toggle .avatar svg,
html.theme-light .user-account-toggle .avatar .icon,
html.theme-light .user-account-toggle .avatar .avatar-svg,
html.theme-light .user-account-toggle .avatar svg,
[data-theme="light"] .app-topbar .avatar .icon,
[data-theme="light"] .app-topbar .avatar .avatar-svg,
[data-theme="light"] .app-topbar .avatar svg,
.theme-light .app-topbar .avatar .icon,
.theme-light .app-topbar .avatar .avatar-svg,
.theme-light .app-topbar .avatar svg,
html.theme-light .app-topbar .avatar .icon,
html.theme-light .app-topbar .avatar .avatar-svg,
html.theme-light .app-topbar .avatar svg,
[data-theme="light"] .topbar-account .avatar .icon,
[data-theme="light"] .topbar-account .avatar .avatar-svg,
[data-theme="light"] .topbar-account .avatar svg,
.theme-light .topbar-account .avatar .icon,
.theme-light .topbar-account .avatar .avatar-svg,
.theme-light .topbar-account .avatar svg,
html.theme-light .topbar-account .avatar .icon,
html.theme-light .topbar-account .avatar .avatar-svg,
html.theme-light .topbar-account .avatar svg {
  color: #11141a !important;
  fill: #11141a !important;
  stroke: none !important;
}

/* Ensure topbar stacking context and identical header size (64px) across Landing and Workspace */
:root {
  --topbar-height: 64px !important;
}

.app-topbar,
html.theme-light .app-topbar,
header.app-topbar {
  position: relative !important;
  z-index: 1000 !important;
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
  box-sizing: border-box !important;
}

.product-landing .topnav,
html.theme-light .product-landing .topnav,
.topnav,
html.theme-light .topnav {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
  box-sizing: border-box !important;
}

.product-landing {
  padding-top: 0 !important;
}

.user-account-menu {
  position: relative !important;
  z-index: 1001 !important;
}

.user-account-dropdown {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  z-index: 1002 !important;
  pointer-events: auto !important;
}

.user-dropdown-nav,
.user-dropdown-footer {
  position: relative !important;
  z-index: 1003 !important;
  pointer-events: auto !important;
}

.user-dropdown-item {
  position: relative !important;
  z-index: 1004 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Light Theme Dropdown Items Hover and Contrast */
[data-theme="light"] .user-account-dropdown,
.theme-light .user-account-dropdown,
html.theme-light .user-account-dropdown {
  background: #ffffff !important;
  border: 1px solid #dce1e8 !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  pointer-events: auto !important;
}

[data-theme="light"] .user-dropdown-item,
.theme-light .user-dropdown-item,
html.theme-light .user-dropdown-item {
  color: #1f2937 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

[data-theme="light"] .user-dropdown-item .icon,
.theme-light .user-dropdown-item .icon,
html.theme-light .user-dropdown-item .icon {
  color: #64748b !important;
  pointer-events: none !important;
}

[data-theme="light"] .user-dropdown-item:hover,
.theme-light .user-dropdown-item:hover,
html.theme-light .user-dropdown-item:hover {
  background: #f1f5f9 !important;
  color: #0f172a !important;
}

[data-theme="light"] .user-dropdown-item:hover .icon,
.theme-light .user-dropdown-item:hover .icon,
html.theme-light .user-dropdown-item:hover .icon {
  color: #0f172a !important;
}

/* Welcome inside workspace panel */
.welcome-workspace-wrap {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 8px 0 36px;
  box-sizing: border-box;
}

.welcome-workspace-wrap .welcome-head {
  text-align: center;
  margin-bottom: 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.welcome-workspace-wrap .welcome-title {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #ffffff;
  margin: 0 0 10px;
  line-height: 1.25;
}

[data-theme="light"] .welcome-workspace-wrap .welcome-title,
.theme-light .welcome-workspace-wrap .welcome-title,
html.theme-light .welcome-workspace-wrap .welcome-title {
  color: #11141a !important;
}

.welcome-workspace-wrap .welcome-subtitle {
  font-size: 16px;
  color: #9da0b3;
  line-height: 1.5;
  margin: 0 0 20px;
  max-width: 620px;
}

[data-theme="light"] .welcome-workspace-wrap .welcome-subtitle,
.theme-light .welcome-workspace-wrap .welcome-subtitle,
html.theme-light .welcome-workspace-wrap .welcome-subtitle {
  color: #4b5563 !important;
}

@media (max-width: 1080px) {
  .welcome-workspace-wrap .onboarding-cards-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}


/* ==========================================================================
   Centered Hero Section & AI Model Badges (per user request)
   ========================================================================== */
.hero-ai-badges {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 0 auto 24px !important;
}

.hero-ai-badge {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.hero-ai-badge:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.hero-ai-badge img {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  object-fit: contain !important;
}

/* Light Theme Badges */
[data-theme="light"] .hero-ai-badge,
.theme-light .hero-ai-badge,
html.theme-light .hero-ai-badge {
  background: #ffffff !important;
  border: 1px solid #dce1e8 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06) !important;
}

[data-theme="light"] .hero-ai-badge:hover,
.theme-light .hero-ai-badge:hover,
html.theme-light .hero-ai-badge:hover {
  border-color: #94a3b8 !important;
  background: #f8fafc !important;
}

[data-theme="light"] .hero-ai-badge img[src*="grok"],
.theme-light .hero-ai-badge img[src*="grok"],
html.theme-light .hero-ai-badge img[src*="grok"] {
  filter: invert(1) brightness(0.1) !important;
}

/* Centered product-hero with strong specificity */
.product-landing .product-hero,
.product-hero {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 56px 0 48px !important;
  width: 100% !important;
  max-width: 960px !important;
  margin: 0 auto !important;
}

.product-landing .product-hero-copy,
.product-hero-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 auto !important;
}

.product-landing .product-hero h1,
.product-hero h1 {
  text-align: center !important;
  max-width: 840px !important;
  margin: 0 auto 20px !important;
  font-size: clamp(36px, 4.4vw, 56px) !important;
  line-height: 1.18 !important;
}

.product-landing .product-hero-copy > p,
.product-hero-copy > p {
  text-align: center !important;
  max-width: 660px !important;
  margin: 0 auto 30px !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
}

.product-landing .product-hero-actions,
.product-hero-actions {
  justify-content: center !important;
  gap: 16px !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.product-landing .product-benefits,
.product-benefits {
  justify-content: center !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.product-landing .product-payments,
.product-payments {
  align-items: center !important;
  max-width: 100% !important;
  margin-top: 0 !important;
}

.product-landing .product-payments-badges,
.product-payments-badges {
  justify-content: center !important;
}

/* ==========================================================================
   Header Stability: Prevent Jitter / Squeezing when switching pages
   ========================================================================== */
html {
  scrollbar-gutter: stable !important;
}

.product-landing .topnav,
html.theme-light .product-landing .topnav,
.topnav,
html.theme-light .topnav {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
  box-sizing: border-box !important;
}

@media (min-width: 769px) {
  .product-landing .topnav-inner > .topnav-actions,
  .topnav-actions {
    padding-right: 36px !important;
    gap: 10px !important;
  }

  .app-topbar,
  html.theme-light .app-topbar,
  header.app-topbar {
    position: relative !important;
    z-index: 1000 !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    padding-left: 36px !important;
    padding-right: 36px !important;
    box-sizing: border-box !important;
  }

  .user-menu,
  .topnav-actions,
  .app-topbar .user-menu,
  .product-landing .topnav-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
    min-width: max-content !important;
  }

  .app-topbar .user-menu {
    margin-left: auto !important;
  }

  /* Identical heights, paddings, and font sizes across Landing & Workspace to prevent squeezing */
  .topbar-balance,
  .product-landing .topnav-actions .topbar-balance,
  .app-topbar .topbar-balance {
    font-size: 14px !important;
    font-weight: 550 !important;
    font-family: inherit !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    border-radius: 999px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }

  .currency-toggle,
  .product-landing .topnav-actions .currency-toggle,
  .app-topbar .currency-toggle {
    font-size: 13.5px !important;
    font-weight: 500 !important;
    font-family: inherit !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    border-radius: 8px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }

  .theme-toggle,
  .product-landing .topnav-actions .theme-toggle,
  .app-topbar .theme-toggle,
  .product-landing .topnav-actions .icon-btn {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
  }

  .user-account-toggle,
  .product-landing .topnav-actions .user-account-toggle,
  .app-topbar .user-account-toggle {
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    border-radius: 999px !important;
    padding: 2px 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }

  .user-account-email {
    font-size: 14px !important;
    font-weight: 550 !important;
    max-width: 220px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
  }
}

@media (max-width: 768px) {
  .product-landing .topnav,
  html.theme-light .product-landing .topnav,
  .topnav,
  html.theme-light .topnav,
  .app-topbar,
  html.theme-light .app-topbar,
  header.app-topbar {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
  }

  .product-landing .topnav-inner,
  .topnav-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    gap: 6px !important;
  }

  .product-landing .topnav-inner > .logo,
  .topnav-inner > .logo,
  .product-landing .topnav .logo {
    display: inline-flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    min-width: max-content !important;
    padding-left: 0 !important;
    margin-right: auto !important;
    z-index: 2 !important;
  }

  .product-landing .topnav-inner > .nav-links,
  .topnav-inner > .nav-links {
    display: none !important;
  }

  .product-landing .topnav-inner > .topnav-actions,
  .topnav-actions,
  .app-topbar .user-menu,
  .product-landing .topnav-actions,
  .user-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    padding-right: 0 !important;
    min-width: 0 !important;
    flex-shrink: 1 !important;
    margin-left: auto !important;
  }

  .theme-toggle,
  .product-landing .topnav-actions .theme-toggle,
  .app-topbar .theme-toggle {
    display: none !important;
  }

  .currency-toggle,
  .product-landing .topnav-actions .currency-toggle,
  .app-topbar .currency-toggle {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 0 6px !important;
    font-size: 12.5px !important;
    gap: 3px !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
  }

  .currency-arrow,
  .lang-arrow {
    display: none !important;
  }

  .topbar-balance,
  .product-landing .topnav-actions .topbar-balance,
  .app-topbar .topbar-balance {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 0 10px !important;
    font-size: 13px !important;
    gap: 6px !important;
    border-radius: 999px !important;
    max-width: none !important;
    width: auto !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
  }

  .topbar-balance span {
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  .user-account-toggle,
  .product-landing .topnav-actions .user-account-toggle,
  .app-topbar .user-account-toggle {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    padding: 0 !important;
    justify-content: center !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
  }

  .user-account-toggle .avatar,
  .user-account-menu .avatar {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
  }

  .user-account-meta,
  .user-account-arrow {
    display: none !important;
  }

  .landing-mobile-nav {
    display: block !important;
    position: static !important;
    flex-shrink: 0 !important;
  }

  .landing-mobile-nav summary {
    display: grid !important;
    place-items: center !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    border-radius: 7px !important;
    box-sizing: border-box !important;
  }

  .topnav-actions>.btn,
  .topnav-actions .topnav-login-btn,
  .product-landing .topnav .btn {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 0 10px !important;
    font-size: 13.5px !important;
    border-radius: 7px !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
  }
}

@media (max-width: 390px) {
  .product-landing .topnav,
  html.theme-light .product-landing .topnav,
  .topnav,
  html.theme-light .topnav,
  .app-topbar,
  html.theme-light .app-topbar,
  header.app-topbar {
    padding: 0 8px !important;
  }

  .product-landing .topnav-inner,
  .topnav-inner {
    padding: 0 !important;
    gap: 4px !important;
  }

  .product-landing .topnav-inner > .topnav-actions,
  .topnav-actions,
  .app-topbar .user-menu,
  .product-landing .topnav-actions,
  .user-menu {
    gap: 8px !important;
  }

  .currency-toggle,
  .product-landing .topnav-actions .currency-toggle,
  .app-topbar .currency-toggle {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 4px !important;
    font-size: 11.5px !important;
  }

  .topbar-balance,
  .product-landing .topnav-actions .topbar-balance,
  .app-topbar .topbar-balance {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
    max-width: none !important;
    width: auto !important;
  }

  .topbar-balance span {
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  .user-account-toggle,
  .product-landing .topnav-actions .user-account-toggle,
  .app-topbar .user-account-toggle {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
  }

  .landing-mobile-nav summary {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
  }

  .topnav-actions>.btn,
  .topnav-actions .topnav-login-btn,
  .product-landing .topnav .btn {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 8px !important;
    font-size: 12.5px !important;
  }
}

/* ==========================================================================
   Hero Copy Bold Brands & Dedicated Payment Methods Section
   ========================================================================== */
.product-hero-copy strong,
.product-hero strong {
  font-weight: 600 !important;
  color: #ffffff !important;
}

[data-theme="light"] .product-hero-copy strong,
.theme-light .product-hero-copy strong,
html.theme-light .product-hero-copy strong,
[data-theme="light"] .product-hero strong,
.theme-light .product-hero strong,
html.theme-light .product-hero strong {
  color: #11141a !important;
}

.product-payments-section {
  padding-top: 54px !important;
  padding-bottom: 24px !important;
  margin-top: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.payments-section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  margin-bottom: 0 !important;
}

.payments-section-head h2 {
  font-size: 32px !important;
  line-height: 1.3 !important;
  letter-spacing: -1px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  color: #ffffff !important;
}

html.theme-light .payments-section-head h2,
[data-theme="light"] .payments-section-head h2,
.theme-light .payments-section-head h2 {
  color: #11141a !important;
}

.payments-banner-icons {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  flex-shrink: 0 !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
}

.payment-logo-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  height: auto !important;
  min-width: unset !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease !important;
  box-sizing: border-box !important;
}

.payment-logo-badge:hover {
  transform: translateY(-2px) scale(1.08) !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.payment-logo-badge img {
  display: block !important;
  object-fit: contain !important;
  max-height: 38px !important;
  width: auto !important;
}

[data-theme="light"] .payment-logo-badge,
.theme-light .payment-logo-badge,
html.theme-light .payment-logo-badge {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

[data-theme="light"] .payment-logo-badge:hover,
.theme-light .payment-logo-badge:hover,
html.theme-light .payment-logo-badge:hover {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

@media (max-width: 960px) {
  .payments-section-head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
  }
  .payments-banner-icons {
    justify-content: flex-start !important;
    gap: 16px !important;
  }
}

@media (max-width: 500px) {
  .payments-section-head h2 {
    font-size: 24px !important;
    letter-spacing: -0.6px !important;
  }
  .payment-logo-badge {
    height: auto !important;
    min-width: unset !important;
    padding: 0 !important;
  }
}

/* ==========================================================================
   Product Tools Section (Centered, title on top, no dots)
   ========================================================================== */
.product-tools {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 16px !important;
  padding: 32px 0 26px !important;
  border: none !important;
  border-block: none !important;
  border-top: none !important;
  border-bottom: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.product-landing .product-tools > span,
.product-tools > span,
.product-tools-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  max-width: none !important;
  text-align: center !important;
  display: block !important;
  letter-spacing: -0.015em !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

.product-tools-list,
.product-tools > div {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px 20px !important;
  font-size: 15.5px !important;
  color: #b0c4bc !important;
  text-align: center !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  word-spacing: normal !important;
}

.product-tools-list span,
.product-tools > div > span {
  padding: 0 !important;
  white-space: nowrap !important;
  color: #b0c4bc !important;
  transition: color 0.15s ease !important;
}

.product-tools-list span:hover,
.product-tools > div > span:hover {
  color: #ffffff !important;
}

[data-theme="light"] .product-tools > span,
.theme-light .product-tools > span,
html.theme-light .product-tools > span,
[data-theme="light"] .product-tools-title,
.theme-light .product-tools-title,
html.theme-light .product-tools-title {
  color: #11141a !important;
}

[data-theme="light"] .product-tools-list,
.theme-light .product-tools-list,
html.theme-light .product-tools-list,
[data-theme="light"] .product-tools > div,
.theme-light .product-tools > div,
html.theme-light .product-tools > div {
  color: #4b5563 !important;
}

[data-theme="light"] .product-tools-list span,
.theme-light .product-tools-list span,
html.theme-light .product-tools-list span,
[data-theme="light"] .product-tools > div > span,
.theme-light .product-tools > div > span,
html.theme-light .product-tools > div > span {
  color: #4b5563 !important;
}

[data-theme="light"] .product-tools-list span:hover,
.theme-light .product-tools-list span:hover,
html.theme-light .product-tools-list span:hover,
[data-theme="light"] .product-tools > div > span:hover,
.theme-light .product-tools > div > span:hover,
html.theme-light .product-tools > div > span:hover {
  color: #11141a !important;
}

@media (max-width: 768px) {
  .product-tools {
    gap: 14px !important;
    padding: 24px 0 !important;
  }
  .product-tools-list,
  .product-tools > div {
    gap: 8px 18px !important;
    font-size: 14.5px !important;
  }
}

/* ==========================================================================
   Popular Chat Models Table (Lines layout per user request)
   ========================================================================== */
.popular-models-table {
  width: 100% !important;
  margin-top: 14px !important;
  margin-bottom: 30px !important;
  background: rgba(255, 255, 255, 0.025) !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.popular-models-header,
.popular-model-row {
  display: grid !important;
  grid-template-columns: minmax(280px, 2.2fr) minmax(160px, 1fr) minmax(160px, 1fr) !important;
  align-items: center !important;
  padding: 16px 24px !important;
  box-sizing: border-box !important;
}

.popular-models-header {
  border-bottom: 1px solid var(--line) !important;
  background: rgba(255, 255, 255, 0.02) !important;
}

.popular-models-header .popular-th,
.popular-models-header > div {
  font-size: 15.5px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

.popular-model-row {
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
  text-decoration: none !important;
  color: inherit !important;
  transition: background 0.15s ease !important;
}

.popular-model-row:hover {
  background: rgba(255, 255, 255, 0.04) !important;
}

.popular-model-row:last-child {
  border-bottom: none !important;
}

.popular-col-name {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
}

.popular-model-logo {
  width: 22px !important;
  height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.popular-model-logo img {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  object-fit: contain !important;
}

.popular-model-title {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  letter-spacing: -0.01em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.popular-col-rate {
  font-size: 15.5px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}

/* Light Theme */
[data-theme="light"] .popular-models-table,
.theme-light .popular-models-table,
html.theme-light .popular-models-table {
  background: #ffffff !important;
  border: 1px solid #dce1e8 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
}

[data-theme="light"] .popular-models-header,
.theme-light .popular-models-header,
html.theme-light .popular-models-header {
  background: #f8fafc !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

[data-theme="light"] .popular-models-header .popular-th,
[data-theme="light"] .popular-models-header > div,
.theme-light .popular-models-header .popular-th,
.theme-light .popular-models-header > div,
html.theme-light .popular-models-header .popular-th,
html.theme-light .popular-models-header > div {
  color: #11141a !important;
}

[data-theme="light"] .popular-model-row,
.theme-light .popular-model-row,
html.theme-light .popular-model-row {
  border-bottom: 1px solid #f1f5f9 !important;
}

[data-theme="light"] .popular-model-row:last-child,
.theme-light .popular-model-row:last-child,
html.theme-light .popular-model-row:last-child {
  border-bottom: none !important;
}

[data-theme="light"] .popular-model-row:hover,
.theme-light .popular-model-row:hover,
html.theme-light .popular-model-row:hover {
  background: #f8fafc !important;
}

[data-theme="light"] .popular-model-title,
.theme-light .popular-model-title,
html.theme-light .popular-model-title {
  color: #11141a !important;
}

[data-theme="light"] .popular-col-rate,
.theme-light .popular-col-rate,
html.theme-light .popular-col-rate {
  color: #11141a !important;
}

@media (max-width: 680px) {
  .popular-models-table {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    border-radius: 12px !important;
    margin-top: 12px !important;
    margin-bottom: 24px !important;
    box-sizing: border-box !important;
  }
  .popular-models-header,
  .popular-model-row {
    min-width: 0 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.95fr) minmax(0, 0.95fr) !important;
    padding: 12px 10px !important;
    gap: 6px !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }
  .popular-col-name {
    gap: 7px !important;
    min-width: 0 !important;
  }
  .popular-model-logo {
    width: 18px !important;
    height: 18px !important;
  }
  .popular-model-logo img {
    width: 18px !important;
    height: 18px !important;
  }
  .popular-model-title {
    font-size: 13px !important;
    letter-spacing: -0.015em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .popular-models-header .popular-th,
  .popular-models-header > div {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .popular-models-header .popular-th-sub {
    display: none !important;
  }
  .popular-col-rate {
    font-size: 12.5px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 375px) {
  .popular-models-header,
  .popular-model-row {
    padding: 10px 8px !important;
    gap: 4px !important;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.95fr) minmax(0, 0.95fr) !important;
  }
  .popular-col-name {
    gap: 5px !important;
  }
  .popular-model-logo {
    width: 16px !important;
    height: 16px !important;
  }
  .popular-model-logo img {
    width: 16px !important;
    height: 16px !important;
  }
  .popular-model-title {
    font-size: 12px !important;
  }
  .popular-models-header .popular-th,
  .popular-models-header > div {
    font-size: 11.5px !important;
  }
  .popular-col-rate {
    font-size: 11.5px !important;
  }
}

/* Bounce animation for attention chips and bonus plates */
@keyframes badge-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  14% {
    transform: translateY(-5px);
  }
  28% {
    transform: translateY(0);
  }
  42% {
    transform: translateY(-2.5px);
  }
  56% {
    transform: translateY(0);
  }
}

/* First top-up bonus styles - Neutral & refined, no green in light theme */
.topup-bonus-hint {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 16px !important;
  font-size: 13.5px;
  line-height: 1.4;
  margin-bottom: 18px;
  transition: all 0.2s ease;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #e2e4ee;
}
.topup-bonus-hint .bonus-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #f1f3f9;
}
.topup-bonus-hint.bonus-active {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #ffffff;
}
.topup-bonus-hint.bonus-needed {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #9da0b3;
}

/* Light / White theme: ZERO green, strictly neutral & crisp */
[data-theme="light"] .topup-bonus-hint,
.theme-light .topup-bonus-hint,
html.theme-light .topup-bonus-hint {
  background: #f4f5f8 !important;
  border: 1px solid #dce0e8 !important;
  color: #1a1e28 !important;
}
[data-theme="light"] .topup-bonus-hint .bonus-icon,
.theme-light .topup-bonus-hint .bonus-icon,
html.theme-light .topup-bonus-hint .bonus-icon {
  color: #1a1e28 !important;
}
[data-theme="light"] .topup-bonus-hint.bonus-active,
.theme-light .topup-bonus-hint.bonus-active,
html.theme-light .topup-bonus-hint.bonus-active {
  background: #f1f3f7 !important;
  border-color: #d0d5dd !important;
  color: #11141a !important;
}
[data-theme="light"] .topup-bonus-hint.bonus-needed,
.theme-light .topup-bonus-hint.bonus-needed,
html.theme-light .topup-bonus-hint.bonus-needed {
  background: #f8f9fa !important;
  border-color: #e5e7eb !important;
  color: #64748b !important;
}

/* Sidebar first top-up bonus plate in left menu (bouncing, no checkmark, larger text) */
.sidebar-topup-bonus {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 11px 14px;
  margin-bottom: 9px;
  border-radius: 18px;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.35;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #ffffff;
  transition: all 0.15s ease;
  animation: badge-bounce 3.2s ease-in-out infinite;
}
.sidebar-topup-bonus:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.22);
}
[data-theme="light"] .sidebar-topup-bonus,
.theme-light .sidebar-topup-bonus,
html.theme-light .sidebar-topup-bonus {
  background: #f4f5f8 !important;
  border: 1px solid #dce0e8 !important;
  color: #11141a !important;
}
[data-theme="light"] .sidebar-topup-bonus:hover,
.theme-light .sidebar-topup-bonus:hover,
html.theme-light .sidebar-topup-bonus:hover {
  background: #eaedf2 !important;
  border-color: #cbd2dc !important;
}

/* Billing page first top-up banner */
.billing-first-topup-banner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  margin-bottom: 20px;
}
.billing-first-topup-banner .first-topup-badge {
  font-size: 13px;
  font-weight: 600;
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border-radius: 999px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.billing-first-topup-banner .first-topup-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 13px;
  color: #c4c4d4;
}
.billing-first-topup-banner .first-topup-info strong {
  color: #fff;
  font-size: 14px;
}
[data-theme="light"] .billing-first-topup-banner,
.theme-light .billing-first-topup-banner,
html.theme-light .billing-first-topup-banner {
  background: #f4f5f8 !important;
  border: 1px solid #dce0e8 !important;
  color: #11141a !important;
}
[data-theme="light"] .billing-first-topup-banner .first-topup-badge,
.theme-light .billing-first-topup-banner .first-topup-badge,
html.theme-light .billing-first-topup-banner .first-topup-badge {
  background: #11141a !important;
  color: #ffffff !important;
}
[data-theme="light"] .billing-first-topup-banner .first-topup-info,
.theme-light .billing-first-topup-banner .first-topup-info,
html.theme-light .billing-first-topup-banner .first-topup-info {
  color: #5e6573 !important;
}
[data-theme="light"] .billing-first-topup-banner .first-topup-info strong,
.theme-light .billing-first-topup-banner .first-topup-info strong,
html.theme-light .billing-first-topup-banner .first-topup-info strong {
  color: #11141a !important;
}

/* ==========================================================================
   Workspace Mode Switcher Tabs (Чат, Картинки, Видео)
   ========================================================================== */
.workspace-mode-nav {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px !important;
  box-sizing: border-box;
  flex-shrink: 0;
}

.workspace-mode-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 32px;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px !important;
  border: 1px solid transparent;
  background: transparent;
  color: #9da0b3;
  font-family: inherit;
  font-size: 13px;
  font-weight: 550;
  text-decoration: none !important;
  cursor: pointer;
  white-space: nowrap;
  user-select: none;
  transition: all 0.16s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
}

.workspace-mode-btn .icon {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  flex-shrink: 0;
  opacity: 0.85;
}

.workspace-mode-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}

.workspace-mode-btn.active {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.workspace-mode-btn.active .icon {
  opacity: 1;
}

/* Light Theme: strictly clean neutral styling, NO green */
[data-theme="light"] .workspace-mode-nav,
.theme-light .workspace-mode-nav,
html.theme-light .workspace-mode-nav {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .workspace-mode-btn,
.theme-light .workspace-mode-btn,
html.theme-light .workspace-mode-btn {
  color: #4b5563;
}

[data-theme="light"] .workspace-mode-btn:hover,
.theme-light .workspace-mode-btn:hover,
html.theme-light .workspace-mode-btn:hover {
  color: #111827;
  background: rgba(0, 0, 0, 0.05);
}

[data-theme="light"] .workspace-mode-btn.active,
.theme-light .workspace-mode-btn.active,
html.theme-light .workspace-mode-btn.active {
  background: #ffffff;
  border-color: rgba(0, 0, 0, 0.12);
  color: #111827;
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* ==========================================================================
   Chat-style Images & Videos Workspace Refinements
   ========================================================================== */

/* Full layout & scrolling container parity */
.image-chat-messages,
.video-chat-messages {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px 24px;
  overflow-y: auto;
  flex: 1 1 auto;
  min-height: 0;
  -webkit-overflow-scrolling: touch;
}

/* Composer settings bar above input */
.composer-settings-bar,
[data-page=images] .composer-settings-bar,
[data-page=videos] .composer-settings-bar,
[data-page=audio] .composer-settings-bar,
[data-page=speech] .composer-settings-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 14px;
  padding: 4px 2px 4px 2px;
  border: none !important;
  border-bottom: none !important;
  border-top: none !important;
  margin-bottom: 6px;
}

.image-ratio-chips-compact,
.video-res-chips-compact,
.video-dur-chips-compact {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.video-settings-group {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.settings-bar-label {
  font-size: 15px;
  font-weight: 500;
  color: var(--text-secondary, #94a3b8);
  white-space: nowrap;
}

/* Compact ratio & option buttons */
.ratio-chip-compact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 34px;
  padding: 0 12px;
  font-size: 15px;
  font-weight: 500;
  color: var(--text-secondary, #94a3b8);
  background: var(--surface-soft, rgba(255, 255, 255, 0.05));
  border: 1px solid var(--border-soft, rgba(255, 255, 255, 0.12));
  border-radius: 999px !important;
  cursor: pointer;
  transition: all 0.15s ease;
  user-select: none;
}

.video-segment-btn:not(.is-active):not([aria-checked="true"]) {
  background: transparent !important;
  border-color: transparent !important;
  color: var(--text-secondary, #94a3b8) !important;
}

.ratio-chip-compact:hover:not(:disabled):not(.is-active):not([aria-checked="true"]),
.video-segment-btn:hover:not(:disabled):not(.is-active):not([aria-checked="true"]) {
  color: var(--text, #f8fafc);
  background: var(--surface-hover, rgba(255, 255, 255, 0.09));
  border-color: var(--border-medium, rgba(255, 255, 255, 0.22));
}

.ratio-chip-compact.is-active,
.ratio-chip-compact[aria-checked="true"],
.ratio-chip-compact.is-active:hover,
.ratio-chip-compact[aria-checked="true"]:hover,
.video-segment-btn.is-active,
.video-segment-btn[aria-checked="true"],
.video-segment-btn.is-active:hover,
.video-segment-btn[aria-checked="true"]:hover {
  color: #082119 !important;
  background: var(--accent, #9aefd2) !important;
  border-color: #bbf8e2 !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 10px rgba(154, 239, 210, 0.25) !important;
}

.ratio-chip-compact.is-active span,
.ratio-chip-compact[aria-checked="true"] span,
.video-segment-btn.is-active span,
.video-segment-btn[aria-checked="true"] span {
  color: #082119 !important;
  font-weight: 600 !important;
}

.ratio-chip-compact.is-active .ratio-icon,
.ratio-chip-compact.is-active svg,
.ratio-chip-compact[aria-checked="true"] .ratio-icon,
.ratio-chip-compact[aria-checked="true"] svg {
  color: #082119 !important;
  stroke: #082119 !important;
  fill: none !important;
}

.ratio-chip-compact.is-active rect,
.ratio-chip-compact[aria-checked="true"] rect {
  stroke: #082119 !important;
}

.ratio-chip-compact:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.ratio-chip-compact .ratio-icon {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

/* Price badges in composer settings */
.composer-settings-meta {
  display: inline-flex;
  align-items: center;
  margin-left: auto;
}

.composer-price-badge,
.video-price-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  font-size: 15px;
  font-weight: 600;
  border-radius: 999px !important;
  background: var(--surface-soft, rgba(255, 255, 255, 0.06));
  border: 1px solid var(--border-soft, rgba(255, 255, 255, 0.14));
  color: var(--text, #f8fafc);
  white-space: nowrap;
}

/* Reference image preview cards */
.image-reference-card,
.video-reference-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  margin-bottom: 8px;
  background: var(--surface-soft, rgba(255, 255, 255, 0.06));
  border: 1px solid var(--border-soft, rgba(255, 255, 255, 0.14));
  border-radius: 8px;
}

.image-reference-card img,
.video-reference-card img {
  width: 44px;
  height: 44px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
}

.image-reference-info,
.video-reference-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}

.image-reference-info strong,
.video-reference-info strong {
  font-size: 15px;
  font-weight: 600;
  color: var(--text, #f8fafc);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.image-reference-info small,
.video-reference-info small {
  font-size: 15px;
  color: var(--text-secondary, #94a3b8);
}

.image-ref-remove,
.video-ref-remove {
  flex-shrink: 0;
}

/* Prompt tag chips below composer */
.composer-prompt-chips {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.composer-prompt-chips .prompt-chip {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 12px;
  font-size: 15px;
  color: var(--text-secondary, #94a3b8);
  background: var(--surface-soft, rgba(255, 255, 255, 0.04));
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.1));
  border-radius: 999px !important;
  cursor: pointer;
  transition: all 0.15s ease;
  user-select: none;
}

.composer-prompt-chips .prompt-chip:hover {
  color: var(--text, #f8fafc);
  background: var(--surface-hover, rgba(255, 255, 255, 0.08));
  border-color: var(--border-medium, rgba(255, 255, 255, 0.2));
}

/* Video chat cards */
.video-chat-card {
  margin-top: 10px;
  max-width: 680px;
  border-radius: 8px;
  border: 1px solid var(--border-soft, rgba(255, 255, 255, 0.12));
  background: var(--surface, #151921);
  overflow: hidden;
}

.chat-video-viewport {
  background: #000000;
  display: flex;
  align-items: center;
  justify-content: center;
  max-height: 440px;
  overflow: hidden;
}

.chat-video-player {
  display: block;
  width: 100%;
  max-height: 440px;
  outline: none;
}

.video-chat-card-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 14px;
  background: var(--surface-soft, rgba(255, 255, 255, 0.03));
  border-top: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
}

.video-card-footer-note {
  padding: 6px 14px 10px 14px;
}

.video-card-footer-note small {
  font-size: 15px;
  color: var(--text-muted, #64748b);
}

/* Processing & failed states */
.image-processing-box,
.video-processing-box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  padding: 16px 18px;
  margin-top: 10px;
  border-radius: 8px;
  background: var(--surface-soft, rgba(255, 255, 255, 0.04));
  border: 1px solid var(--border-soft, rgba(255, 255, 255, 0.1));
}

.image-spinner,
.video-spinner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.image-processing-info,
.video-processing-info {
  flex: 1 1 200px;
}

.image-processing-info strong,
.video-processing-info strong {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: var(--text, #f8fafc);
  margin-bottom: 2px;
}

.image-processing-info p,
.video-processing-info p {
  margin: 0;
  font-size: 15px;
  color: var(--text-secondary, #94a3b8);
  line-height: 1.4;
}

.image-failed-box,
.video-failed-box {
  margin-top: 10px;
  padding: 14px 16px;
  border-radius: 8px;
  background: var(--surface-soft, rgba(255, 255, 255, 0.04));
  border: 1px solid var(--border-soft, rgba(255, 255, 255, 0.1));
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

.image-failed-box p,
.video-failed-box p {
  margin: 0;
  font-size: 15px;
  color: var(--text-secondary, #94a3b8);
}

/* Light Theme overrides: strictly neutral, NO green */
[data-theme="light"] .composer-settings-bar,
.theme-light .composer-settings-bar,
html.theme-light .composer-settings-bar {
  border: none !important;
  border-bottom: none !important;
}

/* Neutral black in light theme: no red and no green */
[data-theme="light"] .chat-access,
.theme-light .chat-access,
html.theme-light .chat-access {
  color: #11141a !important;
}
[data-theme="light"] .chat-access a,
.theme-light .chat-access a,
html.theme-light .chat-access a {
  color: #11141a !important;
  text-decoration: underline !important;
}
[data-theme="light"] .chat-access a:hover,
.theme-light .chat-access a:hover,
html.theme-light .chat-access a:hover {
  color: #000000 !important;
}
[data-theme="light"] .chat-access .icon,
.theme-light .chat-access .icon,
html.theme-light .chat-access .icon {
  color: #11141a !important;
  stroke: #11141a !important;
}

[data-theme="light"] .settings-bar-label,
.theme-light .settings-bar-label,
html.theme-light .settings-bar-label {
  color: #4b5563;
}

[data-theme="light"] .ratio-chip-compact,
.theme-light .ratio-chip-compact,
html.theme-light .ratio-chip-compact {
  color: #4b5563;
  background: #f8fafc;
  border-color: #e2e8f0;
}

[data-theme="light"] .video-segment-btn:not(.is-active):not([aria-checked="true"]),
.theme-light .video-segment-btn:not(.is-active):not([aria-checked="true"]),
html.theme-light .video-segment-btn:not(.is-active):not([aria-checked="true"]) {
  background: transparent !important;
  border-color: transparent !important;
  color: #4b5563 !important;
}

[data-theme="light"] .ratio-chip-compact:hover:not(:disabled):not(.is-active):not([aria-checked="true"]),
.theme-light .ratio-chip-compact:hover:not(:disabled):not(.is-active):not([aria-checked="true"]),
html.theme-light .ratio-chip-compact:hover:not(:disabled):not(.is-active):not([aria-checked="true"]),
[data-theme="light"] .video-segment-btn:hover:not(:disabled):not(.is-active):not([aria-checked="true"]),
.theme-light .video-segment-btn:hover:not(:disabled):not(.is-active):not([aria-checked="true"]),
html.theme-light .video-segment-btn:hover:not(:disabled):not(.is-active):not([aria-checked="true"]) {
  color: #111827;
  background: #f1f5f9;
  border-color: #cbd5e1;
}

[data-theme="light"] .ratio-chip-compact.is-active,
[data-theme="light"] .ratio-chip-compact[aria-checked="true"],
.theme-light .ratio-chip-compact.is-active,
.theme-light .ratio-chip-compact[aria-checked="true"],
html.theme-light .ratio-chip-compact.is-active,
html.theme-light .ratio-chip-compact[aria-checked="true"],
[data-theme="light"] .ratio-chip-compact.is-active:hover,
[data-theme="light"] .ratio-chip-compact[aria-checked="true"]:hover,
.theme-light .ratio-chip-compact.is-active:hover,
.theme-light .ratio-chip-compact[aria-checked="true"]:hover,
html.theme-light .ratio-chip-compact.is-active:hover,
html.theme-light .ratio-chip-compact[aria-checked="true"]:hover,
[data-theme="light"] .video-segment-btn.is-active,
[data-theme="light"] .video-segment-btn[aria-checked="true"],
.theme-light .video-segment-btn.is-active,
.theme-light .video-segment-btn[aria-checked="true"],
html.theme-light .video-segment-btn.is-active,
html.theme-light .video-segment-btn[aria-checked="true"],
[data-theme="light"] .video-segment-btn.is-active:hover,
[data-theme="light"] .video-segment-btn[aria-checked="true"]:hover,
.theme-light .video-segment-btn.is-active:hover,
.theme-light .video-segment-btn[aria-checked="true"]:hover,
html.theme-light .video-segment-btn.is-active:hover,
html.theme-light .video-segment-btn[aria-checked="true"]:hover {
  color: #ffffff !important;
  background: #111827 !important;
  border-color: #111827 !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

[data-theme="light"] .ratio-chip-compact.is-active span,
[data-theme="light"] .ratio-chip-compact[aria-checked="true"] span,
.theme-light .ratio-chip-compact.is-active span,
.theme-light .ratio-chip-compact[aria-checked="true"] span,
html.theme-light .ratio-chip-compact.is-active span,
html.theme-light .ratio-chip-compact[aria-checked="true"] span,
[data-theme="light"] .ratio-chip-compact.is-active:hover span,
[data-theme="light"] .ratio-chip-compact[aria-checked="true"]:hover span,
.theme-light .ratio-chip-compact.is-active:hover span,
.theme-light .ratio-chip-compact[aria-checked="true"]:hover span,
html.theme-light .ratio-chip-compact.is-active:hover span,
html.theme-light .ratio-chip-compact[aria-checked="true"]:hover span,
[data-theme="light"] .video-segment-btn.is-active span,
[data-theme="light"] .video-segment-btn[aria-checked="true"] span,
.theme-light .video-segment-btn.is-active span,
.theme-light .video-segment-btn[aria-checked="true"] span,
html.theme-light .video-segment-btn.is-active span,
html.theme-light .video-segment-btn[aria-checked="true"] span,
[data-theme="light"] .video-segment-btn.is-active:hover span,
[data-theme="light"] .video-segment-btn[aria-checked="true"]:hover span,
.theme-light .video-segment-btn.is-active:hover span,
.theme-light .video-segment-btn[aria-checked="true"]:hover span,
html.theme-light .video-segment-btn.is-active:hover span,
html.theme-light .video-segment-btn[aria-checked="true"]:hover span {
  color: #ffffff !important;
  font-weight: 600 !important;
}

[data-theme="light"] .ratio-chip-compact.is-active .ratio-icon,
[data-theme="light"] .ratio-chip-compact.is-active svg,
[data-theme="light"] .ratio-chip-compact[aria-checked="true"] .ratio-icon,
[data-theme="light"] .ratio-chip-compact[aria-checked="true"] svg,
.theme-light .ratio-chip-compact.is-active .ratio-icon,
.theme-light .ratio-chip-compact.is-active svg,
.theme-light .ratio-chip-compact[aria-checked="true"] .ratio-icon,
.theme-light .ratio-chip-compact[aria-checked="true"] svg,
html.theme-light .ratio-chip-compact.is-active .ratio-icon,
html.theme-light .ratio-chip-compact.is-active svg,
html.theme-light .ratio-chip-compact[aria-checked="true"] .ratio-icon,
html.theme-light .ratio-chip-compact[aria-checked="true"] svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
  fill: none !important;
}

[data-theme="light"] .ratio-chip-compact.is-active rect,
[data-theme="light"] .ratio-chip-compact[aria-checked="true"] rect,
.theme-light .ratio-chip-compact.is-active rect,
.theme-light .ratio-chip-compact[aria-checked="true"] rect,
html.theme-light .ratio-chip-compact.is-active rect,
html.theme-light .ratio-chip-compact[aria-checked="true"] rect {
  stroke: #ffffff !important;
}

[data-theme="light"] .composer-price-badge,
[data-theme="light"] .video-price-badge,
.theme-light .composer-price-badge,
.theme-light .video-price-badge,
html.theme-light .composer-price-badge,
html.theme-light .video-price-badge {
  background: #f1f5f9;
  border-color: #e2e8f0;
  color: #111827;
}

[data-theme="light"] .image-reference-card,
[data-theme="light"] .video-reference-card,
.theme-light .image-reference-card,
.theme-light .video-reference-card,
html.theme-light .image-reference-card,
html.theme-light .video-reference-card {
  background: #f8fafc;
  border-color: #e2e8f0;
}

[data-theme="light"] .image-reference-info strong,
[data-theme="light"] .video-reference-info strong,
.theme-light .image-reference-info strong,
.theme-light .video-reference-info strong,
html.theme-light .image-reference-info strong,
html.theme-light .video-reference-info strong {
  color: #111827;
}

[data-theme="light"] .image-reference-info small,
[data-theme="light"] .video-reference-info small,
.theme-light .image-reference-info small,
.theme-light .video-reference-info small,
html.theme-light .image-reference-info small,
html.theme-light .video-reference-info small {
  color: #64748b;
}

.video-kling-alert {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #f59e0b;
  font-weight: 500;
  font-size: 14.5px;
}
.video-kling-alert .icon,
.video-kling-alert svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.composer-attach-btn.is-required {
  border-color: #f59e0b !important;
  color: #f59e0b !important;
  box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.3) !important;
}
html.theme-light .video-kling-alert {
  color: #b45309;
}
html.theme-light .composer-attach-btn.is-required {
  border-color: #d97706 !important;
  color: #b45309 !important;
  box-shadow: 0 0 0 1px rgba(217, 119, 6, 0.3) !important;
}

[data-theme="light"] .composer-prompt-chips .prompt-chip,
.theme-light .composer-prompt-chips .prompt-chip,
html.theme-light .composer-prompt-chips .prompt-chip {
  color: #4b5563;
  background: #f8fafc;
  border-color: #e2e8f0;
}

[data-theme="light"] .composer-prompt-chips .prompt-chip:hover,
.theme-light .composer-prompt-chips .prompt-chip:hover,
html.theme-light .composer-prompt-chips .prompt-chip:hover {
  color: #111827;
  background: #f1f5f9;
  border-color: #cbd5e1;
}

[data-theme="light"] .video-chat-card,
.theme-light .video-chat-card,
html.theme-light .video-chat-card {
  background: #ffffff;
  border-color: #e2e8f0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .video-chat-card-actions,
.theme-light .video-chat-card-actions,
html.theme-light .video-chat-card-actions {
  background: #f8fafc;
  border-top-color: #f1f5f9;
}

[data-theme="light"] .image-processing-box,
[data-theme="light"] .video-processing-box,
.theme-light .image-processing-box,
.theme-light .video-processing-box,
html.theme-light .image-processing-box,
html.theme-light .video-processing-box {
  background: #f8fafc;
  border-color: #e2e8f0;
}

[data-theme="light"] .image-processing-info strong,
[data-theme="light"] .video-processing-info strong,
.theme-light .image-processing-info strong,
.theme-light .video-processing-info strong,
html.theme-light .image-processing-info strong,
html.theme-light .video-processing-info strong {
  color: #111827;
}

[data-theme="light"] .image-processing-info p,
[data-theme="light"] .video-processing-info p,
.theme-light .image-processing-info p,
.theme-light .video-processing-info p,
html.theme-light .image-processing-info p,
html.theme-light .video-processing-info p {
  color: #64748b;
}

[data-theme="light"] .image-failed-box,
[data-theme="light"] .video-failed-box,
.theme-light .image-failed-box,
.theme-light .video-failed-box,
html.theme-light .image-failed-box,
html.theme-light .video-failed-box {
  background: #f8fafc;
  border-color: #e2e8f0;
}

[data-theme="light"] .image-failed-box p,
[data-theme="light"] .video-failed-box p,
.theme-light .image-failed-box p,
.theme-light .video-failed-box p,
html.theme-light .image-failed-box p,
html.theme-light .video-failed-box p {
  color: #64748b;
}

/* Unified Composer Bar & Buttons (Chat, Images, Video) */
.composer-bar {
  border-radius: 28px !important;
  min-height: 52px !important;
}

.composer-attach-btn {
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  padding: 0 !important;
  justify-content: center !important;
}
.composer-attach-btn span {
  display: none !important;
}

.send-btn,
.composer-bar .send-btn {
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
}

.composer textarea,
.composer-bar textarea,
.composer-bar #prompt,
.composer-bar #image-prompt,
.composer-bar #video-prompt {
  min-height: 36px !important;
  font-size: 15px !important;
  padding: 7px 8px !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
  resize: none !important;
}

/* Prompt chips curvature parity: 999px pill matching speshu design system */
.prompt-chip,
.composer-prompt-chips .prompt-chip,
[data-page=videos] .prompt-chip,
[data-page=images] .prompt-chip,
[data-page=audio] .prompt-chip,
[data-page=speech] .prompt-chip {
  border-radius: 999px !important;
}

/* Eliminate bottom gap: chat-panel occupies 100%, composer rests at bottom, chat-messages expands */
[data-page=videos] .chat-panel,
[data-page=images] .chat-panel,
[data-page=audio] .chat-panel,
[data-page=speech] .chat-panel,
[data-page=playground] .chat-panel,
.chat-panel {
  height: 100% !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
}

[data-page=videos] #video-form,
[data-page=videos] .video-composer,
#video-form,
.video-composer,
[data-page=images] #image-form,
[data-page=images] .image-composer,
#image-form,
.image-composer,
[data-page=audio] #audio-form,
[data-page=speech] #speech-form,
[data-page=audio] .audio-composer,
[data-page=speech] .audio-composer,
#audio-form,
.audio-composer {
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto 16px !important;
}

.video-chat-messages,
.image-chat-messages,
.audio-chat-messages,
[data-page=videos] .chat-messages,
[data-page=images] .chat-messages,
[data-page=audio] .chat-messages,
[data-page=speech] .chat-messages {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
}

/* Unified Chat Header Sizing & Padding Parity across Chat, Images, and Videos */
.app-content[data-page=playground] .page-header.chat-header,
.app-content[data-page=images] .page-header.chat-header,
.app-content[data-page=videos] .page-header.chat-header,
.app-content[data-page=audio] .page-header.chat-header,
[data-page=playground] .chat-header,
[data-page=images] .chat-header,
[data-page=videos] .chat-header,
[data-page=audio] .chat-header,
[data-page=speech] .chat-header,
[data-page=images] .page-header,
[data-page=videos] .page-header,
[data-page=audio] .page-header,
.page-header.chat-header,
.chat-header {
  min-height: 56px !important;
  height: auto !important;
  padding: 12px 0 !important;
  margin: 0 !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid var(--line, rgba(255, 255, 255, 0.07)) !important;
  box-sizing: border-box !important;
  gap: 16px !important;
}

/* Suppress sub-notes below the composer bar across all studio modes */
.image-composer .composer-note,
.video-composer .composer-note,
#image-form .composer-note,
#video-form .composer-note,
.composer .composer-note {
  display: none !important;
}

/* Minimum typography 15px parity */
.composer-sub-row,
.composer-foot,
.composer-foot button,
.support-launcher,
.support-launcher-label {
  font-size: 15px !important;
}

/* Settings Page Headers, Spacing & Contrasts */
.app-content[data-page="settings"] {
  padding-top: 24px !important;
  padding-bottom: 40px !important;
}

.settings-page-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

.settings-page-header h1 {
  font-size: 29px !important;
  letter-spacing: -1px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  color: var(--text, #f4f4f6) !important;
  margin: 0 !important;
}

.settings-page-header p {
  font-size: 15px !important;
  color: #9da0b3 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

html.theme-light .settings-page-header h1 {
  color: #11141a !important;
}

html.theme-light .settings-page-header p {
  color: #5e6573 !important;
}

.settings-account-header {
  margin-top: 32px !important;
}

.settings-group-header {
  margin-top: 14px;
  margin-bottom: 2px;
}
.settings-group-header h2 {
  font-size: 29px !important;
  font-weight: 600 !important;
  color: var(--text, #f4f4f6) !important;
  margin: 0 0 4px !important;
  letter-spacing: -1px !important;
}
.settings-group-header p,
.settings-group-header .section-description {
  font-size: 15px !important;
  color: #9da0b3 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}
html.theme-light .settings-group-header h2 {
  color: #11141a !important;
}
html.theme-light .settings-group-header p,
html.theme-light .settings-group-header .section-description {
  color: #5e6573 !important;
}

.linked-account-title {
  display: block !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--text, #f4f4f6) !important;
}

[data-theme="light"] .linked-account-title,
.theme-light .linked-account-title,
html.theme-light .linked-account-title {
  color: #11141a !important;
}

.linked-provider-icon.marketing-icon svg,
.linked-provider-icon.marketing-icon .icon {
  width: 22px !important;
  height: 22px !important;
  stroke: var(--accent, #9aefd2) !important;
  stroke-width: 1.9 !important;
  fill: none !important;
  display: block !important;
}

[data-theme="light"] .linked-provider-icon.marketing-icon svg,
[data-theme="light"] .linked-provider-icon.marketing-icon .icon,
.theme-light .linked-provider-icon.marketing-icon svg,
.theme-light .linked-provider-icon.marketing-icon .icon,
html.theme-light .linked-provider-icon.marketing-icon svg,
html.theme-light .linked-provider-icon.marketing-icon .icon {
  color: #11141a !important;
  stroke: #11141a !important;
}

#change-password-form .field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
}
#change-password-form .field label {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--text, #f4f4f6) !important;
}
#change-password-form .field input {
  font-size: 15px !important;
  min-height: 44px !important;
  padding: 8px 12px !important;
  border-radius: 16px !important;
}
html.theme-light #change-password-form .field label {
  color: #11141a !important;
}

/* Sidebar Nav Divider & Groups */
.nav-group {
  display: grid;
  gap: 5px;
}
.nav-divider {
  height: 1px;
  background: var(--line, rgba(255, 255, 255, 0.08));
  margin: 8px 10px;
  border: none;
}
html.theme-light .nav-divider {
  background: #e2e8f0;
}

/* Settings: Password Form Grid */
.settings-password-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.password-fields-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
}
.password-fields-grid .field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
}
.password-fields-grid .field label {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--text, #f4f4f6) !important;
}
.password-fields-grid .field input {
  font-size: 15px !important;
  min-height: 44px !important;
  padding: 8px 12px !important;
  border-radius: 16px !important;
  width: 100%;
  box-sizing: border-box;
}
html.theme-light .password-fields-grid .field label {
  color: #11141a !important;
}
.password-form-foot {
  display: flex;
  justify-content: flex-start;
  margin-top: 2px;
}
.password-form-foot .btn {
  min-height: 44px !important;
  font-size: 15px !important;
  padding: 0 22px !important;
}
@media (max-width: 900px) {
  .password-fields-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

/* Settings: Security & API Keys Single-Line Centered Row */
.settings-security-row {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 18px 24px !important;
}
.settings-security-info {
  min-width: 0;
  flex: 1 1 auto;
}
.settings-security-info h2 {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--text, #f4f4f6) !important;
  margin: 0 0 4px !important;
}
.settings-security-info .section-description {
  font-size: 15px !important;
  color: #9da0b3 !important;
  margin: 0 !important;
  line-height: 1.45 !important;
}
html.theme-light .settings-security-info h2 {
  color: #11141a !important;
}
html.theme-light .settings-security-info .section-description {
  color: #5e6573 !important;
}
.settings-security-row .account-safety-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}
.settings-security-row .account-safety-actions .btn {
  min-height: 44px !important;
  height: 44px !important;
  font-size: 15px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  margin: 0 !important;
}
@media (max-width: 860px) {
  .settings-security-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
  .settings-security-row .account-safety-actions {
    width: 100% !important;
    flex-wrap: wrap !important;
  }
}







/* Model modalities (Input -> Output) badges like aitunnel */
.model-modalities {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 4px;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 7px;
  width: fit-content;
  user-select: none;
  transition: border-color .2s, background-color .2s;
}
.model-modalities:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.16);
}
.mod-group {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.mod-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.mod-icon svg { display: block; }
.mod-text { color: #38bdf8; }
.mod-image { color: #c084fc; }
.mod-video { color: #f87171; }
.mod-audio { color: #fbbf24; }
.mod-arrow {
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  margin: 0 1px;
}
.mod-arrow svg { display: block; }
html.theme-light .model-modalities {
  background: rgba(0, 0, 0, 0.035);
  border-color: rgba(0, 0, 0, 0.09);
}
html.theme-light .model-modalities:hover {
  background: rgba(0, 0, 0, 0.06);
  border-color: rgba(0, 0, 0, 0.16);
}
html.theme-light .mod-arrow { color: #94a3b8; }
.catalog-card .recommended-mark {
  color: #60a5fa !important;
  font-weight: 600;
}
html.theme-light .catalog-card .recommended-mark,
[data-theme="light"] .catalog-card .recommended-mark {
  color: #2563eb !important;
}
.catalog-card-bottom,
[data-page=models] .catalog-card-bottom {
  border-top: none !important;
}
html.theme-light .catalog-card-bottom {
  border-top: none !important;
}

/* Autumn promo styling - clean Tokvian rectangular design */
.sidebar-topup-bonus.sidebar-autumn-bonus {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.16);
  color: #ffffff;
}
.sidebar-topup-bonus.sidebar-autumn-bonus:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.24);
}
[data-theme="light"] .sidebar-topup-bonus.sidebar-autumn-bonus,
.theme-light .sidebar-topup-bonus.sidebar-autumn-bonus,
html.theme-light .sidebar-topup-bonus.sidebar-autumn-bonus {
  background: #f4f5f8 !important;
  border: 1px solid #dce0e8 !important;
  color: #11141a !important;
}
[data-theme="light"] .sidebar-topup-bonus.sidebar-autumn-bonus:hover,
.theme-light .sidebar-topup-bonus.sidebar-autumn-bonus:hover,
html.theme-light .sidebar-topup-bonus.sidebar-autumn-bonus:hover {
  background: #eaedf2 !important;
  border-color: #cbd2dc !important;
}

.billing-first-topup-banner.billing-autumn-banner {
  border-color: rgba(255, 255, 255, 0.14);
}
.billing-autumn-banner .first-topup-badge {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}
[data-theme="light"] .billing-first-topup-banner.billing-autumn-banner,
.theme-light .billing-first-topup-banner.billing-autumn-banner,
html.theme-light .billing-first-topup-banner.billing-autumn-banner {
  background: #f4f5f8 !important;
  border-color: #dce0e8 !important;
}
[data-theme="light"] .billing-autumn-banner .first-topup-badge,
.theme-light .billing-autumn-banner .first-topup-badge,
html.theme-light .billing-autumn-banner .first-topup-badge {
  background: #11141a !important;
  color: #ffffff !important;
}


@media (max-width: 720px) {
  .billing-first-topup-banner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 16px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
  }
  .billing-first-topup-banner .first-topup-badge {
    align-self: flex-start !important;
    font-size: 15px !important;
  }
  .billing-first-topup-banner .first-topup-info {
    width: 100% !important;
    min-width: 0 !important;
    gap: 4px !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
  }
  .billing-first-topup-banner .first-topup-info strong {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }
  .billing-first-topup-banner > .btn {
    width: 100% !important;
    min-height: 44px !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
  .linked-account-row {
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 14px 16px !important;
  }
  .linked-account-row .btn,
  .linked-account-row .danger-btn {
    width: 100% !important;
    min-height: 44px !important;
    justify-content: center !important;
  }
}


/* 2-column OAuth Grid (Yandex & Telegram) */
.auth-oauth-providers {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
@media (max-width: 440px) {
  .auth-oauth-providers {
    grid-template-columns: 1fr !important;
  }
}
.btn-google,
.btn-yandex,
.btn-telegram {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  border-radius: 14px !important;
  min-height: 44px !important;
  height: 44px !important;
  white-space: nowrap !important;
  padding: 0 16px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.btn-google:hover,
.btn-yandex:hover,
.btn-telegram:hover {
  background: rgba(255, 255, 255, 0.11) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  color: #fff !important;
}
.btn-telegram svg,
.btn-telegram .icon {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  stroke: none !important;
}
[data-theme="light"] .btn-telegram,
.theme-light .btn-telegram {
  background: #ffffff !important;
  border: 1px solid #d5d7e0 !important;
  color: #11141a !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}
[data-theme="light"] .btn-telegram:hover,
.theme-light .btn-telegram:hover {
  background: #f8f9fa !important;
  border-color: #bcc0ce !important;
}

/* ============================================================
   Chat UI Polish: AI Message Radius, User Avatar & Compact Settings Pills
   ============================================================ */

/* 1. AI Cards and Boxes Modern Border Radius (20px like user bubble and modern cards) */
.video-chat-card,
.image-card,
.video-processing-box,
.image-processing-box,
.video-failed-box,
.image-failed-box,
.audio-result-card,
.audio-processing-box,
.speech-result-card,
.speech-processing-box {
  border-radius: 20px !important;
  overflow: hidden !important;
}

.video-failed-box,
.image-failed-box {
  padding: 18px 22px !important;
}

.chat-video-viewport,
.chat-video-player,
.image-player-frame,
.image-player-frame img {
  border-radius: 16px !important;
}

/* 2. User Message Avatar (Identical to header profile avatar) */
.message.user .message-avatar {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.message.user .message-avatar svg,
.message.user .message-avatar .avatar-svg,
.message.user .message-avatar .icon {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  margin: 0 !important;
  transform: none !important;
  fill: currentColor !important;
  stroke: none !important;
}

html.theme-light .message.user .message-avatar,
[data-theme="light"] .message.user .message-avatar,
.theme-light .message.user .message-avatar {
  background: #e2e8f0 !important;
  border: 1px solid #cbd5e1 !important;
  color: #11141a !important;
}

html.theme-light .message.user .message-avatar svg,
[data-theme="light"] .message.user .message-avatar svg,
.theme-light .message.user .message-avatar svg {
  fill: #11141a !important;
}

/* 3. Settings Bar Pills in Videos, Images, Audio & Speech */
.composer-settings-bar .ratio-chip-compact,
.composer-settings-bar .video-segment-btn,
.video-res-chips-compact .video-segment-btn,
.video-dur-chips-compact .video-segment-btn,
.image-ratio-chips-compact .ratio-chip-compact,
.image-ratio-chips-compact .video-segment-btn,
[data-page=audio] .ratio-chip-compact,
[data-page=speech] .ratio-chip-compact {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 14px !important;
  min-width: 44px !important;
  font-size: 15px !important;
  line-height: 34px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  box-sizing: border-box !important;
}

.composer-settings-bar .ratio-chip-compact.is-active,
.composer-settings-bar .video-segment-btn.is-active,
.video-res-chips-compact .video-segment-btn.is-active,
.video-dur-chips-compact .video-segment-btn.is-active,
.image-ratio-chips-compact .ratio-chip-compact.is-active,
.image-ratio-chips-compact .video-segment-btn.is-active,
[data-page=audio] .ratio-chip-compact.is-active,
[data-page=speech] .ratio-chip-compact.is-active {
  padding: 0 14px !important;
}

.composer-settings-bar .ratio-chip-compact span,
.composer-settings-bar .video-segment-btn span,
.video-res-chips-compact .video-segment-btn span,
.video-dur-chips-compact .video-segment-btn span,
.image-ratio-chips-compact .ratio-chip-compact span,
.image-ratio-chips-compact .video-segment-btn span,
[data-page=audio] .ratio-chip-compact span,
[data-page=speech] .ratio-chip-compact span {
  font-size: 15px !important;
  line-height: 1 !important;
}

.settings-bar-label,
[data-page=audio] .settings-bar-label,
[data-page=speech] .settings-bar-label {
  font-size: 15px !important;
  font-weight: 500 !important;
}

.composer-price-badge,
.video-price-badge {
  font-size: 15px !important;
  height: 34px !important;
  line-height: 34px !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
}



/* Tokvian Modern 14px/20px Radius System for Auth & Modal Controls */
dialog.auth-dialog-modal,
dialog:has(.auth-dialog),
.auth-dialog {
  border-radius: 20px !important;
}
.auth-dialog .auth-tabs {
  border-radius: 14px !important;
}
.auth-dialog .auth-tab,
.auth-dialog .auth-tab.active {
  border-radius: 10px !important;
}
.auth-dialog .btn-google,
.auth-dialog .btn-yandex,
.auth-dialog .btn-telegram,
.auth-dialog .auth-oauth-providers .btn,
.auth-dialog .auth-submit-btn,
.auth-dialog .btn,
.auth-dialog .dev-quick-login-btn {
  border-radius: 14px !important;
}
.auth-dialog .input-wrap input,
.auth-dialog .field input,
.auth-dialog input,
.auth-dialog select,
.auth-dialog textarea {
  border-radius: 14px !important;
}
.auth-dialog .form-error {
  border-radius: 12px !important;
}
