
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.55 'DM Sans',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}body[data-theme=dark],body:not([data-theme]){color-scheme:dark;--bg:#121722;--side:#171e2b;--card:#1d2635;--card2:#263348;--text:#edf3fd;--muted:#98a9be;--line:#344155;--primary:#93b5fa;--primary-hover:#b2caff;--field:#151e2c;--danger:#fc969f;--positive:#67cbaa;--shadow:0 14px 36px rgba(0,0,0,.12);--nav-hover:#263348;--tint:#263b59;--table-head:#202c3d;--focus:#a3c5ff;--badge:#263648;background:var(--bg);color:var(--text)}body[data-theme=light]{color-scheme:light;--bg:#f4f6fa;--side:#fff;--card:#fff;--card2:#f1f4f9;--text:#1e293b;--muted:#6b788d;--line:#e2e7f0;--primary:#3d65ba;--primary-hover:#284b98;--field:#f9fafc;--danger:#c3424b;--positive:#138a70;--shadow:0 14px 36px rgba(40,54,87,.055);--nav-hover:#edf2fc;--tint:#e6edfb;--table-head:#f8fafd;--focus:#315eba;--badge:#eaf0fa;background:var(--bg);color:var(--text)}a{color:var(--primary)}a:hover{color:var(--primary-hover)}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;line-height:1.25;letter-spacing:-.035em}h1{font-size:clamp(25px,3vw,32px);margin:0 0 9px;font-weight:800}h2{font-size:18px;margin:0;font-weight:800}p{margin:8px 0 15px}.sub,small{color:var(--muted)}.sub{margin:6px 0 0}.eyebrow{color:var(--primary);font-size:10px;letter-spacing:.19em;font-weight:800;margin-bottom:9px}.ico{flex:none;display:inline-block}.layout{min-height:100vh;display:flex}.sidebar{position:sticky;top:0;height:100vh;flex:none;width:274px;background:var(--side);border-right:1px solid var(--line);padding:29px 16px 16px;display:flex;flex-direction:column;z-index:31}.brand-row{display:flex;align-items:center;gap:12px;padding:0 13px;margin-bottom:43px}.brand-mark{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(140deg,#7aa7f8,#656bd3);color:#fff;font:800 23px Manrope}.brand{font-size:19px;font-weight:800;letter-spacing:-.045em;line-height:1.2}.brand-sub{font-size:11px;color:var(--muted);margin-top:3px}.aside-title{font-size:10px;letter-spacing:.17em;font-weight:800;color:var(--muted);padding:0 15px;margin:0 0 12px}.sidebar nav{display:grid;gap:4px}.nav{min-height:43px;display:flex;align-items:center;gap:13px;color:var(--muted);text-decoration:none;padding:11px 14px;border-radius:11px;font-size:13px;font-weight:600;transition:.17s background,.17s color}.nav:hover{background:var(--nav-hover);color:var(--text)}.nav.active{background:var(--tint);color:var(--primary);font-weight:800}.nav.active:before{content:'';position:absolute;left:9px;width:3px;height:18px;border-radius:2px;background:var(--primary)}.aside-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.user-chip{display:flex;align-items:center;gap:10px;padding:0 8px}.avatar,.top-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--tint);color:var(--primary);font-weight:800}.user-identity{min-width:0;display:grid}.user-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-identity small{font-size:11px}.sidebar-actions{display:flex;gap:8px;margin:15px 7px 0}.sidebar-actions form{margin:0}.icon-button{display:inline-grid;place-items:center;height:39px;width:42px;border-radius:11px;border:1px solid var(--line);background:var(--card2);color:var(--text);cursor:pointer}.icon-button:hover{border-color:var(--primary);color:var(--primary)}.main-column{flex:1;min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);background:var(--card);display:flex;align-items:center;justify-content:space-between;padding:0 35px;gap:15px}.breadcrumb{display:flex;gap:11px;align-items:center;color:var(--muted);min-width:0}.breadcrumb strong{color:var(--text);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-divider{opacity:.5}.topbar-right{display:flex;align-items:center;gap:15px}.scope-pill{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-weight:700;font-size:12px}.scope-pill svg{width:17px}.top-avatar{height:34px;width:34px;border-radius:50%}.content{padding:35px clamp(18px,3.3vw,52px) 70px;max-width:1640px;margin:auto}.page-heading,.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.today-stamp{background:var(--card);padding:10px 15px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-weight:700}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 24px}.stat,.panel{background:var(--card);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.stat{min-height:186px;padding:22px;display:flex;align-items:flex-start;flex-direction:column;gap:8px}.stat-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;margin-bottom:6px}.tint-blue{background:#35558355;color:#84b9ff}.tint-violet{background:#7864b833;color:#b8a0fc}.tint-green{background:#28796244;color:#78d4bc}.tint-amber{background:#8e633d4a;color:#e9b473}.stat>span{color:var(--muted);font-size:12px;font-weight:700}.stat strong{font:800 33px/1.05 Manrope;letter-spacing:-.06em}.stat small{font-size:11px}.panel{padding:24px;margin:0 0 20px}.panel-heading{margin-bottom:21px}.quicklinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick{display:flex;align-items:center;gap:12px;padding:15px 14px;min-height:76px;border:1px solid var(--line);border-radius:13px;background:var(--card2);color:var(--text);text-decoration:none;transition:.18s transform,.18s border-color,.18s background}.quick:hover{color:var(--text);transform:translateY(-2px);border-color:var(--primary)}.quick-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--card);color:var(--primary)}.quick-label{font-weight:700;flex:1;font-size:12px}.quick-arrow{color:var(--muted)}.quick-arrow svg{width:16px}.panel h2{margin-bottom:18px}.panel-heading h2{margin-bottom:5px}button,.btn{border:1px solid transparent;background:var(--primary);color:var(--side);border-radius:10px;padding:11px 16px;font:700 13px 'DM Sans',sans-serif;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:41px}body[data-theme=light] button:not(.secondary):not(.icon-button),body[data-theme=light] .btn:not(.secondary){color:#fff}button:hover,.btn:hover{filter:brightness(1.09);color:var(--side)}button.secondary,.btn.secondary{background:var(--card2);color:var(--text);border-color:var(--line)}label{display:grid;gap:7px;margin-bottom:15px;color:var(--muted);font-weight:700;font-size:12px}input,select,textarea{font:500 14px 'DM Sans',sans-serif;width:100%;min-height:43px;background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:11px 13px}input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:transparent}input:read-only{opacity:.68}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.formwide{max-width:980px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check{margin:0;display:flex;align-items:center;gap:12px;background:var(--card2);border:1px solid var(--line);border-radius:11px;padding:12px;color:var(--text);font-weight:500}.check input{width:17px;height:17px;min-height:unset;accent-color:var(--primary)}.actions{display:flex;gap:12px;justify-content:flex-end;margin-top:21px}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;text-align:left;min-width:530px}th,td{padding:13px 17px;border-bottom:1px solid var(--line);font-size:13px}th{background:var(--table-head);color:var(--muted);font-size:11px;letter-spacing:.025em;font-weight:800}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--card2)}.inlineform{display:inline}.inlineform button{padding:7px 11px;min-height:33px}.login,.install{width:min(100% - 34px,460px);margin:10vh auto}.login .brand{text-align:center;font-size:28px;margin:0 0 25px}.login .panel{padding:32px}.login button{width:100%}.alert{color:var(--danger);border:1px solid var(--danger);padding:12px;border-radius:10px}.mobile-menu,.mobile-backdrop{display:none}body[data-theme=light] .tint-blue{background:#e7efff;color:#3b6bb6}body[data-theme=light] .tint-violet{background:#f0eafe;color:#7454bf}body[data-theme=light] .tint-green{background:#e5f7f0;color:#18846a}body[data-theme=light] .tint-amber{background:#fff0df;color:#b57534}
@media(max-width:1220px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.quicklinks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .24s ease;box-shadow:12px 0 36px #0002}.menu-open .sidebar{transform:translateX(0)}.mobile-menu{display:grid}.mobile-backdrop{display:none;position:fixed;inset:0;background:#050914ac;z-index:30}.menu-open .mobile-backdrop{display:block}.topbar{height:65px;padding:0 18px;justify-content:flex-start}.topbar-right{margin-left:auto}.content{padding:28px 18px 60px}}@media(max-width:570px){.cards,.quicklinks,.permission-grid,.split{grid-template-columns:1fr}.cards{gap:11px}.stat{min-height:140px;padding:17px}.stat strong{font-size:29px}.page-heading,.heading{align-items:flex-start;flex-direction:column}.today-stamp{display:none}.panel{padding:18px}.content{padding:24px 14px 50px}.scope-pill{font-size:0}.scope-pill svg{width:20px}.topbar{padding:0 13px}.breadcrumb{font-size:12px}.actions{flex-wrap:wrap}.actions>*{flex:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Dirección: ficha institucional */
.centro-form{max-width:1180px}.centro-grid{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:24px;align-items:start}.centro-fields{min-width:0}.section-intro{margin-bottom:22px}.section-intro h2{margin-bottom:3px}.centro-image-slot,.signature-group{background:var(--card2);border:1px solid var(--line);padding:18px;border-radius:14px;min-width:0}.centro-image-slot h3{font-size:14px;margin:0 0 14px}.image-preview{height:170px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:12px;overflow:hidden;background:var(--card)}.image-preview-logo img{width:128px;height:128px;object-fit:contain;border-radius:50%}.image-empty{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:var(--tint);color:var(--primary);font-size:45px;font-weight:800}.centro-image-slot label{margin-top:13px;margin-bottom:0}.signature-preview{height:125px;display:grid;place-items:center;border:1px dashed var(--line);background:var(--card);border-radius:12px;margin-bottom:15px;padding:10px}.signature-preview img{max-width:100%;max-height:100%;object-fit:contain}.signature-preview span{font-size:12px;color:var(--muted)}.signature-group .check,.centro-image-slot .check{margin-top:10px}.centro-save{display:flex;justify-content:flex-end;margin:10px 0 36px}.centro-save button{min-width:185px}input[type=file]{padding:9px;font-size:12px}input[type=file]::file-selector-button{background:var(--tint);color:var(--primary);border:0;border-radius:7px;padding:8px 10px;margin-right:9px;font-weight:700;cursor:pointer}textarea{resize:vertical}@media(max-width:1060px){.centro-grid{grid-template-columns:1fr}.centro-image-slot{max-width:370px}}@media(max-width:600px){.centro-image-slot{max-width:none}.centro-save button{width:100%}}

/* Usuarios y permisos */
.user-editor{max-width:1260px}.user-identity-panel{margin-bottom:25px}.user-basic-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}.field-note{color:var(--muted);font-size:11px;font-weight:500}.permissions-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:5px 0 17px}.permissions-title h2{margin:0}.permissions-count{white-space:nowrap;background:var(--tint);color:var(--primary);font-weight:800;padding:9px 13px;border-radius:12px}.permission-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.permission-section{margin:0}.permission-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.permission-section-heading h3{font-size:19px;margin:5px 0}.permission-group-kicker{font-size:10px;letter-spacing:.14em;color:var(--primary);font-weight:800}.permission-all{display:flex;gap:8px;align-items:center;margin:0;color:var(--primary);white-space:nowrap;cursor:pointer}.permission-all input,.permission-option input{width:18px;height:18px;min-height:18px;accent-color:var(--primary);flex:none}.permission-options{display:grid;gap:9px}.permission-option{display:flex;gap:12px;align-items:flex-start;margin:0;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--card2);cursor:pointer;color:var(--text)}.permission-option:has(input:checked){border-color:var(--primary);background:var(--tint)}.permission-option-content{display:grid;gap:3px}.permission-option-content strong{font-size:13px;line-height:1.35}.permission-option-content small{font-size:11px;line-height:1.4;font-weight:400}.user-editor-actions{display:flex;justify-content:flex-end;gap:12px;margin:22px 0 35px}.user-editor-actions>*{min-width:145px}@media(max-width:1100px){.permission-sections{grid-template-columns:1fr}}@media(max-width:640px){.user-basic-fields{grid-template-columns:1fr}.permission-section-heading{flex-wrap:wrap}.permissions-title{align-items:flex-start;flex-direction:column}.user-editor-actions>*{flex:1;min-width:0}}

/* Habitaciones — Dirección */
.room-form{display:flex;gap:13px;align-items:end;flex-wrap:wrap}.room-form label{flex:1;min-width:160px;margin:0}.room-form button{margin-bottom:1px}.room-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.room-choice{display:flex;flex-direction:column;gap:7px;text-decoration:none;background:var(--card2);padding:18px;border:1px solid var(--line);border-radius:13px;color:var(--text)}.room-choice span{font-size:12px;color:var(--muted)}.room-choice:hover,.room-choice.is-selected{border-color:var(--primary);color:var(--text)}.room-detail-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.room-detail-header h2{margin:4px 0}.bed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.bed-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;background:var(--card2);border:1px solid var(--line);padding:17px 9px;border-radius:14px;min-height:138px}.bed-tile small{color:var(--positive)}.bed-tile.bed-disabled{opacity:.62}.bed-tile.bed-disabled small{color:var(--muted)}.bed-tile.bed-occupied{border-color:var(--primary)}.bed-tile.bed-occupied small{color:var(--primary)}.bed-symbol{color:var(--primary)}.bed-action{margin-top:5px!important;font-size:11px;min-height:28px;padding:5px 10px}.room-controls{margin-top:25px;border-top:1px solid var(--line);padding-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.room-controls .room-form{align-items:end}@media(max-width:670px){.room-controls{grid-template-columns:1fr}.room-detail-header{align-items:flex-start;flex-direction:column}.room-form button{width:100%}.bed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Gastos operativos */
.expense-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 16px}.expense-form .expense-wide{grid-column:1/-1}.expense-filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.expense-filters label{margin:0;flex:1;min-width:160px}.expense-filters button{margin-bottom:0}.expense-void{display:flex;flex-direction:column;gap:7px;min-width:185px}.expense-void input{min-height:36px}.expense-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-stats .stat{min-height:125px}@media(max-width:900px){.expense-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:590px){.expense-form,.expense-stats{grid-template-columns:1fr}.expense-filters button{width:100%}}

/* V9 · gastos compartidos y navegación por responsabilidades */
.sidebar .aside-title:not(:first-of-type){margin-top:22px}.sidebar nav+ .aside-title{border-top:1px solid var(--line);padding-top:20px}
.expense-period{margin-bottom:18px}.expense-period-links{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 20px}.expense-chip{border:1px solid var(--line);background:var(--card2);color:var(--text);border-radius:10px;padding:9px 19px;font-weight:700;font-size:12px;text-decoration:none}.expense-chip.chosen{background:var(--tint);color:var(--primary);border-color:var(--primary)}.expense-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px}.expense-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.expense-metric{padding:23px;background:var(--card);border:1px solid var(--line);border-radius:15px;display:grid;gap:9px}.expense-metric>span{font-size:12px;color:var(--muted);font-weight:700}.expense-metric strong{font-size:clamp(22px,2.5vw,32px);letter-spacing:-.04em}.expense-metric small{font-size:11px;color:var(--muted)}.expense-breakdown{margin-bottom:18px}.expense-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 26px}.expense-category{display:grid;gap:10px}.expense-category-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12px}.expense-category-line span{color:var(--muted);text-align:right}.expense-track{height:7px;border-radius:20px;background:var(--card2);overflow:hidden}.expense-track>div{height:100%;border-radius:20px;background:var(--primary)}.expense-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);align-items:start;gap:18px}.expense-layout:has(.expense-ledger:only-child){grid-template-columns:1fr}.expense-ledger,.expense-entry{min-width:0}.expense-entry{position:sticky;top:25px}.expense-entry .expense-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.expense-entry-foot{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:12px}.expense-entry-foot span{max-width:170px;font-size:11px;color:var(--muted)}.expense-money{text-align:right;white-space:nowrap}.expense-concept{font-size:13px;font-weight:750;margin-bottom:4px}.expense-table{min-width:550px}.expense-table td{vertical-align:top}.expense-table small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.expense-date{white-space:nowrap;color:var(--muted)}.expense-method{font-size:12px}.expense-is-void{opacity:.55}.expense-status{display:block;color:var(--danger);font-size:11px;margin-top:6px}.expense-void-details summary{cursor:pointer;font-size:12px;color:var(--primary)}.expense-void{padding:12px 0;min-width:190px}.expense-void label{margin:0 0 8px}.expense-void input{min-height:36px}.expense-empty{text-align:center;padding:44px 15px}.expense-empty-icon{margin:auto auto 12px;display:grid;place-items:center;border-radius:14px;background:var(--tint);color:var(--primary);width:45px;height:45px;font-size:25px}.expense-empty h3{margin:0 0 8px}.expense-empty p{font-size:12px;color:var(--muted);max-width:300px;margin:auto}.expense-new{white-space:nowrap}
@media(max-width:1250px){.expense-layout{grid-template-columns:1fr}.expense-entry{position:static}.expense-entry .expense-form{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.expense-overview{grid-template-columns:1fr 1fr}.expense-categories{grid-template-columns:1fr}.expense-filters{grid-template-columns:1fr 1fr}.expense-filters button{grid-column:1/-1}.expense-entry .expense-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:530px){.expense-overview{grid-template-columns:1fr}.expense-entry .expense-form{grid-template-columns:1fr}.expense-entry-foot{flex-wrap:wrap}.expense-entry-foot button{width:100%}}

/* Documentos institucionales */
.doc-template{border:1px solid var(--border,rgba(130,150,180,.2));border-radius:12px;margin:12px 0;overflow:hidden}.doc-template>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;list-style:none}.doc-template>summary::-webkit-details-marker{display:none}.doc-template>summary span{opacity:.7;font-size:.84rem}.doc-template[open]>summary{border-bottom:1px solid var(--border,rgba(130,150,180,.2))}.doc-template-body,.doc-add{padding:18px}.doc-template-text{width:100%;min-height:350px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.5;white-space:pre-wrap}.doc-add{border-top:1px solid var(--border,rgba(130,150,180,.2));margin-top:16px}.doc-add h3{margin-top:0}.docs-summary .stat strong{font-size:1.35rem}@media(max-width:680px){.doc-template>summary{align-items:flex-start;flex-direction:column;gap:4px}}

/* Documentos institucionales V11 */
.doc-tabs,.doc-list-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 22px}.doc-tab,.doc-list-tab{border:1px solid var(--border,#344359);padding:11px 15px;border-radius:11px;background:transparent;color:inherit;cursor:pointer;font:inherit}.doc-tab.active,.doc-list-tab.active{background:var(--accent,#445ee4);border-color:transparent;color:white}.doc-list-tab span{font-size:.78em;opacity:.8;margin-left:6px}.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:18px}.doc-card{display:flex;flex-direction:column;gap:14px}.doc-card-head,.doc-actions,.doc-worktop,.doc-list-head,.doc-save-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.doc-chip,.doc-version{font-size:.8rem;padding:5px 10px;border-radius:20px;background:var(--surface2,rgba(110,132,170,.12));color:inherit}.doc-card h2{margin:0}.doc-card small{opacity:.7}.doc-workspace{margin-top:20px}.doc-worktop{margin-bottom:18px}.doc-editor-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:16px}.doc-toolbar{display:flex;gap:5px;flex-wrap:wrap}.doc-toolbar button,.doc-close,.doc-edit-item,.doc-new-item,.doc-cancel,#doc-review,#doc-back-edit{padding:9px 13px;border:1px solid var(--border,#506078);border-radius:9px;background:transparent;color:inherit;cursor:pointer}.doc-toolbar button:hover{background:rgba(100,120,170,.15)}.doc-token-label{min-width:225px}.doc-paper-wrap{background:rgba(105,112,127,.15);padding:22px;max-height:700px;overflow:auto;border-radius:12px}.doc-paper{background:#fff;color:#1b2738;max-width:820px;min-height:500px;margin:auto;padding:60px 65px;box-shadow:0 12px 35px #0002;font:15px/1.65 Georgia,'Times New Roman',serif;overflow-wrap:anywhere}.doc-paper h1,.doc-paper h2,.doc-paper h3{color:#192333}.doc-paper table{border-collapse:collapse;max-width:100%}.doc-paper td,.doc-paper th{border:1px solid #c8cfda;padding:6px}.doc-paper.editing{outline:2px solid #6478e5;cursor:text}.doc-save-actions{margin-top:20px;justify-content:flex-end}.doc-list-panel h3{margin:0}.doc-list-panel .tablewrap{margin-top:16px}.doc-list-panel td{vertical-align:top}.doc-list-panel td small{opacity:.75}.doc-panel[hidden],.doc-workspace[hidden],.doc-editor-tools[hidden],.doc-save-actions [hidden],#doc-item-editor[hidden]{display:none!important}@media(max-width:720px){.doc-paper-wrap{padding:8px}.doc-paper{padding:24px 16px;min-height:360px}.doc-card{min-width:0}}

/* Ingreso - Administración V12 */
.ing-form{display:grid;gap:18px;max-width:1120px}.ing-form .panel{padding:25px}.ing-step{font-weight:800;color:var(--primary);margin-bottom:18px;font-size:12px;letter-spacing:.055em;text-transform:uppercase}.ing-search{display:flex;gap:12px;max-width:630px;margin-bottom:20px}.ing-search input{min-width:0}.ing-foot{display:flex;justify-content:flex-end;gap:12px;padding:5px 0 30px}.ing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ing-details{display:grid;grid-template-columns:minmax(125px,1fr) 1.3fr;gap:12px 20px;margin:20px 0 0}.ing-details dt{color:var(--muted)}.ing-details dd{margin:0;font-weight:700}.ing-contact{padding:12px 0;border-bottom:1px solid var(--line)}.ing-contact strong{font-size:11px;color:var(--primary)}@media(max-width:750px){.ing-grid{grid-template-columns:1fr}.ing-search{flex-direction:column}.ing-foot{flex-wrap:wrap}}


/* Ingreso administrativo V13 */
.ing-v13{max-width:1600px}.ing-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.ing-main{min-width:0;display:grid;gap:19px}.ing-section{padding:27px 30px;scroll-margin-top:28px}.ing-section-top{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.ing-section-top h2{font-size:20px}.ing-num{flex:none;display:grid;place-items:center;background:var(--tint);color:var(--primary);font-weight:800;font-size:15px;border-radius:12px;width:44px;height:44px}.ing-fields{display:grid;gap:12px 18px}.ing-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ing-fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.ing-wide{grid-column:1/-1}.ing-subtitle{font-size:13px;font-weight:800;color:var(--text);border-top:1px solid var(--line);padding-top:22px;margin:15px 0}.ing-subtitle:first-of-type{border-top:0;padding-top:0}.ing-choice{padding:20px;background:var(--card2);border:1px solid var(--line);border-radius:14px}.ing-choice h3{margin:0 0 15px;font-size:15px}.ing-choice .sub{font-size:12px}.ing-inline{display:flex;align-items:center;gap:9px}.ing-inline input{width:18px;height:18px;min-height:unset}.ing-side{position:sticky;top:18px;display:grid;gap:14px}.ing-summary{padding:25px}.ing-summary h2{margin:8px 0 22px}.ing-s-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.ing-s-row span{font-size:12px;color:var(--muted)}.ing-s-row strong{font-size:15px;white-space:nowrap}.ing-divider{height:1px;background:var(--line);margin:20px 0}.ing-submit{width:100%;margin:14px 0}.ing-small{font-size:11px;color:var(--muted)}.ing-navigation{display:grid;gap:13px}.ing-navigation strong{font-size:13px}.ing-navigation a{font-size:12px;text-decoration:none}.ing-agreement{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:10px}.ing-agreement>div{padding:16px;background:var(--card2);border:1px solid var(--line);border-radius:12px}.ing-agreement small{display:block;min-height:35px}.ing-agreement strong{display:block;font-size:19px;margin-top:4px}.ing-status{color:var(--positive);font-weight:800}.ing-detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin:20px 0}.ing-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ing-details dt{color:var(--muted)}.ing-details dd{font-weight:700;margin:0}.ing-person{display:grid;gap:4px;border-bottom:1px solid var(--line);padding:13px 0}.ing-person small{color:var(--primary)}.ing-person span{color:var(--muted)}.ing-search{display:flex;gap:12px;margin-bottom:18px}.ing-search input{flex:1}.ing-search button{width:110px}@media(max-width:1230px){.ing-layout{grid-template-columns:1fr}.ing-side{position:static;grid-row:1}.ing-navigation{display:none}.ing-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.ing-summary h2,.ing-summary .eyebrow,.ing-summary .ing-divider{grid-column:1/-1}}@media(max-width:760px){.ing-section{padding:20px}.ing-fields.two,.ing-fields.three,.ing-agreement,.ing-detail-grid{grid-template-columns:1fr}.ing-summary{display:block}}

/* Ingreso 2.0: un solo formulario, sin asistente ni pasos */
.ing-v14 .ing-main{padding:12px 26px}.ing-v14 .ing-section{padding:24px 3px;border-bottom:1px solid var(--line);background:transparent;box-shadow:none;border-radius:0}.ing-v14 .ing-section:last-child{border-bottom:none}.ing-v14 .ing-section-top{margin-bottom:18px}.ing-v14 .ing-main .ing-num{display:none}.ing-v14 .ing-extra-line{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;border:1px solid var(--line);background:var(--card2);padding:16px;border-radius:13px;margin:12px 0}.ing-v14 .ing-extra-line .ing-wide{grid-column:1/-1}.ing-done{max-width:760px;margin:8vh auto;text-align:center;padding:55px 30px}.ing-check{width:66px;height:66px;background:var(--tint);border-radius:100%;display:grid;place-items:center;margin:0 auto 24px;color:var(--positive);font-size:38px}.ing-done-actions{display:flex;gap:12px;justify-content:center;margin-top:26px;flex-wrap:wrap}@media(max-width:950px){.ing-v14 .ing-main{padding:8px 16px}.ing-v14 .ing-extra-line{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.ing-v14 .ing-extra-line{grid-template-columns:1fr}}

/* Ingreso refinado: opciones sencillas y controles que se abren solo cuando aplican. */
.ing-v14 .ing-main{gap:0}.ing-v14 .ing-choice.ing-simple{padding:18px 20px}.ing-radio-line{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:6px 0 15px}.ing-radio-line label{display:flex;align-items:center;gap:9px;margin:0;color:var(--text);font-size:13px;font-weight:600}.ing-radio-line input{height:18px;min-height:18px;width:18px;accent-color:var(--primary)}.ing-service{border:1px solid var(--line);border-radius:14px;margin:11px 0;padding:16px 20px;background:var(--card2)}.ing-switch{display:flex;align-items:center;gap:12px;color:var(--text);font-size:14px;font-weight:700;margin:0;cursor:pointer}.ing-switch input{width:20px;height:20px;min-height:20px;accent-color:var(--primary)}.ing-service-details{padding:18px 0 0;margin-top:14px;border-top:1px solid var(--line)}.ing-clinical{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:24px;align-items:center;background:var(--tint);border:1px solid var(--line);padding:18px;border-radius:13px;margin-bottom:23px}.ing-clinical p{margin:5px 0 0}.ing-payment-toggle{margin-bottom:18px}.ing-pay-area{border:1px solid var(--line);border-radius:13px;padding:18px;background:var(--card2)}.ing-pay-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.ing-pay-row>div{display:grid;gap:5px}.ing-pay-row small{color:var(--muted)}.ing-pay-row label{width:210px;margin:0}.ing-pay-total{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:16px 0 3px}.ing-pay-total strong{font-size:21px}.ing-v14 .ing-agreement{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}@media(max-width:680px){.ing-clinical{grid-template-columns:1fr}.ing-pay-row label{width:130px}.ing-v14 .ing-agreement{grid-template-columns:1fr}}
/* V16: captura compacta con decisiones contextuales */
.ing-v16 .ing-section{padding-top:28px;padding-bottom:28px}.ing-v16 .ing-section-top{margin-bottom:17px}.ing-v16 .ing-section-top .sub{max-width:730px}.ing-v16 .ing-service{border:1px solid var(--line);border-radius:13px;padding:13px 17px;margin:11px 0;background:var(--card2)}.ing-v16 .ing-service-details{padding:15px 0 2px}.ing-v16 .ing-switch{margin:0;display:flex;align-items:center;gap:12px;color:var(--text);font-size:14px;cursor:pointer}.ing-v16 .ing-switch input{width:18px;height:18px;min-height:0;accent-color:var(--primary);padding:0}.ing-v16 .ing-extras{margin-top:16px;padding:14px;border-radius:13px;border:1px dashed var(--line)}.ing-v16 #ing-extra-area{padding-top:12px}.ing-v16 .ing-extra-line{display:grid;grid-template-columns:minmax(170px,2fr) minmax(100px,1fr) minmax(130px,1fr) auto;gap:11px;align-items:end;border-bottom:1px solid var(--line);padding:12px 0}.ing-v16 .ing-extra-line button{margin-bottom:15px}.ing-v16 .ing-pay-controls{min-width:205px;max-width:260px}.ing-v16 .ing-pay-controls select{margin-bottom:6px}.ing-v16 .ing-pay-row{align-items:center}.ing-v16 .ing-pay-row[hidden]{display:none!important}.ing-v16 [hidden]{display:none!important}@media(max-width:770px){.ing-v16 .ing-extra-line{grid-template-columns:1fr 1fr}.ing-v16 .ing-pay-row{flex-direction:column;align-items:stretch}.ing-v16 .ing-pay-controls{max-width:none}}@media(max-width:490px){.ing-v16 .ing-extra-line{grid-template-columns:1fr}}

/* V21 · Administración compacta */
.adm-wallet-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.adm-wallet-stats>div,.adm-favor{background:var(--surface-2,#202735);border:1px solid var(--border,#394355);padding:16px;border-radius:12px;min-height:0}.adm-wallet-stats strong,.adm-favor strong{font-family:inherit;font-size:1.4rem;display:block;margin:6px 0;font-weight:750;line-height:1.3}.adm-wallet-stats small,.adm-favor small{display:block;opacity:.8;font-size:.82rem}.adm-wallet-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.adm-wallet-forms form{display:grid;align-content:start;gap:12px}.adm-wallet-forms h3{margin:0 0 4px}.adm-check{display:flex!important;flex-direction:row!important;align-items:center;gap:12px}.adm-check input[type=checkbox]{appearance:auto!important;width:18px!important;height:18px!important;flex:0 0 18px;margin:0!important}.adm-disclosure{margin-top:14px}.adm-disclosure summary{cursor:pointer;font-weight:650}.adm-disclosure form{margin-top:14px}.adm-compact-row{display:flex;gap:24px;flex-wrap:wrap}.adm-compact-row>div{display:grid;gap:5px}.adm-compact-row small{opacity:.7}.adm-favor{display:inline-block;margin:12px 0 20px;min-width:220px}@media(max-width:720px){.adm-wallet-stats,.adm-wallet-forms{grid-template-columns:1fr}.adm-wallet-stats strong{font-size:1.2rem}}

/* V23 - módulos de administración: una tarjeta por módulo; operaciones bajo demanda */
.adm-wallet-v23,.adm-extra-v23{display:block}
.adm-module-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}
.adm-module-head h2{margin:0 0 6px}
.adm-module-head .sub{margin:0;max-width:740px}
.adm-wallet-line{display:flex;align-items:stretch;flex-wrap:wrap;gap:0;margin:20px 0 0;padding:14px 0;border-block:1px solid var(--line)}
.adm-wallet-line>div{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:4px 25px 4px 0;margin-right:25px;border-right:1px solid var(--line);min-width:155px}
.adm-wallet-line>div:last-child{border-right:0;margin-right:0;padding-right:0}
.adm-wallet-line span,.adm-favor-total span{font-size:12px;color:var(--muted)}
.adm-wallet-line strong{display:block;font-family:inherit;font-size:19px;line-height:1.35;color:var(--text);font-weight:750}
.adm-wallet-line small{font-size:12px;color:var(--muted)}
.adm-favor-total{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:140px}
.adm-favor-total strong{font-family:inherit;font-size:23px;line-height:1.3}
.adm-module-actions{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-top:16px}
.adm-action-disclosure{position:relative;width:auto;margin:0;min-width:170px}
.adm-action-disclosure[open]{width:100%;order:10;border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.adm-action-disclosure>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;background:var(--card2);border:1px solid var(--line);border-radius:10px;color:var(--text);font-size:13px;font-weight:700}
.adm-action-disclosure>summary::-webkit-details-marker{display:none}
.adm-action-disclosure>summary:hover{border-color:var(--primary)}
.adm-action-disclosure[open]>summary{margin-bottom:14px}
.adm-inline-form{display:grid;gap:12px;max-width:850px}
.adm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.adm-inline-form label:not(.adm-switch-row){display:flex;flex-direction:column;gap:6px}
.adm-inline-form .btn{justify-self:start}
.adm-wallet-v23 input[type=checkbox].adm-native-check,.adm-extra-v23 input[type=checkbox].adm-native-check{appearance:checkbox!important;-webkit-appearance:checkbox!important;display:inline-block!important;width:17px!important;height:17px!important;min-width:17px!important;max-width:17px!important;min-height:17px!important;padding:0!important;margin:0!important;flex:0 0 17px!important;accent-color:var(--primary);vertical-align:middle}
.adm-wallet-v23 .adm-switch-row,.adm-extra-v23 .adm-switch-row{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;line-height:1.4;width:fit-content}
@media(max-width:700px){.adm-form-grid{grid-template-columns:1fr}.adm-wallet-line>div{min-width:130px;flex:1;border-right:0;margin-right:0;padding-right:12px}.adm-favor-total{align-items:flex-start}.adm-module-head{flex-direction:column}.adm-module-actions{flex-direction:column}.adm-action-disclosure{width:100%}}

/* V25.1 - únicamente el módulo documental de Cuenta Administrativa */
.adm-docs{min-width:0}
.adm-docs .adm-module-head{margin-bottom:18px}
.adm-docs .adm-compact-row{display:flex;align-items:center;gap:0;flex-wrap:wrap;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:13px 16px;margin-bottom:16px}
.adm-docs .adm-compact-row>div{display:flex;flex-direction:column;gap:4px;min-width:145px;padding:3px 22px 3px 0;margin-right:22px;border-right:1px solid var(--line)}
.adm-docs .adm-compact-row>div:last-child{margin:0;padding:3px 0;border:0}
.adm-docs .adm-compact-row small{font-size:11px;color:var(--muted);font-weight:600}
.adm-docs .adm-compact-row strong{font-size:16px;color:var(--text);font-weight:750}
.adm-docs .adm-module-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.adm-docs .adm-module-actions form{margin:0}
.adm-docs .adm-module-actions button{min-height:39px}
.adm-docs .tablewrap{min-width:0;margin-top:2px}
.adm-docs .tablewrap td{vertical-align:middle}
.adm-docs .tablewrap td form{margin:0}
.adm-docs .tablewrap td button{min-height:32px;padding:6px 10px;font-size:11px}
.adm-docs .tablewrap td a{font-weight:700;white-space:nowrap}
.adm-docs>.sub:last-child{font-size:11px;line-height:1.5;margin:12px 0 0}
@media(max-width:700px){.adm-docs .adm-compact-row{gap:12px}.adm-docs .adm-compact-row>div{flex:1 1 130px;min-width:0;margin:0;padding:0;border:0}.adm-docs .adm-module-actions{flex-direction:column;align-items:stretch}.adm-docs .adm-module-actions form,.adm-docs .adm-module-actions button{width:100%}}
