/* Original Base UI. No remote fonts, images or runtime dependencies. */
#base-app{--ink:#183047;--muted:#586d80;--blue:#165dcc;--line:#dbe4ed;--bg:#f4f7fb;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);min-height:100vh;margin:0;box-sizing:border-box}
#base-app *{box-sizing:border-box}body:has(#base-app){margin:0}#base-app [hidden]{display:none!important}
#base-app h1{font-size:30px;margin:0;line-height:1.25;letter-spacing:-.5px}#base-app h2{font-size:21px;margin:0 0 18px}#base-app h3{font-size:17px;margin:22px 0 10px}#base-app p{margin:0 0 14px}#base-app a{color:var(--blue)}
#base-app button,#base-app input,#base-app select,#base-app textarea{font:inherit}
#base-app button,#base-app .button{min-height:48px;border:1px solid transparent;border-radius:9px;padding:11px 18px;font-weight:650;background:var(--blue);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
#base-app button.secondary,#base-app a.button.secondary{background:#eef3f9;color:var(--ink);border-color:var(--line)}#base-app button.danger{background:#a72d37}
#base-app button:disabled{opacity:.5;cursor:wait}
#base-app button:focus-visible,#base-app a:focus-visible,#base-app input:focus,#base-app select:focus{outline:3px solid #68a8fb;outline-offset:2px}
#base-app .base-shell{width:100%;min-width:0;min-height:100vh}
#base-app .base-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 32px;background:#fff;border-bottom:1px solid var(--line)}
#base-app .brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:750;letter-spacing:-.6px;color:var(--ink);min-width:0}
#base-app .brand-mark{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;background:var(--blue);border-radius:12px;color:#fff;font-size:24px}
#base-app .brand small{display:block;font-size:14px;font-weight:450;letter-spacing:0;color:var(--muted);overflow-wrap:anywhere}
#base-app .account{display:flex;align-items:center;gap:16px;font-size:14px;min-width:0}
#base-app .account span{overflow-wrap:anywhere}#base-app .account button{flex-shrink:0}
#base-app .base-primary,#base-app .base-secondary{display:flex;align-items:center;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;min-width:0;max-width:100%;padding:12px 32px;background:#fff;border-bottom:1px solid var(--line)}
#base-app .base-primary button,#base-app .base-secondary button{flex:0 0 auto;white-space:nowrap;background:transparent;color:var(--muted);min-width:44px}
#base-app .base-primary button.active{background:var(--blue);color:#fff}
#base-app .base-secondary{padding-top:8px;padding-bottom:8px;background:#f9fbfd}
#base-app .base-secondary button{min-height:44px;padding:9px 16px;font-size:15px}
#base-app .base-secondary button.active{background:#e7effc;color:#124da7;border-color:#cdddf7}
#base-app .base-content{width:100%;min-width:0;padding:28px 32px 40px}
#base-app .top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
#base-app .screen-actions{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}
#base-app .muted{color:var(--muted)}
#base-app .card{background:#fff;padding:24px;border:1px solid var(--line);border-radius:14px;margin:0 0 20px;min-width:0;max-width:none;box-shadow:none}
#base-app .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
#base-app .grid .card{margin-bottom:0}
#base-app .grid+.card{margin-top:20px}
#base-app .field{display:flex;flex-direction:column;gap:7px;margin:0 0 16px;font-weight:600;min-width:0}
#base-app .field input,#base-app .field select,#base-app .field textarea{min-height:48px;min-width:0;width:100%;border:1px solid #adbdcf;background:#fff;border-radius:8px;color:var(--ink);padding:10px 12px;font-weight:400}
#base-app .field textarea{min-height:90px}
#base-app .base-content form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
#base-app .base-content form fieldset>.field{margin-bottom:0}
#base-app .base-content form fieldset>h3,#base-app .base-content form fieldset>p,#base-app .base-content form fieldset>.checks,#base-app .base-content form fieldset>.actions,#base-app .base-content form fieldset>.form-grid{grid-column:1/-1;margin:0}
#base-app .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
#base-app .form-grid .field{margin-bottom:0}
#base-app .field-wide{grid-column:1/-1}
#base-app .actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}
#base-app .base-content form[data-action="calendar.date"] fieldset{display:flex;align-items:end;flex-wrap:wrap}
#base-app .base-content form[data-action="calendar.date"] .field{width:320px;max-width:100%}
#base-app .notice{padding:14px 18px;border-radius:9px;background:#e8f2ff;margin:0 0 20px;overflow-wrap:anywhere}
#base-app #base-notice:empty{display:none}#base-app .notice.error{background:#fff0ee;color:#982d23}#base-app .notice.success{background:#e8f6ee;color:#23613a}
#base-app .empty{padding:24px;background:#fafcfe;border:1px dashed #bac9d7;border-radius:10px;color:var(--muted)}
#base-app .row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
#base-app .row:last-child{border-bottom:0}#base-app .row strong{display:block}
#base-app .tag{font-size:13px;font-weight:650;padding:4px 10px;border-radius:20px;background:#edf3fa;display:inline-block}
#base-app .tag.ready{background:#e5f4e9;color:#216d3c}#base-app .tag.blocked{background:#fff0ed;color:#982d23}
#base-app .checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-bottom:16px}
#base-app .check{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:12px;min-height:50px;font-weight:450;min-width:0}
#base-app .check input{width:22px;height:22px;flex-shrink:0;accent-color:var(--blue)}
#base-app .auth{max-width:540px;margin:0 auto;padding:52px 22px}#base-app .auth .brand{padding-bottom:22px;color:#1254a5}
#base-app .code{font-family:ui-monospace,monospace;overflow-wrap:anywhere;white-space:pre-wrap;padding:14px;background:#f2f6fa;border-radius:8px;font-size:15px}
#base-app .steps{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}#base-app .steps span{background:#e9f0f7;border-radius:6px;padding:5px 9px;font-size:13px}#base-app .steps span.current{background:#1254a5;color:#fff}
#base-app fieldset{border:0;padding:0;margin:0;min-width:0}#base-app .base-loading{padding:60px;text-align:center}#base-app details{margin:12px 0}#base-app summary{cursor:pointer;min-height:44px;padding-top:8px}

#base-app .table-wrap{overflow:auto;margin:18px 0;border:1px solid var(--line);border-radius:10px;max-width:100%}#base-app .data-table{border-collapse:collapse;width:100%;font-size:15px}#base-app .data-table th,#base-app .data-table td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}#base-app .data-table th{background:#f2f6fa;font-weight:650;white-space:nowrap}#base-app .data-table tr:last-child td{border-bottom:0}#base-app .table-actions{min-width:120px}#base-app .table-actions button{display:block;margin-bottom:7px;width:100%;font-size:14px}#base-app button.danger{background:#fff;color:#9c2424;border:1px solid #d9a8a8}#base-app .record-detail{margin:6px 0;font-size:14px}#base-app .record-detail div{display:grid;grid-template-columns:115px minmax(0,1fr);gap:8px;margin:7px 0}#base-app .record-detail dt{color:var(--muted);font-weight:500}#base-app .record-detail dd{margin:0;overflow-wrap:anywhere}#base-app .combo{position:relative}#base-app .zone-list{position:absolute;z-index:5;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #1233;max-height:320px;overflow:auto;width:100%;top:100%}#base-app .zone-list[hidden]{display:none}#base-app .zone-list button{display:block;background:#fff;color:#182f4b;border-radius:0;text-align:left;width:100%;min-height:48px;padding:12px;overflow-wrap:anywhere}#base-app .zone-list button:hover,#base-app .zone-list button:focus,#base-app .zone-list button[data-active]{background:#e4efff}#base-app .zone-list p{padding:12px;font-weight:400}#base-app input:focus-visible,#base-app select:focus-visible,#base-app button:focus-visible,#base-app summary:focus-visible,#base-app .table-wrap:focus-visible{outline:3px solid #548ddb;outline-offset:2px}

#base-app .field[hidden]{display:none}

#base-app .base-content{min-width:0}

#base-app .person-role-summary{display:block;font-size:14px;margin-top:6px}#base-app .data-table td{overflow-wrap:anywhere}#base-app .data-table[data-table="people"] th:last-child,#base-app .data-table[data-table="people"] td:last-child,#base-app .data-table[data-table="financial"] th:last-child,#base-app .data-table[data-table="financial"] td:last-child{position:sticky;right:0;background:#fff;box-shadow:-1px 0 var(--line);z-index:1}#base-app .data-table[data-table="people"] th:last-child,#base-app .data-table[data-table="financial"] th:last-child{background:#f2f6fa;z-index:2}
#base-app .data-table[data-table="financial"]{table-layout:fixed;min-width:600px}#base-app .data-table[data-table="financial"] th,#base-app .data-table[data-table="financial"] td{padding:8px;font-size:14px}#base-app .data-table[data-table="financial"] th{white-space:normal}#base-app .data-table[data-table="financial"] th:nth-child(1){width:14%}#base-app .data-table[data-table="financial"] th:nth-child(2){width:23%}#base-app .data-table[data-table="financial"] th:nth-child(3){width:10%}#base-app .data-table[data-table="financial"] th:nth-child(4){width:9%}#base-app .data-table[data-table="financial"] th:nth-child(5){width:11%}#base-app .data-table[data-table="financial"] th:nth-child(6){width:10%}#base-app .data-table[data-table="financial"] th:nth-child(7){width:13%}#base-app .data-table[data-table="financial"] button{padding:8px 10px;white-space:nowrap;max-width:100%}

.calendar-chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.calendar-chip{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid #c9d8e1;border-radius:12px;min-width:160px;flex:1 1 180px}.calendar-chip .secondary{align-self:flex-start;margin-top:4px}


#base-app .data-table[data-table="people"]{table-layout:fixed;min-width:760px}
#base-app .data-table[data-table="people"] th:nth-child(1){width:22%}
#base-app .data-table[data-table="people"] th:nth-child(2){width:10%}
#base-app .data-table[data-table="people"] th:nth-child(3){width:16%}
#base-app .data-table[data-table="people"] th:nth-child(4){width:12%}
#base-app .data-table[data-table="people"] th:nth-child(5){width:12%}
#base-app .data-table[data-table="people"] th:nth-child(6){width:11%}
#base-app .data-table[data-table="people"] th:nth-child(7){width:8%}
#base-app .data-table[data-table="people"] th:nth-child(8){width:9%}
#base-app .data-table[data-table="people"] th{white-space:normal}
#base-app .data-table[data-table="people"] td:nth-child(7){padding-left:8px;padding-right:8px}
#base-app .data-table[data-table="people"] td:nth-child(7) .tag{white-space:nowrap}
#base-app .calendar-chip{background:#f6f9ff;border-color:#ccdcf4;gap:10px;padding:18px;min-width:0}
#base-app .calendar-chip>strong{font-size:18px}
@media(min-width:1200px){#base-app .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1199px){
  #base-app .base-header,#base-app .base-primary,#base-app .base-secondary{padding-left:24px;padding-right:24px}
  #base-app .base-content{padding:24px}
  #base-app .data-table[data-table="people"] th:nth-child(4),#base-app .data-table[data-table="people"] td:nth-child(4),#base-app .data-table[data-table="people"] th:nth-child(6),#base-app .data-table[data-table="people"] td:nth-child(6){display:none}
  #base-app .data-table[data-table="people"] th:nth-child(1){width:25%}
  #base-app .data-table[data-table="people"] th:nth-child(2){width:13%}
  #base-app .data-table[data-table="people"] th:nth-child(3){width:18%}
  #base-app .data-table[data-table="people"] th:nth-child(5){width:16%}
  #base-app .data-table[data-table="people"] th:nth-child(7){width:12%}
  #base-app .data-table[data-table="people"] th:nth-child(8){width:16%}
}
@media(max-width:640px){
  #base-app .base-header{padding:16px;align-items:start;gap:12px}
  #base-app .brand{font-size:21px;gap:9px}#base-app .brand-mark{width:36px;height:36px;font-size:22px}
  #base-app .account{flex-direction:column;align-items:end;gap:8px;max-width:45%;text-align:right}
  #base-app .base-primary,#base-app .base-secondary{padding-left:16px;padding-right:16px}
  #base-app .base-content{padding:22px 16px}#base-app .card{padding:18px}
  #base-app h1{font-size:26px}#base-app .top{align-items:start;flex-direction:column;gap:16px}
  #base-app .screen-actions{width:100%}#base-app .screen-actions button{flex:1 1 auto}
  #base-app .base-content form fieldset,#base-app .form-grid,#base-app .grid{grid-template-columns:minmax(0,1fr)}
  #base-app .row{align-items:start;flex-wrap:wrap}#base-app .checks{grid-template-columns:minmax(0,1fr)}
}

/* Embedded in Central (base-admin-surface/1.0): Central draws the title, menu and session. */
body.base-embedded{background:transparent;margin:0}
.base-embedded #base-app .base-shell{min-height:0}
.base-embedded #base-app .base-secondary{background:transparent;border:0;padding:0 2px 14px;gap:8px;flex-wrap:wrap;overflow:visible}
.base-embedded #base-app .base-secondary button{min-height:39px;padding:9px 13px;border:1px solid #d5dde7;border-radius:10px;background:#fcfcfb;color:#516073;font-size:12px;font-weight:800;box-shadow:0 2px 6px rgba(18,32,51,.035)}
.base-embedded #base-app .base-secondary button.active{background:#4b79a3;border-color:#4b79a3;color:#fff;box-shadow:0 7px 16px rgba(49,95,136,.22)}
.base-embedded #base-app .base-content{padding:4px 2px 24px}
.base-embedded #base-app{background:transparent;min-height:0}

/* dev.24: Terminal and ingreso screens (business name + page being opened). */
#base-app .auth .auth-page{margin:-14px 0 10px;color:var(--muted);font-weight:600;overflow-wrap:anywhere}
#base-app .brand-mark svg{display:block}
#base-app button.link{min-height:32px;padding:2px 6px;background:transparent;color:var(--blue);border:0;font-weight:600;font-size:13px;text-decoration:underline}
/* dev.24: inside wp-admin › Configuración (WordPress draws its own menu around it). */
#base-app.base-in-admin{min-height:0;margin:10px 20px 0 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
#base-app.base-in-admin .base-shell{min-height:0}
@media(max-width:782px){#base-app.base-in-admin{margin:10px 10px 0 0}}
/* dev.24 Cargos matrix: Cargos in columns, permissions in rows grouped by complemento; first column stays visible while scrolling sideways. */
#base-app .matrix-wrap{max-height:75vh}
#base-app .matrix{border-collapse:separate;border-spacing:0;font-size:14px;min-width:100%}
#base-app .matrix th,#base-app .matrix td{border-bottom:1px solid var(--line);padding:8px 10px;background:#fff}
#base-app .matrix thead th{position:sticky;top:0;z-index:2;background:#f2f6fa;vertical-align:bottom}
#base-app .matrix .matrix-corner{left:0;z-index:4;text-align:left}
#base-app .matrix .matrix-role{min-width:108px;max-width:150px;text-align:center;font-weight:650;white-space:normal;overflow-wrap:break-word;hyphens:auto}
#base-app .matrix .matrix-role small{display:block;font-weight:450;color:var(--muted);font-size:12px}
#base-app .matrix tbody th[scope="row"]{position:sticky;left:0;z-index:1;text-align:left;font-weight:500;min-width:220px;max-width:320px;box-shadow:1px 0 var(--line)}
#base-app .matrix tr.matrix-group th{position:sticky;left:0;background:#e9f0f8;color:#183f6b;font-weight:700;text-align:left;font-size:13px;letter-spacing:.2px}
#base-app .matrix td{text-align:center}
#base-app .matrix-check{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer}
#base-app .matrix-check input{width:22px;height:22px;accent-color:var(--blue);cursor:pointer}
#base-app .matrix-check input:disabled{cursor:not-allowed}#base-app .notice-pos{width:56px;min-height:36px;margin:2px auto 0;display:block;text-align:center}.notice-mode{min-width:150px}
#base-app .matrix td.suggested{background:#fff8e6;box-shadow:inset 0 0 0 2px #e8b84a}
#base-app .matrix td.changed{background:#e7f0ff}
#base-app .matrix-tag{font-size:11px;font-weight:700;color:#8a5a00;line-height:1.2}
#base-app .matrix-actions{position:sticky;bottom:0;background:#fff;padding:10px 0;margin-top:8px}
@media(max-width:640px){#base-app .matrix tbody th[scope="row"]{min-width:150px;max-width:190px;font-size:13px}#base-app .matrix .matrix-role{min-width:104px}}
/* dev.24: wp-admin's own .card is 520px wide; inside Configuración cards take the full width. The top menu wraps on wide screens and scrolls sideways on phones. */
@media(min-width:783px){#base-app .base-primary,#base-app .base-secondary{flex-wrap:wrap;overflow-x:visible}}
#base-app .data-table td>strong+.muted{display:block;font-size:14px}
/* dev.28 (owner point 3): the submenu looks like one — under its group's name, smaller, underlined, without the filled colour of the main menu. */
#base-app .base-secondary{background:var(--bg);border-bottom:1px solid var(--line);box-shadow:inset 0 1px 0 var(--line);padding:0 32px 0 48px;gap:4px;min-height:48px}
#base-app .base-secondary .sub-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-right:10px;white-space:nowrap}
#base-app .base-secondary .sub-label::after{content:" ›"}
#base-app .base-secondary button{min-height:46px;padding:8px 12px;font-size:14px;font-weight:600;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#3d5266}
#base-app .base-secondary button:hover{color:var(--ink);border-bottom-color:#b8c8da}
#base-app .base-secondary button.active{background:transparent;color:var(--blue);border-bottom-color:var(--blue)}
@media(max-width:1199px){#base-app .base-secondary{padding-left:40px;padding-right:24px}}
@media(max-width:640px){#base-app .base-secondary{padding-left:16px;padding-right:16px}#base-app .base-secondary .sub-label{display:none}}
/* Inside Central, Central draws the main menu with filled buttons; Configuración's submenu is a line of underlined tabs. */
.base-embedded #base-app .base-secondary{background:transparent;border:0;border-bottom:1px solid #d5dde7;box-shadow:none;padding:0 2px;margin:0 0 18px;gap:2px;min-height:0;flex-wrap:wrap}
.base-embedded #base-app .base-secondary .sub-label{font-size:11px;color:#738092}
.base-embedded #base-app .base-secondary button{min-height:40px;padding:8px 12px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#516073;font-size:13px;font-weight:700;box-shadow:none}
.base-embedded #base-app .base-secondary button.active{background:transparent;color:#2f5f8a;border-bottom-color:#4b79a3;box-shadow:none}
/* dev.28 (owner point 4): the notice floats at the bottom of what is visible; nothing moves to show it. */
#base-app .notice.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:24px;z-index:100000;display:flex;align-items:center;gap:12px;width:max-content;max-width:min(560px,calc(100vw - 32px));margin:0;padding:12px 10px 12px 18px;box-shadow:0 10px 30px rgba(18,32,51,.22);font-weight:600}
#base-app .notice.toast .toast-close{min-height:34px;min-width:34px;padding:0 8px;background:transparent;color:inherit;font-size:22px;line-height:1;border:0}
#base-app .card[data-editor]{position:relative}
#base-app .card[data-editor]>.editor-close{position:absolute;top:14px;right:14px;min-height:38px;padding:6px 14px;font-size:14px}
#base-app .card[data-editor]>.editor-close~h2{padding-right:110px}
/* dev.28 (owner point 5): Estructura as an organization chart from left to right, one column per level. */
#base-app .org-help{max-width:900px}
#base-app .org-chart{display:grid;grid-template-columns:repeat(var(--levels,3),minmax(0,1fr));gap:36px;align-items:start}
#base-app .org-col{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0}
#base-app .org-col+.org-col::before{content:"›";position:absolute;left:-27px;top:14px;font-size:34px;line-height:1;color:#9fb1c4}
#base-app .org-col>header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
#base-app .org-col>header h2{margin:0;font-size:19px}
#base-app .org-step{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e7effc;color:#124da7;font-weight:750;font-size:14px}
#base-app .org-filter{flex-basis:100%;font-size:13px;color:var(--muted)}
#base-app .org-filter .link{min-height:28px;padding:0 4px}
#base-app .org-card{display:flex;align-items:stretch;gap:4px;border:1px solid var(--line);border-left:4px solid #9fb6cf;border-radius:10px;background:#fbfdff;margin:0 0 10px;min-width:0}
#base-app .org-card.picked{border-color:var(--blue);border-left-color:var(--blue);background:#e9f1fe}
#base-app .org-pick{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;background:transparent;color:var(--ink);border:0;padding:10px 12px;min-height:54px;font-weight:600;border-radius:10px;overflow-wrap:anywhere}
#base-app button.org-pick:hover{background:#eef4fc}
#base-app .org-pick .muted{font-weight:400;font-size:13px}
#base-app .org-tools{display:flex;align-items:center;gap:2px;padding-right:4px;flex-shrink:0}
#base-app .org-tools .icon{min-height:40px;min-width:40px;padding:0;background:transparent;color:var(--muted);font-size:18px;border:0;border-radius:8px}
#base-app .org-tools .icon:hover{background:#eef3f9;color:var(--ink)}
#base-app .org-tools .icon.danger{color:#9c2424;font-size:24px}
#base-app .org-tools .icon.danger:hover{background:#fff0ee}
#base-app .org-group{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:14px 0 6px}
#base-app .org-items>.org-group:first-child{margin-top:0}
#base-app .org-add{width:100%;min-height:44px;background:transparent;color:var(--blue);border:1px dashed #9db8dc;margin-top:4px}
#base-app .org-add:hover{background:#f2f7ff}
#base-app .org-col .empty{padding:14px;font-size:14px;margin-bottom:10px}
#base-app .org-editor{border:2px solid var(--blue);border-radius:10px;padding:12px;margin:0 0 10px;background:#fff}
#base-app .org-editor h3{margin:0 0 10px;font-size:16px}
#base-app .base-content .org-editor form fieldset{grid-template-columns:minmax(0,1fr);gap:12px}
#base-app .org-editor .actions{margin-top:4px}
#base-app .org-editor .checks{grid-template-columns:minmax(0,1fr);margin-bottom:0}
#base-app .org-function h3{margin:4px 0;font-size:15px}
#base-app .org-function p{font-size:13px;margin:0 0 8px}
#base-app .org-retired{margin:12px 0 0;font-size:14px}
#base-app .org-retired-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:2px 0;color:var(--muted)}
@media(max-width:900px){#base-app .org-chart{grid-template-columns:minmax(0,1fr);gap:30px}#base-app .org-col+.org-col::before{left:50%;top:-30px;transform:rotate(90deg)}}
/* dev.29 Estructura en árbol: Local › Áreas › Sectores, each level a step to the right. */
#base-app .tree-card{padding:16px 18px}
#base-app ul.tree,#base-app .tree-children{list-style:none;margin:0;padding:0}
#base-app .tree-children{margin-left:22px;padding-left:16px;border-left:2px solid #dbe5f0}
#base-app .tree-node{margin:6px 0;min-width:0}
#base-app .tree-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px;padding:4px 6px 4px 8px;border:1px solid var(--line);border-radius:10px;background:#fbfdff}
#base-app .tree-local>.tree-row{background:#e9f1fe;border-color:#bcd2f3}
#base-app .tree-area>.tree-row{border-left:4px solid #9fb6cf}
#base-app .tree-area.open>.tree-row{border-left-color:var(--blue)}
#base-app .tree-sector>.tree-row{background:#fff}
#base-app .tree-kind{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#124da7}
#base-app .tree-name{flex:1 1 150px;min-width:0;overflow-wrap:break-word;font-weight:600}
#base-app .tree-name .muted{font-weight:400;font-size:13px;margin-left:6px}
#base-app button.tree-open{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:flex-start;gap:0;flex:1 1 150px;background:transparent;border:0;color:var(--ink);text-align:left;padding:6px 2px;min-height:40px;font-size:inherit}
#base-app button.tree-open:hover{text-decoration:underline}
#base-app .tree-toggle{display:inline-grid;place-items:center;min-width:36px;min-height:36px;padding:0;background:transparent;border:0;color:var(--blue);font-size:16px;border-radius:8px}
#base-app button.tree-toggle:hover{background:#eef4fc}
#base-app .tree-dot{width:8px;height:8px;border-radius:50%;background:#9fb6cf;margin:0 6px 0 4px;flex-shrink:0}
#base-app .tree-badge{font-size:12px;font-weight:600;color:#0b5b38;background:#e3f6ec;border:1px solid #b9e3cc;border-radius:999px;padding:2px 10px}
#base-app .tree-add{min-height:40px;background:transparent;color:var(--blue);border:1px dashed #9db8dc;border-radius:10px;padding:0 14px}
#base-app .tree-add:hover{background:#f2f7ff}
#base-app .tree-note{font-size:13px;margin:0}
#base-app .tree-node>.org-editor{margin:6px 0}
#base-app .tree-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media(max-width:600px){#base-app .tree-children{margin-left:8px;padding-left:10px}#base-app .tree-card{padding:10px}#base-app .tree-area>.tree-row .org-tools,#base-app .tree-area>.tree-row .order-tools{order:1}#base-app .tree-area>.tree-row:has(.tree-badge)::after{content:'';order:2;flex-basis:100%;height:0}#base-app .tree-area>.tree-row .tree-badge{order:3;margin:0 0 6px 8px}#base-app .tree-sector>.tree-row:has(.tree-badge)::after{content:'';order:2;flex-basis:100%;height:0}#base-app .tree-sector>.tree-row .tree-badge{order:3;margin:0 0 4px 18px}#base-app .tree-sector>.tree-row .org-tools,#base-app .tree-sector>.tree-row .order-tools{order:1}}
/* dev.30: order arrows (↑ ↓), Áreas and Formas always open, Medios tags, Accesos table (Terminales × páginas, «Pedir PIN» row). */
#base-app .order-tools{display:inline-flex;gap:2px}
#base-app button.icon.order{min-width:36px;min-height:36px;font-size:16px;color:var(--blue)}
#base-app button.icon.order:disabled{color:#c3cfdc;cursor:default;background:transparent}
#base-app .tree-kind-area{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#5a6b80;background:#eef3f8;border-radius:6px;padding:3px 7px;margin-left:2px}
#base-app .tree-area>.tree-row{padding-left:8px}
#base-app .tree-badge.pay{color:#174e9c;background:#e8f0fd;border-color:#bfd3f5}
#base-app .tree-badge.neutral{color:#4b5b6e;background:#f1f4f8;border-color:#d8e0ea;font-weight:500}
#base-app .matrix th small,#base-app .matrix td small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:2px}
#base-app .matrix tr.matrix-pin th,#base-app .matrix tr.matrix-pin td{background:#fffaf0}
#base-app .matrix td.matrix-na{color:#b7c3d0}
#base-app .matrix td.matrix-when{font-size:13px;min-width:130px;text-align:left}
#base-app .access-requests{border-left:4px solid #e8b84a;background:#fffdf6}
#base-app .access-requests .row{flex-wrap:wrap;gap:8px}
#base-app .access-history summary,#base-app details.card>summary{cursor:pointer;font-weight:650}
#base-app .access-history h3{margin:14px 0 6px;font-size:15px}
#base-app .order-tools .icon,#base-app .access-matrix .icon{background:transparent;border:0;padding:0;border-radius:8px;min-width:40px;min-height:40px;font-size:18px}
#base-app .order-tools .icon:not(:disabled):hover,#base-app .access-matrix .icon:hover{background:#eef4fc}
#base-app .access-matrix .icon.danger{color:#b42318}
#base-app .access-matrix .matrix-role{min-width:82px;max-width:120px}
#base-app .access-matrix td.matrix-when{min-width:118px;font-size:12px}
#base-app .access-matrix tbody th[scope="row"]{min-width:180px}
/* dev.31 (owner R13): stronger colors in Estructura and Medios, Medios / Personas tables, compact Cargos, pop-ups, history pages. */
#base-app .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#base-app .tree-local>.tree-row{background:#1f4f8f;border-color:#1f4f8f;color:#fff}
#base-app .tree-local>.tree-row .tree-kind{color:#cfe0f7}
#base-app .tree-local>.tree-row .org-tools .icon{color:#e6efff}
#base-app .tree-local>.tree-row .org-tools .icon:hover{background:rgba(255,255,255,.16);color:#fff}
#base-app .tree-area>.tree-row,#base-app .tree-area.open>.tree-row{background:#dceafd;border-color:#a8c5ef;border-left:5px solid #165dcc}
#base-app .tree-area>.tree-row .tree-name{color:#123c73;font-weight:700}
#base-app .tree-kind-area{background:#165dcc;color:#fff}
#base-app .tree-children{border-left-color:#a8c5ef}
#base-app .tree-sector>.tree-row{background:#fff;border-color:#dfe6ee;border-left:4px solid #1f9d84}
#base-app .tree-sector .tree-dot{background:#1f9d84}
#base-app .tree-sector>.tree-row .tree-name{font-weight:500}
#base-app .sector-field{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#0b5b38;background:#e9f7f1;border:1px solid #bfe5d4;border-radius:8px;padding:2px 4px 2px 8px;min-height:34px}
#base-app .sector-field input[type=number],#base-app .sector-field input[type=text]{width:72px;min-height:28px;border:1px solid #9fcfb9;border-radius:6px;padding:2px 6px;font-size:14px}
#base-app .sector-field input[type=checkbox]{width:18px;height:18px}
/* Medios de cobro y pago as a table: a blue row per Forma, white rows for its Cuentas. */
#base-app .money-matrix tr.money-form th,#base-app .money-matrix tr.money-form td{background:#dceafd;border-top:2px solid #a8c5ef;color:#123c73;text-align:left}
#base-app .money-matrix tr.money-form th{font-size:15px;font-weight:700}
#base-app .money-matrix tr.money-form .tree-kind-area{margin-right:8px}
#base-app .money-matrix .money-count{font-weight:500;color:#3e5f8a;font-size:13px}
#base-app .money-matrix tr.money-loose th{background:#fff4e0;color:#7a4b00}
#base-app .money-matrix tr.money-account th[scope=row]{padding-left:28px;border-left:4px solid #1f9d84;font-weight:500}
#base-app .money-matrix .money-currency{font-size:13px;color:var(--muted)}
#base-app .money-matrix td.money-tools{white-space:nowrap;text-align:right}
#base-app .money-matrix td.money-tools .org-tools,#base-app .money-matrix td.money-tools .order-tools{display:inline-flex}
#base-app .money-matrix tr.money-add td{text-align:left;padding:4px 10px 10px 28px}
#base-app .money-matrix tr.money-add .tree-add{min-height:34px;font-size:14px}
#base-app .money-matrix .matrix-role{min-width:84px}
/* Pop-up editor. */
#base-app .modal-back{position:fixed;inset:0;z-index:1000;background:rgba(16,32,52,.45);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;overflow:auto}
#base-app .modal{position:relative;width:min(560px,100%);margin:0 auto}
#base-app .modal>.card{margin:0;box-shadow:0 18px 50px rgba(16,32,52,.28)}
#base-app .ask-back{z-index:1001}#base-app .modal.modal-ask{width:min(440px,100%)}#base-app .modal-ask p{margin:0;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
#base-app.base-in-admin .modal-back{position:fixed}
/* Pages of a history list: «‹ Página 1/N ›». */
#base-app .pager{display:flex;align-items:center;gap:10px;margin:10px 0 4px}
#base-app .pager button{min-height:36px;min-width:40px;padding:4px 12px}
#base-app .pager span{font-size:14px;color:var(--muted)}
/* Cargos: name, (0) and ✎ on one line; compact rows so more permissions fit. */
#base-app .role-head{display:inline-flex;align-items:center;gap:2px;justify-content:center}
#base-app .role-count{font-weight:500;color:var(--muted);font-size:12px}
#base-app .matrix .icon.role-edit{min-width:28px;min-height:28px;padding:0;background:transparent;border:0;color:var(--blue);font-size:15px;border-radius:6px}
#base-app .matrix .icon.role-edit:hover{background:#eef4fc}
@media(min-width:641px){
  #base-app .role-matrix th,#base-app .role-matrix td{padding:2px 8px;line-height:1.25}
  #base-app .role-matrix tbody th[scope=row]{font-size:13px}
  #base-app .role-matrix .matrix-check{min-width:30px;min-height:26px}
  #base-app .role-matrix .matrix-check input{width:17px;height:17px}
  #base-app .role-matrix tr.matrix-group th{padding:4px 8px;font-size:12px}
  #base-app .role-matrix thead th{padding:6px 8px}
}
/* Personas: Cargo list, Sector ticks grouped by Área, Personal and actions. */
#base-app .people-matrix td.area-start,#base-app .people-matrix th.area-start{border-left:2px solid #a8c5ef}
#base-app .people-matrix thead th small{color:#3e5f8a;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:10px}
#base-app .people-matrix td.person-role select{min-height:36px;border:1px solid #adbdcf;border-radius:7px;padding:4px 6px;max-width:170px;font-size:14px;background:#fff}
#base-app .people-matrix td.person-panel,#base-app .people-matrix td.person-actions{text-align:left;white-space:nowrap}
#base-app .people-matrix .panel-note{display:block;font-size:12px;color:#0b5b38;margin-bottom:4px}
#base-app .people-matrix td.person-actions .icon{min-width:36px;min-height:36px;padding:0;background:transparent;border:0;color:var(--blue);font-size:17px;border-radius:7px}
#base-app button.small{min-height:34px;padding:4px 10px;font-size:13px;margin:2px 4px 2px 0}
#base-app .people-matrix .matrix-check{min-height:36px}
/* dev.32 (owner R14). Trees without vertical lines: each level a step down and to the right (Estructura and Medios). */
#base-app .tree-children,#base-app .tree-children{border-left:0;margin-left:28px;padding-left:0}
@media(max-width:600px){#base-app .tree-children{margin-left:14px;padding-left:0}}
#base-app .tree-node{margin:3px 0}
#base-app .tree-row{min-height:32px;padding:2px 6px 2px 8px;gap:6px}
#base-app .tree-add{min-height:30px;padding:0 12px;font-size:14px}
#base-app .tree-row .icon,#base-app .org-tools .icon,#base-app .order-tools .icon{min-width:28px;min-height:28px;padding:0;font-size:15px}
/* Medios as a tree: Cobrar / Pagar ticks on the Forma and on each Cuenta. */
#base-app .money-ticks{display:inline-flex;gap:10px;align-items:center;margin-left:auto}
#base-app .money-tick{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;cursor:pointer;padding:1px 6px;border-radius:6px}
#base-app .money-tick input{width:16px;height:16px;accent-color:var(--blue);margin:0}
#base-app .money-tick.off{color:#9aa8b6;cursor:not-allowed;text-decoration:line-through}
#base-app .money-tick.changed{background:#e7f0ff}
#base-app .money-tree .money-currency{font-size:12px;color:var(--muted);min-width:96px;text-align:right}
#base-app .tree-area.money-form>.tree-row .money-tick{color:#123c73}
#base-app .money-loose>.tree-row{background:#fff4e0;border-color:#f0d29a;border-left:5px solid #c98a12}
/* Compact everywhere, like Cargos: thin rows, little padding and margins. */
#base-app .card{padding:14px 16px;margin:0 0 12px}
#base-app h2{font-size:19px;margin:0 0 10px}#base-app h3{margin:14px 0 6px}
#base-app .table-wrap{margin:8px 0}
#base-app .data-table{font-size:14px}
#base-app .data-table th,#base-app .data-table td{padding:3px 8px;line-height:1.3;vertical-align:middle}
#base-app .row{padding:5px 0;gap:10px}
#base-app .matrix th,#base-app .matrix td{padding:2px 8px;line-height:1.25}
#base-app .matrix thead th{padding:5px 8px}
#base-app .matrix tr.matrix-group th{padding:3px 8px;font-size:12px}
#base-app .matrix tbody th[scope="row"]{font-size:13px}
#base-app .matrix-check{min-width:30px;min-height:26px}
#base-app .matrix-check input{width:17px;height:17px}
#base-app .data-table button,#base-app .row button,#base-app .matrix button:not(.icon),#base-app .table-actions button,#base-app button.small{min-height:28px;padding:2px 10px;font-size:13px;border-radius:7px}
#base-app .data-table .icon,#base-app .people-matrix td.person-actions .icon{min-width:28px;min-height:28px;padding:0;font-size:15px;background:transparent;border:0;color:var(--blue)}
#base-app .data-table .icon.danger{color:#b42318}
#base-app .people-matrix td.person-role select,#base-app .notify-matrix select{min-height:28px;padding:1px 4px;font-size:13px}
#base-app .people-matrix .matrix-check{min-height:26px}
#base-app .people-matrix .panel-note{display:inline;margin:0 6px 0 0}
#base-app .people-matrix td.person-panel .tag{margin-right:6px}
#base-app .matrix-actions{padding:6px 0;margin-top:4px}
#base-app .actions{gap:8px}
#base-app .actions button,#base-app .screen-actions button{min-height:36px;padding:6px 14px}
#base-app .field input,#base-app .field select,#base-app .field textarea{min-height:38px}
/* Pager: «« ‹ Página [n] /N › »». */
#base-app .pager{gap:6px;flex-wrap:wrap}
#base-app .pager button{min-height:30px;min-width:32px;padding:2px 8px}
#base-app .pager-go{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--muted)}
#base-app .pager-go input{width:58px;min-height:30px;padding:2px 6px;border:1px solid #adbdcf;border-radius:7px;text-align:center}
/* Personas and Avisos por persona: tools, views, sortable titles. */
#base-app .people-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 6px}
#base-app .people-tools input[type=search]{flex:1 1 220px;min-height:34px;padding:4px 10px;border:1px solid #adbdcf;border-radius:8px}
#base-app .people-tools select{min-height:34px;padding:2px 6px;border:1px solid #adbdcf;border-radius:8px;background:#fff;max-width:220px}
/* dev.49 (decisión 14 del dueño) Auditoría: Origen, Desde, Hasta and Persona filters. */
#base-app .audit-tools label{display:inline-flex;align-items:center;gap:6px;font-size:14px}
#base-app .audit-tools input[type=date]{min-height:34px;padding:2px 6px;border:1px solid #adbdcf;border-radius:8px;background:#fff}
/* dev.49 «Mis avisos»: Desde / Hasta beside the other filters. */
#base-app .alert-date{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}
#base-app .alert-date input{min-height:34px;padding:2px 6px;border:1px solid #adbdcf;border-radius:8px;background:#fff;color:var(--ink)}
#base-app .alert-count{margin:8px 0 0;font-size:14px}
#base-app .view-tabs{display:inline-flex;gap:4px;flex-wrap:wrap}
#base-app .view-tabs button{min-height:32px;padding:4px 12px;font-size:14px}
#base-app .cal-tabs{margin:0 0 10px}
#base-app th.sortable{cursor:pointer;user-select:none}
#base-app th.sortable:hover{color:var(--blue)}
#base-app th.sortable.sorted{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
#base-app .people-matrix tbody th[scope=row] small{display:block;font-weight:400;color:var(--muted);font-size:12px}
#base-app button.has-adjust{border-color:#e8b84a;background:#fff8e6}
#base-app .notify-channel small{display:block;font-size:11px;color:var(--muted)}
/* Pop-ups of Permisos and Avisos: − on yellow (removed from the Cargo), + on green (added). */
#base-app .modal.modal-wide{max-width:min(920px,calc(100vw - 24px));width:100%}
#base-app .perm-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;max-height:60vh;overflow:auto;margin:6px 0}
#base-app .perm-group{border:1px solid var(--line);border-radius:10px;padding:4px 8px 6px;margin:0;min-width:0}
#base-app .perm-group legend{font-size:12px;font-weight:700;color:#183f6b;padding:0 4px}
#base-app .perm-row{display:flex;align-items:center;gap:6px;padding:2px 6px;border-radius:6px;font-size:13px;line-height:1.25;cursor:pointer}
#base-app .perm-row input{width:16px;height:16px;flex-shrink:0;margin:0}
#base-app .perm-row span{flex:1;min-width:0}
#base-app .perm-mark{font-weight:800;min-width:12px;text-align:center}
#base-app .perm-minus{background:#fff3c4;color:#7a4b00}
#base-app .perm-plus{background:#dcf5e4;color:#0b5b38}
#base-app .perm-legend{display:inline-block;padding:0 6px;border-radius:6px;font-size:12px;font-weight:600;margin-left:6px}
#base-app .perm-admin{margin:4px 0 6px}
/* Calendario. */
#base-app .cal-span{display:flex;gap:16px;margin:4px 0}
#base-app .cal-look summary{cursor:pointer;font-weight:600}
#base-app .cal-week .checks{display:flex;flex-wrap:wrap;gap:6px}
#base-app .cal-week .check{min-height:30px;padding:3px 10px;gap:6px;font-size:14px;flex:0 0 auto}
#base-app .cal-week .check input{width:16px;height:16px}
#base-app .people-matrix td.person-role select{max-width:170px}
#base-app .people-matrix button,#base-app .notify-matrix button{white-space:nowrap}
#base-app .people-matrix td,#base-app .people-matrix th{padding-left:6px;padding-right:6px}
#base-app .tree-row button.icon,#base-app .tree-row button.icon.order,#base-app .tree-row .tree-toggle{min-width:28px;min-height:28px;font-size:15px}
#base-app .tree-row .sector-field{min-height:28px;padding:1px 4px 1px 8px}
#base-app .tree-row .sector-field input[type=number],#base-app .tree-row .sector-field input[type=text]{min-height:24px;padding:1px 6px}
#base-app .tree-row button.icon{line-height:1}
#base-app .tree-row .org-tools .icon.danger{font-size:19px}
#base-app .people-matrix tbody th[scope="row"],#base-app .notify-matrix tbody th[scope="row"]{min-width:150px}
#base-app .cal-span,#base-app .cal-dates{grid-column:1/-1}
#base-app .cal-span .check{min-height:32px;padding:3px 12px;gap:6px;flex:0 0 auto;white-space:nowrap}
#base-app .cal-span .check input{width:16px;height:16px}
#base-app .perm-admin{min-height:34px;padding:4px 10px;font-size:14px}
#base-app .perm-admin input{width:16px;height:16px}
#base-app .data-table td.table-actions{white-space:nowrap;text-align:right;width:1%}
#base-app .data-table td.table-actions .icon{display:inline-grid;place-items:center;vertical-align:middle}
#base-app .data-table td.table-actions button{display:inline-flex;align-items:center;justify-content:center;width:auto;margin:0 4px 0 0}
#base-app .matrix td.matrix-when{white-space:nowrap;font-size:12px;line-height:1.2}
#base-app .matrix tbody th[scope="row"] small{line-height:1.15}
/* dev.33 (owner R15): Medios with fixed columns at the right (Cobrar, Pagar, Moneda, ↑ ↓, ✎ ×), titled once on top. */
#base-app .money-cols{display:grid;grid-template-columns:60px 60px 96px 62px 62px;align-items:center;margin-left:auto;flex-shrink:0}
#base-app .money-cols .mc{display:flex;justify-content:center;align-items:center;min-width:0}
#base-app .money-cols .mc-cur{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#base-app .money-cols .org-tools,#base-app .money-cols .order-tools{padding:0;gap:2px}
#base-app .money-head{display:flex;padding:0 7px 4px 0;font-size:12px;font-weight:700;color:#183f6b;text-transform:uppercase;letter-spacing:.03em}
#base-app .money-tree .money-tick{padding:2px 6px}
@media(max-width:600px){#base-app .money-cols{grid-template-columns:34px 34px 0 52px 56px}#base-app .money-cols .mc-cur{visibility:hidden}#base-app .money-head{font-size:10px}}
#base-app .money-tick .mt-label{display:none;font-size:12px}
@media(max-width:600px){#base-app .money-head{display:none}#base-app .money-cols{grid-template-columns:76px 66px 0 52px 56px}#base-app .money-tick .mt-label{display:inline}}
/* WordPress enlarges checkboxes below 783px; inside Configuración they keep the desktop size (compact rows). */
@media screen and (max-width:782px){#base-app input[type=checkbox]{width:18px;height:18px;min-width:18px}#base-app input[type=checkbox]:checked::before{margin:-.1875rem 0 0 -.25rem;height:1.3125rem;width:1.3125rem}}
/* dev.33 (owner R15) Personas: ☐, 🕘, read-only rows that turn editable with ✎ (another background), bulk bar. */
#base-app .people-list td,#base-app .people-list th{white-space:nowrap}
#base-app .people-list .pc-pick,#base-app .people-list .pc-time,#base-app .people-list .pc-trash,#base-app .people-list .pc-edit{width:1%;text-align:center;padding-left:4px;padding-right:4px}
#base-app .people-list .pc-pick input{width:16px;height:16px;margin:0}
#base-app .people-list .pc-time .icon,#base-app .people-list .pc-trash .icon{min-width:28px;min-height:28px;font-size:15px;background:transparent;border:0;padding:0}
#base-app .people-list .pc-name small{display:block;font-weight:400;color:var(--muted);font-size:11px}
#base-app .people-list .periods-link{padding:0 2px;min-height:0;font-size:13px;font-weight:700;color:var(--blue);background:transparent;border:0;cursor:pointer}
#base-app .people-list tr.row-editing>td,#base-app .people-list tr.row-editing>th{background:#fff8dc}
#base-app .people-list [data-row-field]{min-height:28px;padding:1px 6px;font-size:13px;border:1px solid #adbdcf;border-radius:6px;max-width:190px;background:#fff}
#base-app .people-list input[data-row-field]{width:150px}
#base-app .bulk-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:6px 10px;margin:0 0 6px;border:1px solid #c8d8ee;background:#eef4fc;border-radius:8px;font-size:14px}
#base-app .bulk-bar[hidden]{display:none}
#base-app .bulk-bar select{min-height:30px;padding:1px 6px;border:1px solid #adbdcf;border-radius:7px;background:#fff;margin-left:4px}
#base-app .timeline-wrap{max-height:60vh}
#base-app .pin-form{max-width:320px}
#base-app .people-list .matrix-role{min-width:0;max-width:none}
#base-app .people-list td,#base-app .people-list tbody th{padding:3px 6px;font-size:13px;line-height:1.25}
#base-app .people-list thead th{padding:5px 6px;font-size:13px}
#base-app .people-list .pc-edit .icon{min-width:28px;min-height:28px;font-size:15px;background:transparent;border:0;padding:0;color:var(--blue)}
#base-app .people-list tbody th[scope="row"]{min-width:110px}
#base-app .people-list td:nth-child(8){white-space:normal;min-width:110px;max-width:150px}
/* dev.33 (owner R15) Calendario as a tree. */
#base-app .cal-tree .cal-when{margin-left:auto;font-size:13px;color:#33465c;white-space:nowrap;padding:0 6px}
#base-app .cal-tree .tree-type>.tree-row{background:#f3f7fc;border:1px solid #d6e2f0;border-left:4px solid #7aa3d6;border-radius:8px}
#base-app .cal-tree .cal-weekdays{padding:4px 0 2px}
#base-app .cal-tree .cal-weekdays form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#base-app .cal-tree .cal-weekdays .actions{margin:0}
#base-app .cal-tree .cal-weekdays .actions button{min-height:30px;padding:2px 12px;font-size:13px}
#base-app .cal-tree .cal-weekdays .meta,#base-app .cal-tree .cal-weekdays .muted{display:none}
#base-app .cal-tree .cal-page{margin-left:0}
#base-app .cal-tree .cal-paged .pager{margin:4px 0}
#base-app .cal-tree .cal-weekdays fieldset{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
#base-app .cal-tree .cal-weekdays .cal-week .check{min-height:28px;padding:2px 8px;font-size:13px}
/* dev.49 (decisión 1 del dueño): «Hábil» / «No hábil» of each type and «No hábil» on each date. */
#base-app .tree-badge.off{color:#7a4b00;background:#fff4e0;border-color:#f0d29a}
/* dev.49 (decisión del dueño): the month, each day hábil or not, and the mark of one date. */
#base-app .cal-month-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
#base-app .cal-month-head h2{margin:0;font-size:19px;min-width:150px;text-align:center}
#base-app .cal-month-head>button.secondary{min-height:40px;min-width:44px;padding:4px 10px;font-size:20px;line-height:1}
#base-app .cal-go{display:flex;align-items:center;gap:6px;margin-left:auto}
#base-app .cal-go input{min-height:40px;padding:4px 8px;border:1px solid var(--line);border-radius:8px;font:inherit;max-width:170px}
#base-app .cal-go button{min-height:40px;padding:4px 12px}
#base-app .cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
#base-app .cal-head-day{font-size:12px;font-weight:600;color:var(--muted);text-align:center;padding:2px 0}
#base-app button.cal-day{position:relative;min-height:44px;min-width:0;padding:4px 0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:600;font-size:15px}
#base-app button.cal-day:hover{background:#eef3f9}
#base-app button.cal-day.off{background:#fff4e0;color:#7a4b00;border-color:#f0d29a}
#base-app button.cal-day.today{box-shadow:inset 0 -3px 0 var(--blue)}
#base-app button.cal-day.picked{outline:3px solid var(--blue);outline-offset:1px}
#base-app .cal-legend{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;font-size:13px;color:var(--muted)}
#base-app .cal-key{position:relative;display:inline-flex;align-items:center;padding:2px 10px;border:1px solid var(--line);border-radius:6px;background:#fff}
#base-app .cal-key.off{background:#fff4e0;color:#7a4b00;border-color:#f0d29a}
#base-app .cal-detail{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
#base-app .cal-detail h3{margin:0 0 8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#base-app .cal-why{margin:0 0 10px;padding-left:20px}
@media(max-width:600px){#base-app .cal-go{margin-left:0;flex-basis:100%}#base-app .cal-month-head h2{min-width:0;flex:1}#base-app button.cal-day{font-size:14px}}
/* dev.33 (owner R15) Avisos por persona: Contactos (WhatsApp / Telegram as data), «Por Cargo». */
#base-app .notify-contact{font-size:13px;white-space:nowrap}
#base-app .notify-matrix + .empty,#base-app .card > .view-tabs{margin-bottom:10px}
#base-app .notify-roles td{text-align:center}
#base-app .notify-roles tbody th[scope="row"]{min-width:200px;font-weight:400}
#base-app .ok-mark{color:var(--ok,#1a7f37);font-weight:700}
#base-app .contact-mail{margin-bottom:6px}
#base-app .notify-matrix th,#base-app .notify-matrix td{padding-left:6px;padding-right:6px}
#base-app .notify-matrix .notify-contact{font-size:12px}
#base-app .notify-matrix tbody th[scope="row"]{min-width:120px}
/* dev.35 (owner R16) Personas: natural widths, centered (names and contacts to the left), fixed left (☐ 🕘 Nombre) and right (✎, module buttons, 🗑). */
#base-app .people-list{width:auto;min-width:100%}
#base-app .people-list td,#base-app .people-list thead th{text-align:center}
#base-app .people-list .pc-name,#base-app .people-list thead th.pc-name,#base-app .people-list .pc-text{text-align:left}
#base-app .people-list td:nth-child(8){white-space:nowrap;min-width:0;max-width:none}
#base-app .people-list .pc-l,#base-app .people-list .pc-r{position:sticky;z-index:1;background:#fff}
#base-app .people-list thead .pc-l,#base-app .people-list thead .pc-r{z-index:3;background:#f2f6fa}
#base-app .people-list tr.row-editing>.pc-l,#base-app .people-list tr.row-editing>.pc-r{background:#fff8dc}
#base-app .people-list .pc-edge-l{box-shadow:inset -1px 0 var(--line),4px 0 6px -4px rgba(16,32,52,.18)}
#base-app .people-list .pc-edge-r{box-shadow:inset 1px 0 var(--line),-4px 0 6px -4px rgba(16,32,52,.18)}
#base-app .people-list tbody th[scope="row"].pc-name{min-width:0;box-shadow:none}
#base-app .people-list tbody th[scope="row"].pc-name.pc-edge-l{box-shadow:inset -1px 0 var(--line),4px 0 6px -4px rgba(16,32,52,.18)}
#base-app .people-list .person-panel{padding-left:4px;padding-right:4px}
#base-app .people-list .pc-docs .docs-btn{min-width:28px;min-height:28px;font-size:15px;background:transparent;border:0;padding:0;position:relative;opacity:.45}
#base-app .people-list .pc-docs .docs-btn.has-docs{opacity:1}
#base-app .people-list .pc-docs .docs-btn small{font-size:10px;font-weight:700;color:var(--blue);margin-left:1px}
#base-app .people-list input.w-dni{width:96px}#base-app .people-list input.w-cuit{width:118px}#base-app .people-list input.w-address{width:220px}#base-app .people-list input.w-mail{width:190px}
#base-app .form-row{display:flex;gap:12px;flex-wrap:wrap}#base-app .form-row>.field{flex:1 1 180px}
#base-app .doc-viewer iframe{width:100%;height:70vh;border:1px solid var(--line);border-radius:8px}
#base-app .doc-viewer img{display:block;max-width:100%;max-height:72vh;margin:0 auto;border-radius:8px}
#base-app .doc-viewer .actions{align-items:center}#base-app .doc-viewer .actions strong{flex:1;overflow-wrap:anywhere}
#base-app .docs-table td{vertical-align:middle}
@media (max-width:760px){#base-app .people-list .pc-r{position:static;box-shadow:none}#base-app .people-list .pc-name{max-width:140px;white-space:normal}}
/* dev.36 (owner R17): Nombre over Apellido, click to copy, Documentos «Adjuntar» / «👁 Ver», readable contacts on tablet and phone, wider alta, WordPress search. */
#base-app .people-list .pc-name strong{display:inline}
#base-app .people-list .pc-name .pc-family{display:block;font-weight:400;color:var(--ink);font-size:12px}
#base-app .people-list .pc-name input[data-row-field]{display:block;width:140px;margin:1px 0}
#base-app .people-list [data-copy]{cursor:copy;position:relative}
#base-app .people-list [data-copy]:hover{background-image:linear-gradient(rgba(22,93,204,.06),rgba(22,93,204,.06))}
#base-app .copied-tip{position:absolute;left:50%;top:-4px;transform:translate(-50%,-100%);background:#183047;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;white-space:nowrap;z-index:5;pointer-events:none}
#base-app .people-list .pc-docs .docs-btn{opacity:1;font-size:12px;min-height:26px;padding:2px 8px;border:1px solid var(--line);background:#eef3f9}
#base-app .people-list .pc-docs .docs-btn.has-docs{background:#e6f4ea;border-color:#b7dfc2;color:#14532d}
@media (max-width:1024px){#base-app .people-list td.pc-address{min-width:240px}#base-app .people-list td.pc-mail{min-width:210px}#base-app .people-list td.pc-phone{min-width:130px}}
@media (min-width:900px){#base-app .modal.modal-form form fieldset{grid-template-columns:repeat(3,minmax(0,1fr))}}
#base-app .modal.modal-form{max-width:min(1000px,calc(100vw - 24px))}
#base-app .wp-pick{position:relative;display:flex;flex-direction:column;gap:6px;font-weight:600}
#base-app .wp-results{position:absolute;top:100%;left:0;right:0;z-index:20;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 20px rgba(16,32,52,.15);max-height:260px;overflow:auto;padding:4px}
#base-app .wp-option{display:block;width:100%;text-align:left;background:#fff;border:0;border-radius:6px;padding:6px 8px;min-height:0;color:var(--ink);font-weight:400}
#base-app .wp-option:hover:not([disabled]){background:#eef3f9}#base-app .wp-option[disabled]{opacity:.55;cursor:not-allowed}
#base-app .wp-chosen{display:flex;align-items:center;gap:8px;font-weight:400;flex-wrap:wrap}
/* The wide alta inside wp-admin stays clear of the WordPress menu (160 px; 36 px folded; none on phones). */
@media (min-width:961px){#base-app.base-in-admin .modal-back:has(.modal-form){padding-left:176px}}
@media (min-width:783px) and (max-width:960px){#base-app.base-in-admin .modal-back:has(.modal-form){padding-left:52px}}
#base-app .modal.modal-form{max-width:min(980px,100%)}
/* dev.39 (owner): red asterisk on required fields of the alta, clip / eye icons for Documentos, visible hint in the alta. */
#base-app .req{display:none}
#base-app .modal-form .req{display:inline;color:#d63638;font-weight:700;margin-left:3px}
#base-app .people-list .pc-docs .docs-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:34px;min-height:30px;padding:3px 8px;border-radius:8px;border:1px solid #c9d6e4;background:#f4f8fc;color:#3b5b7e}
#base-app .people-list .pc-docs .docs-btn:hover{background:#e3edf8;color:#165dcc;border-color:#9fbbe0}
#base-app .people-list .pc-docs .docs-btn.has-docs{background:#e6f4ea;border-color:#9ccfaa;color:#1d6b3a}
#base-app .people-list .pc-docs .docs-btn.has-docs:hover{background:#d3ecdb}
#base-app .people-list .pc-docs .docs-n{font-size:12px;font-weight:700;line-height:1}
#base-app .ico{display:block;flex:none}
#base-app .docs-hint{display:flex;align-items:center;gap:10px;margin:14px 0 0;padding:10px 14px;border-radius:10px;background:#eef5ff;border:1px solid #bcd3f5;color:#183047;font-weight:600}
#base-app .docs-hint .ico{width:22px;height:22px;color:#165dcc}
/* dev.49 (decisión 25 del dueño): Marca de los comprobantes in Datos del negocio y Regional (logo, color, footer). */
#base-app .brand-box{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 18px}
#base-app .brand-box>p{flex-basis:100%;margin:0}
#base-app .brand-box .field{margin:0}
#base-app .brand-logo{display:block;max-width:240px;max-height:96px;object-fit:contain;border:1px solid var(--line);border-radius:8px;padding:6px;background:#fff}
#base-app .brand-color{display:flex;flex-direction:column;gap:10px}
#base-app .field input[type=color]{max-width:120px;padding:4px}
#base-app .brand-swatch{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid var(--line);vertical-align:-3px}
#base-app .brand-footer{white-space:pre-wrap}
/* dev.51 (pedido 2 del dueño): filters with ticks that open like a list. */
#base-app details.multi{position:relative}
#base-app details.multi>summary{list-style:none;display:flex;align-items:center;gap:4px;min-height:34px;padding:2px 28px 2px 10px;border:1px solid #adbdcf;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}
#base-app details.multi>summary::-webkit-details-marker{display:none}
#base-app details.multi>summary::after{content:'▾';position:absolute;right:9px;top:50%;transform:translateY(-50%);color:var(--muted)}
#base-app details.multi[open]>summary{border-color:var(--blue)}
#base-app .multi-label{color:var(--muted)}
#base-app .multi-list{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:220px;max-width:min(320px,90vw);max-height:320px;overflow:auto;padding:6px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(24,48,71,.16);display:flex;flex-direction:column;gap:2px}
#base-app .multi-list .check{min-height:34px;padding:3px 8px;gap:8px;border:0;border-radius:6px;font-size:14px;display:flex;align-items:center;background:transparent}
#base-app .multi-list .check:hover{background:#eef3f9}
#base-app .multi-list .check input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--blue)}
#base-app .multi-group{font-size:12px;font-weight:650;color:var(--muted);padding:6px 8px 2px;text-transform:uppercase;letter-spacing:.3px}
#base-app .multi-list button.link{align-self:flex-start;min-height:30px;padding:2px 8px;font-size:13px}
/* dev.51 (pedido 5 del dueño): ★ principal, ☆ secundario, faint ☆ = only habilitado (touch to change). */
#base-app .rank-cell{display:inline-flex;align-items:center;gap:0}
#base-app .rank-cell .matrix-check{min-width:36px}
#base-app button.rank-star{min-height:36px;min-width:30px;padding:0 4px;border:0;border-radius:6px;background:transparent;font-size:20px;line-height:1;font-weight:400;color:#c3cdd8}
#base-app button.rank-star:hover{background:#eef3f9}
#base-app .rank-star.rank-1{color:#d08700}
#base-app .rank-star.rank-2{color:#d08700;font-weight:700}
#base-app button.rank-star.changed{background:#fff4d6;box-shadow:inset 0 0 0 1px #f0d29a}
#base-app .rank-legend .rank-star{font-size:16px}
@media(max-width:600px){#base-app details.multi>summary{max-width:46vw}}
/* dev.51 (pedido 3 del dueño): a small month like a phone's, the special dates of the month beside it, «Se repite» in each date. */
#base-app .cal-month-body{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-start}
#base-app .cal-mini{flex:0 1 300px;max-width:300px}
#base-app .cal-side{flex:1 1 260px;min-width:0}
#base-app .cal-mini .cal-month-head{gap:4px;margin:0 0 6px;flex-wrap:nowrap}
#base-app .cal-mini .cal-month-head h2{font-size:16px;min-width:0;flex:1}
#base-app .cal-mini .cal-month-head>button.secondary{min-height:32px;min-width:32px;padding:0 6px;font-size:18px}
#base-app .cal-mini .cal-month-head>button.link{min-height:32px;padding:0 4px;font-size:13px}
#base-app .cal-mini .cal-grid{gap:2px}
#base-app .cal-mini .cal-head-day{font-size:11px;padding:0}
#base-app .cal-mini button.cal-day{min-height:34px;aspect-ratio:1;padding:0;border:0;border-radius:50%;font-size:14px;font-weight:500;background:transparent}
#base-app .cal-mini button.cal-day:hover{background:#eef3f9}
#base-app .cal-mini button.cal-day.off{background:transparent;color:#a05a00}
#base-app .cal-mini button.cal-day.special::after{content:'';position:absolute;bottom:3px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#c77700}
#base-app .cal-mini button.cal-day.off.special::after{background:#c0392b}
#base-app .cal-mini button.cal-day.today{box-shadow:inset 0 0 0 2px var(--blue)}
#base-app .cal-mini button.cal-day.picked{outline:0;background:var(--blue);color:#fff}
#base-app .cal-mini button.cal-day.picked.special::after{background:#fff}
#base-app .cal-mini .cal-legend{gap:6px;margin:6px 0 0;font-size:12px}
#base-app .cal-mini .cal-key{padding:0 8px;border:0;background:transparent}
#base-app .cal-mini .cal-key.off{color:#a05a00;background:transparent}
#base-app .cal-mini .cal-key.special{padding-left:14px}
#base-app .cal-mini .cal-key.special::before{content:'';position:absolute;left:4px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#c77700}
#base-app .cal-mini .cal-go{margin:8px 0 0}
#base-app .cal-mini .cal-go input,#base-app .cal-mini .cal-go button{min-height:32px}
#base-app .cal-summary h3,#base-app .cal-side .cal-detail h3{margin:0 0 6px;font-size:15px}
#base-app .cal-summary ul{list-style:none;margin:0;padding:0}
#base-app .cal-summary li{padding:4px 0;border-bottom:1px solid var(--line);font-size:14px}
#base-app .cal-summary li:last-child{border-bottom:0}
#base-app .cal-iso{font-variant-numeric:tabular-nums;font-size:13px;color:#33465c;white-space:nowrap}
#base-app button.link.cal-iso{min-height:0;padding:0;font-size:13px}
#base-app .cal-side .cal-detail{margin-top:12px;padding-top:10px}
#base-app .cal-side .cal-why .icon{min-width:22px;min-height:22px;padding:0;background:transparent;border:0;color:var(--blue);font-size:13px}
#base-app .cal-repeat{display:block;border:1px solid var(--line);border-radius:8px;padding:6px 10px 8px;margin:6px 0;grid-column:1/-1;min-width:0}
#base-app .cal-repeat .cal-span{flex-wrap:wrap;align-items:center;gap:8px}
#base-app .cal-moves .data-table{width:auto}
#base-app .cal-moves td,#base-app .cal-moves th{white-space:nowrap}
#base-app .cal-tree .cal-weekdays form .field{display:flex;align-items:center;gap:6px;margin:0}
#base-app .cal-tree .cal-weekdays form select{min-height:30px;padding:2px 8px}
#base-app .cal-summary .tree-badge{white-space:nowrap}
#base-app .cal-every{display:flex;align-items:center;gap:6px}
#base-app .cal-every input{max-width:80px}
#base-app .cal-repeat .cal-week .checks{display:flex;flex-wrap:wrap;gap:6px}
#base-app .cal-moves .data-table td,#base-app .cal-moves .data-table th{padding:3px 8px}
@media(max-width:600px){#base-app .cal-mini{flex-basis:100%;max-width:none}}
/* dev.51 (pedido del dueño, 2026-10-11 tarde): in Sectores por Persona the star keeps its place while hidden, so every checkbox stays in the same spot ticked or not. */
#base-app .rank-cell button.rank-star[hidden]{display:inline-block!important;visibility:hidden}
#base-app .cal-nth{display:flex;flex-wrap:wrap;gap:8px}
#base-app .cal-nth .field{flex:1 1 140px}
#base-app .cal-side .cal-summary,#base-app .cal-side .cal-detail{padding:12px 14px;border-radius:10px;border:1px solid}
#base-app .cal-side .cal-summary{background:#eef4fb;border-color:#cddbee}
#base-app .cal-side .cal-detail{margin-top:12px;background:#eef7f0;border-color:#cbe4d2}
#base-app .cal-side .cal-summary li{border-bottom-color:#d9e4f2}
#base-app .data-table[data-table="alert_history"] td{overflow-wrap:normal}
#base-app .data-table[data-table="alert_history"] td:nth-child(2),#base-app .data-table[data-table="alert_history"] td:nth-child(4),#base-app .data-table[data-table="alert_history"] td:nth-child(5){width:1%;white-space:nowrap}
#base-app .data-table[data-table="alert_history"] td:nth-child(3){min-width:220px;overflow-wrap:anywhere}
#base-app button[data-table-all]:disabled,#base-app button[data-alert-clear]:disabled,#base-app button[data-people-save]:disabled,#base-app button[data-notify-save]:disabled{cursor:default}
/* dev.60 (SEC-D01 liviano): the QR, the key typed by hand, the backup codes and the trusted devices of each administrator. */
#base-app .qr{width:min(220px,100%);margin:0 0 14px;line-height:0}#base-app .qr svg{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:8px}
#base-app code.secret{display:inline-block;font-size:15px;letter-spacing:1px;overflow-wrap:anywhere;user-select:all}
#base-app .backup-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;margin:0 0 14px;padding-left:28px}#base-app .backup-codes code{font-size:16px;letter-spacing:1px}
#base-app .device-line{padding:2px 0;overflow-wrap:anywhere}
/* dev.61: «Qué avisa cada complemento», the «Abrir» link of a row as small as the buttons of a table. */
#base-app .data-table a.button{min-height:28px;padding:2px 10px;font-size:13px;border-radius:7px}
#base-app [data-table="alert_catalog"] .tag,#base-app [data-table="alert_catalog"] td:nth-child(4){white-space:nowrap}
/* dev.61: on a phone each aviso is a block (its name, then each column with its label) instead of five squeezed columns. */
@media (max-width:640px){#base-app [data-table="alert_catalog"] thead{display:none}
#base-app [data-table="alert_catalog"],#base-app [data-table="alert_catalog"] tbody,#base-app [data-table="alert_catalog"] tr,#base-app [data-table="alert_catalog"] td{display:block;width:auto}
#base-app [data-table="alert_catalog"] tr{padding:8px 4px;border-bottom:1px solid var(--line)}#base-app [data-table="alert_catalog"] tr:last-child{border-bottom:0}
#base-app [data-table="alert_catalog"] td{border:0;padding:2px 8px}#base-app [data-table="alert_catalog"] td[data-label]::before{content:attr(data-label) ": ";color:var(--muted);font-size:13px}}
