/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.period-selectors{gap:18px;display:flex}.period-selectors label{align-items:center;gap:8px;display:flex}.kpi-pair{grid-template-columns:repeat(2,minmax(145px,1fr));gap:8px;display:grid}.kpi-pair>div{background:#e8f6f5;border-radius:9px;justify-content:space-between;align-items:center;gap:15px;padding:8px 12px;display:flex}.kpi-pair span{color:var(--teal);font-size:11px;font-weight:800}.kpi-pair strong{color:var(--navy);font-size:28px}.kpi-pair small{text-align:right;color:var(--muted);grid-column:1/-1;font-size:10px}.annual-kpis{gap:10px;display:flex}.annual-kpis>div{background:#e8f6f5;border-radius:10px;min-width:125px;padding:12px 16px}.annual-kpis span{color:var(--teal);font-size:11px;font-weight:800}.annual-kpis strong{color:var(--navy);font-size:28px;display:block}.year-tabs{gap:5px;margin-top:13px;display:flex}.year-tabs button{border:1px solid var(--line);color:var(--navy);cursor:pointer;background:#fff;border-radius:7px;padding:7px 14px}.year-tabs button.selected{background:var(--navy);color:#fff}.assigned-row{color:var(--navy);font-weight:800;background:#dff3f1!important}.assigned-row td:first-child{background:#dff3f1}.special-section{margin-top:22px}.special-card{grid-template-columns:100px 1.2fr 1fr;align-items:stretch;gap:18px;margin-bottom:12px;padding:18px;display:grid}.special-date{background:var(--navy);color:#fff;border-radius:10px;align-content:center;place-items:center;display:grid}.special-date strong{font-size:35px}.special-date span{font-size:11px}.special-block{padding:4px 6px}.special-block.convento{border-left:1px solid var(--line);padding-left:22px}.special-block h3{color:var(--navy);margin:0 0 12px;font-size:15px}.special-block label{color:var(--muted);gap:5px;margin-top:9px;font-size:11px;font-weight:800;display:grid}.special-block input,.special-block select{width:100%;color:var(--ink);background:#fff;border:1px solid #c9d8dd;border-radius:7px;padding:10px}@media (width<=760px){.period-selectors{flex-direction:column}.kpi-pair{width:100%}.special-card{grid-template-columns:70px 1fr}.special-block.convento{border-left:0;border-top:1px solid var(--line);grid-column:2;padding:15px 6px 4px}.annual-kpis{flex-direction:column}.annual-kpis>div{min-width:110px}}.day.special-day{background:#fffaf1;min-height:285px}.inline-extra{border-top:1px dashed #e7b65f;gap:5px;margin-top:9px;padding-top:8px;display:grid}.inline-extra strong{text-transform:uppercase;letter-spacing:.06em;color:#9b6417;font-size:9px}.inline-extra input,.inline-extra select{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #dfc596;border-radius:5px;padding:6px;font-size:9px}.inline-extra select{font-weight:700}.pharmacy-assignment{color:#fff;background:#624a8e;border:0;border-radius:6px;width:100%;margin-top:8px;padding:8px;font-size:11px;font-weight:700;display:block}.day.pharmacy-closed{background:#fafafa}.no-extension{color:#7d888d;text-align:center;background:#eceff1;border-radius:6px;margin-top:12px;padding:8px;font-size:10px;font-weight:700}.period-selectors label:last-child select{min-width:210px}.annual-controls{align-items:end;gap:14px;margin-top:13px;display:flex}.annual-controls label,.annual-empty label{color:var(--muted);gap:5px;font-size:11px;font-weight:800;display:grid}.annual-controls select,.annual-empty select{border:1px solid var(--line);min-width:190px;color:var(--navy);background:#fff;border-radius:7px;padding:8px;font-weight:700}.annual-empty{min-height:380px}.empty-message{color:var(--muted);text-align:center;background:#f8fbfb;border:1px dashed #b9cbd2;border-radius:12px;margin-top:30px;padding:35px}.save-button{min-width:170px}.save-button.saved{background:#257b58;box-shadow:0 5px 14px #257b5830}.clinical-calendar .day{min-height:235px}.clinical-inactive{color:#98a5ab;background:#f8fafb}.clinical-active{background:#f3faf9}.clinical-active.holiday{background:#fff5f2}.professional-slot{gap:4px;margin-top:7px;display:grid}.professional-slot select{width:100%;min-width:0;color:var(--navy);background:#e8f6f5;border:1px solid #b9d7d6;border-radius:6px;padding:7px 6px;font-size:9px;font-weight:750}.professional-slot .period-select{color:var(--ink);background:#fff;border-color:#c9d8dd}.professional-slot em{color:var(--coral);font-size:8px;font-style:normal;font-weight:700}.split-turn{border:1px dashed var(--teal);width:100%;color:var(--teal);cursor:pointer;background:#fff;border-radius:6px;margin-top:8px;padding:6px 4px;font-size:9px;font-weight:800}.split-turn.merge{color:#6f7f86;border-color:#b8c5ca}.no-clinical-shift{color:#9aa7ac;text-align:center;margin-top:18px;font-size:9px}:root{--navy:#123b5d;--navy2:#0a4a73;--teal:#158a8a;--turq:#27b3a2;--ink:#243746;--muted:#687b88;--line:#d8e3e7;--bg:#f3f7f8;--coral:#e9635c}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif}.app-shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:linear-gradient(#123f63,#073859);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand{letter-spacing:.12em;align-items:center;gap:12px;height:114px;padding:0 28px;font-size:20px;font-weight:800;display:flex}.brand-cross{color:var(--navy);background:#fff;border-radius:8px;place-items:center;width:40px;height:40px;font-size:26px;display:grid}.sidebar nav{gap:4px;display:grid}.sidebar nav button{color:#d9edf5;text-align:left;cursor:pointer;background:0 0;border:0;border-left:4px solid #0000;align-items:center;gap:13px;padding:17px 24px;font-size:15px;display:flex}.sidebar nav button span{font-size:20px}.sidebar nav button.active,.sidebar nav button:hover{color:#fff;background:#ffffff16;border-left-color:#25c8bb}.side-note{border-top:1px solid #ffffff1f;margin-top:auto;padding:26px 28px;font-size:13px;line-height:1.5}.side-note small{opacity:.68}.main{min-width:0;padding:36px 42px 60px}.topbar{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.eyebrow{color:var(--teal);letter-spacing:.16em;margin:0 0 5px;font-size:11px;font-weight:800}.topbar h1{color:var(--navy);letter-spacing:-.03em;margin:0;font-size:35px}.topbar p:last-child,.section-title p:last-child{color:var(--muted);margin:6px 0 0}button,input,select{font:inherit}.primary{background:linear-gradient(135deg,var(--teal),#0796a0);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:13px 20px;font-weight:700;box-shadow:0 5px 14px #158a8a28}.card{border:1px solid var(--line);background:#fff;border-radius:13px;box-shadow:0 4px 15px #183b4b0a}.toolbar{justify-content:space-between;align-items:center;margin-bottom:22px;padding:20px 24px;display:flex}.toolbar label{color:var(--muted);align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex}.toolbar select{min-width:210px;color:var(--navy);background:#fff;border:1px solid #c9d8dd;border-radius:8px;padding:11px 36px 11px 13px;font-weight:700}.month-kpi{grid-template-columns:auto auto;align-items:center;column-gap:15px;display:grid}.month-kpi span{font-size:14px}.month-kpi strong{color:var(--teal);grid-row:span 2;font-size:34px}.month-kpi small{color:var(--muted);font-size:11px}.calendar-card,.annual-card,.staff-card,.info-card{padding:22px}.section-title{justify-content:space-between;align-items:flex-start;margin-bottom:19px;display:flex}.section-title h2{color:var(--navy);margin:0;font-size:23px}.edit-hint{color:var(--teal);border:1px solid #b8dddd;border-radius:18px;padding:7px 11px;font-size:12px}.calendar-grid{border-left:1px solid var(--line);border-top:1px solid var(--line);border-radius:9px;grid-template-columns:repeat(7,minmax(100px,1fr));display:grid;overflow:hidden}.day-head{text-align:center;color:var(--navy);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f6fafb;padding:12px;font-weight:800}.day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-height:142px;padding:10px}.day.weekend{background:#f4f9fb}.day.holiday{background:#fff8f6}.day.empty{background:#f8fafb}.date-line{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.date-line b{color:var(--navy);font-size:14px}.date-line span{color:var(--coral);background:#ffe7e2;border-radius:10px;padding:3px 7px;font-size:10px}.assignment{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:6px;width:100%;margin:5px 0;padding:7px 8px;font-size:11px;font-weight:700;display:block}.contract-chip{background:var(--teal);color:#fff;border-radius:6px;margin:5px 0;padding:7px 8px;font-size:11px;font-weight:700}.contract-chip small{float:right;opacity:.75}.annual-total{background:#e8f6f5;border-radius:10px;min-width:190px;padding:14px 18px}.annual-total span{color:var(--teal);font-size:12px;font-weight:700;display:block}.annual-total strong{color:var(--navy);margin-top:3px;font-size:32px;display:block}.table-scroll{border:1px solid var(--line);border-radius:9px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:1000px}th,td{text-align:center;border-bottom:1px solid #e7eef0;padding:13px 10px;font-size:12px}th{color:var(--navy);background:#f4f8fa;font-weight:800;position:sticky;top:0}th:first-child,td:first-child{text-align:left;background:inherit;min-width:180px;position:sticky;left:0}tbody tr{background:#fff}tbody tr:nth-child(2n){background:#fafcfc}.status-dot{background:var(--teal);border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.inactive-row{color:#96a2a8}.inactive-row .status-dot{background:#abb6ba}.inactive-row small{color:var(--coral);font-size:9px}.total-cell{color:var(--navy);background:#edf6f7;font-weight:800}.available-row{color:#fff;font-weight:800;background:var(--navy)!important}.available-row td:first-child{background:var(--navy)}.legend{color:var(--muted);flex-wrap:wrap;gap:22px;margin-top:15px;font-size:11px;display:flex}.legend i{border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.legend .teal{background:var(--teal)}.legend .gray{background:#abb6ba}.staff-layout{grid-template-columns:minmax(500px,1fr) 320px;gap:22px;display:grid}.add-row{gap:10px;margin-bottom:18px;display:flex}.add-row input{outline-color:var(--teal);border:1px solid #c8d7dc;border-radius:8px;flex:1;padding:12px}.staff-list{gap:8px;display:grid}.staff-item{border:1px solid #e3ebee;border-radius:9px;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.staff-item>div{align-items:center;gap:12px;display:flex}.staff-item span span{display:grid}.staff-item small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.avatar{width:38px;height:38px;color:var(--teal);background:#dff2f1;border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.avatar.off{color:#8d989d;background:#edf0f1}.danger,.restore{color:#c14e47;cursor:pointer;background:#fff0ed;border:0;border-radius:7px;padding:8px 10px;font-size:11px;font-weight:700}.restore{color:var(--teal);background:#e8f6f5}.info-card{border-top:4px solid var(--teal);height:max-content}.info-card h3{color:var(--navy);margin-top:0}.info-card p{color:var(--muted);border-bottom:1px solid #e6edef;padding-bottom:14px;font-size:13px;line-height:1.65}.info-card p:last-child{border:0;margin-bottom:0}@media (width<=1050px){.app-shell{grid-template-columns:82px 1fr}.sidebar .brand span:last-child,.sidebar nav button:not(.active){font-size:0}.sidebar nav button{justify-content:center;padding:18px 0}.side-note{display:none}.main{padding:28px 22px}.calendar-grid{grid-template-columns:repeat(7,minmax(88px,1fr))}.staff-layout{grid-template-columns:1fr}.sidebar .brand{justify-content:center;padding:0}}@media (width<=760px){.app-shell{display:block}.sidebar{flex-direction:row;align-items:center;height:auto;position:static}.brand{width:78px;height:68px}.sidebar nav{flex:1;display:flex}.sidebar nav button{border-bottom:3px solid #0000;border-left:0;flex:1;padding:14px 6px;font-size:11px!important}.sidebar nav button.active{border-bottom-color:#25c8bb}.main{padding:22px 14px}.topbar{align-items:flex-start}.topbar h1{font-size:27px}.topbar .primary{padding:10px;font-size:12px}.toolbar{flex-direction:column;align-items:stretch;gap:18px}.month-kpi{align-self:stretch}.calendar-card{padding:14px;overflow:auto}.calendar-grid{min-width:760px}.section-title{gap:12px}.edit-hint{display:none}.annual-card{padding:14px}.annual-total{min-width:150px}.staff-layout{display:block}.info-card{margin-top:16px}}.add-row select{min-width:170px;color:var(--navy);outline-color:var(--teal);background:#fff;border:1px solid #c8d7dc;border-radius:8px;padding:12px;font-weight:700}@media (width<=760px){.add-row{flex-wrap:wrap}.add-row input,.add-row select{width:100%;min-width:100%}}.night-shift-day{background:#f7f5ff;min-height:126px}.night-shift-day.weekend{background:#f0edff}.night-label{color:#fff;background:#27346b;border-radius:12px;margin:3px 0 8px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-block}.night-tens-select{color:#27346b;cursor:pointer;background:#fff;border:1px solid #c9cce1;border-radius:7px;width:100%;padding:8px 7px;font-size:11px;font-weight:700;display:block}.night-tens-calendar .legend{color:#4457a5;background:#eef0fa;border-radius:8px;padding:10px 12px}.general-calendar{overflow:auto}.general-calendar .calendar-grid{min-width:980px}.general-calendar .day-head{padding:9px 4px;font-size:11px}.general-day{min-height:235px;padding:6px}.general-legend{flex-wrap:wrap;gap:5px;margin:-5px 0 12px;display:flex}.general-legend span{border-radius:12px;padding:4px 7px;font-size:9px;font-weight:800}.general-rows{gap:3px;display:grid}.general-shift-row{background:#f7f9fb;border-left:3px solid;border-radius:5px;min-width:0;padding:4px;line-height:1.2}.general-shift-row strong{text-transform:uppercase;letter-spacing:0;font-size:8px;display:block}.general-shift-row span{color:#263244;overflow-wrap:anywhere;margin-top:1px;font-size:9px;display:block}.general-diurno{color:#167568;background:#ddf3ef!important;border-color:#2a9d8f!important}.general-nocturno{color:#4d4694;background:#eeecfb!important;border-color:#6b62b5!important}.general-farmacia{color:#8b6115;background:#fff2d7!important;border-color:#d49b32!important}.general-ambulancia{color:#225c83;background:#e3f2fb!important;border-color:#2f78aa!important}.general-medico{color:#9b3e3e;background:#fde7e7!important;border-color:#d95f5f!important}.general-enfermeria{color:#824473;background:#f8e8f4!important;border-color:#b25d9d!important}.general-none{color:#99a4aa;padding:8px 2px;font-size:10px;font-style:italic}.login-page{background:radial-gradient(circle at 70% 20%,#dff3f1 0,#0000 28%),linear-gradient(135deg,#eef5f6,#f8fbfb);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:18px;width:min(430px,100%);padding:38px;box-shadow:0 20px 60px #123b5d1c}.login-mark{background:var(--navy);color:#fff;border-radius:13px;place-items:center;width:58px;height:58px;margin:0 auto 24px;font-size:32px;display:grid}.login-card h1{color:var(--navy);margin:0;font-size:30px}.login-card>p:not(.eyebrow){color:var(--muted);line-height:1.6}.login-card form{text-align:left;margin:26px 0 22px}.login-card label{color:var(--navy);margin-bottom:8px;font-size:13px;font-weight:800;display:block}.login-card input{outline-color:var(--teal);border:1px solid #c5d5db;border-radius:9px;width:100%;padding:13px;font-size:18px}.login-card form .primary{width:100%;margin-top:14px}.login-card form .primary:disabled{opacity:.65}.login-error{color:#b33e37;background:#fff0ed;border-radius:7px;margin-top:10px;padding:9px 11px;font-size:12px}.login-card>small{color:#829199}.ambulance-calendar .day{min-height:170px}.driver-shift{margin:7px 0;display:block}.driver-shift>span{color:var(--teal);text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:10px;font-weight:800;display:flex}.driver-shift>span small{color:var(--muted);font-size:8px;font-weight:700}.driver-shift select{width:100%;color:var(--navy);background:#e8f6f5;border:1px solid #b9d7d6;border-radius:6px;padding:7px 5px;font-size:10px;font-weight:700}.driver-shift.night>span{color:#495d88}.driver-shift.night select{background:#eef1f8;border-color:#c8d0e4}.login-card form label+input{margin-bottom:14px}.readonly-badge{color:#4457a5;background:#eef0fa;border-radius:18px;align-items:center;padding:9px 13px;font-size:12px;font-weight:800;display:inline-flex}.readonly-mode .calendar-card select,.readonly-mode .calendar-card input,.readonly-mode .calendar-card button{pointer-events:none;cursor:default}.readonly-mode .calendar-card select{appearance:none;background-image:none}.readonly-mode .edit-hint,.readonly-mode .annual-card,.readonly-mode .staff-layout{display:none}
