:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17202a;background:#f4f7f8;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #f0b429;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.55rem,3vw,2.25rem);margin-bottom:.35rem}h2{font-size:1.5rem;margin-bottom:.35rem}h3{font-size:1.1rem;margin-bottom:.25rem}.centered{min-height:100vh;display:grid;place-items:center;color:#40515c}.login-layout{position:relative;min-height:100vh;display:grid;grid-template-columns:minmax(560px,1.18fr) minmax(420px,.82fr);background:#f7f8fa;border-top:8px solid #343534}.welcome-panel{min-height:calc(100vh - 8px);padding:clamp(3rem,6vw,6rem);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#0874d1;background:#fff;text-align:center;overflow:hidden}.municipal-logo{display:block;width:108px;height:auto}.login-logo{width:min(320px,58%);margin-bottom:2.35rem}.welcome-panel h1{margin-bottom:1.4rem;color:#0874d1;font-size:clamp(2.1rem,3.5vw,3.6rem)}.welcome-panel .citizen-label{margin:0;color:#0874d1;font-size:clamp(1.25rem,2vw,2rem);font-weight:650}.login-illustration{width:min(620px,92%);height:auto;margin-top:clamp(2rem,5vh,5rem)}.login-panel{display:grid;place-items:center;padding:clamp(2rem,5vw,5rem);background:#f4f7fa}.card{background:#fff;border:1px solid #dfe7e9;border-radius:14px;box-shadow:0 12px 35px #1a374712}.login-card{width:min(100%,460px);padding:clamp(2rem,4vw,3rem);display:grid;gap:.8rem;border-top:5px solid #0874d1}.login-card p,.form-heading p{color:#5c6b73}label{color:#283b45;font-weight:650;font-size:.92rem}input,select,textarea{width:100%;margin-top:.35rem;border:1px solid #b8c7cc;border-radius:8px;background:#fff;color:#17202a;padding:.7rem .78rem}textarea{min-height:78px;resize:vertical}.primary,.secondary,.danger,.link-button{border-radius:8px;padding:.7rem 1rem;font-weight:700}.primary{border:1px solid #0c6665;background:#0c6665;color:#fff}.secondary{border:1px solid #b9c8cd;background:#fff;color:#183d4d}.danger{border:1px solid #9c3028;background:#9c3028;color:#fff}.link-button{border:0;background:transparent;color:#086664;text-decoration:underline}button:disabled{cursor:not-allowed;opacity:.55}.eyebrow{margin-bottom:.45rem;color:#0c6665;font-size:.75rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.topbar .eyebrow{color:#aee5df}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.1rem clamp(1.2rem,5vw,4rem);background:#123c55;color:#fff}.topbar-brand{display:flex;align-items:center;gap:1.25rem}.main-nav{display:flex;gap:.3rem;padding:.55rem clamp(1.2rem,5vw,4rem);background:#fff;border-bottom:1px solid #dfe7e9;overflow-x:auto}.main-nav button{border:0;border-bottom:3px solid transparent;background:transparent;color:#40515c;padding:.75rem 1rem;font-weight:750;white-space:nowrap}.main-nav button.active{color:#086664;border-color:#0c7774}.session-summary{display:flex;align-items:center;gap:1rem;text-align:right}.session-summary span,.session-summary strong,.session-summary small,td strong,td small{display:block}.session-summary small{color:#c7d9df}.content{width:min(1180px,calc(100% - 2rem));margin:2rem auto 4rem}.section-heading,.form-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}.status-badge,.account-state{display:inline-block;border-radius:999px;padding:.32rem .65rem;font-size:.78rem;font-weight:750}.status-badge,.account-state.active{background:#d9f2e7;color:#12633f}.account-state.blocked{background:#fbe4e1;color:#8d2f27}.user-form,.users-card{margin-top:1.25rem;padding:1.4rem}.filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:1rem;margin-top:1.25rem;padding:1.25rem;align-items:end}.filter-actions{align-self:end;min-height:44px}.dashboard-filter-note{align-self:end;margin:0;padding:.7rem;border-radius:8px;background:#e7f5f4;color:#175e60;font-size:.82rem;overflow-wrap:anywhere}.audit-filters{grid-template-columns:repeat(2,minmax(220px,1fr)) auto}.edit-form{border-color:#69a9a6}.form-heading p{margin-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.25rem 0}.form-actions,.row-actions,.pagination{display:flex;align-items:center;gap:.65rem}.table-wrap{overflow-x:auto;margin-top:1.2rem}table{width:100%;border-collapse:collapse}th,td{padding:.9rem .75rem;border-bottom:1px solid #e3e9eb;text-align:left;vertical-align:middle}th{color:#52636b;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}td small{margin-top:.2rem;color:#6b7a81}td select{min-width:145px;margin:0;padding:.5rem}.pagination{justify-content:flex-end;margin-top:1rem}.alert{margin:1rem 0;border-radius:8px;padding:.8rem 1rem}.alert.error{background:#fbe4e1;color:#842b24}.alert.success{background:#d9f2e7;color:#12633f}.empty-state{margin-top:1.25rem;padding:2rem;text-align:center}.empty-row{padding:2rem;color:#687980;text-align:center}.state-chip{display:inline-block;border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:800;white-space:nowrap;background:#e8eff2;color:#334b57}.state-por_validar,.review-pending{background:#fff0c7;color:#765409}.state-pendiente{background:#ffe2b8;color:#7a4300}.state-aprobada,.state-confirmada,.state-completada,.review-accepted{background:#d9f2e7;color:#12633f}.state-rechazada,.state-cancelada,.state-anulada,.review-rejected{background:#fbe4e1;color:#8d2f27}.state-agendada{background:#dcecfb;color:#1e5177}.state-no_presentada{background:#eee5f8;color:#58347c}.state-finalizada{background:#dff2f2;color:#175e60}.back-button{margin-bottom:1rem;padding:.35rem 0;border:0;background:transparent;color:#086664;font-weight:750}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1.25rem}.detail-card,.action-card{padding:1.35rem}.detail-card form{display:grid;gap:.8rem}dl{margin:1rem 0 0}dl div{display:grid;grid-template-columns:145px 1fr;gap:1rem;padding:.65rem 0;border-bottom:1px solid #e7edef}dt{color:#61727a;font-size:.84rem;font-weight:750}dd{margin:0;overflow-wrap:anywhere}.action-card{margin-top:1.25rem}.inline-form{display:flex;align-items:end;gap:1rem}.inline-form label{flex:1}.help,.muted{color:#687980;font-size:.85rem}.help{margin:.7rem 0 0}.document-list{margin-top:.75rem}.document-heading{align-items:center;flex-wrap:wrap}.document-bundle-action,.document-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.document-bundle-action{flex:0 0 auto}.document-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;padding:1rem 0;border-bottom:1px solid #e3e9eb;align-items:center}.document-summary{min-width:0}.document-summary strong,.document-summary small{display:block;margin-bottom:.25rem;overflow-wrap:anywhere}.document-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}.document-empty{margin:1rem 0 0}.transition-form{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(220px,1.3fr) auto;align-items:end;gap:.8rem}.transition-form{grid-template-columns:220px minmax(280px,1fr) auto}.check-label{grid-column:1 / -1;display:flex;align-items:center;gap:.55rem}.check-label input{width:auto;margin:0}.history-grid{align-items:start}.template-list{display:grid;gap:1rem;margin-top:1.25rem}.template-card{padding:1.35rem;min-width:0}.template-card form{display:grid;gap:.9rem;margin-top:1rem}.template-card textarea{min-height:110px;font-family:inherit}.variable-help{overflow-wrap:anywhere;color:#52636b;font-size:.85rem}.appointment-actions{border-color:#75aaa8}.timeline{margin:1rem 0 0;padding-left:1.25rem}.timeline li{margin-bottom:1rem;padding-left:.35rem}.timeline strong,.timeline span{display:block}.timeline span{color:#687980;font-size:.82rem;margin-top:.2rem}.timeline p{margin:.35rem 0 0}code{font-size:.75rem;overflow-wrap:anywhere;white-space:normal}.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}@media(max-width:900px){.filters{grid-template-columns:repeat(2,minmax(150px,1fr))}.detail-grid,.document-row{grid-template-columns:1fr}.document-actions{justify-content:flex-start}.transition-form{grid-template-columns:1fr}}@media(max-width:900px){.login-layout{grid-template-columns:1fr}.welcome-panel{min-height:auto;padding:2.5rem 1.5rem 3rem}.login-logo{width:min(210px,55%);margin-bottom:1.4rem}.welcome-panel h1{margin-bottom:.65rem;font-size:2rem}.welcome-panel .citizen-label{font-size:1.1rem}.login-illustration{width:min(520px,94%);margin-top:2rem}.login-panel{min-height:52vh;padding:2rem 1rem}.filters{grid-template-columns:repeat(2,minmax(150px,1fr))}.detail-grid,.document-row{grid-template-columns:1fr}.document-actions{justify-content:flex-start}.transition-form{grid-template-columns:1fr}}@media(max-width:800px){.topbar{flex-direction:column;align-items:flex-start}.topbar-brand{align-items:flex-start}.session-summary{width:100%;justify-content:space-between;text-align:left}.main-nav{flex-wrap:wrap;overflow-x:visible}.main-nav button{flex:1 1 150px;white-space:normal}.form-grid,.filters,.audit-filters{grid-template-columns:1fr}.inline-form{align-items:stretch;flex-direction:column}dl div{grid-template-columns:1fr;gap:.25rem}}@media(max-width:520px){.login-illustration{display:none}}@media(max-width:520px){.document-heading,.document-bundle-action,.document-actions,.document-actions a{width:100%}}.panel[data-v-43e710fd],.toolbar[data-v-43e710fd],.month-card[data-v-43e710fd],.day-panel[data-v-43e710fd],.settings[data-v-43e710fd]{padding:1.35rem;margin-top:1.2rem}.panel textarea[data-v-43e710fd],.settings textarea[data-v-43e710fd]{margin-bottom:1rem}.toolbar[data-v-43e710fd]{display:flex;align-items:end;justify-content:space-between;gap:1rem}.toolbar label[data-v-43e710fd]{width:min(100%,26rem)}.toolbar small[data-v-43e710fd]{display:block;color:#60717a}.calendar-layout[data-v-43e710fd]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.calendar-layout[data-v-43e710fd]>*{min-width:0}.month-header[data-v-43e710fd]{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.month-header h3[data-v-43e710fd]{text-transform:capitalize;margin:0;text-align:center}.weekdays[data-v-43e710fd],.month-grid[data-v-43e710fd]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}.weekdays[data-v-43e710fd]{margin:1rem 0 .45rem;text-align:center;color:#60717a;font-size:.78rem;font-weight:800}.day-cell[data-v-43e710fd]{min-width:0;min-height:82px;border:1px solid #dfe7e9;border-radius:10px;background:#f8fafb}.day-cell button[data-v-43e710fd]{width:100%;height:100%;min-width:0;padding:.55rem;border:0;background:transparent;text-align:left;display:flex;flex-direction:column;justify-content:space-between;color:inherit}.day-cell small[data-v-43e710fd]{font-size:.68rem}.day-cell.draft[data-v-43e710fd]{background:#fff7d6;border-color:#e7c95b}.day-cell.published[data-v-43e710fd]{background:#dcf4e8;border-color:#68b68b}.day-cell.holiday[data-v-43e710fd]{background:#f4e4fa;border-color:#ac79be}.day-cell.blocked[data-v-43e710fd]{background:#fbe4e1;border-color:#cc7c73}.day-cell.selected[data-v-43e710fd]{outline:3px solid #0c7774}.legend[data-v-43e710fd]{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:.76rem}.legend span[data-v-43e710fd]{display:flex;align-items:center;gap:.35rem}.legend i[data-v-43e710fd]{width:.75rem;height:.75rem;border-radius:3px;background:#eef2f3}.legend .draft[data-v-43e710fd]{background:#e7c95b}.legend .published[data-v-43e710fd]{background:#68b68b}.legend .holiday[data-v-43e710fd]{background:#ac79be}.legend .blocked[data-v-43e710fd]{background:#cc7c73}.day-panel[data-v-43e710fd]{align-self:start;min-width:0}.selected-date[data-v-43e710fd]{margin-bottom:.25rem;text-transform:capitalize}.day-actions[data-v-43e710fd]{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.save-actions[data-v-43e710fd]{padding-top:.15rem}.publish[data-v-43e710fd]{background:#156b43;border-color:#156b43}.slot-editor[data-v-43e710fd]{display:grid;gap:.75rem;max-height:min(52vh,34rem);overflow-y:auto;overscroll-behavior:contain;padding-right:.3rem}.slot-row[data-v-43e710fd]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;align-items:end;padding:.85rem;background:#f7f9fa;border:1px solid #edf1f2;border-radius:10px}.slot-row label[data-v-43e710fd],.slot-row input[data-v-43e710fd],.slot-row select[data-v-43e710fd]{min-width:0}.slot-row input[data-v-43e710fd],.slot-row select[data-v-43e710fd]{padding:.55rem}.slot-start[data-v-43e710fd],.slot-end[data-v-43e710fd]{grid-column:span 3}.slot-capacity[data-v-43e710fd]{grid-column:span 2}.slot-status[data-v-43e710fd]{grid-column:span 3}.slot-row .remove[data-v-43e710fd]{grid-column:span 1;justify-self:center;display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border-radius:8px}.remove[data-v-43e710fd]:hover{background:#fbe4e1}.remove[data-v-43e710fd],.close[data-v-43e710fd]{border:0;background:transparent;color:#9a3329;font-size:1.5rem}.empty[data-v-43e710fd]{color:#60717a;padding:1rem 0}.block-form[data-v-43e710fd]{border-top:1px solid #dfe7e9;padding-top:1rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:end}.closure-notice[data-v-43e710fd]{margin-top:1rem;padding:1rem;border-radius:10px;background:#fff4e5}.settings summary[data-v-43e710fd]{cursor:pointer;font-weight:800}.settings form[data-v-43e710fd]{margin-top:1.25rem}.base-form[data-v-43e710fd]{padding-top:1.25rem;border-top:1px solid #dfe7e9}.modal-backdrop[data-v-43e710fd]{position:fixed;inset:0;background:#0a202b94;display:grid;place-items:center;padding:1rem;z-index:20}.modal[data-v-43e710fd]{width:min(620px,100%);max-height:90vh;overflow:auto;padding:1.5rem}.modal header[data-v-43e710fd]{display:flex;justify-content:space-between}.holiday-picker[data-v-43e710fd]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:end}.date-chips[data-v-43e710fd]{display:flex;flex-wrap:wrap;gap:.45rem;margin:.8rem 0}.date-chips button[data-v-43e710fd]{border:1px solid #9cc6c4;border-radius:999px;background:#e7f5f4;padding:.35rem .6rem}.modal form>.primary[data-v-43e710fd]{margin-top:1rem}.holiday-list[data-v-43e710fd]{border-top:1px solid #dfe7e9;margin-top:1.4rem;padding-top:1rem}.holiday-list>div[data-v-43e710fd]{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;border-bottom:1px solid #edf1f2}.holiday-list small[data-v-43e710fd]{display:block;color:#60717a}@media(max-width:1120px){.calendar-layout[data-v-43e710fd]{grid-template-columns:1fr}.slot-editor[data-v-43e710fd]{max-height:34rem}}@media(max-width:620px){.section-heading[data-v-43e710fd]{align-items:stretch;flex-direction:column}.month-card[data-v-43e710fd],.day-panel[data-v-43e710fd]{padding:.8rem}.month-header .secondary[data-v-43e710fd]{padding:.6rem .75rem}.day-cell[data-v-43e710fd]{min-height:58px}.day-cell small[data-v-43e710fd]{display:none}.slot-row[data-v-43e710fd]{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-start[data-v-43e710fd],.slot-end[data-v-43e710fd],.slot-capacity[data-v-43e710fd],.slot-status[data-v-43e710fd]{grid-column:span 1}.slot-row .remove[data-v-43e710fd]{grid-column:1/-1;justify-self:end}.block-form[data-v-43e710fd]{grid-template-columns:1fr}.toolbar[data-v-43e710fd]{align-items:stretch;flex-direction:column}.holiday-picker[data-v-43e710fd]{grid-template-columns:1fr}.holiday-picker .secondary[data-v-43e710fd]{width:100%}}.dashboard-heading[data-v-5d9e04a8]{margin-bottom:1.25rem}.dashboard-filters[data-v-5d9e04a8]{display:grid;grid-template-columns:minmax(150px,220px) minmax(150px,220px) auto 1fr;gap:1rem;align-items:end;padding:1.2rem}.dashboard-filters p[data-v-5d9e04a8]{margin:0 0 .75rem;color:#60717a;font-size:.84rem}.dashboard-loading[data-v-5d9e04a8]{padding:3rem;text-align:center;color:#60717a}.kpi-grid[data-v-5d9e04a8]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.kpi-card[data-v-5d9e04a8]{min-width:0;padding:1.1rem;text-align:left;color:#183d4d;transition:transform .15s,border-color .15s}.kpi-card[data-v-5d9e04a8]:hover{transform:translateY(-2px);border-color:#69a9a6}.kpi-card span[data-v-5d9e04a8],.kpi-card strong[data-v-5d9e04a8],.kpi-card small[data-v-5d9e04a8]{display:block}.kpi-card span[data-v-5d9e04a8]{min-height:2.4em;font-size:.84rem;font-weight:750}.kpi-card strong[data-v-5d9e04a8]{margin:.35rem 0;font-size:clamp(1.65rem,3vw,2.25rem);color:#0c6665}.kpi-card small[data-v-5d9e04a8]{color:#60717a}.dashboard-grid[data-v-5d9e04a8]{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:1.25rem}.chart-card[data-v-5d9e04a8]{min-width:0;padding:1.25rem}.chart-card header p[data-v-5d9e04a8]{margin:0;color:#60717a;font-size:.85rem}.daily-card[data-v-5d9e04a8]{grid-row:span 2}.daily-scroll[data-v-5d9e04a8]{margin-top:1.25rem;overflow-x:auto;overscroll-behavior-inline:contain}.daily-chart[data-v-5d9e04a8]{display:grid;grid-template-columns:repeat(var(--days),minmax(34px,1fr));gap:.35rem;min-width:max(620px,100%);height:310px;border-bottom:1px solid #b8c7cc}.daily-column[data-v-5d9e04a8]{height:100%;display:grid;grid-template-rows:24px 1fr 36px;align-items:end;gap:.35rem;padding:0;border:0;background:transparent;color:#40515c}.daily-column span[data-v-5d9e04a8]{font-size:.72rem}.daily-column i[data-v-5d9e04a8]{display:block;width:70%;min-height:2px;justify-self:center;border-radius:5px 5px 0 0;background:#27918c}.daily-column:hover i[data-v-5d9e04a8],.daily-column:focus-visible i[data-v-5d9e04a8]{background:#0c6665}.daily-column small[data-v-5d9e04a8]{align-self:start;font-size:.65rem;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg);justify-self:center}.bar-list[data-v-5d9e04a8]{display:grid;gap:.85rem;margin-top:1.2rem}.bar-list button[data-v-5d9e04a8]{display:grid;gap:.4rem;padding:.2rem;border:0;background:transparent;text-align:left;color:#263b45}.bar-list button>span[data-v-5d9e04a8]{display:flex;justify-content:space-between;gap:1rem}.bar-list strong[data-v-5d9e04a8]{min-width:0;overflow-wrap:anywhere}.bar-list b[data-v-5d9e04a8]{color:#0c6665}.bar-list i[data-v-5d9e04a8]{height:9px;border-radius:999px;background:#e5edef;overflow:hidden}.bar-list em[data-v-5d9e04a8]{display:block;height:100%;min-width:3px;border-radius:inherit;background:#27918c}.procedures-card .bar-list[data-v-5d9e04a8]{max-height:380px;overflow-y:auto;padding-right:.35rem}.empty[data-v-5d9e04a8]{margin:1.2rem 0 0;color:#60717a}@media(max-width:1050px){.kpi-grid[data-v-5d9e04a8]{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid[data-v-5d9e04a8]{grid-template-columns:1fr}.daily-card[data-v-5d9e04a8]{grid-row:auto}}@media(max-width:800px){.dashboard-filters[data-v-5d9e04a8]{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-filters p[data-v-5d9e04a8]{grid-column:1/-1}.kpi-grid[data-v-5d9e04a8]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.dashboard-heading[data-v-5d9e04a8]{align-items:stretch;flex-direction:column}.dashboard-filters[data-v-5d9e04a8]{grid-template-columns:1fr}.dashboard-filters p[data-v-5d9e04a8]{grid-column:auto}.kpi-grid[data-v-5d9e04a8]{grid-template-columns:1fr 1fr;gap:.65rem}.kpi-card[data-v-5d9e04a8]{padding:.85rem}.chart-card[data-v-5d9e04a8]{padding:1rem}.daily-chart[data-v-5d9e04a8]{min-width:560px}}
