:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}#root{text-align:left;box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0;display:flex}body,p{margin:0}*,:before,:after{box-sizing:border-box}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--kineq-violet-50:#f5f1ff;--kineq-violet-100:#e9dfff;--kineq-violet-200:#d2befa;--kineq-violet-300:#b89ef1;--kineq-violet-400:#9976ed;--kineq-violet-500:#7d52e8;--kineq-violet-600:#602de6;--kineq-violet-700:#5622e3;--kineq-violet-800:#4520b8;--kineq-violet-900:#311675;--kineq-navy-900:#071538;--color-primary:var(--kineq-violet-600);--color-primary-hover:var(--kineq-violet-700);--color-primary-soft:var(--kineq-violet-50);--color-primary-subtle:color-mix(in srgb, var(--kineq-violet-600) 12%, transparent);--color-primary-border:var(--kineq-violet-200);--color-on-primary:#fff;--color-page-bg:#f6f7fb;--color-surface:#fff;--color-surface-soft:#f5f7ff;--color-surface-muted:#f8fafc;--color-control:#f3f4f6;--color-input-bg:#fff;--color-calendar-bg:#f8fafc;--color-calendar-hour-bg:#fff;--color-text:#333447;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-line:#e5e7ebe6;--color-line-soft:#e5e7ebbf;--color-success:#059669;--color-danger:#dc2626;--color-warning:#f59e0b;--color-overlay:#0f172a59;--color-overlay-strong:#0f172a6b;--color-selected-outline:#ffffffb3;--color-resize-handle:#0000000a;--color-scroll-track:#f1f5f9;--color-scroll-thumb-end:var(--kineq-violet-400);--shadow-panel:0 20px 50px #0f172a14;--shadow-popover:0 20px 40px #0f172a1f;--shadow-floating:0 20px 50px #0f172a1f;--shadow-modal:0 30px 80px #0f172a33;--shadow-turno:0 10px 30px #0f172a1f;--inset-card-border:inset 0 0 0 1px #0f172a08;--appointment-purple:#5b21b6;--appointment-teal:#0f766e;--appointment-red:#dc2626;--appointment-amber:#d97706;--appointment-sky:#0284c7;--appointment-pink:#be185d;--turnos-waiting:#ffbc2e;--turnos-waiting-end:#f5af1f;--turnos-remaining:#6d28d9;--turnos-remaining-end:#6d28d9;--turnos-attending:#0284c7;--turnos-attending-end:#0369a1;--turnos-waiting-badge:#ffae00;--radius-panel:24px;--radius-control:14px;--font-family:Inter, system-ui, sans-serif;font-family:var(--font-family);color:var(--color-text);background:var(--color-page-bg);font-size:16px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#8b5cf6;--color-primary-hover:#a78bfa;--color-primary-soft:#241641;--color-primary-subtle:#8b5cf62e;--color-primary-border:#4c2d85;--color-on-primary:#fff;--color-page-bg:#0b1120;--color-surface:#111827;--color-surface-soft:#172033;--color-surface-muted:#151f30;--color-control:#1f2937;--color-input-bg:#0f172a;--color-calendar-bg:#0f172a;--color-calendar-hour-bg:#111827;--color-text:#e5e7eb;--color-text-muted:#94a3b8;--color-border:#2b3648;--color-line:#94a3b83d;--color-line-soft:#94a3b829;--color-success:#34d399;--color-danger:#f87171;--color-warning:#fbbf24;--color-overlay:#020617a6;--color-overlay-strong:#020617c7;--color-selected-outline:#ffffffb8;--color-resize-handle:#ffffff0f;--color-scroll-track:#111827;--color-scroll-thumb-end:#a78bfa;--shadow-panel:0 20px 50px #00000052;--shadow-popover:0 20px 40px #00000061;--shadow-floating:0 20px 50px #0006;--shadow-modal:0 30px 80px #0000008c;--shadow-turno:0 10px 30px #00000061;--inset-card-border:inset 0 0 0 1px #94a3b81f;--appointment-purple:#7c3aed;--appointment-teal:#0f9f94;--appointment-red:#ef4444;--appointment-amber:#d97706;--appointment-sky:#0284c7;--appointment-pink:#db2777;--turnos-waiting:#ffbc2e;--turnos-waiting-end:#f5af1f;--turnos-remaining:#6d28d9;--turnos-remaining-end:#6d28d9;--turnos-attending:#38bdf8;--turnos-attending-end:#0284c7;--turnos-waiting-badge:#facc15}html,body,#root{background:var(--color-page-bg);min-height:100%;color:var(--color-text)}body{margin:0;overflow-x:hidden}h1,h2{color:var(--color-text);margin:0 0 8px}button,input,select{font:inherit}body,.dashboard-shell,.sidebar,.side-panel,.main-area,.schedule-panel,.month-card,.details-card,.modal-card,.dropdown-list,.filters-panel,.turnos-table-card,.turnos-filter-panel,.turnos-sort-panel,.mobile-topbar{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dashboard-shell{grid-template-columns:86px minmax(0,1fr) 320px;gap:24px;min-height:100vh;padding:24px;display:grid}.sidebar,.side-panel,.main-area{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);min-width:0;box-shadow:var(--shadow-panel)}.sidebar{flex-direction:column;align-self:start;gap:20px;max-height:calc(100vh - 48px);padding:20px 12px;display:flex;position:sticky;top:24px;overflow-y:auto}.nav-label,.sidebar-brand-text{display:none}.sidebar-tooltip{z-index:10010;background:var(--color-text);color:var(--color-surface);white-space:nowrap;box-shadow:var(--shadow-popover);pointer-events:none;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;animation:.16s sidebar-tooltip-in;position:fixed;transform:translateY(-50%)}@keyframes sidebar-tooltip-in{0%{opacity:0}to{opacity:1}}.sidebar-logo{color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex}.sidebar-logo svg{width:auto;height:26px;display:block}.sidebar-brand{flex-direction:column;align-items:center;gap:10px;display:flex}.avatar{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);width:54px;height:54px;color:var(--color-on-primary);border-radius:18px;flex:none;place-items:center;font-weight:700;display:grid}.avatar--photo{padding:0;overflow:hidden}.avatar--photo img,.avatar--photo .authorized-img-placeholder{object-fit:cover;width:100%;height:100%;display:block}.avatar-wrapper{flex:none;position:relative}.avatar-edit-button{border:1px solid var(--color-border);background:var(--color-surface);width:22px;height:22px;color:var(--color-text-muted);cursor:pointer;border-radius:999px;place-items:center;display:grid;position:absolute;bottom:4%;right:4%;transform:translate(28%,28%)}.avatar-edit-button--circle{bottom:10%;right:10%}.avatar-edit-button:hover,.avatar-edit-button:focus-visible{color:var(--color-primary);border-color:var(--color-primary)}.avatar-edit-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.avatar-edit-popover{z-index:9999;border:1px solid var(--color-border);background:var(--color-surface);width:220px;box-shadow:var(--shadow-popover);color:var(--color-text);border-radius:14px;gap:8px;padding:14px;font-size:13px;display:grid;position:fixed}.avatar-edit-popover-title{color:var(--color-text);margin:0;font-weight:700}.avatar-edit-popover-actions{gap:6px;display:grid}.avatar-edit-popover p{color:var(--color-text-muted);margin:0}.user-role{color:var(--color-text-muted);margin:0 0 4px;font-size:14px}.sidebar-brand strong{font-size:16px;display:block}.sidebar-nav{gap:8px;display:grid}.nav-item{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:16px;justify-content:center;align-items:center;gap:0;padding:10px;font-size:15px;transition:background .2s,border-color .2s;display:flex}.nav-item:hover,.nav-item.active{background:var(--color-surface-soft);border-color:var(--color-primary-border)}.nav-icon{border:1px solid var(--color-border);background:var(--color-control);width:40px;height:40px;color:var(--color-text);border-radius:12px;flex:none;place-items:center;transition:background-color .2s,border-color .2s,color .2s,transform .2s;display:grid}.nav-icon svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px;display:block}.nav-item:hover .nav-icon{border-color:var(--color-primary-border);background:var(--color-surface);transform:translateY(-1px)}.nav-item.active .nav-icon{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.mobile-topbar,.mobile-menu-backdrop,.mobile-menu-close{display:none}.theme-toggle{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-control);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;gap:10px;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.theme-toggle:hover{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.theme-toggle:active{transform:translateY(1px)}.theme-toggle svg,.theme-toggle-icon{width:20px;height:20px}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;display:block}.sidebar-theme-toggle{justify-content:center;gap:0;width:100%;margin-top:auto;padding:10px;font-weight:600}.sidebar-logout{justify-content:center;align-items:center;gap:0;width:100%;padding:10px;display:flex}.mobile-topbar-actions{justify-self:end;align-items:center;gap:8px;display:flex}.mobile-theme-toggle{width:42px;height:42px;padding:0}.main-area{flex-direction:column;gap:24px;padding:24px;display:flex}.main-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.breadcrumb{color:var(--color-text-muted);margin:0 0 8px;font-size:14px}.main-header h1{color:var(--color-text);margin:0;font-size:28px}.subtitle{max-width:560px;color:var(--color-text-muted);margin:8px 0 0}.header-actions button,.details-button,.small-button,.primary-button,.secondary-button{cursor:pointer;border:none;border-radius:14px;padding:12px 18px;font-weight:600}.header-actions button,.primary-button{background:var(--color-primary);color:var(--color-on-primary)}.secondary-button{background:var(--color-control);color:var(--color-text)}.primary-button--danger{background:var(--color-danger)}.primary-button:disabled,.secondary-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.primary-button--danger:hover{background:color-mix(in srgb, var(--color-danger) 85%, black)}.new-turn-button{background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;box-shadow:none;appearance:none;border:none;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-weight:600;transition:background-color .2s,transform .2s,box-shadow .2s;display:inline-flex}.new-turn-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-turno);transform:translateY(-1px)}.new-turn-button:active{box-shadow:none;transform:translateY(0)}.header-actions button:hover,.primary-button:hover,.details-button:hover{background:var(--color-primary-hover)}.icon-circle{display:none}.small-button{background:var(--color-primary-soft);width:44px;height:44px;color:var(--color-primary);cursor:pointer;appearance:none;border:none;border-radius:14px;place-items:center;padding:0;font-size:18px;line-height:1;transition:background-color .2s,color .2s,transform .2s;display:grid}.small-button:hover{background:var(--color-primary-subtle);color:var(--color-primary-hover);transform:translateY(-1px)}.small-button:active{transform:translateY(0)}.schedule-panel,.month-card,.details-card{background:var(--color-surface);box-shadow:var(--inset-card-border);border-radius:24px;padding:24px}.schedule-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.schedule-header h2,.details-header h2{color:var(--color-text);margin:0;font-size:22px}.schedule-header p{color:var(--color-text-muted);margin:6px 0 0}.modal-overlay{z-index:20;background:var(--color-overlay);-webkit-backdrop-filter:blur(6px);place-items:center;display:grid;position:fixed;inset:0;overflow-x:hidden}.popover-backdrop{z-index:9;background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);position:fixed;inset:0}.modal-card{background:var(--color-surface);width:min(680px,100%);max-height:min(95vh,900px);box-shadow:var(--shadow-modal);border-radius:24px;padding:24px;overflow:hidden auto}.modal-header{border-bottom:1px solid var(--color-line-soft);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:18px;display:flex}.modal-header--compact{border-bottom:none;margin-bottom:10px;padding-bottom:4px}.modal-header--compact h3{font-size:16px}.modal-header-title{align-items:flex-start;gap:14px;min-width:0;display:flex}.modal-header-icon{background:var(--color-primary-soft);width:44px;height:44px;color:var(--color-primary);border-radius:14px;flex:none;place-items:center;display:grid}.modal-header-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.modal-header h3{margin:0;font-size:20px}.modal-header p{color:var(--color-text-muted);margin:6px 0 0;font-size:14px}.modal-header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.modal-icon-button{border:1px solid var(--color-border);background:var(--color-control);width:40px;height:40px;color:var(--color-text);cursor:pointer;border-radius:12px;place-items:center;padding:0;transition:background-color .2s,border-color .2s,color .2s;display:grid}.modal-icon-button:hover{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary)}.modal-icon-button svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.close-button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-size:24px;line-height:1}.modal-body{gap:16px;margin-bottom:20px;padding-right:8px;display:grid}.modal-body label{color:var(--color-text-muted);gap:6px;font-size:13px;font-weight:600;display:grid}.modal-body input:not([type=checkbox]),.modal-body select,.modal-body textarea{border:1px solid var(--color-border);background:var(--color-input-bg);width:100%;color:var(--color-text);border-radius:14px;padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .2s}.modal-body textarea{resize:vertical}.modal-body input:not([type=checkbox]):focus,.modal-body select:focus,.modal-body textarea:focus{border-color:var(--color-primary)}.modal-body select{padding-right:32px}.modal-body .checkbox-field{color:var(--color-text);flex-direction:row;align-items:center;gap:8px;font-weight:500;display:flex}.modal-body .checkbox-field input{width:auto}.checkbox-field--section{margin:6px 0}.modal-header-subtitle{margin:0}.export-plan-date-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.export-plan-estado-button{justify-content:space-between;width:100%;margin-top:8px}.export-plan-estado-button.field-invalid{border-color:var(--color-danger)}.export-plan-estado-chevron{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;transition:transform .15s}.export-plan-estado-chevron--open{transform:rotate(180deg)}.filters-panel.export-plan-estado-panel{max-height:280px}.modal-body input.narrow-input{width:auto;min-width:140px}.turno-monto-field{align-items:center;gap:8px;display:flex}.turno-monto-symbol{color:var(--color-text-muted);font-weight:700}.date-input-row{align-items:center;display:flex;position:relative}.date-input-text{border:1px solid var(--color-border);background:var(--color-input-bg);width:100%;color:var(--color-text);border-radius:14px;padding:12px 40px 12px 14px;font-family:inherit;font-size:15px;transition:border-color .2s}.date-input-text:focus{border-color:var(--color-primary);outline:none}.date-input-text:disabled{opacity:.6;cursor:not-allowed}.date-input-picker-button{width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;right:6px}.date-input-picker-button:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary)}.date-input-picker-button:disabled{opacity:.5;cursor:not-allowed}.date-input-picker-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.date-input-native{opacity:0;pointer-events:none;border:none;width:1px;height:1px;padding:0;position:absolute}@media (pointer:coarse){.date-input-native{box-sizing:border-box;opacity:0;pointer-events:auto;cursor:pointer;width:100%;height:auto;padding:12px 14px;font-size:15px;top:0;left:0}}.date-input-error{color:var(--color-danger);margin:6px 0 0;font-size:13px}.date-input.narrow-input{width:auto;min-width:160px}.modal-actions{border-top:1px solid var(--color-line-soft);justify-content:flex-end;gap:12px;margin-top:4px;padding-top:18px;display:flex}.modal-actions .primary-button,.modal-actions .secondary-button{padding:13px 22px;transition:background-color .2s,transform .2s,box-shadow .2s,filter .2s}.modal-actions .primary-button:hover{box-shadow:var(--shadow-turno);transform:translateY(-1px)}.modal-actions .secondary-button:hover{filter:brightness(.97)}.ghost-button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;border-radius:12px;padding:13px 14px;font-weight:600;transition:background-color .2s}.ghost-button:hover{background:var(--color-primary-soft)}.modal-actions-more{margin-right:auto}.modal-delete-button{color:var(--color-danger);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:8px;margin-right:auto;padding:11px 16px;font-weight:600;transition:background-color .2s,border-color .2s;display:inline-flex}.modal-delete-button:hover{background:color-mix(in srgb, var(--color-danger) 12%, transparent);border-color:color-mix(in srgb, var(--color-danger) 30%, transparent)}.modal-delete-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.confirm-dialog-overlay{z-index:10000}.confirm-dialog{background:var(--color-surface);width:min(400px,100%);box-shadow:var(--shadow-modal);border-radius:20px;padding:24px}.confirm-dialog h3{margin:0 0 10px;font-size:18px}.confirm-dialog p{color:var(--color-text-muted);margin:0;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:12px;margin-top:22px;display:flex}.confirm-dialog-actions button{padding:11px 18px}.custom-recurrence-modal{background:var(--color-surface);width:min(360px,100%);box-shadow:var(--shadow-modal);border-radius:20px;padding:24px}.custom-recurrence-modal h3{margin:0 0 18px;font-size:18px}.custom-recurrence-body{margin-bottom:22px;padding-right:0}.custom-recurrence-field{color:var(--color-text-muted);gap:8px;font-size:13px;font-weight:600;display:grid}.custom-recurrence-field-label{color:var(--color-text-muted);font-size:13px;font-weight:600}.custom-recurrence-interval-row{align-items:center;gap:10px;display:flex}.modal-body input.custom-recurrence-intervalo-input{flex:none;width:auto;max-width:72px}.select-chevron-wrap{flex:auto;display:block;position:relative}.select-chevron-wrap select{appearance:none;width:100%;padding-right:32px}.select-chevron-wrap:after{content:"▾";color:var(--color-text-muted);pointer-events:none;font-size:12px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.custom-recurrence-weekdays{flex-wrap:wrap;gap:8px;padding:2px 0;display:flex}.weekday-chip{border:1px solid var(--color-border);background:var(--color-input-bg);width:36px;height:36px;color:var(--color-text);cursor:pointer;border-radius:50%;place-items:center;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:grid}.weekday-chip:hover{border-color:var(--color-primary-border)}.weekday-chip--active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.quick-repeat-edit{border:1px solid var(--color-border);background:var(--color-control);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}.quick-repeat-edit:hover{color:var(--color-primary);border-color:var(--color-primary-border)}.quick-repeat-edit svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.serie-scope-options{gap:10px;margin-top:18px;display:grid}.serie-scope-option{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-weight:500;transition:border-color .2s,background-color .2s;display:flex}.serie-scope-option:has(input:checked){border-color:var(--color-primary-border);background:var(--color-primary-soft)}.serie-scope-option input{width:auto;accent-color:var(--color-primary)}.appointment-form{grid-template-columns:1fr 1fr;gap:18px 20px;display:grid}.appointment-form .dropdown-field,.appointment-form-full-row{grid-column:1/-1}.appointment-form .dropdown-field{gap:8px;display:grid}.appointment-form .dropdown-input-row input{flex:auto;width:auto;min-width:0}.appointment-form--readonly .dropdown-input-row{cursor:default}.appointment-form--readonly input:disabled,.appointment-form--readonly select:disabled{opacity:1;background:var(--color-surface-muted);color:var(--color-text-muted);-webkit-text-fill-color:var(--color-text-muted);cursor:default}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.quick-datetime-row,.quick-recurrence-row,.quick-session-row{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.quick-datetime-row{flex-wrap:nowrap}.quick-datetime-row .date-input{flex:150px;min-width:150px}.quick-datetime-row input[type=time]{flex:122px;width:auto;min-width:104px;padding:12px 6px}.quick-datetime-sep{color:var(--color-text-muted);flex:none}.quick-field-icon{width:16px;height:16px;color:var(--color-text-muted);fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.quick-repeat-select{flex:200px;min-width:0}.quick-repeat-count{flex:none;display:flex}.quick-repeat-count input{width:60px}.dropdown-field.dropdown-field--compact{align-items:center;gap:8px;display:flex}.dropdown-field--compact .dropdown-input-row{flex:auto;min-width:0}.turnos-specialty-dot--empty{border:1.5px solid var(--color-border);background:0 0!important}.quick-session-row{justify-content:space-between}.quick-session-row .checkbox-field{flex:none}.quick-session-number{align-items:center;gap:6px;display:flex}.quick-session-number input{width:56px}.modal-card--compact{width:min(460px,100%)}.modal-card--compact .appointment-form{gap:12px 16px}.dropdown-field{position:relative}.dropdown-field-label{color:var(--color-text-muted);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.dropdown-list{z-index:9999;border:1px solid var(--color-border);background:var(--color-surface);max-width:calc(100vw - 32px);max-height:260px;box-shadow:var(--shadow-popover);border-radius:12px;padding:10px;display:grid;position:fixed;overflow:auto}.dropdown-list button{color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;display:flex}.dropdown-list button:hover{background:var(--color-surface-muted)}.dropdown-footer,.dropdown-footer-edit{background:var(--color-surface);border-top:1px solid var(--color-line-soft);align-items:center;gap:8px;margin:8px -10px -10px;padding:10px;display:flex;position:sticky;bottom:-10px}.dropdown-footer input,.dropdown-footer-edit input{border:1px solid var(--color-border);background:var(--color-input-bg);color:var(--color-text);border-radius:8px;flex:auto;padding:8px 10px}.dropdown-footer .add-item-button{background:var(--color-primary);width:100%;color:var(--color-on-primary);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.dropdown-footer .add-button,.dropdown-footer-edit .add-button,.dropdown-footer .cancel-button,.dropdown-footer-edit .cancel-button{cursor:pointer;border:none;border-radius:8px;padding:8px 10px}.dropdown-footer .add-button,.dropdown-footer-edit .add-button{background:var(--color-primary);color:var(--color-on-primary)}.dropdown-footer .cancel-button,.dropdown-footer-edit .cancel-button{background:var(--color-control);color:var(--color-text)}.dropdown-footer .add-item-button:hover,.dropdown-footer .add-button:hover,.dropdown-footer-edit .add-button:hover{background:var(--color-primary-hover)}.dropdown-footer .cancel-button:hover,.dropdown-footer-edit .cancel-button:hover{filter:brightness(.98)}.dropdown-option--selected{color:var(--color-primary);font-weight:600}.dropdown-option-check{color:var(--color-primary)}.quick-create-section{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:14px;grid-column:1/-1;gap:8px;padding:14px;display:grid}.quick-create-title{color:var(--color-text-muted);margin:0;font-size:13px;font-weight:600}.quick-create-section input,.quick-create-section select{border:1px solid var(--color-border);background:var(--color-input-bg);width:100%;color:var(--color-text);border-radius:10px;padding:10px 12px}.quick-create-actions{justify-content:flex-end;gap:8px;display:flex}.dropdown-input-row{border:1px solid var(--color-border);background:var(--color-input-bg);border-radius:14px;align-items:center;gap:8px;padding:12px 14px;transition:border-color .2s;display:flex}.dropdown-input-row:focus-within{border-color:var(--color-primary)}.dropdown-input-row input:not([type=checkbox]){width:100%;min-width:0;color:var(--color-text);background:0 0;border:none;flex:auto;padding:0;font-family:inherit;font-size:15px}.dropdown-input-row input:not([type=checkbox]):focus{border-color:#0000;outline:none}.dropdown-input-row:after{content:"▾";color:var(--color-text-muted);pointer-events:none;flex-shrink:0;margin-left:auto;padding-left:4px;font-size:12px}.dropdown-input-row .clear-button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 8px;font-size:16px}.dropdown-input-row .clear-button:hover{background:var(--color-control)}.time-selects{align-items:center;gap:8px;width:100%;display:flex}.time-selects select{border:1px solid var(--color-border);background:var(--color-input-bg);min-width:0;color:var(--color-text);border-radius:10px;flex:1 1 0;padding:10px 12px}.time-selects .colon{color:var(--color-text-muted);font-weight:700}input::placeholder{color:var(--color-text-muted)}input:focus,select:focus,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input:disabled,select:disabled{color:var(--color-text-muted);opacity:.75}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-scroll-track);border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--color-primary), var(--color-scroll-thumb-end));border-radius:10px}*{scrollbar-width:thin;scrollbar-color:var(--color-primary) var(--color-scroll-track)}.schedule-filters-wrapper{position:relative}.filter-button{border:1px solid var(--color-border);background:var(--color-input-bg);color:var(--color-text);cursor:pointer;border-radius:14px;align-items:center;gap:8px;padding:10px 16px;font-weight:600;display:inline-flex}.filter-button svg{width:16px;height:16px}.filter-icon{align-items:center;display:inline-flex}.filters-panel{z-index:10;border:1px solid var(--color-border);background:var(--color-surface);width:420px;max-width:min(100vw - 32px,420px);max-height:420px;box-shadow:var(--shadow-floating);border-radius:20px;padding:18px;position:absolute;top:110%;right:0;overflow-y:auto}.filter-group{gap:10px;margin-bottom:16px;display:grid}.filter-group strong{font-size:14px}.filter-group label{background:var(--color-surface-muted);cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:inline-flex}.filter-group input[type=checkbox],.filter-group input[type=radio]{accent-color:var(--color-primary)}.schedule-summary{gap:10px;display:grid}.schedule-summary div{color:var(--color-text-muted);align-items:center;gap:8px;font-size:14px;display:inline-flex}.summary-dot,.spec-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.summary-dot.confirmed{background:var(--color-primary)}.summary-dot.pending{background:var(--color-warning)}.spec-dot{vertical-align:middle;margin-right:8px}.calendar-range-warning{border:1px solid var(--color-warning);background:color-mix(in srgb, var(--color-warning) 10%, transparent);color:var(--color-text);border-radius:12px;margin:0 0 14px;padding:10px 12px;font-size:14px}.day-grid{background:var(--color-calendar-bg);border-radius:24px;grid-template-columns:80px minmax(0,1fr);min-height:780px;display:grid;position:relative;overflow:hidden}.hours-column{border-right:1px solid var(--color-line);background:var(--color-calendar-hour-bg)}.hour-label{border-bottom:1px solid var(--color-line);height:60px;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:14px;display:flex}.calendar-column{cursor:pointer;min-height:780px;position:relative;overflow:hidden}.timeline-lines{position:absolute;inset:0}.timeline-row{border-bottom:1px solid var(--color-line-soft);height:60px}.timeline-row span{color:var(--color-text-muted);font-size:12px;position:absolute;top:8px;left:16px}.calendar-nav{align-items:center;gap:12px;min-width:0;display:flex}.calendar-nav-today{flex:none;padding:10px 16px}.calendar-nav-arrows{flex:none;gap:4px;display:flex}.calendar-nav-arrows .small-button{width:36px;height:36px;font-size:13px}.schedule-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.calendar-view-select select{border:1px solid var(--color-border);background:var(--color-input-bg);color:var(--color-text);cursor:pointer;border-radius:12px;padding:10px 32px 10px 14px;font-family:inherit;font-size:14px;font-weight:600}.calendar-view-select select:focus{border-color:var(--color-primary);outline:none}.week-view{overflow-x:auto}.week-grid{background:var(--color-calendar-bg);border-radius:24px;grid-template-columns:64px repeat(7,minmax(120px,1fr));min-width:900px;display:grid;position:relative;overflow:hidden}.week-hours-column{border-right:1px solid var(--color-line);background:var(--color-calendar-hour-bg)}.week-hours-column .hour-label{font-size:12px}.week-day-column-wrapper{border-right:1px solid var(--color-line)}.week-day-column-wrapper:last-child{border-right:none}.week-day-header{border-bottom:1px solid var(--color-line);background:var(--color-calendar-hour-bg);flex-direction:column;justify-content:center;align-items:center;gap:2px;height:60px;display:flex}.week-day-header--spacer{background:var(--color-calendar-hour-bg)}.week-day-header-name{color:var(--color-text-muted);text-transform:uppercase;font-size:12px;font-weight:700}.week-day-header-date{color:var(--color-text);font-size:13px;font-weight:600}.week-day-header--today .week-day-header-date,.week-day-header--active .week-day-header-date{background:var(--color-primary);min-width:22px;height:22px;color:var(--color-on-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.week-day-column{cursor:pointer;min-height:780px;position:relative;overflow:hidden}.month-view-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:8px;display:grid}.month-view-weekday{color:var(--color-text-muted);text-align:center;padding:6px 0;font-size:12px;font-weight:700}.month-view-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(110px,1fr);gap:6px;display:grid}.month-view-cell{border:1px solid var(--color-line);background:var(--color-surface);cursor:pointer;border-radius:14px;flex-direction:column;gap:6px;padding:8px;transition:border-color .15s,background-color .15s;display:flex}.month-view-cell:hover{border-color:var(--color-primary-border)}.month-view-cell--outside{background:var(--color-surface-muted);opacity:.6}.month-view-cell--today .month-view-cell-number{background:var(--color-primary);width:22px;height:22px;color:var(--color-on-primary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.month-view-cell-number{color:var(--color-text);font-size:13px;font-weight:600}.month-view-cell-turnos{flex-direction:column;gap:3px;min-width:0;display:flex}.month-view-turno-chip{background:var(--color-surface-muted);width:100%;color:var(--color-text);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:none;border-left:3px solid #0000;border-radius:6px;padding:2px 6px;font-size:11px;display:block;overflow:hidden}.month-view-turno-chip:hover{background:var(--color-control)}.month-view-turno-chip-time{color:var(--color-text-muted);font-weight:600}.month-view-overflow{color:var(--color-primary);text-align:left;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:11px;font-weight:600}.month-view-overflow:hover{text-decoration:underline}.year-view{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.year-view-month{border:1px solid var(--color-line);cursor:pointer;border-radius:16px;padding:14px}.year-view-month:hover{border-color:var(--color-primary)}.year-view-month:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.year-view-month-header{width:100%;color:var(--color-text);text-align:left;margin-bottom:10px;padding:4px 0;font-size:14px;font-weight:700;display:block}.year-view-month:hover .year-view-month-header{color:var(--color-primary)}.year-view-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:4px;display:grid}.year-view-weekdays div{color:var(--color-text-muted);text-align:center;font-size:10px;font-weight:700}.year-view-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.year-view-day{aspect-ratio:1;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;font-size:11px;display:grid}.year-view-day:hover:not(:disabled){background:var(--color-control)}.year-view-day--empty{cursor:default}.year-view-day--today{background:var(--color-primary);color:var(--color-on-primary);font-weight:700}.turno-card{color:var(--color-on-primary);text-align:left;cursor:pointer;box-shadow:var(--shadow-turno);touch-action:pan-y;-webkit-touch-callout:none;border:2px solid #0000;border-radius:20px;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:6px 16px;transition:transform .2s,border-color .2s;display:flex;position:absolute;left:16px;right:16px;overflow:hidden}.turno-card--drag-active{border-color:var(--color-on-primary);z-index:5;transform:scale(1.03);box-shadow:0 8px 24px #00000047}.turno-card:hover,.turno-card.selected{border-color:var(--color-selected-outline);transform:translateY(-2px)}.turno-card--draft{background:var(--color-primary-soft);border:1.5px dashed var(--color-primary);box-shadow:none;color:var(--color-primary);cursor:default;opacity:.9;pointer-events:none}.turno-card strong{margin-bottom:0;font-size:14px;display:block}.turno-card span{opacity:.95;white-space:normal;word-break:break-word;font-size:12px;display:block}.turno-card-recurrence-badge{place-items:center;display:grid;position:absolute;top:10px;right:24px}.turno-card-recurrence-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;opacity:.85;width:11px;height:11px}.turno-card.short-turno{flex-direction:row;align-items:center;gap:8px;padding:6px 12px}.turno-card.short-turno strong,.turno-card.short-turno span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.turno-card.short-turno span{display:inline-block}.turno-card.short-turno .turno-card-status-dot{width:8px;height:8px;top:6px;right:6px}.turno-card.short-turno .turno-card-recurrence-badge{top:6px;right:18px}.turno-card.short-turno .turno-card-recurrence-icon{width:9px;height:9px}.turno-card--narrow{padding:6px 10px}.turno-card--narrow .turno-card-status-dot{top:6px;right:6px}.turno-card--narrow .turno-card-recurrence-badge{top:6px;right:18px}.turno-card-timer{margin-top:2px;font-weight:700}.turno-card-timer--alert{color:#fff;background:#00000052;border-radius:999px;width:fit-content;padding:2px 8px}.turno-card-status-dot{border-radius:50%;width:10px;height:10px;position:absolute;top:10px;right:10px;box-shadow:0 0 0 2px #ffffffd9}.turno-card-status-dot--asignado{background:var(--color-primary)}.turno-card-status-dot--en-espera{background:var(--turnos-waiting-badge)}.turno-card-status-dot--atendiendo{background:var(--turnos-attending)}.turno-card-status-dot--finalizado{background:var(--color-success)}.turno-card-status-dot--ausente{background:var(--color-warning)}.turno-card-status-dot--cancelado{background:var(--color-danger)}.turno-card-status-dot--reprogramado{background:var(--color-text-muted)}.resize-handle{background:linear-gradient(180deg, transparent, var(--color-resize-handle));cursor:ns-resize;border-bottom-right-radius:20px;border-bottom-left-radius:20px;height:10px;position:absolute;bottom:0;left:0;right:0}.context-menu{z-index:9999;border:1px solid var(--color-border);background:var(--color-surface);min-width:190px;box-shadow:var(--shadow-popover);border-radius:12px;gap:2px;padding:6px;display:grid;position:fixed}.context-menu-item{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600}.context-menu-item:hover{background:var(--color-surface-muted)}.context-menu-item--primary{color:var(--color-primary)}.context-menu-item--primary:hover{background:var(--color-primary-subtle)}.context-menu-item--warning{color:var(--color-warning)}.context-menu-item--warning:hover{background:color-mix(in srgb, var(--color-warning) 14%, transparent)}.context-menu-item--danger{color:var(--color-danger)}.context-menu-item--danger:hover{background:color-mix(in srgb, var(--color-danger) 12%, transparent)}.patient-header-menu-wrapper{display:inline-flex;position:relative}.patient-header-menu{position:absolute;top:calc(100% + 6px);left:auto;right:0}.patient-alerts-wrapper{display:none;position:relative}.patient-alerts-button{position:relative}.patient-alerts-button--warning{color:var(--color-warning);border-color:color-mix(in srgb, var(--color-warning) 40%, var(--color-border))}.patient-alerts-badge{background:var(--color-warning);color:#1a1200;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:11px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-4px;right:-4px}.patient-alerts-popover{width:320px;max-width:calc(100vw - 32px);max-height:70vh;position:absolute;top:calc(100% + 6px);left:auto;right:0;overflow-y:auto}.patient-alerts-popover-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.patient-alerts-popover-header strong{font-size:15px}.turno-serie-badge{color:var(--color-text-muted);align-items:center;gap:6px;margin:-8px 0 16px;font-size:13px;font-weight:600;display:flex}.turno-serie-badge svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}.turno-quick-actions{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.turno-quick-action{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}.turno-quick-action--primary{border-color:var(--color-primary-border);background:var(--color-primary-subtle);color:var(--color-primary)}.turno-quick-action--primary:hover{background:color-mix(in srgb, var(--color-primary) 20%, transparent)}.turno-quick-action--warning{border-color:color-mix(in srgb, var(--color-warning) 40%, transparent);background:color-mix(in srgb, var(--color-warning) 14%, transparent);color:var(--color-warning)}.turno-quick-action--warning:hover{background:color-mix(in srgb, var(--color-warning) 24%, transparent)}.turno-quick-action--danger{border-color:color-mix(in srgb, var(--color-danger) 40%, transparent);background:color-mix(in srgb, var(--color-danger) 12%, transparent);color:var(--color-danger)}.turno-quick-action--danger:hover{background:color-mix(in srgb, var(--color-danger) 22%, transparent)}.side-panel{flex-direction:column;gap:24px;padding:0;display:flex}.month-header{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;margin-bottom:18px;display:grid}.month-header>div{text-align:center;min-width:0}.month-header strong{color:var(--color-text);font-size:18px;display:block}.month-header p{color:var(--color-text-muted);margin:4px 0 0;font-size:13px}.weekdays-row,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.weekdays-row{margin-bottom:10px}.weekday-cell,.month-cell{color:var(--color-text-muted);place-items:center;font-size:13px;display:grid}.weekday-cell{font-weight:700}.month-cell{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:16px;min-height:42px}.month-cell.selected{background:var(--color-primary-subtle);color:var(--color-primary)}.month-cell.today{background:var(--color-primary);color:var(--color-on-primary)}.month-cell.empty{background:0 0}.details-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.details-header span{color:var(--color-text-muted)}.details-body{grid-template-columns:1fr 1fr;align-items:start;gap:12px 24px;display:grid}.details-label{color:var(--color-text-muted);margin:0;font-size:13px}.details-body strong{font-size:16px}.details-body p{margin:0;line-height:1.6}.details-alert{font-weight:700}.details-alert--warning{color:var(--color-warning)}.details-alert--danger{color:var(--color-danger)}.details-duration-hint{color:var(--color-text-muted);font-size:13px;font-weight:400}.details-button{background:var(--color-primary);width:100%;color:var(--color-on-primary);margin-top:20px}.dashboard-shell--turnos{grid-template-columns:86px minmax(0,1fr)}.turnos-main-area{min-height:calc(100vh - 48px)}.turnos-page{gap:24px;min-width:0;display:grid}.turnos-page-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.turnos-page-header h1{color:var(--color-text);margin:0;font-size:28px}.turnos-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.turnos-summary-card{color:#fff;text-align:left;cursor:pointer;min-width:0;box-shadow:var(--shadow-turno);border:2px solid #0000;border-radius:18px;gap:3px;padding:18px 20px;transition:transform .2s,box-shadow .2s,border-color .2s,filter .2s;display:grid}.turnos-summary-card:hover{filter:brightness(1.04);transform:translateY(-2px)}.turnos-summary-card.active{box-shadow:0 0 0 3px var(--color-primary-subtle), var(--shadow-turno);border-color:#ffffffe6}.turnos-summary-card strong{font-size:26px;line-height:1}.turnos-summary-card span{font-size:16px;font-weight:700}.turnos-summary-card small{opacity:.86;font-size:12px}.turnos-summary-card--waiting{background:linear-gradient(135deg, var(--turnos-waiting), var(--turnos-waiting-end))}.turnos-summary-card--remaining{background:linear-gradient(135deg, var(--turnos-remaining), var(--turnos-remaining-end))}.turnos-summary-card--attending{background:linear-gradient(135deg, var(--turnos-attending), var(--turnos-attending-end))}.turnos-table-card{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);min-width:0;box-shadow:var(--inset-card-border);padding:24px}.turnos-table-toolbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.turnos-table-toolbar h2{color:var(--color-text);margin:0;font-size:22px}.turnos-table-toolbar p{color:var(--color-text-muted);margin:6px 0 0;font-size:14px}.turnos-toolbar-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.turnos-popover-wrapper{position:relative}.turnos-toolbar-actions .filter-button,.turnos-sort-button{min-height:44px}.turnos-toolbar-actions .filter-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.turnos-toolbar-actions .filter-button.has-active-filter{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary)}.turnos-clear-filters{border:1px solid var(--color-border);background:var(--color-control);width:42px;height:42px;color:var(--color-text-muted);cursor:pointer;border-radius:13px;place-items:center;padding:0;font-size:23px;line-height:1;display:grid}.turnos-clear-filters:hover{border-color:var(--color-danger);color:var(--color-danger)}.turnos-sort-button{border:1px solid var(--color-border);background:var(--color-input-bg);color:var(--color-text);cursor:pointer;border-radius:14px;align-items:center;gap:8px;padding:10px 14px;font-weight:600;display:inline-flex}.turnos-sort-button:hover{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.turnos-sort-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.turnos-filter-panel,.turnos-sort-panel{z-index:30;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-floating);border-radius:18px;position:absolute;top:calc(100% + 8px);right:0}.turnos-filter-panel{overscroll-behavior:contain;scrollbar-gutter:stable;width:min(440px,100vw - 48px);max-height:min(420px,100dvh - 160px);padding:18px;overflow-y:auto}.turnos-sort-panel{gap:4px;width:230px;padding:8px;display:grid}.turnos-sort-panel label{color:var(--color-text);cursor:pointer;border-radius:11px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.turnos-sort-panel label:hover{background:var(--color-surface-muted)}.turnos-sort-panel input{accent-color:var(--color-primary)}.turnos-filter-dates{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;display:grid}.turnos-filter-dates label{color:var(--color-text);gap:7px;font-size:13px;font-weight:600;display:grid}.turnos-filter-dates input{border:1px solid var(--color-border);background:var(--color-input-bg);width:100%;min-width:0;color:var(--color-text);border-radius:11px;padding:10px 11px}.turnos-filter-panel .filter-group:last-child{margin-bottom:0}.turnos-specialty-dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.turnos-table-scroll{border:1px solid var(--color-border);border-radius:18px;width:100%;overflow-x:auto}.turnos-table{border-collapse:collapse;width:100%;min-width:920px;color:var(--color-text)}.turnos-table th,.turnos-table td{border-bottom:1px solid var(--color-line-soft);text-align:left;vertical-align:middle;padding:14px 16px}.turnos-table th{z-index:1;background:var(--color-surface-muted);color:var(--color-text-muted);letter-spacing:.02em;text-transform:uppercase;font-size:12px;font-weight:700;position:sticky;top:0}.turnos-table tbody tr{background:var(--color-surface);cursor:pointer;transition:background-color .18s}.turnos-table tbody tr:hover,.turnos-table tbody tr:focus-visible{background:var(--color-surface-soft);outline:none}.turnos-table tbody tr:last-child td{border-bottom:none}.turnos-table td{font-size:14px}.turnos-table td:first-child{white-space:nowrap}.turnos-table-col-sesion{white-space:nowrap;width:1%}.turnos-table td:first-child strong,.turnos-table td:first-child small{display:block}.patient-turnos-table{table-layout:fixed;width:100%;min-width:0}.patient-turnos-table th:first-child,.patient-turnos-table td:first-child{width:110px;padding-right:24px}.patient-turnos-table th:nth-child(4),.patient-turnos-table td:nth-child(4){width:64px}.patient-turnos-table th:nth-child(5),.patient-turnos-table td:nth-child(5){width:100px}.patient-turnos-table th:nth-child(6),.patient-turnos-table td:nth-child(6){width:110px}.patient-turnos-cell-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.turnos-table td:first-child small{color:var(--color-text-muted);margin-top:3px;font-size:12px}.turnos-specialty-cell{align-items:center;gap:8px;display:inline-flex}.turnos-status-pill{white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.turnos-status-pill--asignado{background:var(--color-primary-subtle);color:var(--color-primary)}.turnos-status-pill--en-espera{background:color-mix(in srgb, var(--turnos-waiting-badge) 14%, transparent);color:var(--turnos-waiting-badge)}.turnos-status-pill--en-espera.turnos-status-pill--alert{background:color-mix(in srgb, var(--turnos-waiting-badge) 24%, transparent);font-weight:800}.turnos-status-pill--atendiendo{background:color-mix(in srgb, var(--turnos-attending) 16%, transparent);color:var(--turnos-attending)}.turnos-status-pill--atendiendo.turnos-status-pill--alert{background:color-mix(in srgb, var(--color-danger) 18%, transparent);color:var(--color-danger);font-weight:800}.turnos-status-pill--finalizado{background:color-mix(in srgb, var(--color-success) 15%, transparent);color:var(--color-success)}.turnos-status-pill--ausente{background:color-mix(in srgb, var(--color-warning) 16%, transparent);color:var(--color-warning)}.turnos-status-pill--cancelado{background:color-mix(in srgb, var(--color-danger) 14%, transparent);color:var(--color-danger)}.turnos-status-pill--reprogramado{background:color-mix(in srgb, var(--color-text-muted) 16%, transparent);color:var(--color-text-muted)}.turnos-actions-cell{text-align:right;width:90px}.turnos-row-actions-button{width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;padding:0;display:inline-grid}.turnos-row-actions-button:hover{border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-text)}.turnos-row-actions-button svg{fill:currentColor;width:18px;height:18px}.turnos-table-message{border:1px dashed var(--color-border);min-height:180px;color:var(--color-text-muted);text-align:center;border-radius:18px;align-content:center;place-items:center;gap:8px;padding:32px;display:grid}.turnos-table-message strong{color:var(--color-text);font-size:17px}.turnos-table-message .primary-button{margin-top:8px}.skeleton-bar{background:linear-gradient(90deg, var(--color-surface-muted) 25%, var(--color-border) 37%, var(--color-surface-muted) 63%);background-size:400% 100%;border-radius:6px;animation:1.4s infinite skeleton-shimmer;display:inline-block}.skeleton-row td{cursor:default}.skeleton-card{gap:10px;display:grid}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton-bar{animation:none}}.patients-page{gap:24px;min-width:0;display:grid}.patients-page-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.patients-page-header h1{color:var(--color-text);margin:0;font-size:28px}.patients-table-card{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);min-width:0;box-shadow:var(--inset-card-border);padding:24px}.patients-table-toolbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.patients-table-toolbar h2{color:var(--color-text);margin:0;font-size:22px}.patients-table-toolbar p{color:var(--color-text-muted);margin:6px 0 0;font-size:14px}.patients-search-row{align-items:center;gap:10px;display:flex}.patients-search-input{border:1px solid var(--color-border);background:var(--color-input-bg);min-width:240px;color:var(--color-text);border-radius:14px;padding:12px 14px}.patients-search-row .filter-button.has-active-filter{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary)}.patients-name-cell{align-items:center;gap:10px;display:inline-flex}.patients-avatar{background:var(--color-primary-subtle);width:30px;height:30px;color:var(--color-primary);border-radius:50%;flex:none;place-items:center;display:grid}.patients-avatar svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.patients-row-chevron{color:var(--color-text-muted);place-items:center;transition:color .15s,transform .15s;display:grid}.turnos-table tbody tr:hover .patients-row-chevron{color:var(--color-primary);transform:translate(2px)}.patients-row-chevron svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.patient-detail-page{gap:20px;min-width:0;display:grid}.patient-detail-page--loading{justify-content:center;align-items:center;min-height:60vh;display:flex}.patient-detail-topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.patient-detail-back-button{width:fit-content;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;display:inline-flex}.patient-detail-back-button:hover{background:var(--color-surface-muted);color:var(--color-text)}.patient-detail-back-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.patient-detail-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.patient-detail-title-row h1{color:var(--color-text);margin:0;font-size:26px}.patient-detail-subtitle{color:var(--color-text-muted);margin:8px 0 0;font-size:14px}.patient-profile-header{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-panel);flex-direction:column;align-items:stretch;gap:16px;padding:20px;display:flex}.patient-profile-header--editable{cursor:pointer;transition:border-color .15s,background-color .15s}.patient-profile-header--editable:hover{border-color:var(--color-primary-border)}.patient-profile-header--editable:active{background:var(--color-surface-muted)}.patient-profile-info{gap:4px;display:grid}.patient-profile-contact,.patient-profile-meta{color:var(--color-text-muted);margin:0;font-size:14px}.patient-profile-meta{color:var(--color-text);font-weight:500}.patient-detail-topbar-actions{align-items:center;gap:8px;display:flex}.new-turn-button--row{height:44px;padding:0 20px}.icon-button,.icon-button--danger{border:1px solid var(--color-border);background:var(--color-control);cursor:pointer;border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;padding:0;transition:background-color .2s,border-color .2s,color .2s;display:grid}.icon-button{color:var(--color-text-muted)}.icon-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary-border);color:var(--color-primary)}.icon-button--danger{color:var(--color-danger)}.icon-button--danger:hover{background:color-mix(in srgb, var(--color-danger) 12%, transparent);border-color:var(--color-danger)}.patient-detail-topbar-actions .icon-button,.patient-detail-topbar-actions .icon-button--danger{border-radius:11px;width:36px;height:36px}.patient-detail-topbar-actions .icon-button svg,.patient-detail-topbar-actions .icon-button--danger svg{width:15px;height:15px}.icon-button svg,.icon-button--danger svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.patient-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.patient-summary-card{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;box-shadow:var(--inset-card-border);border-radius:16px;gap:4px;padding:16px 18px;display:grid}.patient-summary-label{color:var(--color-text-muted);margin:0;font-size:13px}.patient-summary-value{color:var(--color-text);font-size:18px}.patient-summary-hint{color:var(--color-text-muted);font-size:13px}.patient-summary-card--clickable{text-align:left;cursor:pointer;font:inherit}.patient-summary-card--clickable:hover{border-color:var(--color-primary)}.patient-summary-card--activa .patient-summary-value{color:var(--color-warning)}.patient-summary-card--ok .patient-summary-value{color:var(--color-success)}.patient-summary-link{color:var(--color-primary);justify-self:start;font-size:13px;font-weight:600}.patient-detail-card{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);min-width:0;box-shadow:var(--inset-card-border);padding:24px}.patient-detail-layout{grid-template-columns:7fr 3fr;align-items:start;gap:20px;min-width:0;display:grid}.patient-detail-main{min-width:0}.patient-detail-aside{gap:20px;min-width:0;max-height:calc(100vh - 48px);display:grid;position:sticky;top:24px;overflow-y:auto}.patient-detail-aside-card{padding:20px}@media (width>=1171px){.patient-detail-main{max-height:calc(100vh - 48px);overflow-y:auto}}.patient-detail-card h2{color:var(--color-text);margin:0 0 18px;font-size:20px}.patient-info-grid{gap:16px;display:grid}.patient-info-field p:last-child{color:var(--color-text);word-break:break-word;margin:4px 0 0;font-size:15px}.evolution-list{gap:14px;display:grid}.evolution-item{border:1px solid var(--color-line);background:var(--color-surface-muted);border-radius:14px;padding:14px 16px}.evolution-item-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.evolution-item-header strong{color:var(--color-text);font-size:14px}.evolution-item-header span{color:var(--color-text-muted);font-size:13px}.evolution-item-preview{color:var(--color-text);white-space:pre-wrap;margin:0;line-height:1.6}.evolution-item-diagnostico{gap:4px;margin-bottom:12px;display:grid}.patient-detail-note{border:1px dashed var(--color-border);background:var(--color-surface-muted);color:var(--color-text-muted);border-radius:12px;margin:18px 0 0;padding:12px 14px;font-size:13px;line-height:1.5}.patient-detail-note--inline{background:0 0;border:none;margin:0;padding:0}.evolution-table{table-layout:fixed;width:100%;min-width:0}.evolution-table .evolution-row{cursor:pointer}.evolution-table th:first-child,.evolution-table td:first-child{white-space:normal;width:150px}.evolution-table th:nth-child(2),.evolution-table td:nth-child(2){width:170px}.evolution-table th:nth-child(3),.evolution-table td:nth-child(3){width:140px}.evolution-table th:nth-child(5),.evolution-table td:nth-child(5){width:112px}.evolution-resumen-cell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.evolution-resumen-popover{z-index:10005;border:1px solid var(--color-border);background:var(--color-surface);max-width:420px;max-height:320px;color:var(--color-text);white-space:normal;box-shadow:var(--shadow-popover);pointer-events:none;border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.5;position:fixed;overflow:auto}.evolution-resumen-popover p{margin:0 0 8px}.evolution-resumen-popover p:last-child{margin-bottom:0}.grupo-evolucion-chip{color:var(--color-text);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.grupo-evolucion-chip--none{color:var(--color-text-muted);font-weight:400}.grupo-evolucion-dot{border-radius:50%;flex:none;width:8px;height:8px}.evolutions-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.evolutions-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.evolutions-toolbar-actions .secondary-button{align-items:center;gap:6px;display:inline-flex}.evolutions-by-group{gap:20px;display:grid}.evolutions-group-section{gap:8px;display:grid}.evolutions-group-section-header{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:12px;padding-bottom:6px;font-size:13px;display:flex}.evolutions-group-edit-button{cursor:pointer;background:0 0;border:none;padding:0}.evolution-expanded-row td{padding:0 16px 16px}.evolution-expanded-content{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:14px;gap:12px;margin:10px 0;padding:18px 20px;display:grid}.patient-header-identity{align-items:center;gap:16px;min-width:0;display:flex}.patient-avatar{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);color:var(--color-on-primary);border-radius:999px;flex:none;place-items:center;font-weight:700;display:grid}.patient-avatar--md{width:48px;height:48px;font-size:16px}.patient-avatar--lg{width:64px;height:64px;font-size:20px}.patient-avatar--xl{width:96px;height:96px;font-size:30px}.patient-avatar--photo{padding:0;overflow:hidden}.patient-avatar--photo img,.patient-avatar--photo .authorized-img-placeholder{object-fit:cover;width:100%;height:100%;display:block}.evolution-form{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-muted);gap:14px;margin-top:18px;margin-bottom:24px;padding:18px;display:grid}.evolution-form-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.evolution-form-close{flex-shrink:0;display:none}.evolution-load-button{text-align:center;justify-content:center;width:100%;margin-top:18px;margin-bottom:24px;padding:14px 18px}.evolution-form label{color:var(--color-text-muted);font-size:13px;font-weight:600}.evolution-form textarea{border:1px solid var(--color-border);background:var(--color-input-bg);width:100%;color:var(--color-text);font:inherit;resize:vertical;border-radius:14px;padding:12px 14px}.evolution-form .primary-button{justify-self:start}.evolution-form-error{color:var(--color-danger);margin:0;font-size:13px}.turnos-tab-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.evolution-form-fields-row{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.evolution-form-fields-row>*{flex:220px;min-width:0}.evolucion-images{gap:8px;display:grid}.evolucion-images-upload-button{align-items:center;gap:6px;width:fit-content;display:inline-flex}.evolucion-images-upload-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.evolucion-images-grid{flex-wrap:wrap;gap:10px;display:flex}.evolucion-image-thumb{width:84px;height:84px;position:relative}.evolucion-image-thumb-open{border:1px solid var(--color-border);background:var(--color-surface-muted);cursor:pointer;border-radius:12px;width:100%;height:100%;padding:0;overflow:hidden}.evolucion-image-thumb-open img{object-fit:cover;width:100%;height:100%;display:block}.evolucion-image-thumb-remove{background:var(--color-danger);color:#fff;cursor:pointer;border:none;border-radius:50%;place-items:center;width:22px;height:22px;font-size:14px;line-height:1;display:grid;position:absolute;top:-6px;right:-6px}.authorized-img-placeholder{background:var(--color-surface-muted);width:100%;height:100%}.evolucion-image-lightbox{z-index:10001;background:var(--color-overlay);place-items:center;display:grid;position:fixed;inset:0}.evolucion-image-lightbox img{object-fit:contain;border-radius:12px;max-width:min(90vw,900px);max-height:85vh}.evolucion-image-lightbox-close{color:#fff;position:absolute;top:20px;right:24px}.rich-text-editor{border:1px solid var(--color-border);background:var(--color-input-bg);border-radius:14px;overflow:hidden}.rich-text-editor:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-subtle)}.rich-text-editor--disabled{opacity:.6}.rich-text-toolbar{border-bottom:1px solid var(--color-border);gap:2px;padding:6px 8px;display:flex}.rich-text-toolbar button{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;font-size:13px;display:grid}.rich-text-toolbar button:hover:not(:disabled){background:var(--color-primary-subtle);color:var(--color-primary)}.rich-text-toolbar button:disabled{cursor:not-allowed;opacity:.5}.rich-text-toolbar .rich-text-toolbar-plantillas{width:auto;margin-left:auto;padding:0 10px;font-size:13px;font-weight:600}.rich-text-content{min-height:90px;max-height:320px;color:var(--color-text);font:inherit;outline:none;padding:12px 14px;overflow-y:auto}.rich-text-content p{margin:0 0 8px}.rich-text-content p:last-child{margin-bottom:0}.rich-text-content:empty:before{content:attr(data-placeholder);color:var(--color-text-muted)}.evolution-rich-content p{margin:0 0 8px}.evolution-rich-content p:last-child{margin-bottom:0}.clinical-tab-panel .evolution-form:first-child{border-top:none;margin-top:0;padding-top:0}.evolution-edited-tag{color:var(--color-text-muted);font-weight:400}.evolution-edit-button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;font-size:13px;font-weight:600}.evolution-edit-form{gap:8px;display:grid}.evolution-edit-form textarea{border:1px solid var(--color-border);background:var(--color-input-bg);width:100%;color:var(--color-text);font:inherit;resize:vertical;border-radius:12px;padding:10px 12px}.evolution-edit-actions{justify-content:flex-end;gap:8px;display:flex}.clinical-summary{gap:16px;display:grid}.clinical-summary-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;display:grid}.clinical-alert-badge{background:color-mix(in srgb, var(--color-warning) 16%, transparent);color:var(--color-warning);border-radius:999px;justify-self:start;padding:4px 10px;font-size:12px;font-weight:600}.clinical-alert-badge--ok{background:color-mix(in srgb, var(--color-success) 16%, transparent);color:var(--color-success)}.clinical-summary-link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;justify-self:start;margin-top:16px;padding:0;font-size:13px;font-weight:600}.ficha-form{gap:20px;display:grid}.ficha-form-header{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.ficha-saving-hint{color:var(--color-text-muted);font-size:13px;font-weight:600}.ficha-section{border-top:1px solid var(--color-line-soft);gap:14px;padding-top:18px;display:grid}.ficha-section:first-of-type{border-top:none;padding-top:0}.ficha-section-header{align-items:flex-start;gap:12px;display:flex}.ficha-section-icon{background:var(--color-primary-soft);width:34px;height:34px;color:var(--color-primary);border-radius:10px;flex:none;place-items:center;display:grid}.ficha-section-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.ficha-section-header h3{color:var(--color-text);margin:0;font-size:15px}.ficha-section-description{color:var(--color-text-muted);margin:4px 0 0;font-size:13px}.ficha-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ficha-field{color:var(--color-text-muted);gap:4px;font-size:13px;font-weight:600;display:grid}.ficha-field--wide{grid-column:1/-1}.ficha-field-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.alert-toggle-button{border:1px solid var(--color-border);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.alert-toggle-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.alert-toggle-button:hover:not(:disabled){border-color:var(--color-warning);color:var(--color-warning)}.alert-toggle-button--active{background:color-mix(in srgb, var(--color-warning) 14%, transparent);border-color:var(--color-warning);color:var(--color-warning)}.alert-toggle-button:disabled{opacity:.5;cursor:not-allowed}.ficha-field input:not([type=checkbox]),.ficha-field select,.ficha-field textarea{border:1px solid var(--color-border);background:var(--color-input-bg);color:var(--color-text);font:inherit;border-radius:12px;padding:10px 12px;font-weight:400}.ficha-field textarea{resize:vertical}.ficha-field--estado select,.ficha-field--estado input{padding:12px 14px;font-size:15px}.ficha-estado-row{gap:8px;display:flex}.ficha-estado-row select{flex:auto;min-width:140px}.ficha-estado-row input{flex:1;min-width:0}.clinical-alerts{flex-wrap:wrap;gap:8px;display:flex}.clinical-alert-badge--neutral{background:var(--color-primary-subtle);color:var(--color-primary)}.clinical-workspace{min-width:0}.clinical-tabs{gap:20px;display:grid}.clinical-tabs-list{border-bottom:1px solid var(--color-line);flex-wrap:wrap;gap:4px;padding-bottom:4px;display:flex}.clinical-tab{color:var(--color-text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:12px 12px 0 0;flex:none;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;display:flex}.clinical-tab:hover{color:var(--color-text);background:var(--color-surface-muted)}.clinical-tab--active{color:var(--color-primary);background:var(--color-primary-subtle)}.clinical-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.clinical-tab-badge{background:var(--color-control);color:var(--color-text-muted);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.clinical-tab--active .clinical-tab-badge{background:var(--color-primary);color:var(--color-on-primary)}.clinical-tab-panel{min-width:0}.clinical-tab-panel[hidden]{display:none}.mobile-tab-menu-bar{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:none;position:relative}.mobile-tab-menu-current{color:var(--color-text);align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.mobile-tab-menu-toggle{border:1px solid var(--color-border);background:var(--color-surface);width:36px;height:36px;color:var(--color-text);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mobile-tab-menu-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:18px;height:18px}.mobile-tab-menu-popover{min-width:200px;position:absolute;top:calc(100% + 6px);left:auto;right:0}.documents-placeholder{justify-items:start;gap:10px;padding:32px 0;display:grid}.documents-placeholder-icon{background:var(--color-primary-soft);width:52px;height:52px;color:var(--color-primary);border-radius:16px;place-items:center;display:grid}.documents-placeholder-icon svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.documents-placeholder h3{color:var(--color-text);margin:0;font-size:16px}.documents-placeholder-categories{flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.documents-placeholder-categories li{background:var(--color-control);color:var(--color-text-muted);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.config-section-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.tab-content-loading{justify-content:center;align-items:center;min-height:200px;display:flex}.config-section-header h2{margin:0}.config-form-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:20px;display:flex}.config-filters-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.config-filters-row .patients-search-input{flex:220px}.config-filters-row select{border:1px solid var(--color-border);background:var(--color-input-bg);color:var(--color-text);font:inherit;border-radius:12px;padding:10px 14px}.config-filters-checkbox{white-space:nowrap;color:var(--color-text-muted);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.config-filters-checkbox input{width:auto}.antecedentes-item-actions--mobile,.label-compact{display:none}.config-badge-global{background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.config-row-actions{white-space:nowrap;justify-content:flex-end;gap:12px;display:flex}.config-icon-button{border:1px solid var(--color-border);background:var(--color-control);width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;border-radius:10px;place-items:center;padding:0;transition:background-color .15s,border-color .15s,color .15s;display:grid}.config-icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.config-icon-button:hover{border-color:var(--color-primary-border);background:var(--color-primary-soft);color:var(--color-primary)}.config-icon-button:disabled{opacity:.45;cursor:not-allowed;background:var(--color-control);border-color:var(--color-border);color:var(--color-text-muted)}.config-icon-button--danger:hover{border-color:color-mix(in srgb, var(--color-danger) 40%, transparent);background:color-mix(in srgb, var(--color-danger) 12%, transparent);color:var(--color-danger)}.config-icon-button--alerta-activa{border-color:color-mix(in srgb, var(--color-warning) 40%, transparent);background:color-mix(in srgb, var(--color-warning) 16%, transparent);color:var(--color-warning)}.config-badge-list{flex-wrap:wrap;gap:6px;display:flex}.config-checkbox-list{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;max-height:260px;padding:12px;display:grid;overflow:hidden auto}.modal-body .config-checkbox-item{min-width:0;color:var(--color-text);align-items:flex-start;gap:8px;font-size:14px;font-weight:500;display:flex}.config-checkbox-item input{width:auto;accent-color:var(--color-primary);flex:none;margin-top:3px}.config-checkbox-item .config-checkbox-label{overflow-wrap:break-word;white-space:normal}.config-checkbox-dot{flex:none;margin-top:5px}.config-color-picker{flex-wrap:wrap;gap:10px;display:flex}.config-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:999px;width:32px;height:32px;padding:0;transition:transform .15s,border-color .15s}.config-color-swatch:hover{transform:scale(1.08)}.config-color-swatch--selected{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-surface)}.assessment-workspace{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:24px;display:grid}.assessment-workspace-panel{gap:16px;min-width:0;display:grid}.assessment-workspace-fieldset{border:none;margin:0;padding:0}.assessment-workspace-fieldset:disabled :is(input,select,textarea,button){opacity:.7;cursor:not-allowed}.ficha-estudios-tab-stack{gap:16px;display:grid}.assessment-nav{flex-direction:column;gap:4px;display:flex;position:sticky;top:0}.assessment-nav-item{color:var(--color-text-muted);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.assessment-nav-item:hover{background:var(--color-surface-muted);color:var(--color-text)}.assessment-nav-item--active{background:var(--color-primary-subtle);color:var(--color-primary)}.assessment-nav-badge{background:var(--color-control);color:var(--color-text-muted);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.assessment-subsection-title{color:var(--color-text);margin:4px 0 0;font-size:14px}.assessment-summary{gap:12px;display:grid}.assessment-summary-header{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex}.assessment-summary-block{border:1px solid var(--color-border);background:var(--color-surface-muted);text-align:left;cursor:pointer;border-radius:14px;gap:6px;padding:14px 16px;transition:border-color .15s,background-color .15s;display:grid}.assessment-summary-block:hover{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.assessment-summary-block strong{color:var(--color-text);font-size:14px}.assessment-summary-block ul{color:var(--color-text-muted);margin:0;padding-left:18px;font-size:13px;line-height:1.6}.assessment-summary-block p{color:var(--color-text-muted);margin:0;font-size:13px}.antecedentes-section{gap:12px;display:grid}.antecedentes-categorias{background:var(--color-control);border-radius:12px;gap:4px;padding:4px;display:flex}.antecedentes-categoria-button{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;padding:8px 14px;font-size:13px;font-weight:600}.antecedentes-categoria-button--active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-panel)}.antecedentes-categoria-button--clickable{align-items:center;gap:4px;display:inline-flex}.antecedentes-categoria-button--clickable:hover{color:var(--color-primary)}.antecedentes-categoria-chevron{font-size:15px;line-height:1}.antecedentes-categoria-icon{display:none}.antecedentes-search{position:relative}.antecedentes-search input{border:1px solid var(--color-border);background:var(--color-input-bg);width:100%;color:var(--color-text);border-radius:14px;padding:12px 14px 12px 40px;font-size:14px}.antecedentes-search-icon{fill:none;width:18px;height:18px;stroke:var(--color-text-muted);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.antecedentes-search-results{z-index:5;border:1px solid var(--color-border);background:var(--color-surface);max-height:220px;box-shadow:var(--shadow-popover);border-radius:14px;gap:2px;margin-top:6px;padding:8px;display:grid;position:relative;overflow-y:auto}.antecedentes-search-results button{color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:10px 12px;font-size:14px}.antecedentes-search-results button:hover:not(:disabled),.antecedentes-search-results button.antecedentes-search-result--highlighted:not(:disabled){background:var(--color-surface-muted)}.antecedentes-search-results button:disabled{color:var(--color-text-muted);cursor:default}.antecedentes-search-free{font-weight:600;color:var(--color-primary)!important}.antecedentes-search-empty{color:var(--color-text-muted);margin:0;padding:10px 12px;font-size:13px}.antecedentes-list{gap:8px;display:grid}.antecedentes-section .antecedentes-list{grid-template-columns:repeat(2,minmax(0,1fr))}.antecedentes-item{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.antecedentes-item--column{flex-direction:column;align-items:stretch;gap:6px}.antecedentes-item-row{justify-content:space-between;align-items:flex-start;gap:12px;width:100%;display:flex}.antecedentes-item--clickable{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,background-color .15s}.antecedentes-item--clickable:hover,.antecedentes-item--clickable:focus-visible{border-color:var(--color-primary);background:var(--color-primary-subtle);outline:none}.antecedentes-item--clickable-inner{min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:auto;padding:0}.antecedentes-item--clickable-inner:hover,.antecedentes-item--clickable-inner:focus-visible{color:var(--color-primary);outline:none}.clinical-nav-highlight{outline:3px solid var(--color-primary);outline-offset:3px;border-radius:12px}@media (prefers-reduced-motion:no-preference){.clinical-nav-highlight{transition:outline-color .2s}}.antecedentes-item-info{gap:2px;min-width:0;display:grid}.antecedentes-item-info strong{color:var(--color-text);font-size:14px}.antecedentes-item-info span{color:var(--color-text-muted);font-size:13px}.alert-field-preview{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.clinical-alert-flag{color:var(--color-warning)}.antecedentes-alerta-checkbox{color:var(--color-text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.antecedentes-summary-groups{gap:10px;display:grid}.antecedentes-summary-group{gap:6px;display:grid}.antecedentes-summary-group strong{color:var(--color-text-muted);font-size:13px}.antecedentes-summary-chips{flex-wrap:wrap;gap:6px;display:flex}.antecedentes-summary-chip{background:var(--color-surface-muted);color:var(--color-text);border-radius:999px;padding:3px 10px;font-size:12px}.antecedentes-summary-chip--alerta{background:color-mix(in srgb, var(--color-warning) 16%, transparent);color:var(--color-warning);font-weight:600}.antecedentes-summary-more{color:var(--color-primary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.antecedentes-edit-form{gap:10px;width:100%;display:grid}.antecedentes-edit-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.antecedentes-edit-row input,.antecedentes-edit-row select{border:1px solid var(--color-border);background:var(--color-input-bg);color:var(--color-text);border-radius:12px;padding:10px 12px;font-size:14px}.ficha-field-archivo-hint{color:var(--color-text-muted);font-size:12px}.ficha-estudio-staged-archivo{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.ficha-estudio-staged-archivo-chip{border:1px solid var(--color-border);background:var(--color-input-bg);width:100%;min-width:0;color:var(--color-text);box-sizing:border-box;border-radius:12px;align-items:center;gap:8px;max-width:100%;padding:8px 12px;font-size:13px;display:flex}.ficha-estudio-staged-archivo-chip .ficha-estudio-archivo-link{flex:auto}.ficha-estudio-staged-archivo-chip .config-icon-button{margin-left:auto}.ficha-estudio-staged-archivo-chip svg{flex-shrink:0;width:16px;height:16px}.ficha-estudio-staged-archivo-list,.ficha-estudio-archivos-list{flex-direction:column;align-items:stretch;gap:6px;width:100%;margin-top:6px;display:flex}.ficha-estudio-archivo-link{min-width:0;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:13px;display:flex}.ficha-estudio-archivo-link:hover{color:var(--color-primary)}.ficha-estudio-archivo-link svg{flex-shrink:0}.catalogo-drawer{flex-direction:column;width:min(880px,100%);max-height:min(85vh,720px);display:flex}.catalogo-drawer-filters{gap:10px;margin-bottom:14px;display:grid}.catalogo-drawer-filters input{border:1px solid var(--color-border);background:var(--color-input-bg);width:100%;color:var(--color-text);border-radius:12px;padding:10px 12px}.catalogo-drawer-filter-tabs{background:var(--color-control);border-radius:12px;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;padding:4px;display:flex}.catalogo-drawer-filter-tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:6px 12px;font-size:13px;font-weight:600}.catalogo-drawer-filter-tab--active{background:var(--color-surface);color:var(--color-primary)}.catalogo-drawer-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-right:4px;display:grid;overflow-y:auto}.catalogo-drawer-loader{grid-column:1/-1}.catalogo-drawer-add-item{border-top:1px solid var(--color-line-soft);gap:8px;margin-top:14px;padding-top:14px;display:flex}.catalogo-drawer-add-item input{border:1px solid var(--color-border);background:var(--color-input-bg);min-width:0;color:var(--color-text);border-radius:12px;flex:auto;padding:10px 12px}.catalogo-drawer-add-item .secondary-button{white-space:nowrap;flex-shrink:0}.catalogo-drawer-list p{grid-column:1/-1}.catalogo-drawer-row{background:var(--color-surface-muted);color:var(--color-text);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 12px;font-size:14px;display:flex}.catalogo-drawer-row input[type=text]{border:1px solid var(--color-border);background:var(--color-input-bg);min-width:0;color:var(--color-text);border-radius:9px;flex:auto;padding:6px 10px;font-size:14px}.catalogo-drawer-row-actions{flex:none;align-items:center;gap:4px;display:flex}.catalogo-drawer-toggle{flex:none;gap:4px;display:flex}.catalogo-drawer-toggle button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;border-radius:9px;padding:6px 12px;font-size:12px;font-weight:700}.catalogo-drawer-toggle button.active{border-color:var(--color-primary);background:var(--color-primary-subtle);color:var(--color-primary)}@media (width<=1170px){.dashboard-shell,.dashboard-shell--turnos{grid-template-columns:minmax(0,1fr)}.turnos-main-area{min-height:auto}.patient-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-topbar{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:64px;box-shadow:var(--shadow-panel);z-index:15;border-radius:18px;order:0;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;padding:10px 12px;display:grid;position:sticky;top:0}.mobile-brand{color:var(--color-text);text-align:center;cursor:pointer;justify-content:center;align-items:center;gap:8px;font-size:18px;display:flex}.mobile-brand svg{flex:none;width:auto;height:24px}.mobile-menu-button{background:var(--color-primary-soft);width:42px;height:42px;color:var(--color-primary);cursor:pointer;border:none;border-radius:13px;place-items:center;padding:0;display:grid}.mobile-profile-avatar{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);width:42px;height:42px;color:var(--color-on-primary);border-radius:13px;justify-self:end;place-items:center;font-size:13px;font-weight:700;display:grid}.sidebar{z-index:50;border-radius:0 24px 24px 0;width:min(86vw,320px);height:100dvh;padding:24px;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-105%)}.sidebar.mobile-open{transform:translate(0)}.sidebar-theme-toggle{justify-content:center;gap:10px;padding:12px 14px}.nav-label,.sidebar-brand-text{display:block}.sidebar-logo{justify-content:flex-start;padding:0 4px}.sidebar-logo svg{height:28px}.sidebar-brand{flex-direction:row;align-items:center;gap:16px}.nav-item{justify-content:flex-start;gap:12px;padding:14px 16px}.sidebar-logout{justify-content:center;gap:10px;padding:12px 18px}.sidebar-tooltip{display:none}.mobile-menu-close{background:var(--color-control);width:36px;height:36px;color:var(--color-text);cursor:pointer;border:none;border-radius:12px;flex:none;place-items:center;margin-left:auto;padding:0;font-size:25px;line-height:1;display:grid}.mobile-menu-backdrop{z-index:40;background:var(--color-overlay-strong);cursor:default;border:none;padding:0;display:block;position:fixed;inset:0}.main-area{order:1;width:auto}.side-panel{order:2;width:auto}}@media (width<=820px){.dashboard-shell{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px}.ficha-form-grid,.patient-summary-grid{grid-template-columns:minmax(0,1fr)}.main-area{padding:12px}.side-panel{padding-top:12px}.month-card,.details-card,.schedule-panel{padding:16px}.schedule-header{flex-wrap:wrap}.schedule-header-actions{justify-content:space-between;width:100%}.year-view{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media (width<=480px){.year-view{grid-template-columns:minmax(0,1fr)}.month-view-grid{grid-auto-rows:minmax(72px,1fr)}.month-view-cell{padding:6px}.main-header,.schedule-header,.details-header{flex-direction:column;align-items:flex-start}.header-actions,.new-turn-button{width:100%}.new-turn-button{justify-content:center}.month-header{flex-direction:row;justify-content:space-between;align-items:center}.month-header .small-button{margin-top:0}.filters-panel{width:auto;max-width:calc(100vw - 32px);margin-top:8px;position:fixed;top:auto;left:16px;right:16px}.day-grid{grid-template-columns:44px minmax(0,1fr);min-height:780px;overflow:hidden}.hours-column .hour-label{padding:0 2px;font-size:11px}.calendar-column{min-height:760px;padding-bottom:36px}.turno-card{border-radius:14px;padding:6px 16px;left:12px;right:12px}.turno-card strong{margin-bottom:0;font-size:13px}.modal-card{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:18px}.appointment-form{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px 10px}.modal-body .appointment-field-monto input.narrow-input,.modal-body .appointment-field-session-number input.narrow-input{width:100%;min-width:0}.turno-monto-field{min-width:0}.appointment-field-session-number{order:1}.appointment-field-duracion{order:2}.appointment-field-estado{order:3}.appointment-field-monto{order:4}.field-label-mobile-hide{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modal-header-icon{width:38px;height:38px}.modal-header-icon svg{width:19px;height:19px}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}.confirm-dialog{width:calc(100% - 24px)}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-actions button{width:100%}.turnos-page{gap:16px}.turnos-page-header{flex-direction:column;align-items:stretch}.turnos-page-header .new-turn-button{justify-content:center;width:100%}.turnos-summary-grid{grid-template-columns:1fr;gap:10px}.turnos-summary-card{padding:16px 18px}.turnos-table-card{padding:16px}.turnos-table-toolbar{flex-direction:column;align-items:stretch}.turnos-toolbar-actions{flex-wrap:wrap;justify-content:flex-start}.turnos-toolbar-actions .filter-button,.turnos-sort-button{flex:auto;justify-content:center}.turnos-filter-panel{overscroll-behavior:contain;scrollbar-gutter:stable;width:auto;max-height:min(420px,100dvh - 100px);position:fixed;top:82px;left:12px;right:12px;overflow-y:auto}.turnos-sort-panel{width:min(260px,100vw - 24px);right:0}.turnos-filter-dates{grid-template-columns:1fr}.turnos-table-scroll{border-radius:14px}.turnos-table th,.turnos-table td{padding:12px 14px}.patients-page{gap:16px}.patients-page-header{flex-direction:column;align-items:stretch}.patients-table-card{padding:16px}.patients-table-toolbar{flex-direction:column;align-items:stretch}.patients-search-row{gap:6px;width:100%}.patients-search-input{flex:auto;min-width:0;padding:10px 12px;font-size:14px}.patients-search-row .filter-button,.patients-search-row .turnos-sort-button{padding:10px 12px}.patient-detail-page{gap:16px}.patient-profile-contact-email,.patient-profile-contact-sep{display:none}.patient-detail-title-row h1{font-size:21px}.patient-profile-header{gap:12px;padding:14px}.patient-detail-aside-card{display:none}.patient-alerts-wrapper{display:inline-flex}.modal-header-subtitle{display:none}.turnos-tab-export-button{text-align:center;justify-content:center;width:100%}.patient-detail-topbar-actions .icon-button,.patient-detail-topbar-actions .icon-button--danger{width:44px;height:44px}.patient-detail-topbar-actions .icon-button svg,.patient-detail-topbar-actions .icon-button--danger svg{width:19px;height:19px}.evolution-form-close{display:block}.evolution-form{padding-top:22px}.evolucion-images-upload-button{justify-content:center;width:100%}.patient-detail-layout{grid-template-columns:minmax(0,1fr)}.patient-detail-aside{order:-1;max-height:none;position:static;overflow-y:visible}.patient-detail-main{max-height:none;overflow-y:visible}.patient-summary-grid{grid-template-columns:1fr}.patient-detail-card{padding:18px}.mobile-tab-menu-bar{display:flex}.turnos-table-scroll{border:none;border-radius:0;overflow-x:visible}.turnos-table{width:100%;min-width:0;display:block}.turnos-table thead{display:none}.turnos-table tbody{display:block}.turnos-table tr{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;margin-bottom:12px;padding:14px 16px;display:block}.turnos-table tbody tr:last-child{margin-bottom:0}.turnos-table td{text-align:right;border-bottom:none;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.turnos-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);text-align:left;font-size:12px;font-weight:600}.turnos-table td.turnos-actions-cell{justify-content:flex-end}.turnos-table td:first-child{text-align:left;border-bottom:1px solid var(--color-line-soft);white-space:normal;margin-bottom:6px;padding:0 0 10px;display:block}.patient-turnos-table th,.patient-turnos-table td,.turnos-table-col-sesion{width:auto}.patient-turnos-cell-truncate{text-overflow:clip;white-space:normal;text-align:right;max-width:none;overflow:visible}.evolution-table .evolution-row{grid-template-columns:1fr auto;align-items:start;gap:8px 12px;display:grid}.evolution-table .evolution-row td{text-align:left;border-bottom:none;padding:0;display:block}.evolution-table .evolution-row td[data-label]:before{margin-bottom:2px;display:block}.evolution-table .evolution-row td:first-child{border-bottom:none;grid-area:1/1;margin-bottom:0;padding:0}.evolution-table .evolution-row td:nth-child(2),.evolution-table .evolution-row td:nth-child(3){display:none}.evolution-table .evolution-row td.evolution-resumen-cell{grid-column:1/-1}.evolution-table .evolution-row td.turnos-actions-cell{grid-area:1/2;justify-content:flex-end;width:auto}.evolution-table .evolution-resumen-cell{text-overflow:clip;white-space:normal;text-align:left;max-width:none;overflow:visible}.evolution-table .evolution-resumen-cell span{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:auto;min-width:0;display:-webkit-box;overflow:hidden}.evolution-table .grupo-evolucion-chip{white-space:normal}.evolution-table .evolution-row:has(+.evolution-expanded-row){border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.evolution-table .evolution-expanded-row{border:1px solid var(--color-border);background:var(--color-surface-muted);border-top:none;border-radius:0 0 16px 16px;margin:0 0 12px;padding:0 16px 14px;display:block}.evolution-table .evolution-expanded-row td{width:auto;padding:10px 0 0;display:block}.evolution-table .evolution-expanded-content,.evolution-table .evolution-edit-form,.evolution-table .evolution-form-fields-row,.evolution-table .evolution-form-fields-row>*,.evolution-table .rich-text-editor{box-sizing:border-box;width:100%;max-width:100%}.config-section-header{flex-direction:column}.config-section-header .new-turn-button{justify-content:center;width:100%}.config-filters-row{flex-direction:column;align-items:stretch}.config-filters-row select{width:100%}.config-filters-row .patients-search-input{flex:auto;width:100%;height:auto}.config-checkbox-list{grid-template-columns:minmax(0,1fr)}.config-row-actions{flex-wrap:wrap;justify-content:flex-start}.evolutions-toolbar{flex-wrap:nowrap;gap:6px;margin-bottom:0}.evolutions-toolbar-actions{flex-wrap:nowrap;flex-shrink:0;gap:6px}.evolutions-toolbar .antecedentes-categorias{display:none}.evolutions-header-row--compact{align-items:center;gap:12px;margin-bottom:18px;display:flex}.evolutions-header-row--compact .evolution-load-button{width:auto;margin-top:0;margin-bottom:0}.evolutions-header-row--compact .evolutions-toolbar{margin-left:auto}.antecedentes-tipo-categorias .antecedentes-categoria-button{flex:1 1 0;justify-content:center;padding:10px 4px;display:flex}.antecedentes-tipo-categorias .antecedentes-categoria-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;display:block}.evolutions-toolbar-actions .filter-button,.evolutions-toolbar-actions .secondary-button{flex-shrink:0;padding:8px}.turno-quick-actions{flex-wrap:nowrap;gap:6px}.turno-quick-action{white-space:nowrap;flex:1 1 0;padding:10px 6px;font-size:12px}.antecedentes-item-actions--desktop{display:none}.antecedentes-item-actions--mobile{display:flex}.label-full{display:none}.label-compact{display:inline}.assessment-workspace{grid-template-columns:minmax(0,1fr)}.assessment-nav{flex-flow:wrap;position:static}.assessment-nav-item{flex:none}.antecedentes-edit-row,.antecedentes-section .antecedentes-list,.clinical-summary-fields,.catalogo-drawer-list{grid-template-columns:minmax(0,1fr)}.catalogo-drawer-row{flex-direction:column;align-items:flex-start}.catalogo-drawer-add-item{flex-direction:column}}.stats-filters-card{gap:16px;display:grid}.stats-periodo-chips{flex-wrap:wrap}.stats-kpi-card--small .patient-summary-value{font-size:16px}.stats-charts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.stats-chart-card{align-content:start;gap:8px;display:grid}@media (width<=1170px){.stats-charts-grid{grid-template-columns:minmax(0,1fr)}}.fab-new-turno,.modal-header-save-mobile,.sheet-drag-handle,.week-day-strip,.day-grid-mobile-header,.calendar-period-compact-label,.calendar-period-compact-header{display:none}@media (width<=820px){.side-panel{display:none}.main-area{gap:8px}.main-header{align-items:center}.main-header .breadcrumb{display:none}.main-header h1{font-size:18px}.main-header .header-actions{display:none}.fab-new-turno{right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:15;background:var(--color-primary);width:56px;height:56px;color:var(--color-on-primary);box-shadow:var(--shadow-turno);border:none;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}.fab-new-turno svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:26px;height:26px}.fab-new-turno:active{transform:scale(.94)}.schedule-header{flex-wrap:nowrap;gap:6px;margin-bottom:12px}.calendar-nav{flex:auto;justify-content:flex-start;gap:4px;width:auto;min-width:0}.calendar-nav-today{padding:8px 10px;font-size:13px}.schedule-header-actions{flex:none;gap:6px;width:auto}.calendar-view-select select{padding:8px 22px 8px 10px;font-size:13px}.schedule-header-actions .filter-button{padding:8px 10px}.calendar-nav-title{display:none}.schedule-header--day,.schedule-header--week,.schedule-header--month,.schedule-header--year{flex-flow:wrap}.schedule-header--day .calendar-nav,.schedule-header--week .calendar-nav,.schedule-header--month .calendar-nav,.schedule-header--year .calendar-nav,.schedule-header--day .schedule-header-actions,.schedule-header--week .schedule-header-actions,.schedule-header--month .schedule-header-actions,.schedule-header--year .schedule-header-actions{display:contents}.schedule-header--day .calendar-nav-arrows,.schedule-header--month .calendar-nav-arrows,.schedule-header--year .calendar-nav-arrows{display:none}.schedule-header--day .schedule-filters-wrapper,.schedule-header--month .schedule-filters-wrapper,.schedule-header--year .schedule-filters-wrapper,.schedule-header--week .calendar-view-select{margin-left:auto}.calendar-period-compact-label{color:var(--color-text-muted);text-align:center;margin:0;font-size:13px;font-weight:600;display:block}.calendar-period-compact-header{justify-content:center;align-items:center;gap:12px;margin:0 0 8px;display:flex}.day-grid-mobile-header{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;margin-bottom:4px;display:grid}.day-grid-mobile-header-arrow{justify-self:center;width:36px;height:36px;font-size:13px}.day-grid-mobile-header-arrow:last-child{justify-self:end}.modal-overlay{align-items:flex-end;padding:0}.modal-overlay,.confirm-dialog-overlay{animation:.2s sheet-overlay-fade-in}.modal-card,.confirm-dialog,.custom-recurrence-modal{width:100%;max-width:100%;max-height:92dvh;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;animation:.25s sheet-slide-up}.turno-action-menu{width:100%;min-width:0;padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;animation:.25s sheet-slide-up;position:fixed;inset:auto 0 0}.turno-action-menu .context-menu-item{padding:14px 16px;font-size:15px}.sheet-drag-handle{background:var(--color-line);border-radius:999px;flex:none;width:36px;height:4px;margin:0 auto 12px;display:block}.modal-header{z-index:2;background:var(--color-surface);padding-top:2px;position:sticky;top:0}.modal-header-save-mobile{background:var(--color-primary);color:var(--color-on-primary);white-space:nowrap;border:none;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.modal-header-save-mobile:disabled{opacity:.6;cursor:not-allowed}.modal-actions--new,.modal-actions-cancel-desktop,.modal-actions-save-desktop{display:none}.modal-card input,.modal-card select,.modal-card textarea,.custom-recurrence-modal input,.custom-recurrence-modal select,.modal-card .dropdown-input-row input:not([type=checkbox]){font-size:16px}.quick-datetime-row{flex-wrap:wrap}.quick-datetime-row .date-input{flex:100%}.week-day-strip{gap:4px;margin-bottom:10px;display:flex;overflow-x:auto}.week-day-strip-item{background:var(--color-control);min-width:40px;color:var(--color-text);border:none;border-radius:12px;flex-direction:column;flex:1 1 0;align-items:center;gap:2px;padding:8px 4px;display:flex}.week-day-strip-name{text-transform:uppercase;color:var(--color-text-muted);font-size:10px;font-weight:700}.week-day-strip-date{font-size:14px;font-weight:600}.week-day-strip-item--today .week-day-strip-date{color:var(--color-primary)}.week-day-strip-item--selected{background:var(--color-primary)}.week-day-strip-item--selected .week-day-strip-name,.week-day-strip-item--selected .week-day-strip-date{color:var(--color-on-primary)}.week-grid--single-day{grid-template-columns:44px minmax(0,1fr);min-width:0}.week-view{overflow-x:visible}.month-view-cell{border-radius:6px;padding:4px}.month-view-grid{gap:2px}}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-overlay-fade-in{0%{opacity:0}to{opacity:1}}.mobile-section-select{margin-bottom:16px;display:block}.mobile-section-select select{border:1px solid var(--color-border);background:var(--color-input-bg);width:100%;color:var(--color-text);cursor:pointer;border-radius:12px;padding:12px 32px 12px 14px;font-family:inherit;font-size:16px;font-weight:600}.mobile-section-select select:focus{border-color:var(--color-primary);outline:none}@media (width<=820px){.configuracion-page-header .breadcrumb,.configuracion-page-header .patient-detail-subtitle,.patient-detail-back-label{display:none}}.field-invalid input:not([type=checkbox]),.field-invalid select,.field-invalid .dropdown-input-row{border-color:var(--color-danger)}.field-invalid{animation:.35s field-shake}@media (prefers-reduced-motion:reduce){.field-invalid{animation:none}}@keyframes field-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.kineq-loader{justify-content:center;align-items:center;width:100%;display:flex}.kineq-loader--small{padding:12px 0}.kineq-loader--medium{padding:32px 0}.kineq-loader--large{min-height:260px;padding:64px 0}.kineq-loader__composition{aspect-ratio:1;position:relative}.kineq-loader__ring,.kineq-loader__logo{transform-origin:50%;margin:auto;position:absolute;inset:0;overflow:visible}.kineq-loader__ring--outer{width:100%;height:100%}.kineq-loader__ring--outer circle{fill:none;stroke:var(--color-primary-border);stroke-width:3px;stroke-linecap:round;stroke-dasharray:4 14;opacity:.7}.kineq-loader__ring--middle{width:76%;height:76%}.kineq-loader__ring--middle circle{fill:none;stroke:var(--color-primary-hover);stroke-width:4px;stroke-linecap:round;stroke-dasharray:46 60;opacity:.6}.kineq-loader__ring--inner{border:3px solid var(--color-primary);opacity:.5;border-radius:50%;width:40%;height:40%}.kineq-loader__logo{width:38%;height:38%}.kineq-loader--small .kineq-loader__composition{width:48px}.kineq-loader--medium .kineq-loader__composition{width:84px}.kineq-loader--large .kineq-loader__composition{width:144px}@media (prefers-reduced-motion:no-preference){.kineq-loader__ring--outer{animation:9s linear infinite kineq-loader-rotate-cw}.kineq-loader__ring--middle{animation:6s linear infinite kineq-loader-rotate-ccw}.kineq-loader__ring--inner{animation:2.2s ease-in-out infinite kineq-loader-pulse}}@keyframes kineq-loader-rotate-cw{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes kineq-loader-rotate-ccw{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes kineq-loader-pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.65;transform:scale(1.06)}}.login-page{background:radial-gradient(120% 100% at 50% -10%, color-mix(in srgb, var(--kineq-violet-500) 16%, var(--color-page-bg)) 0%, var(--color-page-bg) 55%);place-items:center;width:100%;min-height:100svh;padding:24px;display:grid}.login-card{background:var(--color-surface);border:1px solid var(--color-border);width:min(440px,100%);box-shadow:var(--shadow-panel);border-radius:28px;padding:44px 40px;position:relative}.login-card--wide{width:min(520px,100%)}.login-back-arrow{width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;place-items:center;padding:0;transition:background-color .15s,color .15s;display:grid;position:absolute;top:20px;left:20px}.login-back-arrow:hover,.login-back-arrow:focus-visible{background:var(--color-primary-soft);color:var(--color-primary);outline:none}.login-back-arrow:focus-visible{box-shadow:0 0 0 3px var(--color-primary-subtle)}.login-back-arrow svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.login-form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.login-brand{justify-content:center;align-items:center;gap:14px;margin-bottom:32px;display:flex}.login-brand-divider{background:var(--color-border);width:1px;height:24px}.login-logo-kineq{width:auto;height:28px;color:var(--color-text);display:block}.login-logo-consultorio{width:auto;height:28px;display:block}.login-header{text-align:center;margin-bottom:32px}.login-header h1{color:var(--color-text);margin:0 0 8px;font-size:clamp(22px,4vw,26px);font-weight:700}.login-subtitle{color:var(--color-text-muted);margin:0;font-size:15px}.login-form{gap:18px;display:grid}.login-field{gap:8px;display:grid}.login-field-label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.login-field label{color:var(--color-text);font-size:14px;font-weight:600}.login-forgot-link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.login-forgot-link:hover{text-decoration:underline}.login-input{border:1px solid var(--color-border);background:var(--color-input-bg);width:100%;color:var(--color-text);border-radius:14px;padding:14px 16px;font-size:15px;transition:border-color .15s,box-shadow .15s}.login-input:hover:not(:disabled){border-color:var(--color-primary-border)}.login-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-subtle);outline:none}.login-input:disabled{opacity:.6;cursor:not-allowed}.login-password-wrap{position:relative}.login-password-wrap .login-input{padding-right:46px}.login-toggle-visibility{width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;place-items:center;padding:0;transition:background-color .15s,color .15s;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.login-toggle-visibility:hover{background:var(--color-primary-soft);color:var(--color-primary)}.login-toggle-visibility svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.login-error{border:1px solid color-mix(in srgb, var(--color-danger) 30%, transparent);background:color-mix(in srgb, var(--color-danger) 10%, transparent);color:var(--color-danger);border-radius:14px;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;font-size:14px;line-height:1.4;display:flex}.login-error svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px;margin-top:1px}.login-submit{background:var(--color-primary);width:100%;color:var(--color-on-primary);cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb, var(--color-primary) 35%, transparent);border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;margin-top:6px;padding:15px;font-size:15.5px;font-weight:700;transition:background-color .15s,transform .15s,box-shadow .15s;display:inline-flex}.login-submit:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.75;cursor:not-allowed;transform:none}.login-spinner{border:2px solid color-mix(in srgb, var(--color-on-primary) 35%, transparent);border-top-color:var(--color-on-primary);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.login-spinner{animation:none}}.login-footer{text-align:center;color:var(--color-text-muted);margin:28px 0 0;font-size:14px}.login-footer button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.login-footer button:hover{text-decoration:underline}.login-forgot-icon{background:var(--color-primary-soft);width:52px;height:52px;color:var(--color-primary);border-radius:16px;place-items:center;margin:0 auto 20px;display:grid}.login-forgot-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.login-forgot-text{text-align:center;color:var(--color-text-muted);margin:0 0 28px;font-size:15px;line-height:1.5}.login-back-button{border:1px solid var(--color-border);background:var(--color-control);width:100%;color:var(--color-text);cursor:pointer;border-radius:14px;padding:14px;font-size:15px;font-weight:600;transition:background-color .15s,border-color .15s}.login-back-button:hover{border-color:var(--color-primary-border);background:var(--color-primary-soft)}@media (width<=480px){.login-card{border-radius:22px;padding:32px 24px}.login-form-row{grid-template-columns:1fr;gap:18px}}.boot-screen{--kineq-loading-background:#09090f;--kineq-loading-text:#f7f5ff;--kineq-loading-glow:#602de66b;z-index:9999;background:radial-gradient(circle at center, var(--kineq-loading-glow) 0%, #09090f00 45%), var(--kineq-loading-background);opacity:1;flex-direction:column;justify-content:center;align-items:center;gap:28px;transition:opacity .4s;display:flex;position:fixed;inset:0}.boot-screen--fading{opacity:0}.boot-screen__composition{aspect-ratio:1;width:clamp(180px,28vw,360px);position:relative}.boot-screen__ring,.boot-screen__logo{transform-origin:50%;margin:auto;position:absolute;inset:0;overflow:visible}.boot-screen__ring--outer{width:100%;height:100%}.boot-screen__ring--outer circle{fill:none;stroke:var(--kineq-violet-400);stroke-width:1.5px;stroke-linecap:round;stroke-dasharray:4 14;opacity:.55}.boot-screen__ring--middle{width:76%;height:76%}.boot-screen__ring--middle circle{fill:none;stroke:var(--kineq-violet-300);stroke-width:2px;stroke-linecap:round;stroke-dasharray:46 60;opacity:.5}.boot-screen__ring--inner{border:1.5px solid var(--kineq-violet-500);opacity:.45;border-radius:50%;width:40%;height:40%}.boot-screen__logo{width:40%;height:40%;filter:drop-shadow(0 0 18px var(--kineq-loading-glow))}.boot-screen__text{color:var(--kineq-loading-text);letter-spacing:.12em;text-transform:uppercase;text-align:center;margin:0;font-size:14px}@media (prefers-reduced-motion:no-preference){.boot-screen__ring--outer{animation:9s linear infinite boot-rotate-cw}.boot-screen__ring--middle{animation:6s linear infinite boot-rotate-ccw}.boot-screen__ring--inner{animation:2.2s ease-in-out infinite boot-pulse}.boot-screen__logo{animation:.9s ease-out .2s both boot-logo-in}.boot-screen__text{opacity:0;animation:.5s ease-out .5s forwards boot-text-in}}@media (prefers-reduced-motion:reduce){.boot-screen__composition,.boot-screen__text{animation:.3s ease-out both boot-fade-simple}}@keyframes boot-rotate-cw{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes boot-rotate-ccw{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes boot-pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.7;transform:scale(1.06)}}@keyframes boot-logo-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes boot-text-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes boot-fade-simple{0%{opacity:0}to{opacity:1}}@media (width<=480px){.boot-screen{gap:20px;padding:0 24px}.boot-screen__text{font-size:13px}}
