/* F4: patrones de ficha, formulario y decisiones. Tokens de T1. */
body[data-os-family="F4"]{font-size:var(--os-size-body);line-height:1.6}
body[data-os-family] :is(main,section,article,aside,form,fieldset,div){min-width:0}
body[data-os-family] :is(h1,h2,h3,p,span,a,label,button,td,th){overflow-wrap:anywhere}
body[data-os-family] :is(button,input:not([type=checkbox]):not([type=radio]),select,summary){min-height:var(--os-size-touch)}
body[data-os-family] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-family:var(--os-font-body);font-size:var(--os-size-body);max-width:100%;border-color:var(--os-border);color:var(--os-text);background:var(--os-surface)}
body[data-os-family] textarea{min-height:128px;resize:vertical}
body[data-os-family] button{font-size:var(--os-size-label);white-space:normal;line-height:1.4}
body[data-os-family] :is(button,input,select,textarea,a,summary):focus-visible{outline:var(--os-size-focus) solid var(--os-focus);outline-offset:3px}
body[data-os-family] :is(input,textarea,select)[aria-invalid="true"]{border-color:var(--os-error)}
body[data-os-family] :is(button,input,select,textarea):disabled{cursor:not-allowed}
body[data-os-family] .os-h1{max-width:22ch;letter-spacing:-.025em}
body[data-os-family] .os-sub{max-width:70ch;font-size:var(--os-size-body);line-height:1.7}
body[data-os-family] .os-papel{padding:var(--os-space-24);border-radius:var(--os-radius-md);border:1px solid var(--os-divider);background:var(--os-surface)}
body[data-os-family] .os-papel :last-child{margin-bottom:0}
body[data-os-family] :is(.os-estado,.os-pie,.os-mono){font-size:var(--os-size-label)}
body[data-os-family] :is(.os-btn,.ct-btn){min-height:var(--os-size-touch);padding:var(--os-space-12) var(--os-space-16);border-radius:var(--os-radius-md)}
body[data-os-family] .os-btn:active:not(:disabled){transform:scale(var(--os-pressScale));transition:transform var(--os-duration-press) var(--os-ease-out)}
body[data-os-family] .os-btn:not(.fantasma),.ct-btn.primario{background:var(--os-accent);color:var(--os-on-accent);border-color:var(--os-accent)}
body[data-os-family] .os-btn.fantasma{background:var(--os-surface);color:var(--os-text);border-color:var(--os-border)}
body[data-os-family] .os-btn:hover:not(:disabled):not(.fantasma){background:var(--os-accent-hover)}
body[data-os-family] :is(.fa-volver,.ct-volver,.ca-volver,.os-volver){display:inline-flex;align-items:center;padding:var(--os-space-8) 0;margin-bottom:var(--os-space-16);font-size:var(--os-size-label)}
:is(.fa-cols,.fa-campo,.fa-dia,.ca-datos,.ca-rejilla,.mc-datos,.eq-cuenta,.ta-grid,.ct-cita){gap:var(--os-space-16)}
.fa-cols{grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:var(--os-space-32)}
.fa-persona{padding:var(--os-space-16);margin-bottom:var(--os-space-8);border-color:var(--os-divider)}
.fa-persona[aria-pressed=true],.os-op[role=tab][aria-selected=true]{background:var(--os-selected);border-color:var(--os-accent);box-shadow:inset 3px 0 var(--os-accent)}
.fa-persona .n{font-size:var(--os-size-body)}
.fa-persona :is(.r,.p){font-size:var(--os-size-label);letter-spacing:0;text-transform:none;margin-top:var(--os-space-4)}
.fa-tabs{gap:var(--os-space-8);padding-bottom:var(--os-space-16);margin-bottom:var(--os-space-24);border-bottom:1px solid var(--os-divider)}
.fa-tab{font-family:var(--os-font-body);font-size:var(--os-size-label);letter-spacing:0;text-transform:none;min-height:var(--os-size-touch);padding:var(--os-space-12) var(--os-space-16);border-radius:var(--os-radius-pill)}
.fa-campo{grid-template-columns:minmax(130px,.55fr) minmax(0,1fr);padding:var(--os-space-16) 0}
.fa-campo .k{letter-spacing:0;text-transform:none;line-height:1.6}
.fa-campo .v{font-size:var(--os-size-body)}
.fa-campo .v.vacio{font-size:var(--os-size-label)}
.fa-fila{padding:var(--os-space-24);border-color:var(--os-divider);margin-bottom:var(--os-space-16)}
.fa-fila .meta{letter-spacing:0;text-transform:none;line-height:1.7}
.fa-fila .txt{font-size:var(--os-size-body)}
.fa-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--os-space-16)}
.fa-num{padding:var(--os-space-16);background:var(--os-elevated);border-radius:var(--os-radius-sm)}
.fa-num .k{letter-spacing:0;text-transform:none}
.fa-num .v{font-size:var(--os-size-h2);margin-top:var(--os-space-8)}
.fa-dia{grid-template-columns:minmax(100px,1fr) minmax(40px,.5fr) minmax(0,1fr);padding:var(--os-space-12) 0}
.fa-ed{max-width:none;gap:var(--os-space-12)}
.fa-ed label{letter-spacing:0;text-transform:none}
.fa-motivo{padding:var(--os-space-16);margin-top:var(--os-space-16)}
.fa-k3{padding:var(--os-space-16);background:var(--os-warning-surface);border-radius:var(--os-radius-sm)}
.fa-k3 .sello{font-size:var(--os-size-label);letter-spacing:.03em}
:is(.mc-ficha,.mc-cfg,.mc-serv,.mc-sol,.eq-fila,.ca-ficha,.sede-dia){padding:var(--os-space-24);margin-bottom:var(--os-space-16);border-color:var(--os-divider);box-shadow:0 4px 16px color-mix(in srgb,var(--os-color-ink950) 8%,transparent)}
:is(.mc-quien,.eq-fila .quien,.ca-ficha h2){font-family:var(--os-font-heading);font-size:24px;line-height:1.25}
:is(.mc-dato .k,.mc-nota,.mc-vig,.mc-rol,.eq-marca,.eq-nota,.ca-ficha .quien,.ca-datos .k,.ca-campo label,.ca-campo .ayuda,.ca-aviso,.sede-nota,.sede-dia .num,.sede-hoy-fila .cuando,.ta-tile .k,.ta-tile .v,.ta-nota){font-size:var(--os-size-label);letter-spacing:0;text-transform:none;line-height:1.65}
:is(.mc-form,.eq-form){padding:var(--os-space-24);background:var(--os-elevated);border-radius:var(--os-radius-sm);margin-top:var(--os-space-16)}
:is(.mc-form label,.mc-grupo,.eq-grupo){font-size:var(--os-size-label);letter-spacing:.025em;text-transform:none}
.mc-form .fila>div{min-width:0}
.mc-datos{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));margin-top:var(--os-space-24)}
.mc-dato .v{font-size:var(--os-size-body);margin-top:var(--os-space-4);display:block}
.mc-ficha.inactiva,.mc-serv.inactiva,.eq-fila.inactiva{opacity:1;border-style:dashed}
.eq-cuenta{grid-template-columns:repeat(3,minmax(0,1fr));margin:var(--os-space-24) 0}
.eq-tile{padding:var(--os-space-24);background:var(--os-elevated);border-color:var(--os-divider)}
.eq-tile .n{font-size:38px}.eq-tile .k{font-size:var(--os-size-label);letter-spacing:0;text-transform:none;margin-top:var(--os-space-12)}
.eq-chips,.mc-chips{gap:var(--os-space-8);margin-top:var(--os-space-16)}
.sede-dia .nombre{font-size:24px}.sede-dia li{padding:var(--os-space-12) 0;align-items:flex-start;flex-wrap:wrap}
.sede-dia li .horas,.sede-dia .banda,.sede-hueco{font-size:var(--os-size-label)}
.sede-hoy-fila{padding:var(--os-space-16) 0;flex-wrap:wrap}.sede-hoy-fila .quien{font-size:var(--os-size-body)}
.ct-cita{grid-template-columns:minmax(0,15rem) minmax(0,1fr);padding:var(--os-space-24);gap:var(--os-space-12) var(--os-space-24)}
.ct-cita>*{min-width:0}
.ct-cita>.h,.ct-cita>.h small{white-space:normal;overflow-wrap:anywhere}
.ct-cita .h{font-size:22px;font-weight:600;color:var(--os-accent)}
.ct-cita .h small,.ct-cita .s,.ct-cita .m,.ct-dia small,.ct-hueco{font-size:var(--os-size-label);line-height:1.65}
.ct-cita .q{font-size:18px;font-weight:600}.ct-chip{font-size:var(--os-size-label);letter-spacing:0;text-transform:none;border-radius:var(--os-radius-pill);margin-top:var(--os-space-4)}
.ct-pestanas button{font-family:var(--os-font-body);font-size:var(--os-size-label);letter-spacing:0;text-transform:none;min-height:var(--os-size-touch)}
.ct-pestanas button.activa{background:var(--os-selected);color:var(--os-accent);border-color:var(--os-accent)}
.ct-form{padding:var(--os-space-16);gap:var(--os-space-12);background:var(--os-elevated)}
.ct-form :is(input,select){min-width:0;width:100%}.ct-fecha input{min-width:0;max-width:100%}
.ca-datos{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));padding-top:var(--os-space-16);border-top:1px solid var(--os-divider)}
.ca-chip{font-size:var(--os-size-label);letter-spacing:0;text-transform:none}.ca-chip.gris{background:var(--os-elevated);color:var(--os-secondary)}
.ca-rejilla{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--os-space-16) var(--os-space-24)}
.ca-campo :is(input,select,textarea){padding:var(--os-space-12) var(--os-space-16)}
.ca-check{align-items:flex-start;min-height:var(--os-size-touch);padding:var(--os-space-8) 0;font-size:var(--os-size-body)}
.ca-check input{flex:0 0 auto;width:22px;height:22px;accent-color:var(--os-accent);margin-top:2px}
.ca-mi-pct{font-weight:600;font-variant-numeric:tabular-nums}
.ca-huella{font-size:var(--os-size-label);overflow-wrap:anywhere}
.ta-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--os-space-16)}
.ta-tile{padding:var(--os-space-24);background:var(--os-elevated);border-color:var(--os-divider)}
.ta-tile .n{font-size:var(--os-size-h2)}.ta-envoltorio{overflow:visible}.ta-tabla{table-layout:fixed}
.ta-tabla th,.ta-tabla td{padding:var(--os-space-16);font-size:var(--os-size-label);letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
.ta-mods{font-size:var(--os-size-label)}
body[data-os-screen="app-meta-produccion"] .mp-cifra .v{font-size:38px;line-height:1.2;margin-top:var(--os-space-8)}
body[data-os-screen="app-meta-produccion"] :is(.mp-nota,.mp-cinta,.mp-cifra .k){font-size:var(--os-size-label);letter-spacing:0;text-transform:none}
body[data-os-screen="app-meta-produccion"] .mp-rail{height:var(--os-space-12);margin:var(--os-space-24) 0 var(--os-space-12)}
body[data-os-screen="cuestionario-artista"] :is(.ca-caja,.q-caja){max-width:100%}
body[data-os-family] [hidden]{display:none!important}
.os-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:720px){.fa-cols{grid-template-columns:minmax(0,1fr);gap:var(--os-space-24)}.fa-cols>aside{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:var(--os-space-8)}}
@media(max-width:600px){body[data-os-family] .os-papel,:is(.mc-ficha,.mc-cfg,.mc-serv,.mc-sol,.eq-fila,.ca-ficha,.sede-dia,.fa-fila){padding:var(--os-space-16)}.eq-cuenta{grid-template-columns:1fr}.eq-tile{display:flex;align-items:center;gap:var(--os-space-16);padding:var(--os-space-16)}.eq-tile .k{margin-top:0}.fa-campo{grid-template-columns:1fr;gap:var(--os-space-8)}.fa-dia{grid-template-columns:minmax(0,1fr) minmax(0,.5fr);gap:var(--os-space-8)}.fa-dia>span:last-child{grid-column:1/-1}.ct-cita{grid-template-columns:minmax(0,1fr)}.ct-cita .h{display:flex;align-items:baseline;gap:var(--os-space-12);flex-wrap:wrap}.ta-tabla,.ta-tabla tbody{display:block;width:100%}.ta-tabla thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ta-tabla tr{display:block;border:1px solid var(--os-divider);border-radius:var(--os-radius-sm);padding:var(--os-space-12);margin-bottom:var(--os-space-16)}.ta-tabla td{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:var(--os-space-8);border:none;text-align:left!important}.ta-tabla td::before{content:attr(data-label);font-size:var(--os-size-label);font-weight:600;color:var(--os-secondary);margin-bottom:var(--os-space-4)}}
@media(prefers-reduced-motion:reduce){body[data-os-family] *,body[data-os-family] *::before,body[data-os-family] *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}body[data-os-family] .os-btn:active{transform:none}}
