/* GDC R7.4: reusable layout rules for the budget area. */
html{box-sizing:border-box;overflow-x:clip;-webkit-text-size-adjust:100%;scroll-padding-bottom:100px}
*,*::before,*::after{box-sizing:inherit}
body{min-width:0;max-width:100%;overflow-x:clip;margin:0}
img,video,canvas,iframe{max-width:100%}input,select,textarea{min-width:0;max-width:100%}
button,a,label,p,h1,h2,h3,h4,strong,output{overflow-wrap:break-word}
main,.main,.shell,.container,.wrap,.grid,.grid2,.grid3,.heroGrid,.cols,.cols3,.cols4,.panel,.card,.section{min-width:0}
.main>*,.grid>*,.grid2>*,.grid3>*,.heroGrid>*,.cols>*,.cols3>*,.cols4>*,.modules>*{min-width:0}
pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
.gdc-reference-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:18px auto;padding:16px 20px;max-width:1180px;background:#fff8f1;border:1px solid #edc7a0;border-radius:16px;color:#803611;font:14px/1.5 system-ui}
.gdc-reference-card strong{font-size:14px}.gdc-reference-card p{margin:5px 0 0;font-size:12px}.gdc-reference-card output{font:750 clamp(15px,2.4vw,21px)/1.4 ui-monospace,monospace;letter-spacing:.4px;overflow-wrap:anywhere;background:#fff;border:1px solid #edc7a0;padding:10px 12px;border-radius:10px;max-width:100%}
#presupuesto-ref-view,#solRegistro{font-size:clamp(14px,2.2vw,20px)!important;letter-spacing:.6px!important;white-space:normal!important;overflow-wrap:anywhere;max-width:100%}
.gdc-countries h2{font-size:24px}.gdc-countries p{font-size:14px}.gdc-country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:10px;margin-top:18px;max-height:390px;overflow-y:auto;padding:3px;overscroll-behavior-y:contain}
.gdc-country-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:90px;border:1px solid #dbe2eb;background:#fff;color:#18354e;border-radius:13px;padding:10px;font:600 13px/1.3 system-ui;cursor:pointer;min-width:0}
.gdc-country-grid button>span:first-child{font-size:29px}.gdc-country-grid button[aria-pressed=true]{border:2px solid #b9152d;background:#fff1f3}.gdc-country-grid button[hidden]{display:none}
.gdc-app-dock{position:static;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;background:#fff;border-top:1px solid #e0e7ee;padding:16px;margin-top:20px;font:600 12px system-ui}
.gdc-app-dock a{display:flex;align-items:center;gap:6px;padding:9px;text-decoration:none;color:#40546a;border-radius:9px}.gdc-app-dock a[aria-current=page]{color:#a91830;background:#fff0f2}.gdc-app-dock a>span:first-child{font-size:20px}
.gdc-send-dialog{position:fixed;inset:0;margin:auto;border:1px solid #dbe2eb;border-radius:20px;padding:24px;width:min(92vw,540px);max-width:calc(100% - 24px);max-height:85dvh;overflow:auto;color:#18354e;background:white;font:15px/1.5 system-ui;box-shadow:0 20px 80px #0003}
.gdc-send-dialog::backdrop{background:#12213388}.gdc-send-dialog h2{font-size:23px;line-height:1.3}.gdc-send-dialog .close{float:right;min-height:40px;background:#f0f3f6;color:#18354e;font-size:22px}
.gdc-send-dialog label{display:block!important;font-size:14px;margin:14px 0}.gdc-send-dialog input:not([type=checkbox]){display:block;width:100%;font:16px system-ui;padding:12px;border:1px solid #bacbd9;border-radius:9px;margin-top:6px}.gdc-send-dialog .send-check{display:flex!important;flex-wrap:nowrap!important;gap:10px;align-items:flex-start;font-size:13px}.gdc-send-dialog input[type=checkbox]{width:20px;min-width:20px;height:20px;flex:0 0 20px}
.gdc-send-dialog button{padding:12px 16px;min-height:44px;border:0;border-radius:10px;background:#b9152d;color:white;font:700 14px system-ui;cursor:pointer}.gdc-send-dialog button:disabled{opacity:.5;cursor:not-allowed}.gdc-send-dialog #gdc-send-status{background:#f4f6f8;padding:12px;border-radius:9px;font-size:13px;overflow-wrap:anywhere}.gdc-send-dialog .send-trap{position:absolute!important;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;margin:0!important;padding:0!important}.gdc-send-ref{font-weight:700;overflow-wrap:anywhere}
@media(max-width:760px){
 body{padding-bottom:calc(82px + env(safe-area-inset-bottom))!important;font-size:15px}
 .shell,.container,.wrap{width:100%!important;max-width:100%!important;padding-left:14px!important;padding-right:14px!important}
 main.shell{padding-top:18px!important}.main,.heroGrid,.grid,.grid2,.grid3,.modules,.choicegrid,.cols,.cols3,.cols4,.pgrid,.quickCard,.costTopOnly,.ivtmNumbers,.solicitudMiniForm,.engGrid,.engInputs,.engCalc,.engLayout{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
 .main{display:grid!important;padding-left:0!important;padding-right:0!important}.main>*,.solicitudMiniForm>*{grid-column:auto!important}
 .sticky,.topbar,.portal-progress{position:static!important}.header .container,.topbar .container,.topbar-inner,.logoBox,.brandbar{flex-wrap:wrap!important;gap:10px!important}
 .hero{padding:18px 0!important}.heroText{padding:20px!important}.hero h1,.heroText h1{font-size:29px!important;line-height:1.12!important;letter-spacing:-.7px!important}.hero p,.heroText p{font-size:15px!important;line-height:1.6!important}.section-head h2{font-size:25px!important}
 .panel,.card,.section{padding:18px!important;border-radius:17px!important;margin-bottom:16px!important;max-width:100%!important}.panel h2,.sectionTitle{font-size:20px!important;line-height:1.35!important}
 .logoText strong,.brand strong,.gdc-wordmark{font-size:21px!important;white-space:normal!important}.logoBox>*,.brand>*{min-width:0}.logoIcon{flex-shrink:0;width:48px!important;height:48px!important}.brand img{width:45px;height:45px;flex-shrink:0}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;min-width:0!important;max-width:100%!important;width:100%;min-height:44px}
 button,.btn,.send-btn{min-height:44px;white-space:normal!important;max-width:100%;font-size:14px}
 .budgetActions,.actions,.heroButtons,.contactOneLine,.contactStrip,.contact-row,.draftbar,.panelHeader,.selectedBoe,.totalBox,.summary-top{flex-wrap:wrap!important;min-width:0;gap:10px!important}
 .budgetActions{grid-template-columns:minmax(0,1fr)!important}.budgetActions>*{min-width:0!important}.contactPill{max-width:100%;white-space:normal!important}
 .residual-chip,.vr,.rl,.r-row{gap:10px;flex-wrap:wrap;min-width:0}.vrv,.r-val,.rlv{max-width:100%;overflow-wrap:anywhere;white-space:normal!important}
 .ref-budget,.reference-box,.presupuesto-ref-box{flex-wrap:wrap!important;min-width:0!important}
 .gdc-reference-card{margin:14px;align-items:flex-start}.gdc-reference-card output{width:100%;font-size:18px}
 .navtabs,.portal-switcher{display:none!important}
 .gdc-app-dock{position:fixed!important;inset:auto 0 0!important;z-index:80;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;max-width:100%;gap:0!important;padding:6px 3px calc(6px + env(safe-area-inset-bottom))!important;margin:0!important;background:#fffffffa;box-shadow:0 -3px 15px #12324c0a;border-radius:0;backdrop-filter:blur(12px)}
 .gdc-app-dock a{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:7px 1px;font-size:9px;line-height:1.2;min-width:0;min-height:55px;text-align:center}.gdc-app-dock a>span:first-child{font-size:20px}
 #gdc-quote-tools{padding:12px 14px!important;gap:8px!important;font-size:12px!important}#gdc-quote-tools button{padding:8px!important;font-size:12px!important;flex:1 1 90px}
 .gdc-countries{padding:18px!important}.gdc-country-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:340px}.gdc-country-grid button{font-size:11px;min-height:85px;padding:8px 5px}
 #canje-form{scroll-margin-top:12px}.gdc-send-dialog{padding:19px}.gdc-send-dialog h2{font-size:21px}.gdc-send-dialog button{width:auto}
 .originCards,.fichaGrid,.ivtmQuarterGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.originCard{padding:12px!important;min-height:100px!important}.originCard b{font-size:14px!important}.originCard span{font-size:12px!important}
 .engMiniGrid,.engCards,.engOptions,.summary-grid{grid-template-columns:minmax(0,1fr)!important}.summary-item{min-width:0!important}
 table{max-width:100%;table-layout:fixed}td,th{overflow-wrap:anywhere;white-space:normal!important}
}
@media(max-width:380px){.gdc-country-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.originCards,.fichaGrid,.ivtmQuarterGrid{grid-template-columns:minmax(0,1fr)!important}}
@media print{body{padding-bottom:0!important}.gdc-app-dock,.gdc-send-dialog,.gdc-countries{display:none!important}.gdc-reference-card{break-inside:avoid}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{transition:none!important;animation:none!important}}
/* Prevent intrinsic card widths from expanding the desktop sidebar. */
.optGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))!important}
.originCards,.fichaGrid,.ivtmQuarterGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr))}
.optGrid>*,.originCards>*,.fichaGrid>*,.ivtmQuarterGrid>*,.engGrid>*,.engCards>*{min-width:0!important;max-width:100%;white-space:normal!important}
.gdc-country-grid img{width:38px;height:29px;object-fit:cover;border-radius:3px;border:1px solid #dbe2eb}
.gdc-app-dock svg{width:22px;height:22px;display:block}
@media(max-width:760px){a.brand{font-size:22px!important;max-width:100%;overflow-wrap:anywhere}header{padding:18px 14px!important}.gdc-countries{margin-left:0;margin-right:0}}
.co2Table{table-layout:fixed;max-width:100%}.co2Table th,.co2Table td{overflow-wrap:anywhere;white-space:normal}
@media(max-width:760px){.solicitudInfo{font-size:14px!important;line-height:1.55!important}.solicitudMiniForm label{font-size:14px!important}.portal-canjes-hero h1{font-size:29px!important}.portal-canjes-hero{padding:23px!important}}
.engTotal{white-space:normal!important;min-width:0!important;max-width:100%;overflow-wrap:anywhere;flex-shrink:1}
.engHead,.engTop{flex-wrap:wrap!important;min-width:0!important}


/* R7.5 · inicio rápido de matriculaciones en móvil */
.gdc-mat-mobile-intro{display:none}
@media(max-width:760px){
 .gdc-mat-mobile-intro{display:block;margin:14px;background:linear-gradient(145deg,#0d3555,#12608c);color:white;border-radius:22px;padding:20px;box-shadow:0 16px 38px #0d355522}
 .gdc-mat-mobile-intro h2{font-size:24px;line-height:1.15;margin:7px 0 8px;color:#fff}.gdc-mat-mobile-intro p{font-size:14px;line-height:1.5;color:#d9ebf8;margin:0 0 16px}.gdc-mat-mobile-kicker{font-size:10px;letter-spacing:1.8px;font-weight:900;color:#7be4c2}
 .gdc-mat-mobile-grid{display:grid;grid-template-columns:1fr;gap:11px}.gdc-mat-mobile-intro label{display:block;font:800 12px/1.3 system-ui;color:#eaf5fc}.gdc-mat-mobile-intro input,.gdc-mat-mobile-intro select{width:100%;min-height:48px;margin-top:6px;border:1px solid #bdd7e8;border-radius:12px;padding:11px 12px;background:white;color:#112f49;font:16px system-ui}
 .gdc-mat-mobile-intro button{width:100%;margin-top:16px;border:0;border-radius:13px;padding:14px;background:#d1122e;color:white;font:850 15px system-ui}.gdc-mat-mobile-intro small{display:block;margin-top:10px;color:#d7e9f6;line-height:1.4}
}
