:root{
  color-scheme:inherit;
  --bg:var(--theme-bg);
  --bg2:var(--theme-surface-2);
  --panel:var(--theme-surface-2);
  --panel2:var(--theme-surface-3);
  --line:var(--theme-border);
  --green:var(--theme-accent);
  --green2:var(--theme-accent);
  --text:var(--theme-text);
  --muted:var(--theme-muted);
  --muted2:var(--theme-muted);
  --gold:var(--theme-warning);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--theme-bg);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}
body{padding:env(safe-area-inset-top) 0 calc(82px + env(safe-area-inset-bottom));}
button{font:inherit}
.plans-app{width:min(980px,100%);margin:0 auto;padding:24px 16px 38px}
.plans-hero{text-align:center;padding:4px 0 20px}
.plans-logo-wrap{display:flex;justify-content:center;align-items:center;margin-bottom:7px}
.plans-logo-wrap img{width:min(188px,52vw);height:auto;display:block;filter:none}
.plans-eyebrow{margin:2px 0 8px;color:var(--green);font-weight:900;letter-spacing:.19em;font-size:12.5px}
.plans-hero h1{margin:0;font-size:clamp(25px,4vw,39px);line-height:1.05;letter-spacing:-.035em}
.plans-subtitle{max-width:650px;margin:10px auto 0;color:var(--muted);font-size:14px;line-height:1.5}
.current-plan-panel{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:2px 0 18px;padding:17px;border:1px solid var(--theme-border-strong);border-radius:22px;background:var(--theme-surface);box-shadow:0 18px 42px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.025)}
.current-plan-copy,.current-plan-capacity{display:flex;flex-direction:column;gap:3px}
.current-plan-copy span,.current-plan-capacity span{font-size:12.5px;font-weight:900;letter-spacing:.14em;color:var(--green)}
.current-plan-copy strong,.current-plan-capacity strong{font-size:20px}
.current-plan-copy small,.current-plan-capacity small{color:var(--muted);font-size:12.5px}
.current-plan-capacity{text-align:right;align-items:flex-end}
.scheduled-plan-change{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid rgba(216,192,117,.25);border-radius:15px;background:var(--theme-warning-soft)}
.scheduled-plan-change[hidden]{display:none}
.scheduled-plan-change>div{display:flex;min-width:0;flex-direction:column;gap:3px}
.scheduled-plan-change span{font-size:12.5px;font-weight:950;letter-spacing:.14em;color:var(--gold)}
.scheduled-plan-change strong{font-size:14px;color:var(--theme-text)}
.scheduled-plan-change small{color:var(--muted);font-size:12.5px;line-height:1.4}
.scheduled-plan-change button{flex:0 0 auto;padding:9px 11px;border:1px solid rgba(216,192,117,.29);border-radius:11px;background:var(--theme-warning-soft);color:var(--gold);font:inherit;font-size:12.5px;font-weight:900;cursor:pointer}
.scheduled-plan-change button:disabled{opacity:.52;cursor:wait}
.subscription-management{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--theme-border);border-radius:15px;background:var(--theme-surface-2)}
.subscription-management[hidden]{display:none}
.subscription-management>div{display:flex;min-width:0;flex-direction:column;gap:3px}
.subscription-management span{font-size:12.5px;font-weight:950;letter-spacing:.14em;color:var(--green)}
.subscription-management strong{font-size:14px;color:var(--theme-text)}
.subscription-management small{color:var(--muted);font-size:12.5px;line-height:1.4}
.subscription-management button{flex:0 0 auto;padding:9px 11px;border:1px solid var(--theme-border-strong);border-radius:11px;background:var(--theme-surface-2);color:var(--theme-text-2);font:inherit;font-size:12.5px;font-weight:900;cursor:pointer}
.subscription-management.cancel-scheduled{border-color:rgba(216,192,117,.25);background:var(--theme-warning-soft)}
.subscription-management.cancel-scheduled span,.subscription-management.cancel-scheduled button{color:var(--gold)}
.subscription-management.cancel-scheduled button{border-color:rgba(216,192,117,.29);background:var(--theme-warning-soft)}
.subscription-management button:disabled{opacity:.5;cursor:not-allowed}
.billing-tools{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--theme-border);border-radius:15px;background:var(--theme-surface)}
.billing-tools[hidden],.billing-history[hidden]{display:none}
.billing-tools-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
.billing-tools-copy span,.billing-history-head span{font-size:12.5px;font-weight:950;letter-spacing:.14em;color:var(--green)}
.billing-tools-copy small{color:var(--muted);font-size:12.5px}
.billing-tools-actions{display:flex;flex:0 0 auto;gap:8px}
.billing-tools button,.billing-history button{padding:9px 11px;border:1px solid var(--theme-border);border-radius:11px;background:var(--theme-accent-soft);color:var(--green2);font:inherit;font-size:12.5px;font-weight:900;cursor:pointer}
.billing-tools button:disabled,.billing-history button:disabled{opacity:.48;cursor:not-allowed}
.billing-history{grid-column:1/-1;padding:13px 14px;border:1px solid var(--theme-border);border-radius:15px;background:var(--theme-surface)}
.billing-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.billing-history-head>div{display:flex;flex-direction:column;gap:3px}
.billing-history-head strong{font-size:14px}
.billing-history-list{display:flex;flex-direction:column;gap:7px}
.billing-history-empty{margin:0;padding:11px;border:1px dashed var(--theme-border);border-radius:12px;color:var(--muted);font-size:12.5px;text-align:center}
.billing-transaction{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-surface-2)}
.billing-transaction-copy{display:flex;min-width:0;flex-direction:column;gap:2px}
.billing-transaction-copy strong{font-size:13px;color:var(--theme-text)}
.billing-transaction-copy small{overflow:hidden;color:var(--muted);font-size:12.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.billing-status{padding:5px 7px;border-radius:999px;background:var(--theme-surface-3);color:var(--theme-text-2);font-size:12.5px;font-weight:900;white-space:nowrap}
.billing-status.completed{background:var(--theme-success-soft);color:var(--green2)}
.billing-status.past_due{background:var(--theme-warning-soft);color:var(--theme-warning)}
.billing-status.canceled{color:var(--muted)}
.billing-invoice-button{white-space:nowrap}
.plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
.plan-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:18px 16px 16px;border:1px solid var(--line);border-radius:24px;background:var(--theme-surface);box-shadow:0 17px 38px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.022);overflow:hidden}
.plan-card[data-plan-card="executive"]{order:99}
.plan-card:before{content:"";position:absolute;inset:0;background:none;pointer-events:none}
.plan-card.featured{border-color:var(--theme-accent);box-shadow:0 20px 42px rgba(0,0,0,.22)}
.plan-card.upcoming{border-color:rgba(216,192,117,.19);background:var(--theme-surface-2);min-height:375px}
.popular-badge{position:absolute;top:0;right:14px;padding:6px 10px;border-radius:0 0 9px 9px;background:var(--green);color:var(--theme-on-accent);font-weight:950;font-size:12.5px;letter-spacing:.08em}
.plan-icon-shell{position:relative;z-index:1;width:46px;height:46px;margin-bottom:10px;border:1px solid var(--theme-border-strong);border-radius:14px;background:var(--theme-accent-soft);display:grid;place-items:center;transform:rotate(45deg);box-shadow:none}
.plan-icon-shell svg{width:29px;height:29px;fill:var(--green2);transform:rotate(-45deg)}
.executive-icon{border-color:rgba(216,192,117,.34);background:var(--theme-warning-soft);box-shadow:0 0 22px rgba(216,192,117,.06)}
.executive-icon svg{fill:var(--gold)}
.plan-title-row{position:relative;z-index:1;display:flex;align-items:center;gap:8px}
.plan-title-row h2{margin:0;font-size:22px;letter-spacing:-.025em}
.plan-price{position:relative;z-index:1;display:flex;align-items:baseline;gap:4px;margin-top:5px}
.plan-price strong{font-size:22px;color:var(--theme-text)}
.plan-price span{font-size:12.5px;color:var(--muted)}
.plan-capacity{position:relative;z-index:1;display:flex;align-items:baseline;gap:5px;margin:9px 0 12px;padding-bottom:11px;border-bottom:1px solid var(--theme-border)}
.plan-capacity b{font-size:14px;color:var(--green2)}
.plan-capacity small{font-size:12.5px;color:var(--muted)}
.plan-preview{position:relative;z-index:1;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.plan-preview li,.plan-full li{position:relative;padding-left:17px;color:var(--theme-text-2);font-size:12.5px;line-height:1.3}
.plan-preview li:before,.plan-full li:before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:900}
.plan-more{position:relative;z-index:1;margin:12px 0 0;padding:7px 0;border:0;background:none;color:var(--green);font-size:12.5px;font-weight:850;text-align:left;cursor:pointer}
.plan-more span{display:inline-block;margin-left:4px;transition:transform .18s ease}
.plan-card.expanded .plan-more span{transform:rotate(180deg)}
.plan-full{position:relative;z-index:1;margin-top:4px;padding:11px 0 2px;border-top:1px solid var(--theme-border)}
.plan-full p{margin:0 0 8px;color:var(--muted);font-size:12.5px;font-weight:700}
.plan-full ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}
.plan-action{position:relative;z-index:1;margin-top:auto;padding:11px 10px;border:1px solid var(--theme-border-strong);border-radius:13px;background:var(--theme-accent-soft);color:var(--green2);font-weight:900;font-size:12.5px;cursor:pointer}
.plan-action.primary{background:var(--green);color:var(--theme-on-accent);border-color:var(--green);box-shadow:none}
.plan-action.current{background:var(--theme-surface-3);border-color:var(--theme-border);color:var(--theme-muted);cursor:default}
.plan-action.scheduled{background:var(--theme-warning-soft);border-color:rgba(216,192,117,.25);color:var(--gold);cursor:default}
.coming-soon{position:relative;z-index:1;margin-top:17px;padding:13px 10px;border:1px solid rgba(216,192,117,.22);border-radius:14px;background:var(--theme-warning-soft);color:var(--gold);font-size:13px;font-weight:950;letter-spacing:.16em;text-align:center}
.executive-space{flex:1;min-height:184px;position:relative}
.executive-space:after{content:"";position:absolute;inset:15% 10%;border-radius:50%;background:none;filter:blur(8px)}
.capacity-shop{margin-top:18px;padding:18px;border:1px solid var(--theme-border);border-radius:24px;background:var(--theme-surface);box-shadow:0 18px 42px rgba(0,0,0,.25)}
.capacity-shop-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.capacity-shop-head span{font-size:12.5px;color:var(--green);font-weight:950;letter-spacing:.15em}
.capacity-shop-head h2{margin:4px 0 4px;font-size:22px}
.capacity-shop-head p{margin:0;max-width:590px;color:var(--muted);font-size:12.5px;line-height:1.45}
.capacity-plan-chip{flex:0 0 auto;padding:7px 10px;border-radius:999px;border:1px solid var(--theme-border-strong);background:var(--theme-accent-soft);color:var(--green2);font-weight:900;font-size:12.5px}
.capacity-current-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:15px}
.capacity-current-grid>div,.capacity-preview-grid>div{padding:11px;border:1px solid var(--theme-border);border-radius:14px;background:var(--theme-surface-2);display:flex;flex-direction:column;gap:3px}
.capacity-current-grid span,.capacity-preview-grid span{color:var(--muted);font-size:12.5px;text-transform:uppercase;letter-spacing:.05em}
.capacity-current-grid strong,.capacity-preview-grid strong{font-size:15px}
.capacity-builder{margin-top:12px;padding:14px;border-radius:18px;background:var(--theme-surface);border:1px solid var(--theme-border)}
.capacity-builder-label{display:flex;justify-content:space-between;gap:10px;align-items:center}
.capacity-builder-label span{font-size:13px;font-weight:850}
.capacity-builder-label small{font-size:12.5px;color:var(--green)}
.capacity-stepper{display:grid;grid-template-columns:42px 1fr 42px;gap:8px;align-items:center;margin:12px 0}
.capacity-stepper button{height:40px;border-radius:12px;border:1px solid var(--theme-border);background:var(--theme-accent-soft);color:var(--green);font-size:22px;cursor:pointer}
.capacity-stepper button:disabled{opacity:.35;cursor:not-allowed}
.capacity-stepper strong{text-align:center;font-size:24px}
.capacity-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.capacity-continue{width:100%;margin-top:12px;padding:12px;border:0;border-radius:13px;background:var(--green);color:var(--theme-on-accent);font-weight:950;cursor:pointer}
.capacity-note{display:block;margin-top:7px;text-align:center;color:var(--muted2);font-size:12.5px;line-height:1.35}
.capacity-limit-state{margin-top:13px;padding:16px;border-radius:17px;border:1px solid rgba(216,192,117,.18);background:var(--theme-warning-soft)}
.capacity-limit-state strong{color:var(--gold);font-size:14px}
.capacity-limit-state p{margin:5px 0 11px;color:var(--muted);font-size:12.5px}
.capacity-limit-state button{padding:10px 12px;border:1px solid rgba(216,192,117,.24);border-radius:12px;background:var(--theme-warning-soft);color:var(--gold);font-weight:850;cursor:pointer}
.plans-toast{position:fixed;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));z-index:95;max-width:min(88vw,430px);transform:translate(-50%,18px);padding:11px 14px;border:1px solid var(--theme-border-strong);border-radius:14px;background:var(--theme-surface-2);color:var(--theme-text);font-size:12.5px;box-shadow:0 18px 40px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:.18s ease}
.plans-toast.show{opacity:1;transform:translate(-50%,0)}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:80;height:calc(64px + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);display:grid;grid-template-columns:1fr 1fr 64px 1fr 1fr;background:var(--theme-nav);border-top:1px solid var(--theme-border);backdrop-filter:none}
.nav-button{border:0;background:none;color:var(--theme-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12.5px;font-weight:750;cursor:pointer}
.nav-button.active{color:var(--green)}
.nav-icon{font-size:18px;line-height:1}
.add-button{align-self:center;justify-self:center;width:48px;height:48px;border:0;border-radius:50%;background:var(--theme-accent);color:var(--theme-on-accent);font-size:28px;line-height:1;font-weight:500;box-shadow:0 0 0 5px var(--theme-surface);cursor:pointer;transition:transform .18s ease}
.add-button.open{transform:rotate(45deg)}
.quick-menu{position:fixed;z-index:79;left:50%;bottom:calc(70px + env(safe-area-inset-bottom));width:min(310px,calc(100vw - 28px));padding:9px;border-radius:18px;border:1px solid var(--theme-border);background:var(--theme-surface);box-shadow:0 20px 50px rgba(0,0,0,.42);transform:translate(-50%,12px) scale(.97);opacity:0;pointer-events:none;transition:.16s ease;display:grid;gap:6px}
.quick-menu.open{opacity:1;pointer-events:auto;transform:translate(-50%,0) scale(1)}
.quick-menu button{border:0;border-radius:12px;background:var(--theme-surface-2);color:var(--theme-text-2);padding:10px 12px;display:flex;align-items:center;gap:10px;text-align:left;font-size:12.5px;font-weight:800;cursor:pointer}
.quick-menu button:hover{background:var(--theme-accent-soft)}
.quick-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:var(--theme-success-soft);color:var(--green);font-size:15px}
@media(max-width:560px){
  .plans-app{padding:14px 9px 24px}
  .plans-hero{padding:0 0 13px}
  .plans-logo-wrap{margin-bottom:5px}
  .plans-eyebrow{margin:2px 0 6px;font-size:12.5px}
  .plans-subtitle{margin-top:7px;font-size:13.5px;line-height:1.4}
  .current-plan-panel{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:2px 0 12px;padding:13px;border-radius:19px}
  .current-plan-copy span,.current-plan-capacity span{font-size:12.5px}
  .current-plan-copy strong,.current-plan-capacity strong{font-size:20px}
  .current-plan-copy small,.current-plan-capacity small{font-size:13px}
  .current-plan-capacity{text-align:right;align-items:flex-end}
  .scheduled-plan-change,.subscription-management,.billing-tools{gap:9px;padding:11px 12px}
  .scheduled-plan-change,.subscription-management{align-items:flex-start;flex-direction:column}
  .scheduled-plan-change span,.subscription-management span,.billing-tools-copy span,.billing-history-head span{font-size:12.5px}
  .scheduled-plan-change strong,.subscription-management strong,.billing-history-head strong{font-size:15px}
  .scheduled-plan-change small,.subscription-management small,.billing-tools-copy small{font-size:12.5px}
  .scheduled-plan-change button,.subscription-management button{width:100%;min-height:40px;font-size:12.5px}
  .billing-tools{align-items:flex-start;flex-direction:column}
  .billing-tools-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .billing-tools-actions button,.billing-history button{min-height:40px;padding:9px 8px;font-size:12.5px;line-height:1.25}
  .billing-history{padding:11px 12px}
  .billing-history-empty{padding:10px;font-size:12.5px}
  .billing-transaction{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px 10px}
  .billing-transaction-copy strong{font-size:14px}
  .billing-transaction-copy small{font-size:12.5px}
  .billing-status{font-size:12.5px}
  .billing-transaction .billing-invoice-button{grid-column:1/-1;width:100%;font-size:12.5px}
  .plans-grid{gap:9px}
  .plan-card{padding:14px 11px 12px;border-radius:20px}
  .plan-icon-shell{width:41px;height:41px;margin-bottom:8px;border-radius:12px}
  .plan-icon-shell svg{width:26px;height:26px}
  .plan-title-row h2{font-size:21px}
  .plan-price{margin-top:4px}
  .plan-price strong{font-size:20px}
  .plan-price span{font-size:12.5px}
  .plan-capacity{margin:7px 0 9px;padding-bottom:9px}
  .plan-capacity b{font-size:13.5px}
  .plan-capacity small{font-size:12.5px}
  .plan-preview{gap:7px}
  .plan-preview li,.plan-full li{padding-left:16px;font-size:12.5px;line-height:1.35}
  .plan-more{margin-top:9px;padding:6px 0;font-size:12.5px}
  .plan-full{padding-top:9px}
  .plan-full p{font-size:12.5px}
  .plan-full ul{gap:7px}
  .plan-action{padding:10px 8px;font-size:12.5px;min-height:42px}
  .popular-badge{right:9px;padding:5px 8px;font-size:12.5px}
  .coming-soon{margin-top:12px;padding:11px 9px;font-size:13px}
  .capacity-shop{margin-top:12px;padding:13px;border-radius:20px}
  .capacity-shop-head{flex-direction:column;gap:9px}
  .capacity-shop-head span{font-size:12.5px}
  .capacity-shop-head h2{font-size:20px}
  .capacity-shop-head p{font-size:13px}
  .capacity-plan-chip{font-size:12.5px}
  .capacity-current-grid{grid-template-columns:repeat(2,1fr);gap:7px;margin-top:11px}
  .capacity-current-grid>div,.capacity-preview-grid>div{padding:10px}
  .capacity-current-grid span,.capacity-preview-grid span{font-size:12.5px}
  .capacity-current-grid strong,.capacity-preview-grid strong{font-size:16px}
  .capacity-builder{margin-top:10px;padding:12px}
  .capacity-builder-label span{font-size:14px}
  .capacity-builder-label small{font-size:12.5px}
  .capacity-preview-grid{grid-template-columns:1fr;gap:7px}
  .capacity-note{font-size:12.5px}
  .capacity-limit-state{padding:13px}
  .capacity-limit-state strong{font-size:15px}
  .capacity-limit-state p{font-size:13px}
  .plans-toast{font-size:13px}
  .nav-button{font-size:12.5px}
}
@media(max-width:430px){
  .plans-grid{grid-template-columns:1fr}
  .plan-card{padding:15px 14px 14px}
  .plan-preview,.plan-full ul{display:flex;flex-direction:column;gap:7px}
  .plan-title-row h2{font-size:22px}
  .plan-price strong{font-size:21px}
  .plan-preview li,.plan-full li{font-size:12.5px}
  .plan-card.upcoming{min-height:0}
  .executive-space{min-height:72px}
}
@media(max-width:350px){
  .current-plan-panel{grid-template-columns:1fr}
  .current-plan-capacity{text-align:left;align-items:flex-start}
  .billing-tools-actions{grid-template-columns:1fr}
  .plan-preview,.plan-full ul{grid-template-columns:1fr}
  .executive-space{min-height:58px}
}

/* Identidad del público de cada plan — KOVRA Préstamos exclusivamente. */
.mobile-plans-shell .plan-card .plan-audience{
 position:relative;z-index:1;
 margin:4px 0 1px;
 min-height:3.65em;
 color:var(--theme-text-2,var(--theme-muted));
 font-size:11.5px;
 line-height:1.22;
 font-weight:550;
 letter-spacing:0;
 overflow-wrap:break-word
}
@media(max-width:360px){
 .mobile-plans-shell .plan-card .plan-audience{font-size:11px;min-height:3.7em}
}
