/* Ajustes compartidos para escritorio, móvil y cambios de orientación. */
html{width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0!important;max-width:100%;overflow-wrap:break-word}
main,.calc-main,.guardia-main,.layout,.merit-layout{box-sizing:border-box;min-width:0;max-width:100%}
img,video,canvas{max-width:100%}
input,textarea,select{box-sizing:border-box;min-width:0;max-width:100%}
.calc-layout>*,.workspace>*,.grid2>*,.grid3>*,.tools-grid>*,.board>*,.selection>*,.metrics>*{min-width:0}
.ca-header .ca-brand>span{min-width:0}
.ca-header .ca-brand small{overflow-wrap:anywhere;white-space:normal}
.ca-header .ca-nav-inner,.ca-header .ca-tool-links,.ca-header .ca-global-links,.ca-merit-toolbar,.ca-merit-toolbar nav{flex-wrap:wrap;min-width:0}
.ca-header .ca-tool-links,.ca-header .ca-global-links{gap:6px}
.ca-tools-dropdown{box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
.ca-tools-dropdown a,.ca-tools-dropdown summary{white-space:normal;overflow-wrap:anywhere}
dialog{box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto}
.tablewrap,.emp-table,.table{max-width:100%;overflow-x:auto}
.result-text,.result-note,.description,.agent-guidance,.metric dd{overflow-wrap:anywhere}
.card-top,.card-bottom,.panel-heading{flex-wrap:wrap;min-width:0}
.panel-heading h2{min-width:0}
@media(max-width:1000px),(max-height:500px) and (pointer:coarse){
 .calc-layout{grid-template-columns:minmax(0,1fr)}
 .merit-layout{display:flex;flex-direction:column;width:100%}
 .merit-content{display:contents}
 .merit-layout .setup{order:0}.merit-score-column{order:1}.merit-layout #tribunal-panel{order:2}.merit-layout .workspace{order:3}
 .merit-layout .scorecard{position:static;max-height:none;overflow:visible}
 .ca-merit-toolbar.navinner{padding:10px 16px;gap:8px}
}
@media(max-width:600px){
 .grid2,.grid3{grid-template-columns:minmax(0,1fr)}
 .tools-grid,.contact-section,.selection,.region-grid,.grid,.board{grid-template-columns:minmax(0,1fr)}
 .ca-header .ca-header-inner{padding-inline:12px;gap:8px}
 .ca-header .ca-distinctive{min-width:0;gap:8px}
 .ca-header .ca-nav-inner{padding-inline:12px;gap:8px}
 .metric{padding:10px}.metric dd{font-size:clamp(15px,4.5vw,19px)}
 .calc-main,.guardia-main,main{padding-inline:12px}
 .calc-panel{padding:16px}
}
@media(max-width:340px){
 .ca-header .ca-brand strong{font-size:22px}
 .ca-header .ca-brand>img{width:40px;height:40px}
 .ca-header .ca-circuit-symbol{width:48px;height:40px}
 .ca-header .ca-distinctive>img{width:32px;height:32px}
 .filters,.results-pane{padding:10px}
 .setup>.merit-panel-heading>h2{font-size:13px}
}
@media(orientation:landscape) and (max-height:500px){
 .ca-header .ca-header-inner{min-height:80px;padding-block:12px}
 .ca-header .ca-brand>img{width:48px;height:48px}
 .ca-header .ca-circuit-symbol{height:60px;width:100px}
 .heading-actions{padding-top:0}
}

/* Safari: ocupar el viewport horizontal y respetar la zona de la camara. */
@media(orientation:landscape) and (pointer:coarse){
 body{width:100%;margin-inline:0}
 main,.calc-main,.guardia-main,.layout{width:100%;max-width:none;margin-inline:0;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
 .ca-header .ca-header-inner,.ca-header .ca-nav-inner{max-width:none;width:100%;box-sizing:border-box;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
 .ca-merit-toolbar.navinner{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
 footer{box-sizing:border-box;max-width:none;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom))}
}
/* Start tool content close to the shared menu. */
body[data-slug] main,body[data-slug] .calc-main,.guardia-main{padding-top:14px}
@media(max-width:760px){body[data-slug] main,body[data-slug] .calc-main,.guardia-main{padding-top:8px}}
@media(max-width:760px){body>.ca-header+main{padding-top:8px}}
body:has(>.ca-header)>main{padding-top:14px}@media(max-width:760px){body:has(>.ca-header)>main{padding-top:8px}}

/* Shared tool area label, matching Codificado's gold marker. */
.ca-area-label{display:flex;align-items:center;gap:10px;color:#1767c4;font:800 12px/1.4 "Segoe UI",Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase;margin:0 0 10px}
.ca-area-line{display:block;flex:0 0 27px;height:2px;background:#e4ae31}
@media(max-width:760px){.ca-area-label{font-size:11px;letter-spacing:.12em;margin-bottom:8px}}

/* Match Codificado's main padding plus its introductory top spacing. */
main:has(>.ca-area-label){padding-top:68px!important}
@media(max-width:800px){main:has(>.ca-area-label){padding-top:50px!important}}
@media(max-width:760px){main:has(>.ca-area-label){padding-top:44px!important}}
@media(max-width:560px){main:has(>.ca-area-label){padding-top:37px!important}}

/* One title scale for every tool area. */
main:has(.ca-area-label) h1{font-size:34px!important;line-height:1.15!important;letter-spacing:-1px!important;font-weight:750!important}
@media(max-width:760px){main:has(.ca-area-label) h1{font-size:25px!important}}
/* Codificado uses 17 px between its area label and title. */ main>.ca-area-label,main.layout>.intro>.ca-area-label{margin-bottom:17px!important}main>.ca-area-label+h1,main>.ca-area-label+.heading h1{margin-top:0!important}

/* Shared distance between area marker and title, independent of edition badges. */
@media(min-width:761px){main>.ca-area-label,main.layout>.intro>.ca-area-label{margin-bottom:24px!important}}
@media(min-width:561px) and (max-width:760px){main>.ca-area-label,main.layout>.intro>.ca-area-label{margin-bottom:29.125px!important}}

/* Codificado shares the content width and side gutters of the calculators. */
main.layout:has(.ca-area-label){max-width:100%;padding-inline:28px}
@media(max-width:760px){main.layout:has(.ca-area-label){padding-inline:16px}}
@media(max-width:600px){main.layout:has(.ca-area-label){padding-inline:12px}}
main.layout:has(.ca-area-label)>.intro{padding-inline:0}
@media(orientation:landscape) and (pointer:coarse){main.layout:has(.ca-area-label){max-width:none;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}

/* Avoid smart double-tap zoom when activating a control; retain pan/pinch zoom. */
a,button,summary,input,textarea,select,[role=button],[role=combobox]{touch-action:manipulation}
/* Keep editable text at a readable focus size in mobile tool documents. */
@media(pointer:coarse){input,textarea,select,[contenteditable]:not([contenteditable=false]){font-size:16px!important}}

/* The title's position does not depend on a loaded/hidden/wrapped DGT badge. */
main.layout>.intro>.title-row{align-items:flex-start;margin-top:0}
main.layout>.intro>.title-row>.catalog-version{transform:translateY(var(--ca-edition-offset,0px))}

/* Los campos y las opciones largas se ajustan al ancho real de su ficha. */
main form,main form label,main fieldset,main .filters,main .calc-panel,main .panel,main .directory-panel{min-width:0;max-width:100%;box-sizing:border-box}
main input:not([type=checkbox]):not([type=radio]),main select,main .ca-select-wrapper,main .ca-select-trigger{min-width:0!important;max-width:100%!important;width:100%;box-sizing:border-box}
main .ca-select-wrapper{display:block}
main .ca-select-trigger{white-space:normal;overflow-wrap:anywhere;text-align:left}
main .ca-select-value{min-width:0;flex:1;white-space:normal;overflow-wrap:anywhere}
main input[type=date]{display:block;min-inline-size:0!important;inline-size:100%;max-inline-size:100%;overflow:hidden}
main input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
.ca-select-option{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%;box-sizing:border-box}

/* Campos de fecha: respetar el ancho de la ficha, incluidos Safari/iOS. */
input:is([type="date"],[type="datetime-local"],[type="time"],[type="month"],[type="week"]){box-sizing:border-box!important;display:block;width:100%!important;min-width:0!important;max-width:100%!important;inline-size:100%!important;min-inline-size:0!important;max-inline-size:100%!important;font-size:16px;overflow:hidden;-webkit-appearance:none;appearance:none}
input:is([type="date"],[type="datetime-local"],[type="time"],[type="month"],[type="week"])::-webkit-date-and-time-value{min-width:0;min-inline-size:0;text-align:left}
input:is([type="date"],[type="datetime-local"],[type="time"],[type="month"],[type="week"])::-webkit-datetime-edit{min-width:0;padding:0}
label:has(input:is([type="date"],[type="datetime-local"],[type="time"],[type="month"],[type="week"])),.date-picker,.date-actions{min-width:0;max-width:100%;box-sizing:border-box}
.date-picker{width:100%;grid-column:1/-1}
.date-picker>*{min-width:0;max-width:100%;box-sizing:border-box}
.date-actions{display:flex;flex-wrap:wrap;gap:10px}
.date-actions>button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){.date-actions>button{flex:1 1 100%;width:100%}}
