/* INVERTIS Core5.9.0-dev.2 · Armonía, componentes compartidos para módulos actuales y futuros. */
:root[data-armonia] {
 --arm-radius:12px; --arm-card-radius:20px; --arm-height:40px;
 --arm-edge:rgba(101,128,164,.18); --arm-highlight:rgba(255,255,255,.95);
 --arm-shadow-field:0 4px 9px rgba(27,52,87,.08),0 12px 24px rgba(27,52,87,.045),inset 0 1px 0 var(--arm-highlight);
 --arm-shadow-card:0 8px 24px rgba(27,52,87,.065),0 2px 5px rgba(27,52,87,.035),inset 0 1px 0 var(--arm-highlight);
 --arm-field-top:#fff; --arm-field-bottom:#f5f8fc; --arm-dialog:#fff;
}
:root[data-armonia][data-theme=dark] { --arm-edge:rgba(161,187,223,.18); --arm-highlight:rgba(213,231,255,.08); --arm-shadow-field:0 5px 14px #0004,inset 0 1px 0 var(--arm-highlight); --arm-shadow-card:0 10px 28px #0003,inset 0 1px 0 var(--arm-highlight); --arm-field-top:#26374c; --arm-field-bottom:#202d3e; --arm-dialog:#202d3e; }
@media(prefers-color-scheme:dark) { :root[data-armonia][data-theme=auto] { --arm-edge:rgba(161,187,223,.18); --arm-highlight:rgba(213,231,255,.08); --arm-shadow-field:0 5px 14px #0004,inset 0 1px 0 var(--arm-highlight); --arm-shadow-card:0 10px 28px #0003,inset 0 1px 0 var(--arm-highlight); --arm-field-top:#26374c; --arm-field-bottom:#202d3e; --arm-dialog:#202d3e; } }
[data-armonia] :is(.inv-input,.inv-select,.inv-textarea,.arm-trigger) {
 background:linear-gradient(160deg,var(--arm-field-top),var(--arm-field-bottom)); color:var(--inv-ink);
 border:1px solid var(--arm-edge); border-radius:var(--arm-radius); box-shadow:var(--arm-shadow-field);
 min-height:var(--arm-height); transition:box-shadow 140ms ease,border-color 140ms ease;
}
[data-armonia] :is(.inv-input,.inv-select,.inv-textarea,.arm-trigger):hover { border-color:color-mix(in srgb,var(--inv-accent) 30%,transparent); }
[data-armonia] :is(.inv-input,.inv-select,.inv-textarea,.arm-trigger):focus-visible { border-color:var(--inv-accent); outline:2px solid var(--inv-accent); outline-offset:3px; }
[data-armonia] :is(.inv-input,.inv-select,.inv-textarea):focus { box-shadow:var(--arm-shadow-field),0 0 0 3px color-mix(in srgb,var(--inv-accent) 13%,transparent); }
[data-armonia] :is(.inv-btn,.arm-trigger) { min-height:var(--arm-height); padding:9px 14px; border-radius:var(--arm-radius); font-family:inherit; font-weight:600; font-size:13px; line-height:1.3; }
[data-armonia] .inv-btn { border:1px solid var(--arm-edge); box-shadow:var(--arm-shadow-field); }
[data-armonia] .inv-btn--secondary { background:linear-gradient(160deg,var(--arm-field-top),var(--arm-field-bottom)); color:var(--inv-ink); }
[data-armonia] .inv-btn--primary { background:var(--inv-org-accent,#2563eb); color:#fff!important; border-color:transparent; box-shadow:0 5px 13px #2563eb30,inset 0 1px 0 #ffffff30; }
[data-armonia] .inv-btn:active:not(:disabled),[data-armonia] .arm-trigger:active:not(:disabled) { box-shadow:inset 0 2px 4px #142f4b20; }
[data-armonia] :is(.inv-btn,.arm-trigger):disabled { opacity:.55; cursor:not-allowed; box-shadow:none; }
[data-armonia] :is(.inv-panel,.inv-card,.inv-quick,.inv-empty) { border-color:var(--arm-edge); border-radius:var(--arm-card-radius); box-shadow:var(--arm-shadow-card); }
[data-armonia] .inv-panel .inv-panel { box-shadow:none; }
[data-armonia] .arm-heading { padding:20px 24px; border-radius:var(--arm-card-radius); border:1px solid var(--arm-edge); background:linear-gradient(115deg,var(--inv-surface),var(--inv-surface-2)); box-shadow:var(--arm-shadow-card); }
[data-armonia] .arm-heading .inv-pagehead__title { margin:0; text-shadow:none; }
[data-armonia] .arm-heading .inv-pagehead__subtitle { margin-top:7px; }
[data-armonia] .arm-section { padding:11px 16px; border-radius:13px; background:var(--inv-surface); box-shadow:0 3px 12px #233b5510; margin-bottom:12px; }
[data-armonia] .arm-section h2 { font-size:17px; line-height:1.3; }
[data-armonia] .arm-section > :first-child { margin-top:0; }
[data-armonia] .arm-section > :last-child { margin-bottom:0; }
[data-armonia] .inv-check-row { min-height:40px; border-radius:10px; }
[data-armonia] .inv-check { accent-color:var(--inv-accent); }
[data-armonia] .arm-select { min-width:0; position:relative; width:100%; }
[data-armonia] .arm-trigger { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; text-align:left; cursor:pointer; }
[data-armonia] .arm-trigger__value { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
[data-armonia] .arm-trigger__arrow { flex:none; color:var(--inv-ink-2); font-size:16px; }
[data-armonia] .arm-native { position:absolute!important; width:1px!important; height:1px!important; clip-path:inset(50%)!important; overflow:hidden!important; padding:0!important; border:0!important; opacity:0; }
[data-armonia] .arm-selector { position:fixed; margin:0; padding:8px; border:1px solid var(--arm-edge); border-radius:18px; background:var(--arm-dialog); color:var(--inv-ink); box-shadow:0 18px 55px #152d5140,0 4px 12px #152d5120; width:min(370px,calc(100vw - 24px)); max-height:min(480px,calc(100dvh - 30px)); overflow:auto; }
[data-armonia] .arm-selector:not([open]) { display:none; }
[data-armonia] .arm-selector::backdrop { background:transparent; }
[data-armonia] .arm-selector__head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 9px 12px; }
[data-armonia] .arm-selector__head strong { font-size:14px; }
[data-armonia] .arm-selector__close { border:0; background:var(--inv-surface-2); color:var(--inv-ink); border-radius:10px; width:32px; height:32px; cursor:pointer; }
[data-armonia] .arm-selector .inv-input { width:100%; margin-bottom:8px; box-sizing:border-box; }
[data-armonia] .arm-selector__list { display:grid; gap:3px; max-height:260px; overflow:auto; overscroll-behavior:contain; padding:2px; }
[data-armonia] .arm-selector__option { border:0; border-radius:10px; padding:10px; width:100%; min-height:40px; background:transparent; color:var(--inv-ink); display:flex; justify-content:space-between; align-items:center; text-align:left; gap:12px; font:inherit; font-size:13px; cursor:pointer; }
[data-armonia] .arm-selector__option:hover { background:var(--inv-surface-2); }
[data-armonia] .arm-selector__option[aria-selected=true] { background:var(--inv-accent-soft); color:var(--inv-accent-text); font-weight:600; }
[data-armonia] .arm-selector__option:disabled { opacity:.5; cursor:not-allowed; }
[data-armonia] .arm-selector__foot { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:8px; padding:9px 6px 1px; border-top:1px solid var(--arm-edge); font-size:12px; color:var(--inv-ink-2); }
[data-armonia] .arm-file { padding:16px; border-radius:16px; background:var(--inv-surface-2); box-shadow:inset 0 1px 3px #152d5108; min-width:0; }
[data-armonia] .arm-file__intro { margin:0 0 10px; color:var(--inv-ink-2); font-size:13px; }
[data-armonia] input[type=file].inv-input { height:auto; width:100%; padding:8px; overflow:hidden; font-size:13px; }
[data-armonia] input[type=file]::file-selector-button { font:inherit; font-weight:600; color:var(--inv-accent-text); background:var(--inv-accent-soft); border:0; border-radius:10px; padding:10px 14px; margin-right:12px; cursor:pointer; }
[data-armonia] input[type=file]::file-selector-button:hover { background:var(--inv-surface-2); }
[data-armonia] .arm-file__status { margin:9px 0 0; color:var(--inv-ink-2); font-size:12px; overflow-wrap:anywhere; }
/* La rejilla no recibe cajas por celda; su apariencia y controles originales se conservan. */
[data-armonia] .inv-reg-hoja { --arm-height:34px; }
[data-armonia] .inv-reg-hoja .inv-pagehead { padding:0 12px; margin-bottom:10px; }
[data-armonia] .inv-reg-hoja :is(.inv-btn,.arm-trigger) { min-height:34px; padding:6px 10px; font-size:12px; }
[data-armonia] .inv-reg-hoja .arm-select { width:auto; min-width:110px; }
[data-armonia] .inv-reg-grid .inv-reg-cell { box-shadow:none!important; border:0!important; border-radius:0!important; }
@media(max-width:767px) {
 :root[data-armonia] { --arm-height:44px; }
 [data-armonia] .inv-reg-hoja { --arm-height:44px; }
 [data-armonia] :is(.inv-input,.arm-trigger,.arm-selector .inv-input) { font-size:16px; }
 [data-armonia] .arm-heading { padding:18px; }
 [data-armonia] .arm-selector { width:calc(100vw - 24px)!important; max-height:75dvh; }
 [data-armonia] .arm-selector__option,[data-armonia] .arm-selector__close { min-height:44px; }
 [data-armonia] .inv-check-row { min-height:44px; }
 [data-armonia] .arm-selector__close { min-width:44px; }
 [data-armonia] .inv-reg-hoja :is(.inv-btn,.arm-trigger) { min-height:44px; }
}
@media(prefers-contrast:more) { [data-armonia] :is(.inv-input,.inv-textarea,.arm-trigger,.arm-selector,.arm-heading) { border-color:var(--inv-ink-2); } }
@media(forced-colors:active) { [data-armonia] :is(.inv-input,.arm-trigger,.arm-selector,.arm-heading,.inv-btn) { border:1px solid CanvasText; box-shadow:none; } }
@media(prefers-reduced-motion:reduce) { [data-armonia] * { transition:none!important; animation:none!important; } }

