.page-container{max-width:87.5rem;margin:0 auto}.page-header{margin-bottom:1.5rem}.page-container>.card+.card{margin-top:1.5rem}.page-title{font-family:var(--font-display);font-size:1.375rem;font-weight:700;color:var(--text-primary);margin:0 0 .375rem;letter-spacing:-.015em}.page-subtitle{font-family:Inter,sans-serif;font-size:.875rem;color:var(--text-secondary);margin:0;font-weight:400}.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem}.schedule-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.schedule-title-row .page-title{margin:0}.schedule-selected-date{font-family:Inter,sans-serif;font-size:.95rem;font-weight:500;color:var(--text-secondary)}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem}.search-input{flex:1;min-width:220px;font-family:Inter,sans-serif;min-height:var(--control-height);padding:.4375rem .875rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-primary);background:var(--surface-solid);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--accent-500);box-shadow:0 0 0 3px var(--surface-tint-strong)}.page-size-select{display:flex;align-items:center;gap:.625rem;flex-shrink:0}.page-size-select label{font-family:Inter,sans-serif;font-size:.85rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.page-size-select select{font-family:Inter,sans-serif;min-height:var(--control-height);padding:.4375rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text-primary);background:var(--surface-solid);cursor:pointer}.page-size-select select:focus{outline:none;border-color:var(--accent-500);box-shadow:0 0 0 3px var(--surface-tint-strong)}.pagination-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border-subtle)}.pagination-info{font-family:Inter,sans-serif;font-size:.85rem;color:var(--text-secondary)}.pagination-controls{display:flex;align-items:center;gap:.875rem}.pagination-controls .btn{padding:.5rem 1rem;font-size:.85rem}.pagination-page{font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.patient-card-body{display:flex;flex-direction:column;gap:1rem}.patient-card-body .user-card-header{justify-content:space-between;gap:.85rem}.patient-card-actions{display:flex;align-items:center;gap:.25rem}.patient-card-body .user-avatar-lg{width:48px;height:48px;font-size:1.05rem}.patient-card-body .user-card-name{font-size:1.15rem;flex:1}.patient-card-body .profile-info-row{padding:.55rem 0}.patient-card-body .profile-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem 1.5rem}.patient-card-body .profile-info-cell{display:flex;flex-direction:column;gap:.25rem;padding:.35rem 0}.patient-consents{display:flex;flex-direction:column;gap:.6rem}.patient-consent{display:flex;align-items:center;gap:.5rem;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;color:var(--text-primary);cursor:pointer}.patient-card-body .profile-info-cell-wide{grid-column:1 / -1}.patient-card-body .patient-comment{display:block;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:480px){.patient-card-body .profile-info-grid{grid-template-columns:1fr}}.card{background:var(--surface-solid);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle)}.card-title{font-family:Inter,sans-serif;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;letter-spacing:-.01em}.card-content{font-family:Inter,sans-serif;font-size:.875rem;color:var(--text-secondary);line-height:1.6}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.btn{font-family:Inter,sans-serif;min-height:var(--control-height);padding:.4375rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;line-height:1.4;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;border:1px solid transparent;letter-spacing:.01em;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.375rem}.btn:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{min-height:var(--control-height-sm);padding:.25rem .75rem;font-size:.8125rem}.btn-primary{background:var(--accent-600);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-700)}.btn-secondary{background:var(--surface-solid);border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--surface-subtle);border-color:color-mix(in srgb,var(--accent-500) 35%,var(--border-strong))}.btn-danger{background:var(--accent-rose-tint);color:var(--accent-rose)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--accent-rose) 18%,transparent)}.status-badge{font-family:Inter,sans-serif;display:inline-block;padding:.375rem .875rem;border-radius:var(--radius-pill);font-size:.875rem;font-weight:500;letter-spacing:.01em}.status-badge.active{background:color-mix(in srgb,var(--accent-emerald) 12%,transparent);color:var(--accent-emerald-text)}.status-badge.pending{background:var(--accent-amber-tint);color:var(--accent-amber)}.status-badge.completed{background:var(--surface-tint-strong);color:var(--accent-600)}.item-list{list-style:none;padding:0;margin:0}.item-list-item{padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);transition:background .2s ease}.item-list-item:last-child{border-bottom:none}.item-list-item:hover{background:var(--surface-tint)}.empty-state{text-align:center;padding:4rem 2rem}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state-title{font-family:Inter,sans-serif;font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.empty-state-text{font-family:Inter,sans-serif;font-size:1rem;color:var(--text-secondary);margin:0 0 1.5rem}@media(max-width:768px){.page-title{font-size:1.5rem}.card{padding:1.5rem}.cards-grid{grid-template-columns:1fr}}.clinics-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.clinics-section-header .card-title{margin:0}.collapsible-chevron{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--text-muted);transform:rotate(-90deg);transition:transform .15s ease}.collapsible-chevron svg{width:100%;height:100%}.collapsible-chevron-open{transform:rotate(0)}.form-collapsible-title{display:flex;align-items:center;gap:.75rem}.form-collapsible-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:0;border:0;background:none;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.form-collapsible-toggle:hover{color:var(--text-secondary)}.form-collapsible-body{display:flex;flex-direction:column;gap:1.25rem}.form-collapsible-summary{font-weight:400;text-transform:none;letter-spacing:0}.clinic-add-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding:1rem;margin-bottom:1.25rem;background:var(--surface-tint);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.clinic-add-form>.error-message{flex-basis:100%;margin-bottom:0}.clinic-add-form input{flex:1;min-width:200px;font-family:Inter,sans-serif;padding:.75rem 1rem;border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.95rem;color:var(--text-primary);background:var(--surface-solid);transition:all .2s ease}.clinic-add-form input:focus{outline:none;border-color:var(--accent-500);box-shadow:0 0 0 3px var(--surface-tint-strong)}.error-message{font-family:Inter,sans-serif;font-size:.875rem;color:var(--text-danger);background:var(--accent-rose-tint);padding:.75rem 1rem;border-radius:var(--radius-sm);border-left:3px solid var(--accent-rose);margin-bottom:1rem}.load-error{display:flex;flex-direction:column;align-items:center;gap:.625rem;padding:2.25rem 1.25rem;text-align:center;border:1.5px dashed var(--border-strong);border-radius:var(--radius-md)}.load-error-mark{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;color:var(--text-danger);background:var(--accent-rose-tint);border-radius:50%}.load-error-mark svg{width:1.125rem;height:1.125rem}.load-error-hint{margin:-.25rem 0 0;font-size:.8125rem;color:var(--text-secondary)}.load-error .error-message{max-width:32.5rem;margin:0;padding:0;font-weight:600;color:var(--text-primary);overflow-wrap:anywhere;background:none;border:none}.success-message{font-family:Inter,sans-serif;font-size:.875rem;color:var(--accent-teal);background:var(--accent-teal-tint);padding:.75rem 1rem;border-radius:var(--radius-sm);border-left:3px solid var(--accent-teal);margin-bottom:1rem}@media(max-width:480px){.clinic-add-form{flex-direction:column;align-items:stretch}.clinic-add-form input{min-width:0}}.tabs{display:flex;gap:1.25rem;border-bottom:1px solid var(--border-subtle);margin-bottom:1.25rem}.tab-button{font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;color:var(--text-secondary);background:none;border:none;padding:.625rem .125rem;margin-bottom:-1px;text-decoration:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s ease,border-color .2s ease}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--accent-600);font-weight:600;border-bottom-color:var(--accent-500)}.tabs-sub{display:inline-flex;flex-wrap:wrap;gap:.25rem;padding:3px;margin-bottom:1.25rem;background:var(--surface-muted);border-bottom:none;border-radius:var(--radius-sm)}.tabs-sub .tab-button{font-size:.8125rem;padding:.3125rem .75rem;margin-bottom:0;border-bottom:none;border-radius:calc(var(--radius-sm) - 2px)}.tabs-sub .tab-button.active{background:var(--surface-solid);color:var(--text-primary);box-shadow:0 1px 2px #14143214}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:.4rem;padding:0 .35rem;border-radius:var(--radius-pill);background:var(--accent-amber);color:var(--text-on-accent);font-size:.7rem;font-weight:700;vertical-align:middle}.status-badge.owner{background:var(--accent-teal-tint);color:var(--accent-teal);flex-shrink:0}.status-badge.removed{background:var(--surface-tint);color:var(--text-muted);flex-shrink:0}.profile-edit-form{display:flex;flex-direction:column;gap:1.25rem;max-width:26.25rem}.patient-form{max-width:40rem}.representative-field{display:flex;flex-direction:column;gap:.75rem}.representative-field>label{font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;color:var(--text-primary);letter-spacing:.01em}.form-hint{font-family:Inter,sans-serif;font-size:.8rem;color:var(--text-secondary);margin:-.5rem 0 0}.combobox{position:relative}.combobox-menu{position:absolute;top:calc(100% + 6px);left:0;right:auto;width:max-content;min-width:100%;max-width:min(28rem,calc(100vw / var(--ui-zoom) - 2rem));background:var(--surface-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:260px;overflow-y:auto;z-index:30;padding:.375rem;display:flex;flex-direction:column;gap:.125rem}.combobox-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .65rem;border-radius:var(--radius-sm);border:none;background:none;cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%;transition:background .15s ease}.combobox-item:hover{background:var(--surface-tint)}.combobox-menu .user-row-text,.combobox-menu .user-row-name-text,.combobox-selected .user-row-text,.combobox-selected .user-row-name-text{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:break-word;line-height:1.3}.combobox-listbox{display:flex;flex-direction:column;gap:.125rem}.combobox-item[aria-selected=true]{background:var(--surface-tint)}.combobox-item:focus-visible{outline:2px solid var(--accent-500);outline-offset:-2px}.combobox-empty{padding:.75rem;font-family:Inter,sans-serif;font-size:.85rem;color:var(--text-secondary);text-align:center}.combobox-menu .combobox-error{margin:0}.combobox-error-note{display:block;margin-top:.25rem}.combobox-error-retry{display:block;margin-top:.5rem;color:inherit;text-decoration:underline}.combobox-selected{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .9rem;border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-tint)}.combobox-selected-clickable{cursor:pointer;transition:background-color .18s ease}.combobox-selected-clickable:hover{background:var(--surface-solid)}.client-picker-lists{margin-top:.25rem}.combobox-selected-clickable .client-picker-lists{cursor:default}.error-message.client-picker-lists-error{margin-bottom:0}.representative-new-block{display:flex;flex-direction:column;gap:1rem;padding:1rem;border:1.5px dashed var(--border-subtle);border-radius:var(--radius-sm)}.representative-default{margin-left:.5rem;vertical-align:middle}.representative-link-form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem;padding:1rem;border:1.5px dashed var(--border-subtle);border-radius:var(--radius-sm)}.client-documents,.client-documents-fields,.client-documents-section{display:flex;flex-direction:column;gap:1rem}.client-documents-section{min-width:0;margin:0;padding:0;border:none}.client-documents-section>legend{padding:0;margin-bottom:.75rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;color:var(--text-primary);letter-spacing:.01em}.link-button{align-self:flex-start;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;color:var(--accent-600);background:none;border:none;padding:0;cursor:pointer}.link-button:hover{text-decoration:underline}.form-row{display:grid;grid-template-columns:repeat(var(--form-row-cols, 2),1fr);gap:1rem}.form-row-3{--form-row-cols: 3}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.profile-edit-actions{display:flex;gap:.75rem}.profile-info-list{display:flex;flex-direction:column}.profile-info-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--border-subtle)}.profile-info-row:last-child{border-bottom:none;padding-bottom:0}.profile-info-label{font-family:Inter,sans-serif;font-size:.875rem;color:var(--text-secondary);font-weight:500}.profile-info-value{display:flex;align-items:center;gap:.75rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;color:var(--text-primary)}.profile-email-notice{margin:1rem 0 0}.user-section-subtitle{font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:1.75rem 0 .75rem}.user-row{display:flex;align-items:center;justify-content:space-between;gap:.875rem}.user-row-info{display:flex;align-items:center;gap:.875rem;min-width:0}.user-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--surface-tint-strong);color:var(--accent-700);font-family:Inter,sans-serif;font-weight:600;font-size:.85rem;letter-spacing:.02em;flex-shrink:0}.user-avatar-muted{background:var(--surface-tint-strong);color:var(--accent-500)}.user-row-removed{flex-wrap:wrap}.return-user-form{flex-basis:100%}.return-user-form .form-hint{margin:.25rem 0 .5rem}.user-avatar-muted svg{width:18px;height:18px}.user-row-text{display:flex;flex-direction:column;gap:.125rem;min-width:0}.user-row-name{display:flex;align-items:center;gap:.5rem;min-width:0}.user-row-name-text{font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.user-row-email{font-family:Inter,sans-serif;font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.icon-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-muted);cursor:pointer;transition:background-color .18s ease,color .18s ease;flex-shrink:0}.icon-btn svg{width:16px;height:16px}.icon-btn:hover:not(:disabled){background:var(--surface-tint);color:var(--text-secondary)}.icon-btn-danger:hover:not(:disabled){background:var(--accent-rose-tint);color:var(--accent-rose)}.icon-btn:disabled{opacity:.5;cursor:default}.user-row-link{text-decoration:none;color:inherit;cursor:pointer}.back-link{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text-secondary);font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;transition:color .18s ease}.back-link:hover{color:var(--accent-600)}.back-link svg{width:16px;height:16px}.position-chip-list{display:flex;flex-wrap:wrap;gap:.5rem}.position-chip{font-family:Inter,sans-serif;display:inline-flex;align-items:center;gap:.375rem;background:var(--surface-tint-strong);color:var(--accent-600);padding:.375rem .5rem .375rem .875rem;border-radius:var(--radius-pill);font-size:.875rem;font-weight:500}.position-chip-static{padding:.2rem .65rem;font-size:.75rem}.position-chip-clickable{cursor:pointer;transition:background-color .18s ease}.position-chip-clickable:hover{background:var(--surface-tint)}.position-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:none;background:transparent;color:inherit;cursor:pointer;padding:0}.position-chip-remove svg{width:12px;height:12px}.position-chip-remove:hover{background:color-mix(in srgb,var(--black) 8%,transparent)}.position-add-row{display:flex;align-items:center;gap:.625rem;margin-top:1rem}.position-add-row select{font-family:Inter,sans-serif;padding:.5rem .75rem;border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text-primary);background:var(--surface-solid);cursor:pointer}.position-add-row select:focus{outline:none;border-color:var(--accent-500);box-shadow:0 0 0 3px var(--surface-tint-strong)}.weekday-strip{display:flex;flex-wrap:wrap;gap:.75rem}.weekday-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;flex:1 1 0;min-width:92px;padding:.875rem .5rem;border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-solid);cursor:pointer;transition:border-color .18s ease,background-color .18s ease;font-family:Inter,sans-serif}.weekday-tile:hover{border-color:var(--accent-500)}.weekday-tile-active{border-color:var(--accent-500);background:var(--surface-tint-strong)}.weekday-tile-label{font-size:.95rem;font-weight:700;color:var(--text-primary);letter-spacing:.02em}.weekday-tile-status{font-size:.75rem;color:var(--text-secondary);text-align:center;white-space:nowrap}.weekday-panel{margin-top:1rem;padding:1rem;border-radius:var(--radius-sm);background:var(--surface-tint);display:flex;flex-direction:column;gap:1rem}.weekday-panel-title{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0}.weekday-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.weekday-panel-header-actions{display:flex;gap:.625rem;flex-shrink:0}.weekday-panel-header-left{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;min-width:0}.weekday-users{flex:0 1 280px;min-width:220px;display:flex;flex-direction:column;gap:.75rem}.weekday-users-title{font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin:0;text-transform:uppercase;letter-spacing:.03em}.weekday-user-edit-form{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;width:100%}.weekday-user-edit-form label{display:flex;align-items:center;gap:.5rem;font-family:Inter,sans-serif;font-size:.85rem;color:var(--text-secondary);font-weight:500}.weekday-user-edit-form input[type=time]{font-family:Inter,sans-serif;padding:.4rem .6rem;border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-primary);background:var(--surface-solid)}.weekday-user-add-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.weekday-user-combobox{flex:1;min-width:220px}.weekday-user-combobox .search-input{width:100%;min-width:0}.weekday-user-add-row label{display:flex;align-items:center;gap:.5rem;font-family:Inter,sans-serif;font-size:.85rem;color:var(--text-secondary);font-weight:500}.weekday-user-add-row input[type=time]{font-family:Inter,sans-serif;padding:.5rem .6rem;border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-primary);background:var(--surface-solid)}.weekday-panel-body{display:flex;align-items:flex-start;gap:1.5rem}.day-timeline{display:flex;gap:.75rem;flex:1 1 260px;min-width:0}.day-timeline-labels{position:relative;width:34px;flex-shrink:0}.day-timeline-hour{position:absolute;left:0;right:0;transform:translateY(-50%);font-family:Inter,sans-serif;font-size:.65rem;line-height:1;color:var(--text-muted);text-align:right;-webkit-user-select:none;user-select:none}.day-timeline-bar{position:relative;flex:1;min-width:180px;border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-solid);overflow:hidden}.day-timeline-offhours{position:absolute;left:0;right:0;background:color-mix(in srgb,var(--text-primary) 10%,transparent)}.day-timeline-gridline{position:absolute;left:0;right:0;height:1px;background:var(--border-subtle)}.day-timeline-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 1rem;text-align:center;font-family:Inter,sans-serif;font-size:.8rem;color:var(--text-muted)}.doctor-day-cards{display:flex;flex-wrap:nowrap;align-items:stretch;gap:1rem;flex:1;min-height:0;overflow-x:auto}.doctor-day-card{position:relative;display:flex;flex-direction:column;gap:.4rem;padding:1rem 1.1rem;flex:0 0 auto;min-width:380px;min-height:0}.doctor-day-card:hover{transform:none;box-shadow:var(--shadow-sm)}.doctor-day-card-drag-handle{position:absolute;top:.6rem;right:.6rem;height:24px}.doctor-day-card:has(.doctor-day-card-drag-handle) .doctor-day-card-title{padding-right:1.5rem}.doctor-day-card-title{margin:0;flex-shrink:0;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doctor-day-card-position{margin:0;margin-bottom:.5rem;flex-shrink:0;font-family:Inter,sans-serif;font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doctor-day-card-body{display:flex;gap:.5rem;flex:1;min-height:0}.day-column{position:relative;flex:1 1 180px;min-width:0;border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-solid);overflow:hidden}.day-column-offhours{position:absolute;left:0;right:0;background:color-mix(in srgb,var(--text-primary) 10%,transparent)}.day-column-gridline{position:absolute;left:0;right:0;height:1px;background:var(--border-subtle)}.day-column-now-line{position:absolute;left:0;right:0;height:2px;background:var(--accent-rose);z-index:2;pointer-events:none}.day-column-now-line:before{content:"";position:absolute;left:-3px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:var(--accent-rose)}.day-column-interactive{cursor:pointer;touch-action:none}.day-column-appointment-preview{position:absolute;left:0;right:0;box-sizing:border-box;z-index:3;border-radius:4px;border:1.5px solid var(--accent-rose);background:var(--accent-rose-tint);pointer-events:none;box-shadow:var(--shadow-sm)}.day-column-appointment-preview-label{position:absolute;top:50%;left:4px;right:4px;transform:translateY(-50%);z-index:4;text-align:center;color:var(--accent-rose);font-family:Inter,sans-serif;font-size:.65rem;font-weight:700;line-height:1.25;white-space:nowrap;pointer-events:none}.day-column-appointment{position:absolute;box-sizing:border-box;z-index:2;margin:0 1px;border-radius:4px;background:var(--accent-gradient);box-shadow:var(--shadow-sm);cursor:grab;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.day-column-appointment:hover{filter:brightness(1.08)}.day-column-appointment:focus-visible{outline:2px solid var(--text-primary);outline-offset:-2px;box-shadow:inset 0 0 0 4px var(--surface-solid)}.day-column-appointment-static{cursor:pointer}.doctor-day-cards-loading .day-column{cursor:progress}.doctor-day-cards-error .day-column,.doctor-day-cards-blocked .day-column{cursor:not-allowed}.doctor-day-cards-error .day-column-appointment,.doctor-day-cards-error .day-column-appointment:hover{filter:grayscale(.7) opacity(.7)}.day-column-notice{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:1rem;text-align:center;background:var(--surface-glass-strong);color:var(--text-secondary);font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;pointer-events:none}.day-column-appointment-dragging{cursor:grabbing;box-shadow:var(--shadow-lg)}.day-column-appointment-dragging.day-column-appointment-drop-blocked,.day-column-drop-blocked{cursor:not-allowed}.day-column-appointment-ghost{cursor:grabbing;box-shadow:var(--shadow-lg);opacity:.92;transform:scale(1.02);pointer-events:none}.appointment-tooltip{position:fixed;z-index:1001;pointer-events:none;width:max-content;max-width:min(24rem,calc(100vw - 1.5rem));padding:.5rem .75rem;border-radius:var(--radius-sm);background:var(--text-primary);color:var(--text-on-accent);box-shadow:var(--shadow-lg);font-family:Inter,sans-serif;overflow-wrap:anywhere}.appointment-tooltip-name{font-size:.875rem;font-weight:700;line-height:1.3}.appointment-tooltip-time{margin-top:.15rem;font-size:.8rem;font-weight:500;color:color-mix(in srgb,var(--text-on-accent) 75%,transparent);line-height:1.3}.appointment-tooltip-lists{margin-top:.3rem;gap:.3rem}.appointment-tooltip-payment{margin-top:.15rem;font-size:.8rem;font-weight:700;line-height:1.3}.appointment-tooltip-payment-paid{color:#4ade80}.appointment-tooltip-payment-unpaid{color:#fb7185}.appointment-tooltip-documents-warning{margin-top:.15rem;font-size:.8rem;font-weight:700;line-height:1.3;color:#fb7185}.appointment-tooltip-comment{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;margin-top:.15rem;font-size:.8rem;font-weight:500;line-height:1.3;white-space:pre-line}.day-column-appointment-label{position:absolute;top:50%;left:4px;right:4px;transform:translateY(-50%);text-align:center;color:var(--text-on-accent);font-family:Inter,sans-serif;-webkit-user-select:none;user-select:none;font-size:.8rem;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-column-appointment-line{display:inline-flex;align-items:center;justify-content:center;gap:3px;max-width:100%;overflow:hidden}.day-column-appointment-line-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-column-appointment-deleted{flex-shrink:0;padding:0 4px;border:1px solid currentColor;border-radius:var(--radius-pill);font-weight:500;opacity:.85}.day-column-appointment-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:3px;flex-shrink:0}.day-column-appointment-icon svg{width:9px;height:9px}.day-column-appointment-type{background:var(--surface-solid)}.day-column-appointment-type-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.employee-block{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:.1rem;padding:.15rem .45rem;margin:0 1px;border:1.5px solid;border-radius:6px;overflow:hidden;font-family:Inter,sans-serif;cursor:default;transition:background-color .15s ease,color .15s ease}.employee-block-name{font-size:.72rem;font-weight:600;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-block-time{font-size:.64rem;line-height:1.1;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-block-indigo{background:var(--surface-tint-strong);border-color:var(--accent-500);color:var(--accent-600)}.employee-block-teal{background:var(--accent-teal-tint);border-color:var(--accent-teal);color:var(--accent-teal-text)}.employee-block-amber{background:var(--accent-amber-tint);border-color:var(--accent-amber);color:var(--accent-amber-text)}.employee-block-rose{background:var(--accent-rose-tint);border-color:var(--accent-rose);color:var(--accent-rose-text)}.employee-block-purple{background:color-mix(in srgb,var(--accent-violet) 12%,transparent);border-color:var(--accent-violet);color:var(--accent-violet-text)}.employee-block-blue{background:color-mix(in srgb,var(--accent-blue) 12%,transparent);border-color:var(--accent-blue);color:var(--accent-blue-text)}.employee-block-highlighted.employee-block-indigo{background:var(--accent-500);color:var(--text-on-accent)}.employee-block-highlighted.employee-block-teal{background:var(--accent-teal);color:var(--text-on-accent)}.employee-block-highlighted.employee-block-amber{background:var(--accent-amber);color:var(--text-on-accent)}.employee-block-highlighted.employee-block-rose{background:var(--accent-rose);color:var(--text-on-accent)}.employee-block-highlighted.employee-block-purple{background:var(--accent-violet);color:var(--text-on-accent)}.employee-block-highlighted.employee-block-blue{background:var(--accent-blue);color:var(--text-on-accent)}.weekday-panel-checkbox{display:flex;align-items:center;gap:.5rem;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;color:var(--text-primary);cursor:pointer;white-space:nowrap}.weekday-panel-times{display:flex;flex-wrap:wrap;gap:1.25rem}.weekday-panel-times label{display:flex;align-items:center;gap:.5rem;font-family:Inter,sans-serif;font-size:.85rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.weekday-panel-times input[type=time],.weekday-panel-times input[type=date]{font-family:Inter,sans-serif;padding:.5rem .75rem;border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text-primary);background:var(--surface-solid)}.weekday-panel-times input[type=time]:focus,.weekday-panel-times input[type=date]:focus{outline:none;border-color:var(--accent-500);box-shadow:0 0 0 3px var(--surface-tint-strong)}.appointment-amount-input{font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;color:var(--text-primary);padding:.65rem .9rem;border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-solid);width:8rem}.appointment-amount-input:focus{outline:none;border-color:var(--accent-500);box-shadow:0 0 0 3px var(--surface-tint-strong)}.change-badge{display:flex;align-items:center;font-family:Inter,sans-serif;font-size:.95rem;font-weight:700;padding:.65rem .9rem;border-radius:var(--radius-sm);white-space:nowrap}.change-badge-positive{color:var(--accent-teal);background:var(--accent-teal-tint)}.change-badge-negative{color:var(--accent-rose);background:var(--accent-rose-tint)}@media(max-width:480px){.user-row-actions{gap:.375rem}}.schedule-layout{display:flex;align-items:stretch;gap:1.25rem;flex-wrap:nowrap;flex:1;min-height:0}.schedule-sidebar{flex:0 0 300px;display:flex;flex-direction:column;gap:.75rem;min-height:0}.schedule-toolbar-spacer{flex:1}.schedule-new-appointment{display:inline-flex;align-items:center;gap:.4rem}.schedule-new-appointment svg{width:16px;height:16px}.schedule-popover-anchor{position:relative;display:inline-flex}.employee-filter-popover{position:absolute;top:calc(100% + .4rem);right:0;z-index:30;min-width:280px;max-height:60vh;overflow:auto;padding:.5rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-solid);box-shadow:var(--shadow-lg)}.employee-filter-popover-title{margin:.25rem .5rem .5rem;font-family:Inter,sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.employee-filter-popover-note{padding:.5rem}.schedule-waiting-panel{flex:0 0 auto;display:flex;flex-direction:column;gap:.5rem;padding:.85rem 1rem .9rem;border:1px solid var(--border-glass);border-radius:var(--radius-lg);background:var(--surface-glass-strong);box-shadow:var(--shadow-sm)}.schedule-waiting-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.schedule-waiting-head h2{display:inline-flex;align-items:center;gap:.4rem;margin:0;font-family:Inter,sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.schedule-waiting-head .waiting-list-count{min-width:1.25rem;height:1.25rem;font-size:.7rem;letter-spacing:0}.schedule-waiting-open{padding:.25rem .6rem;border-radius:var(--radius-pill);background:none;font-size:.75rem}.schedule-waiting-note,.schedule-waiting-more{margin:0;font-family:Inter,sans-serif;font-size:.8rem;color:var(--text-muted)}.schedule-waiting-panel .schedule-waiting-error{flex-direction:column;gap:.5rem;margin:0}.schedule-waiting-entries{display:flex;flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none}.schedule-waiting-entry{display:grid;gap:.1rem;padding:.4rem .6rem;border-radius:var(--radius-sm);background:var(--surface-tint);font-family:Inter,sans-serif;font-size:.8rem}.schedule-waiting-entry-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-waiting-entry-meta{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doctor-day-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .55rem;min-width:0;margin-bottom:.45rem;padding-right:1.4rem}.doctor-day-card-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border:1.5px solid;border-radius:10px;font-family:Inter,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.02em}.doctor-day-card-head-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.doctor-day-card-meta{margin:0;font-family:Inter,sans-serif;font-size:.72rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doctor-day-card-head .doctor-day-card-position{display:inline;margin:0;font-size:inherit}.doctor-day-card-hours{font-variant-numeric:tabular-nums}.doctor-day-card-stats{flex:1 0 100%;display:flex;gap:.5rem;padding-left:calc(32px + .55rem);font-family:Inter,sans-serif;font-size:.68rem;line-height:1.2;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.schedule-main .doctor-day-card-stats{flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:.1rem;padding-left:0}.schedule-title-row .btn-secondary,.schedule-title-row .btn-primary{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .95rem;border-radius:var(--radius-pill);font-size:.85rem}.schedule-title-row .btn-secondary{border:1px solid var(--border-subtle);background:var(--surface-solid);color:var(--text-primary);box-shadow:var(--shadow-sm)}.schedule-title-row .btn-secondary:hover{background:var(--surface-tint);border-color:var(--border-strong)}.schedule-title-row .btn-secondary svg,.schedule-title-row .btn-primary svg{width:16px;height:16px}.schedule-title-row .icon-btn{width:36px;height:36px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-solid);color:var(--text-secondary);box-shadow:var(--shadow-sm)}.schedule-title-row .icon-btn:hover{background:var(--surface-tint);color:var(--accent-600)}.schedule-title-row .free-slot-filter-chip .free-slot-filter-reset{border:none;background:none;box-shadow:none;width:22px;height:22px}@media(min-width:641px){.schedule-main .doctor-day-cards{gap:0;min-width:0;max-width:100%;align-self:flex-start;overflow-x:auto;overflow-y:hidden;border:1px solid var(--border-glass);border-radius:var(--radius-lg);background:var(--surface-solid);box-shadow:var(--shadow-sm)}.schedule-main .doctor-day-card{flex:0 0 380px;width:380px;box-sizing:border-box;min-width:0;gap:.15rem;padding:.7rem .6rem .6rem;border:none;border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.schedule-main .doctor-day-card+.doctor-day-card{border-left:1px solid var(--border-subtle)}.schedule-main .doctor-day-cards::-webkit-scrollbar{height:12px}.schedule-main .doctor-day-cards::-webkit-scrollbar-track{background:var(--surface-tint);border-top:1px solid var(--border-subtle)}.schedule-main .doctor-day-cards::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:var(--radius-pill);background:var(--text-muted);background-clip:content-box}@supports not selector(::-webkit-scrollbar){.schedule-main .doctor-day-cards{scrollbar-width:thin;scrollbar-color:var(--text-muted) var(--surface-tint)}}.schedule-main .doctor-day-gutter{position:sticky;left:0;z-index:5;flex:0 0 auto;display:flex;flex-direction:column;gap:.15rem;padding:.7rem 0 .6rem .6rem;min-height:0;background:var(--surface-solid)}.schedule-main .doctor-day-gutter-head,.schedule-main .doctor-day-card-head{flex:0 0 auto;height:40px}.schedule-main .doctor-day-card-head{flex-wrap:nowrap;margin-bottom:.45rem}.schedule-main .doctor-day-gutter-head{margin-bottom:.45rem}.schedule-main .doctor-day-card-drag-handle{top:.5rem;right:.4rem}.schedule-main .doctor-day-card-position{margin-bottom:0}.schedule-main .doctor-day-card-body{gap:.35rem}.schedule-main .day-timeline-labels{width:36px}.schedule-main .day-column{border:none;border-radius:0;background:transparent}.schedule-main .day-column-offhours{background:color-mix(in srgb,var(--text-primary) 6%,transparent)}}.doctor-day-gutter{display:none}.day-column-appointment-tint{--appointment-status: var(--accent-500);border-radius:6px;border-left:4px solid var(--appointment-status);background:color-mix(in srgb,var(--appointment-status) 15%,var(--surface-solid));box-shadow:none}.day-column-appointment-tint:hover{filter:none;background:color-mix(in srgb,var(--appointment-status) 26%,var(--surface-solid));box-shadow:var(--shadow-sm)}.day-column-appointment-tint .day-column-appointment-label{top:3px;left:6px;right:4px;transform:none;text-align:left;color:var(--text-primary);font-size:.78rem;font-weight:700;line-height:1.3}.day-column-appointment-tint .day-column-appointment-line{justify-content:flex-start}.day-column-appointment-tint .day-column-appointment-type{background:var(--surface-solid);box-shadow:0 0 0 1px var(--border-subtle)}.day-column-appointment-time{font-weight:500;color:var(--text-secondary)}.day-column-appointment-comment{font-weight:400;color:var(--text-secondary)}.day-column-appointment-tint.day-column-appointment-dragging{opacity:.6}.schedule-main{flex:1;min-width:280px;min-height:0;display:flex;flex-direction:column}.schedule-move-error,.schedule-load-error{display:flex;align-items:flex-start;gap:.75rem;flex-shrink:0}.schedule-move-error-text,.schedule-load-error-text{flex:1}.schedule-load-error-note{display:block;margin-top:.25rem}.schedule-load-error-retry{flex-shrink:0;padding:.25rem .75rem;border:1px solid currentColor;border-radius:var(--radius-sm);background:none;font:inherit;font-weight:600;color:inherit;cursor:pointer}.schedule-load-error-retry:disabled{opacity:.6;cursor:progress}.schedule-move-error-close{flex-shrink:0;padding:0 .25rem;border:none;background:none;font-size:1.25rem;line-height:1;color:inherit;cursor:pointer}.schedule-page-container{max-width:none;margin:0;display:flex;flex-direction:column;height:calc(100vh / var(--ui-zoom) - 3rem - var(--app-header-height));overflow:hidden}.mini-calendar{background:var(--surface-glass-strong);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-glass);user-select:none;display:flex;flex-direction:column;flex:1;min-height:0}.mini-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.mini-calendar-title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:var(--radius-sm);transition:background .15s ease;text-transform:capitalize}.mini-calendar-title:hover{background:var(--surface-tint)}.mini-calendar .mini-calendar-load-status{margin:0 0 .5rem}.mini-calendar .mini-calendar-load-error{flex-direction:column;gap:.5rem;margin:0 0 .75rem}.mini-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.375rem}.mini-calendar-weekday{font-family:Inter,sans-serif;font-size:.7rem;font-weight:600;color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.02em}.mini-calendar-scroll{position:relative;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scroll-behavior:auto}.mini-calendar-month+.mini-calendar-month{margin-top:.75rem}.mini-calendar-month-label{position:sticky;top:0;z-index:1;background:var(--surface-glass-strong);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);font-family:Inter,sans-serif;font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:capitalize;padding:.25rem 0;margin-bottom:.25rem}.mini-calendar-month-load-error{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.375rem;margin-left:.5rem;font-weight:500;color:var(--text-danger);text-transform:none}.mini-calendar-month-retry{padding:0;border:none;background:none;font:inherit;font-weight:600;color:inherit;text-decoration:underline;cursor:pointer}.mini-calendar-month-retry:disabled{opacity:.6;text-decoration:none;cursor:progress}.mini-calendar-month-load-note{margin-left:.5rem;font-weight:500;color:var(--text-muted);text-transform:none}.mini-calendar-month-failed .mini-calendar-day:not(.mini-calendar-day-selected):not(.mini-calendar-day-today):not(.mini-calendar-day-nonworking),.mini-calendar-month-loading .mini-calendar-day:not(.mini-calendar-day-selected):not(.mini-calendar-day-today):not(.mini-calendar-day-nonworking){color:var(--text-muted)}.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem}.mini-calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--radius-sm);font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:background .15s ease,color .15s ease}.mini-calendar-day-blank{cursor:default;pointer-events:none}.mini-calendar-day:hover{background:var(--surface-tint)}.mini-calendar-day-nonworking{background:var(--accent-rose-tint);color:var(--accent-rose)}.mini-calendar-day-nonworking:hover{background:var(--accent-rose-tint)}.mini-calendar-day-today{color:var(--accent-600);font-weight:700}.mini-calendar-day-nonworking.mini-calendar-day-today{color:var(--accent-rose)}.mini-calendar-day-selected{background:var(--accent-gradient);color:var(--text-on-accent);font-weight:700}.mini-calendar-day-selected:hover{background:var(--accent-gradient)}.day-settings-modal-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--backdrop) 55%,transparent);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:2.5rem;z-index:200}.day-settings-modal{width:100%;height:100%;max-width:100rem;display:flex;flex-direction:column;background:var(--surface-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.day-settings-modal-header{flex-shrink:0;padding:1.5rem 2rem;border-bottom:1px solid var(--border-subtle)}.appointment-modal-header{display:flex;align-items:center;justify-content:flex-start;gap:.875rem;flex-wrap:wrap}.appointment-modal-header-side{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;flex:0 1 15rem;min-width:min(12rem,100%);max-width:100%;margin-left:auto}.appointment-modal-header-side .appointment-status-picker-header{flex:0 0 auto;min-width:0;max-width:none;width:100%;min-height:0}.appointment-modal-header-side .combobox-menu{left:auto;right:0;min-width:100%}.appointment-modal-header-side .combobox-selected{padding:.4rem .75rem}.appointment-status-after-payment{flex-basis:100%;padding:.5rem .875rem;border-radius:var(--radius-sm);border-left:3px solid var(--accent-amber);background:var(--accent-amber-tint);font-family:Inter,sans-serif;font-size:.85rem;line-height:1.4;color:var(--text-primary)}.doctor-picker-header{flex:0 1 auto;min-width:min(16rem,100%);max-width:24rem;min-height:64px;justify-content:center}.doctor-picker-header .combobox-selected{min-width:0;background:var(--surface-solid)}.doctor-picker-header .combobox-selected .btn{padding:.45rem .85rem;font-size:.85rem}.patient-picker-header .form-hint.patient-picker-header-hint{margin:0}.patient-picker-header .combobox .search-input{width:100%}.patient-picker-add-new{align-self:flex-start;font-size:.8rem}.patient-picker-header-alert{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.patient-picker-header-alert .error-message{margin:0}.appointment-status-picker-header{flex:0 1 auto;min-width:min(10rem,100%);max-width:20rem;min-height:64px;justify-content:center}.appointment-status-picker-header .combobox-selected{min-width:0;background:var(--surface-solid)}.appointment-status-trigger{font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%}.appointment-status-dot{display:inline-block;width:14px;height:14px;border-radius:50%;flex-shrink:0}.appointment-type-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.appointment-type-icon svg{width:16px;height:16px}.appointment-status-placeholder{font-family:Inter,sans-serif;font-size:.9rem;color:var(--text-muted)}.picker-trigger{font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%}.picker-placeholder{font-family:Inter,sans-serif;font-size:.9rem;color:var(--text-muted)}.option-picker{min-width:0;max-width:20rem}.select-field{position:relative;min-width:0}.select-field-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-width:5rem;font-family:Inter,sans-serif;padding:.5rem .75rem;border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text-primary);background:var(--surface-solid);text-align:left;cursor:pointer}.select-field-trigger:focus-visible,.select-field-trigger[aria-expanded=true]{outline:none;border-color:var(--accent-500);box-shadow:0 0 0 3px var(--surface-tint-strong)}.select-field-trigger:disabled{cursor:not-allowed;opacity:.6}.select-field-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-field-placeholder{color:var(--text-muted)}.select-field-arrow{display:inline-flex;flex-shrink:0;color:var(--text-secondary)}.select-field-menu{right:auto;min-width:100%;width:max-content;max-width:calc(100vw / var(--ui-zoom) - 1rem);max-height:min(260px,50vh / var(--ui-zoom))}.select-field-option{justify-content:space-between;font-family:Inter,sans-serif;font-size:.9rem;cursor:pointer}.select-field-option-label{min-width:0;overflow-wrap:anywhere}.select-field-option[aria-selected=true]{font-weight:600;background:transparent}.select-field-option.select-field-option-active,.select-field-option.select-field-option-active[aria-selected=true]{background:var(--surface-tint)}.select-field-check{display:inline-flex;flex-shrink:0;color:var(--accent-500)}.position-add-row .select-field{flex:1 1 14rem;max-width:20rem}.day-settings-modal-title{margin:0;font-family:Inter,sans-serif;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.day-settings-modal-title-accent{font-weight:600;color:var(--text-secondary)}.appointment-modal-tabs{flex-shrink:0;margin:0;padding:0 2rem;border-bottom:1px solid var(--border-subtle)}.day-settings-modal-body{flex:1;min-height:0;overflow-y:auto;padding:2rem}.day-settings-modal-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 2rem;border-top:1px solid var(--border-subtle)}.day-settings-modal-footer:has(.treatment-plan-print-notice){flex-wrap:wrap}.day-settings-modal-footer .appointment-delete-btn{margin-right:auto}.day-settings-modal-footer .appointment-delete-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.day-settings-modal-overlay{padding:.5rem}.day-settings-modal-header,.day-settings-modal-footer,.day-settings-modal-body{padding:1rem}}.day-settings-modal:focus,.create-from-template-modal:focus,.modal-confirm:focus,.day-settings-modal-title:focus,.modal-confirm-text:focus{outline:none}.day-settings-modal-overlay.modal-confirm-overlay{z-index:300;background:color-mix(in srgb,var(--backdrop) 35%,transparent);backdrop-filter:none}.modal-confirm{width:100%;max-width:28.75rem;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;background:var(--surface-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.modal-confirm-text{font-family:Inter,sans-serif;font-size:1rem;font-weight:600;line-height:1.5;color:var(--text-primary)}.modal-confirm-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.draft-restore-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:1.25rem;padding:.875rem 1rem;border-radius:var(--radius-sm);border-left:3px solid var(--accent-500);background:var(--surface-tint);font-family:Inter,sans-serif;font-size:.9rem;color:var(--text-secondary)}.draft-restore-text{display:flex;flex-direction:column;gap:.25rem}.draft-restore-text strong{color:var(--text-primary)}.draft-restore-actions{display:flex;gap:.5rem}.appointment-notice-list{margin:.25rem 0 0;padding-left:1.1rem}.appointment-form{display:flex;flex-direction:column;gap:1.25rem;max-width:53.75rem}.appointment-form[hidden]{display:none}.appointment-form-fields{display:flex;flex-direction:column;gap:1.25rem}.appointment-cash-busy-note{margin-bottom:1rem}.appointment-form-row{display:flex;flex-direction:column;gap:.35rem}.appointment-services-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem}.appointment-payment-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 2rem}.appointment-payment-group{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem}.appointment-payment-total{gap:.75rem}.appointment-payment-total .appointment-form-label{font-size:.875rem;color:var(--text-primary);letter-spacing:.01em}.appointment-payment-total .appointment-form-value{padding:.65rem 0;border:1.5px solid transparent;font-size:1.05rem;font-weight:700;white-space:nowrap}.appointment-form-datetime-row{flex-direction:row;align-items:center;flex-wrap:wrap;gap:1.25rem}.appointment-form-duration{font-family:Inter,sans-serif;font-size:.85rem;font-weight:700;color:var(--accent-rose);background:var(--accent-rose-tint);padding:.35rem .75rem;border-radius:var(--radius-sm);white-space:nowrap}.appointment-form-label{font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.appointment-form-value{font-family:Inter,sans-serif;font-size:1rem;font-weight:600;color:var(--text-primary)}.appointment-form-note{margin:0;font-family:Inter,sans-serif;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.weekday-user-row.dragging,.doctor-day-card.dragging{opacity:.5}.client-list-drag-handle{display:flex;align-items:center;justify-content:center;width:20px;height:34px;color:var(--text-muted);cursor:grab;flex-shrink:0}.client-list-drag-handle svg{width:16px;height:16px}.appointment-status-color-input{width:28px;height:28px;padding:0;border:1.5px solid var(--border-subtle);border-radius:50%;background:none;cursor:pointer;flex-shrink:0;overflow:hidden}.appointment-status-color-input::-webkit-color-swatch-wrapper{padding:0}.appointment-status-color-input::-webkit-color-swatch{border:none;border-radius:50%}.appointment-status-color-input::-moz-color-swatch{border:none;border-radius:50%}.clinic-add-form .appointment-status-color-input{flex:0 0 28px;min-width:0;width:28px;height:28px;padding:0;border:1.5px solid var(--border-subtle);border-radius:50%;background:none}.manipulations-list{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0 0 .75rem;padding:0}.manipulations-list-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;background:var(--surface-tint);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.manipulations-list-item-with-details{flex-wrap:wrap}.manipulations-list-details{flex-basis:100%}.treatment-plan-pick{display:flex;flex-direction:column;gap:.75rem;max-height:60vh;overflow-y:auto}.treatment-plan-pick-name{font-weight:600;margin:0}.treatment-plan-pick-stage{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.5rem .75rem;margin:0}.treatment-plan-pick-stage legend{font-weight:600;padding:0 .25rem}.treatment-plan-pick-item{display:flex;align-items:center;gap:.6rem;padding:.35rem 0}.treatment-plan-pick-label{display:flex;align-items:flex-start;gap:.5rem;flex:1;min-width:0;cursor:pointer}.treatment-plan-pick-quantity{width:4.5rem}.treatment-plan-pick-show-done{display:flex;align-items:center;gap:.5rem}.manipulations-color-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%}.manipulations-list-name{flex:1;min-width:0;font-size:.9rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manipulations-list-name-unresolved{color:var(--text-muted);font-style:italic}.manipulations-list-price{flex-shrink:0;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.quantity-stepper{display:flex;align-items:center;flex-shrink:0;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-solid)}.quantity-stepper-btn{width:28px;height:28px;border:none;background:none;color:var(--text-secondary);font-size:1rem;line-height:1;cursor:pointer}.quantity-stepper-btn:hover:not(:disabled){background:var(--surface-tint);color:var(--text-primary)}.quantity-stepper-btn:disabled{opacity:.4;cursor:default}.quantity-stepper .quantity-stepper-input{width:2.25rem;min-height:0;box-shadow:none;border-radius:0;height:28px;padding:0;border:none;border-left:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);background:none;color:var(--text-primary);font-size:.9rem;text-align:center}.quantity-stepper .quantity-stepper-input:disabled{color:var(--text-muted)}.manipulations-list-quantity{flex-shrink:0;font-size:.9rem;color:var(--text-secondary)}.manipulations-list-teeth{flex-shrink:0;font-size:.8rem;color:var(--text-secondary)}.appointment-journals{display:flex;flex-direction:column;gap:.75rem}.appointment-journal{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-solid) 60%,transparent)}.appointment-journal-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.appointment-journal-date{font-weight:600;color:var(--text-primary)}.appointment-journal-author,.appointment-journal-edited,.appointment-journal-teeth{font-size:.85rem;color:var(--text-secondary)}.appointment-journal-badge{padding:.1rem .5rem;border-radius:999px;font-size:.75rem;color:var(--text-secondary);border:1px solid var(--border-subtle)}.appointment-journal-edit{margin-left:auto}.appointment-journal-part-title{margin:0;font-size:.85rem;font-weight:600;color:var(--text-primary)}.appointment-journal-part-text{margin:.15rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-primary)}.appointment-journal-flags{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.appointment-journal-checkbox{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--text-primary);cursor:pointer}.appointment-journal-part-editor{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.appointment-journal-part-editor .form-group{align-self:stretch}.appointment-journal-actions{display:flex;gap:.5rem}.manipulations-list-teeth-btn{border:1px dashed var(--border-strong);border-radius:6px;background:none;padding:.15rem .45rem;cursor:pointer}.manipulations-list-teeth-btn:hover:not(:disabled){border-color:var(--accent-500);color:var(--accent-500)}.service-teeth{display:flex;flex-direction:column;align-items:center;gap:6px}.service-teeth-mode{display:inline-flex;border:1px solid var(--border-strong);border-radius:999px;padding:2px;gap:2px;margin-bottom:6px}.service-teeth-mode-btn{border:none;background:none;padding:.3rem .9rem;border-radius:999px;font-size:.8rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.service-teeth-mode-btn.active{background:var(--accent-500);color:var(--text-on-accent)}.service-teeth-row{display:grid;gap:4px;justify-content:center;width:100%}.service-teeth-row-adult{grid-template-columns:repeat(16,minmax(0,30px))}.service-teeth-row-child{grid-template-columns:repeat(10,minmax(0,30px))}.service-teeth-row:nth-of-type(2){padding-bottom:6px;border-bottom:1px solid var(--border-strong)}.service-teeth-tooth{height:30px;min-width:0;padding:0;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-primary, transparent);font-size:.8rem;color:var(--text-primary);cursor:pointer}.service-teeth-tooth.selected{background:var(--accent-500);border-color:var(--accent-500);color:var(--text-on-accent)}.service-teeth-summary{margin:6px 0 0;font-size:.85rem;color:var(--text-secondary)}.service-diagnosis-code,.service-diagnosis-empty{flex-shrink:0;padding:.1rem .45rem;border-radius:var(--radius-sm);font-size:.8rem;line-height:1.4;white-space:nowrap}.service-diagnosis-code{color:var(--text-primary);background:var(--surface-solid);border:1px solid var(--border-subtle);font-variant-numeric:tabular-nums}.service-diagnosis-empty{color:var(--text-secondary);background:none;border:1px dashed var(--border-subtle)}.service-diagnosis-button{font:inherit;font-size:.8rem;cursor:pointer}.service-diagnosis-button:hover:not(:disabled){border-color:var(--accent-500)}.service-diagnosis-button:disabled{cursor:default;opacity:.6}.service-diagnosis-combobox{flex:0 1 15rem;min-width:10rem}.service-diagnosis-combobox .search-input{width:100%;padding-top:.25rem;padding-bottom:.25rem;font-size:.85rem}.service-diagnosis-menu{left:auto;right:0;width:min(28rem,calc(100vw / var(--ui-zoom) - 2rem))}.service-diagnosis-clear{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);border-radius:0}.manipulations-list-unit{flex-shrink:0;font-size:.8rem;color:var(--text-muted)}.manipulations-total{margin-top:.6rem;font-size:.9rem;color:var(--text-primary);text-align:right}.client-list-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;flex-shrink:0}.client-list-badge svg{width:12px;height:12px}.client-documents-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.client-document-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-tint)}.client-document-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.client-document-name{font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-document-meta{font-size:.8125rem;color:var(--text-muted)}.client-document-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.treatment-plan-print-notice{flex-basis:100%;order:1;display:flex;flex-wrap:wrap;gap:.75rem;font-size:.875rem}.treatment-plan-print-notice .error-message{margin:0}.manipulation-code{flex-shrink:0;padding:.1rem .45rem;border-radius:var(--radius-pill);background:var(--surface-tint-strong);color:var(--accent-600);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.error-message a{color:inherit;font-weight:600;text-decoration:underline}.owner-transfer-pending{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:1rem;padding:.875rem 1rem;border-radius:var(--radius-sm);border-left:3px solid var(--accent-amber);background:var(--accent-amber-tint);font-family:Inter,sans-serif;font-size:.875rem;color:var(--text-primary)}.owner-transfer-pending-text{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1 1 18rem}.owner-transfer-dialog-body,.confirm-dialog-body{display:flex;flex-direction:column;gap:.75rem;font-family:Inter,sans-serif;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.owner-transfer-dialog .error-message,.confirm-dialog-wide{max-width:38.75rem}.confirm-dialog .error-message{margin-bottom:0}.confirm-dialog-body p{margin:0}.medical-data-transfer-list{margin:0;padding-left:1.25rem;color:var(--text-primary)}.owner-transfer-confirm{max-width:35rem}.owner-transfer-confirm-details{display:flex;flex-direction:column;gap:.25rem;margin:0 0 1rem;padding:.875rem 1rem;border-radius:var(--radius-sm);background:var(--surface-tint);font-family:Inter,sans-serif;font-size:.9rem}.owner-transfer-confirm-actions{display:flex;flex-wrap:wrap;gap:.75rem}@media(max-width:640px){.owner-transfer-confirm-actions{flex-direction:column;gap:.5rem;margin-top:1rem}.owner-transfer-confirm-actions .btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:var(--phone-control-height)}.owner-transfer-confirm-actions .btn-danger{order:-1}}.doctor-day-card-day-off-mark{font-weight:500;color:var(--text-muted)}.day-column-day-off-note{position:absolute;top:.5rem;left:50%;transform:translate(-50%);z-index:1;max-width:calc(100% - 1rem);padding:.2rem .6rem;border-radius:var(--radius-pill);background:var(--surface-tint);color:var(--text-muted);font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.deleted-patient-banner{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.875rem 1rem;border-radius:var(--radius-sm);border-left:3px solid var(--accent-amber);background:var(--accent-amber-tint);font-size:.875rem;line-height:1.5;color:var(--text-primary)}.deleted-patient-banner-text{flex:1;min-width:0;overflow-wrap:anywhere}.deleted-patient-banner-text strong{font-weight:600}.deleted-patient-banner-note{color:var(--text-secondary)}.deleted-patient-banner .btn{flex-shrink:0}.free-slot-search-button,.employee-filter-button{display:inline-flex;align-items:center;gap:.5rem}.free-slot-search-button svg,.employee-filter-button svg{width:18px;height:18px}.free-slot-filter-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .35rem .2rem .75rem;border-radius:var(--radius-pill);background:var(--surface-tint-strong);font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;color:var(--text-primary)}.free-slot-filter-reset{width:24px;height:24px}.free-slot-filter-reset svg{width:14px;height:14px}.day-settings-modal.free-slot-modal{height:auto;max-height:100%;max-width:32.5rem}.free-slot-modal-body{display:flex;flex-direction:column;gap:1.25rem}.free-slot-field{display:flex;flex-direction:column;gap:.5rem}.free-slot-field-label{font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;color:var(--text-primary)}.free-slot-duration-header{display:flex;align-items:baseline;justify-content:space-between}.free-slot-duration-value{font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;color:var(--accent-500);font-variant-numeric:tabular-nums}.free-slot-duration-slider{width:100%;margin:0;accent-color:var(--accent-500);cursor:pointer}.free-slot-duration-scale{display:flex;justify-content:space-between;font-family:Inter,sans-serif;font-size:.75rem;color:var(--text-secondary)}.free-slot-users{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;max-height:calc(40vh / var(--ui-zoom));overflow-y:auto}.free-slot-user{display:flex;align-items:center;gap:.625rem;padding:.4rem .5rem;border-radius:var(--radius-sm);cursor:pointer}.free-slot-user:hover{background:var(--surface-tint)}.free-slot-user-name{font-family:Inter,sans-serif;font-size:.9rem;color:var(--text-primary)}.free-slot-users-error{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.mini-calendar-day-slot{background:#05966924;color:var(--accent-emerald-text);font-weight:600}.mini-calendar-day-slot:hover{background:#05966938}.mini-calendar-day-noslot{background:var(--accent-rose-tint);color:var(--accent-rose)}.mini-calendar-day-noslot:hover{background:var(--accent-rose-tint)}.mini-calendar-day-slot.mini-calendar-day-selected,.mini-calendar-day-noslot.mini-calendar-day-selected{background:var(--accent-gradient);color:var(--text-on-accent)}.employee-filter-user{display:flex;align-items:center;width:100%;gap:.625rem;padding:.4rem .5rem;border:none;border-radius:var(--radius-sm);background:transparent;text-align:left;cursor:pointer}.employee-filter-user:hover{background:var(--surface-tint)}.employee-filter-user[aria-checked=true]{background:var(--surface-tint-strong)}.employee-filter-user[aria-checked=true] .free-slot-user-name{font-weight:600}.tab-badge-danger{background:var(--accent-rose)}.appointment-status-badge{flex-shrink:0;max-width:45%;padding:.125rem .625rem;border-radius:999px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-type-line{display:flex;align-items:center;gap:.375rem}.appointment-type-line-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.day-column-busy{position:absolute;box-sizing:border-box;z-index:2;margin:0 1px;padding:.1rem .35rem;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.35rem;overflow:hidden;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);font-size:.72rem;line-height:1.25;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--text-primary) 12%,var(--surface-solid)) 0 6px,color-mix(in srgb,var(--text-primary) 6%,var(--surface-solid)) 6px 12px);-webkit-user-select:none;user-select:none}.day-column-busy-interactive{cursor:pointer}.day-column-busy-interactive:hover{border-color:var(--text-secondary)}.day-column-busy:focus-visible{outline:2px solid var(--text-primary);outline-offset:-2px}.day-column-busy-label{font-weight:600}.user-row-with-busy-times{flex-wrap:wrap}.user-row-with-busy-times>.user-row-info{flex:1 1 0;min-width:0}.busy-time-editor{flex:0 0 100%;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.busy-time-list{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:.25rem}.busy-time-item{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.busy-time-mark{width:.7rem;height:.7rem;border-radius:2px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--text-primary) 14%,var(--surface-solid))}.busy-time-action,.busy-time-add{font-size:.8rem}.busy-time-label-input{font-family:Inter,sans-serif;padding:.4rem .6rem;border:1.5px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-primary);background:var(--surface-solid)}.busy-time-days{display:flex;flex-wrap:wrap;gap:.6rem}.dashboard-layout{display:flex;min-height:calc(100vh / var(--ui-zoom))}.dashboard-content{margin-left:var(--sidebar-width);flex:1;min-width:0;font-family:Inter,sans-serif}.sidebar--collapsed~.dashboard-content{margin-left:var(--sidebar-collapsed-width)}.dashboard-page{padding:1.5rem}.dashboard-content .page-title:not([style]),.dashboard-content .page-subtitle,.dashboard-content .back-link,.dashboard-content .page-header:not(:has(>:not(.page-title,.page-subtitle,.back-link))){display:none}@media(max-width:640px){.dashboard-layout{display:block}.dashboard-content,.sidebar--collapsed~.dashboard-content{margin-left:0;overflow-x:auto}.dashboard-page{padding:var(--phone-gutter);padding-bottom:calc(var(--phone-tabbar-height) + env(safe-area-inset-bottom) + var(--phone-gutter));padding-left:calc(var(--phone-gutter) + env(safe-area-inset-left));padding-right:calc(var(--phone-gutter) + env(safe-area-inset-right))}}.page-loading{--page-loading-tone: color-mix(in srgb, var(--border-subtle) 60%, var(--surface-muted));display:flex;flex-direction:column;gap:1rem;animation:page-loading-appear 0s linear .3s both}.page-loading-toolbar{display:flex;justify-content:space-between;gap:.625rem}.page-loading-block,.page-loading-line{display:block;background:linear-gradient(90deg,var(--page-loading-tone) 0%,var(--bg-gradient) 40%,var(--page-loading-tone) 80%);background-size:200% 100%;animation:page-loading-shimmer 1.4s ease-in-out infinite}.page-loading-block{height:var(--control-height);border-radius:var(--radius-sm)}.page-loading-block--search{width:min(20rem,60%)}.page-loading-block--button{width:8.75rem}.page-loading-card{overflow:hidden;background:var(--surface-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.page-loading-head{height:2.5rem;background:var(--surface-subtle);border-bottom:1px solid var(--border-subtle)}.page-loading-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:2.5rem;height:3.25rem;padding:0 1rem}.page-loading-row+.page-loading-row{border-top:1px solid var(--border-subtle)}.page-loading-line{height:.75rem;border-radius:6px}.page-loading-line--short{width:70%}.page-loading-line--tiny{width:45%}@keyframes page-loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(max-width:640px){.page-loading-row{grid-template-columns:minmax(0,1fr) 5rem}.page-loading-line--tiny{display:none}.page-loading-block--button{width:6rem}}@media(prefers-reduced-motion:reduce){.page-loading-block,.page-loading-line{animation:none}}@keyframes page-loading-appear{0%{visibility:hidden}to{visibility:visible}}.app-banner{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.5rem .625rem .5rem .75rem;border-radius:var(--radius-sm);font-size:.875rem;line-height:1.45;color:var(--text-primary)}.app-banner+.app-banner{margin-top:-.25rem}.app-banner--warning{background:var(--accent-amber-tint)}.app-banner--danger{background:var(--accent-rose-tint)}.app-banner--success{background:var(--accent-teal-tint)}.app-banner--info{background:var(--surface-tint)}.app-banner-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:1.625rem;height:1.625rem;border-radius:50%}.app-banner--warning .app-banner-icon{color:var(--accent-amber-text);background:color-mix(in srgb,var(--accent-amber) 16%,transparent)}.app-banner--danger .app-banner-icon{color:var(--accent-rose-text);background:color-mix(in srgb,var(--accent-rose) 14%,transparent)}.app-banner--success .app-banner-icon{color:var(--accent-teal-text);background:color-mix(in srgb,var(--accent-teal) 18%,transparent)}.app-banner--info .app-banner-icon{color:var(--accent-700);background:var(--surface-tint-strong)}.app-banner-icon svg{width:.9375rem;height:.9375rem}.app-banner-text{flex:1;min-width:0;overflow-wrap:anywhere}.app-banner-text strong{font-weight:600}.app-banner--danger .app-banner-text strong{color:var(--accent-rose-text)}.app-banner-hint,.app-banner-note{color:var(--text-secondary)}.app-banner .btn{flex-shrink:0}@media(max-width:640px){.app-banner{flex-wrap:wrap;align-items:flex-start}.app-banner-text{flex-basis:calc(100% - 2.5rem)}.app-banner .btn{margin-left:2.375rem}}.session-notice{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:400;display:flex;align-items:flex-start;gap:.75rem;width:max-content;max-width:calc(100vw / var(--ui-zoom) - 2rem);padding:.875rem 1rem;border-radius:var(--radius-sm);border-left:3px solid var(--accent-amber);background:var(--surface-solid);box-shadow:var(--shadow-md);font-family:Inter,sans-serif;font-size:.875rem;line-height:1.5;color:var(--text-primary)}.session-notice-text{margin:0;max-width:34rem;color:var(--text-secondary)}.session-notice-text strong{font-weight:600;color:var(--text-primary)}.session-notice-close{flex-shrink:0;padding:0 .25rem;border:none;background:none;font-size:1.25rem;line-height:1;color:var(--text-muted);cursor:pointer}.session-notice-close:hover{color:var(--text-primary)}.app-version-notice{position:fixed;right:1rem;bottom:1rem;z-index:25;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;max-width:min(26rem,calc(100vw / var(--ui-zoom) - 2rem));padding:.75rem 1rem;border-radius:var(--radius-sm);border-left:3px solid var(--accent-500);background:var(--surface-solid);box-shadow:var(--shadow-md);font-family:var(--font-body);font-size:.875rem;line-height:1.45;color:var(--text-primary)}.app-version-notice-text{flex:1 1 14rem;display:flex;flex-direction:column;gap:.125rem;margin:0;min-width:0;color:var(--text-secondary)}.app-version-notice-text strong{font-weight:600;color:var(--text-primary)}.app-version-notice-actions{display:flex;gap:.5rem;flex-shrink:0}.app-version-notice-button{padding:.45rem .9rem;font-family:inherit;font-size:.85rem;font-weight:600;color:var(--accent-600);background:var(--surface-tint-strong);border:none;border-radius:var(--radius-sm);cursor:pointer}.app-version-notice-button.primary{color:var(--text-on-accent);background:var(--accent-gradient)}.app-version-notice-button:disabled{opacity:.55;cursor:not-allowed}.app-version-notice-button:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}@media(max-width:640px){.app-version-notice{bottom:calc(var(--phone-tabbar-height) + env(safe-area-inset-bottom) + .5rem)}}.auth-container{min-height:calc(100vh / var(--ui-zoom));display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{background:var(--surface-glass-strong);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);border:1px solid var(--border-glass);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:3rem;width:100%;max-width:27.5rem}.auth-header{text-align:center;margin-bottom:2.5rem}.auth-header h1{font-family:var(--font-display);font-size:2.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.02em}.auth-header p{font-family:Inter,sans-serif;font-size:1rem;color:var(--text-secondary);font-weight:400}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-family:Inter,sans-serif;font-size:.8125rem;font-weight:500;color:var(--text-secondary);letter-spacing:.01em}.form-group input,.form-group select,.form-group textarea{font-family:Inter,sans-serif;min-height:var(--control-height);padding:.4375rem .875rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-primary);background:var(--surface-solid);transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-500);background:var(--surface-solid);box-shadow:0 0 0 3px var(--surface-tint-strong)}.form-group textarea{resize:vertical;min-height:4.5rem;font-family:inherit}.form-group input::placeholder{color:var(--text-muted)}.auth-button{font-family:Inter,sans-serif;margin-top:.5rem;padding:1rem;background:var(--accent-gradient);color:var(--text-on-accent);border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.01em;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--accent-500) 50%,transparent)}.auth-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.auth-button:active{transform:translateY(0)}.auth-button:disabled{background:var(--surface-disabled);color:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}.auth-button:disabled:hover{background:var(--surface-disabled);transform:none;box-shadow:none}.error-message{font-family:Inter,sans-serif;font-size:.875rem;color:var(--text-danger);background:var(--accent-rose-tint);padding:.75rem 1rem;border-radius:var(--radius-sm);border-left:3px solid var(--accent-rose);margin-top:.5rem}.auth-footer{margin-top:1.5rem;text-align:center;font-family:Inter,sans-serif}.auth-footer p{font-size:.875rem;color:var(--text-secondary)}.auth-footer a{color:var(--accent-500);text-decoration:none;font-weight:600;transition:color .2s ease}.auth-footer a:hover{color:var(--accent-600);text-decoration:underline}@media(max-width:480px){.auth-card{padding:2rem}.auth-header h1{font-size:1.85rem}}.auth-text{font-family:Inter,sans-serif;font-size:.9375rem;line-height:1.5;color:var(--text-secondary);margin:0}.auth-notice{font-family:Inter,sans-serif;font-size:.9375rem;line-height:1.5;color:var(--accent-teal);background:var(--accent-teal-tint);padding:.875rem 1rem;border-radius:var(--radius-sm);border-left:3px solid var(--accent-teal);margin-bottom:1.5rem}.auth-notice strong{font-weight:600;overflow-wrap:anywhere}.auth-actions{display:flex;flex-direction:column;gap:.75rem}.auth-actions .auth-button{margin-top:0}.auth-button-secondary,.auth-button-secondary:hover{background:transparent;color:var(--accent-600);box-shadow:none}.auth-button-secondary{border:1.5px solid var(--border-strong)}.auth-button-secondary:hover{background:var(--surface-tint)}.auth-button-link{display:block;text-align:center;text-decoration:none}.auth-forgot-link{align-self:flex-end;margin-top:-1rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;color:var(--accent-500);text-decoration:none}.auth-forgot-link:hover{color:var(--accent-600);text-decoration:underline}.auth-card>.error-message{margin:0 0 1.5rem}@media(max-width:640px){.auth-container{align-items:flex-start;min-height:100dvh;padding:calc(1.5rem + env(safe-area-inset-top)) calc(var(--phone-gutter) + env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) calc(var(--phone-gutter) + env(safe-area-inset-left))}.auth-card{max-width:none;padding:0;background:none;border:none;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.auth-header{margin-bottom:1.5rem}.auth-header h1{font-size:1.875rem}.auth-form{gap:1rem}.form-group input,.form-group select{min-height:var(--phone-control-height);padding-top:0;padding-bottom:0}.auth-button{display:flex;align-items:center;justify-content:center;min-height:var(--phone-control-height);padding-top:0;padding-bottom:0}.auth-button:hover{transform:none}.auth-forgot-link{display:flex;align-items:center;min-height:var(--phone-tap-size);margin-top:-1rem;margin-bottom:-.5rem;font-size:.9375rem}.auth-footer{margin-top:1rem}.auth-footer a{display:inline-flex;align-items:center;min-height:var(--phone-tap-size)}}.login-page{min-height:calc(100vh / var(--ui-zoom));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2rem 1rem;font-family:Inter,sans-serif;color:var(--text-primary)}.login-brand{display:flex;align-items:center;gap:.625rem}.login-brand-mark{width:2.25rem;height:2.25rem;display:flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent-gradient);font-weight:700;font-size:.875rem;color:var(--text-on-accent);letter-spacing:-.01em}.login-brand-name{font-size:1rem;font-weight:700;letter-spacing:-.01em}.login-card{width:100%;max-width:25rem;display:flex;flex-direction:column;gap:1.25rem;padding:2rem;background:var(--surface-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.login-head h1{margin:0;font-size:1.375rem;font-weight:700;letter-spacing:-.01em}.login-head p{margin:.25rem 0 0;font-size:.875rem;color:var(--text-secondary)}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-field{display:flex;flex-direction:column;gap:.375rem}.login-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.login-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.login-forgot-link,.login-footer a{color:var(--accent-600);text-decoration:none}.login-forgot-link{font-size:.8125rem;font-weight:500}.login-forgot-link:hover,.login-footer a:hover{color:var(--accent-700);text-decoration:underline}.login-field input{width:100%;min-height:var(--control-height);padding:0 .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-solid);font:400 .875rem Inter,sans-serif;color:var(--text-primary)}.login-field input::placeholder{color:var(--text-muted)}.login-field input:focus{outline:none;border-color:var(--accent-600);box-shadow:0 0 0 3px var(--surface-tint-strong)}.login-field input:disabled{background:var(--surface-subtle);color:var(--text-secondary)}.login-field input.login-input-error{border-color:var(--accent-rose)}.login-field input.login-input-error:focus{box-shadow:0 0 0 3px var(--accent-rose-tint)}.login-hint{font-size:.75rem;color:var(--text-danger)}.login-password{position:relative}.login-password input{padding-right:2.5rem}.login-password-toggle{position:absolute;top:50%;right:.25rem;width:1.875rem;height:1.875rem;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-muted);cursor:pointer;transform:translateY(-50%)}.login-password-toggle:hover{background:var(--surface-tint);color:var(--accent-600)}.login-password-toggle:focus-visible{outline:2px solid var(--accent-500);outline-offset:1px}.login-password-toggle svg{width:1.125rem;height:1.125rem}.login-card .login-banner{margin:0;align-items:flex-start;font-size:.8125rem}.login-banner .app-banner-text{padding-top:.1875rem}.login-submit,.login-actions .btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem}.login-submit:disabled{opacity:1;background:var(--surface-disabled);color:var(--text-secondary)}.login-spinner{width:1rem;height:1rem;border:2px solid color-mix(in srgb,var(--accent-600) 25%,transparent);border-top-color:var(--accent-600);border-radius:50%;animation:login-spin .8s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.login-spinner{animation:none}}.login-actions{display:flex;flex-direction:column;gap:.625rem}.login-who{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-subtle)}.login-who-avatar{width:2.5rem;height:2.5rem;display:flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-tint-strong);color:var(--accent-700);font-size:.875rem;font-weight:700}.login-who-text{min-width:0;display:flex;flex-direction:column}.login-who-text strong{font-size:.875rem;font-weight:600;overflow-wrap:anywhere}.login-who-text span{font-size:.8125rem;color:var(--text-secondary);overflow-wrap:anywhere}.login-footer{margin:0;font-size:.875rem;color:var(--text-secondary);text-align:center}.login-footer a{font-weight:600}@media(max-width:640px){.login-page{min-height:100dvh;align-items:stretch;justify-content:flex-start;gap:2rem;padding:calc(2.5rem + env(safe-area-inset-top)) calc(var(--phone-gutter) + env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) calc(var(--phone-gutter) + env(safe-area-inset-left))}.login-card{max-width:none;gap:1rem;padding:0;background:none;border:0;border-radius:0;box-shadow:none}.login-head{margin-bottom:.5rem}.login-head p{font-size:.9375rem}.login-form{gap:1rem}.login-label-row{align-items:center}.login-forgot-link{min-height:var(--phone-tap-size);display:flex;align-items:center;font-size:.875rem}.login-field input{min-height:var(--phone-control-height);padding:0 .875rem;font-size:1rem}.login-password input{padding-right:3rem}.login-password-toggle{right:.125rem;width:var(--phone-tap-size);height:var(--phone-tap-size)}.login-password-toggle svg{width:1.25rem;height:1.25rem}.login-card .login-banner{flex-wrap:nowrap;font-size:.875rem}.login-submit,.login-actions .btn{min-height:var(--phone-control-height);font-size:1rem}.login-submit{margin-top:.5rem}.login-footer{margin-top:auto;font-size:.9375rem}.login-footer a{display:inline-flex;align-items:center;min-height:var(--phone-tap-size)}}.login-hint--muted{color:var(--text-muted)}.register-optional{font-weight:400;color:var(--text-muted)}.register-steps{display:flex;flex-direction:column;gap:.5rem}.register-steps-text{display:flex;justify-content:space-between;gap:.75rem;font-size:.75rem;font-weight:600;color:var(--text-secondary)}.register-steps-bar{display:grid;grid-template-columns:1fr 1fr;gap:.375rem}.register-steps-bar span{height:.25rem;border-radius:2px;background:var(--border-subtle)}.register-steps-bar .register-steps-done{background:var(--accent-600)}.register-who{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-subtle);font-size:.8125rem;color:var(--text-secondary)}.register-who>span{min-width:0;overflow-wrap:anywhere}.register-who strong{font-weight:600;color:var(--text-primary)}.register-who-edit{flex-shrink:0;margin-left:auto;padding:0;border:0;background:none;font:600 .8125rem Inter,sans-serif;color:var(--accent-600);cursor:pointer}.register-who-edit:hover:not(:disabled){color:var(--accent-700);text-decoration:underline}.register-who-edit:disabled{color:var(--text-muted);cursor:default}.register-who-edit:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px;border-radius:2px}.register-actions{display:flex;gap:.625rem}.register-actions .btn-secondary{flex-shrink:0}.register-actions .login-submit{flex:1;width:auto}.register-loading{--page-loading-tone: color-mix(in srgb, var(--border-subtle) 60%, var(--surface-muted));gap:1rem}.register-loading-title{width:50%;height:1.5rem}.register-loading-sub{width:80%;margin-top:-.5rem}.register-loading-button{width:60%}@media(max-width:640px){.register-who{font-size:.875rem}.register-who-edit{min-height:var(--phone-tap-size);font-size:.875rem}.register-actions .btn{min-height:var(--phone-control-height);font-size:1rem}.register-actions .login-submit{margin-top:0}.register-actions{margin-top:.5rem}}.auth-result{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-top:.5rem;text-align:center}.auth-result-ring{display:flex;padding:.5rem;border-radius:50%}.auth-result-icon{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:50%}.auth-result-icon svg{width:1.375rem;height:1.375rem}.auth-result--info .auth-result-ring{background:color-mix(in srgb,var(--surface-tint-strong) 40%,var(--surface-solid))}.auth-result--info .auth-result-icon{background:var(--surface-tint-strong);color:var(--accent-700)}.auth-result--success .auth-result-ring{background:color-mix(in srgb,var(--accent-teal) 6%,var(--surface-solid))}.auth-result--success .auth-result-icon{background:color-mix(in srgb,var(--accent-teal) 18%,var(--surface-solid));color:var(--accent-teal-text)}.auth-result--danger .auth-result-ring{background:color-mix(in srgb,var(--accent-rose) 4%,var(--surface-solid))}.auth-result--danger .auth-result-icon{background:color-mix(in srgb,var(--accent-rose) 14%,var(--surface-solid));color:var(--text-danger)}.auth-result h1{margin:0;font-size:1.375rem;font-weight:700;letter-spacing:-.01em}.auth-result p{margin:-.25rem 0 0;font-size:.875rem;line-height:1.5;color:var(--text-secondary);overflow-wrap:anywhere}.auth-result p strong{font-weight:600;color:var(--text-primary)}.auth-result .auth-result-note{margin-top:-.5rem;font-size:.8125rem;color:var(--text-muted)}.auth-result .btn,.auth-result .login-banner{align-self:stretch}.auth-result .login-banner{text-align:left}.auth-result-link{padding:0;border:0;background:none;font:600 .8125rem Inter,sans-serif;color:var(--accent-600);cursor:pointer}.auth-result-link:hover{color:var(--accent-700);text-decoration:underline}.auth-result-link:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px;border-radius:2px}.auth-result-divider{align-self:stretch;height:1px;background:var(--border-subtle)}.auth-result .login-footer{margin:0}@media(max-width:640px){.auth-result .btn{min-height:var(--phone-control-height);font-size:1rem}.auth-result-link{min-height:var(--phone-tap-size);font-size:.875rem}.auth-result .login-footer{margin-top:0}}.reset-rules{display:flex;flex-direction:column;gap:.25rem;margin:-.375rem 0 0;padding:0;list-style:none;font-size:.75rem;color:var(--text-muted)}.reset-rule{display:flex;align-items:center;gap:.375rem}.reset-rule-dot{flex:none;width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;border:1.5px solid color-mix(in srgb,var(--border-strong) 80%,var(--text-muted));border-radius:50%}.reset-rule-dot svg{width:.625rem;height:.625rem}.reset-rule--done{color:var(--accent-teal-text)}.reset-rule--done .reset-rule-dot{border-color:color-mix(in srgb,var(--accent-teal-text) 60%,var(--accent-teal));background:color-mix(in srgb,var(--accent-teal-text) 60%,var(--accent-teal));color:var(--text-on-accent)}.reset-rule--failed{color:var(--text-danger)}.reset-rule--failed .reset-rule-dot{border-color:var(--accent-rose)}.reset-loading-field{height:3.5rem}@media(max-width:640px){.reset-rules{font-size:.8125rem}}.clinic-switcher{position:relative;padding:0 .75rem .75rem;flex-shrink:0}.clinic-switcher-trigger{width:100%;display:flex;align-items:center;gap:.625rem;padding:.5rem;background:var(--surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.clinic-switcher-trigger:hover,.clinic-switcher-trigger[aria-expanded=true]{border-color:var(--border-strong);background:var(--surface-solid)}.clinic-switcher-trigger:focus-visible{outline:2px solid var(--accent-500);outline-offset:1px}.clinic-switcher-trigger--static{cursor:default}.clinic-switcher-trigger--static:hover{border-color:var(--border-subtle);background:var(--surface-subtle)}.clinic-switcher-trigger:disabled{cursor:default;opacity:.75}.clinic-switcher-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.0625rem}.clinic-switcher-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.8125rem;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.clinic-switcher-role{font-size:.6875rem;line-height:1.3;color:var(--text-secondary)}.clinic-switcher-chevron{display:flex;flex-shrink:0;width:1rem;height:1rem;color:var(--text-muted)}.clinic-switcher-chevron svg{width:100%;height:100%}.clinic-avatar{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:2.125rem;height:2.125rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;color:var(--text-on-accent);letter-spacing:.02em}.clinic-avatar svg{width:1rem;height:1rem}.clinic-avatar--0{background:var(--accent-500)}.clinic-avatar--1{background:var(--accent-teal-text)}.clinic-avatar--2{background:var(--accent-amber)}.clinic-avatar--3{background:var(--accent-violet)}.clinic-avatar--4{background:var(--accent-blue)}.clinic-avatar--5{background:var(--accent-rose-text)}.clinic-avatar--empty{background:var(--surface-muted);color:var(--text-secondary)}.clinic-switcher--collapsed{display:flex;justify-content:center}.clinic-switcher--collapsed .clinic-switcher-trigger{width:auto;padding:.25rem;border-color:transparent;background:none}.clinic-switcher--collapsed .clinic-switcher-text,.clinic-switcher--collapsed .clinic-switcher-chevron{display:none}.clinic-switcher-flyout{position:absolute;top:calc(100% - .25rem);left:.75rem;width:18rem;padding:.5rem;background:var(--surface-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:30}.clinic-switcher--collapsed .clinic-switcher-flyout{top:0;left:calc(100% - .5rem)}.clinic-switcher-flyout-title{padding:.25rem .5rem .5rem;font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.clinic-switcher-search{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem;padding:0 .625rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-muted)}.clinic-switcher-search:focus-within{border-color:var(--accent-500);box-shadow:0 0 0 3px var(--surface-tint-strong)}.clinic-switcher-search svg{flex-shrink:0;width:.875rem;height:.875rem}.clinic-switcher-search input{flex:1;min-width:0;height:2rem;border:none;background:none;font-family:var(--font-body);font-size:.8125rem;color:var(--text-primary);outline:none}.clinic-switcher-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;max-height:18rem;overflow-y:auto}.clinic-switcher-option{width:100%;display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;text-decoration:none;font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--text-primary);transition:background-color .15s ease}.clinic-switcher-option .clinic-avatar{width:1.75rem;height:1.75rem;font-size:.6875rem}.clinic-switcher-option:hover{background:var(--surface-tint)}.clinic-switcher-option.active{background:var(--surface-tint);color:var(--accent-700);font-weight:600}.clinic-switcher-option-name{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .4rem;min-width:0}.clinic-switcher-option-label{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clinic-switcher-option-check{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;flex-shrink:0;color:var(--accent-600)}.clinic-switcher-option-check svg{width:100%;height:100%}.clinic-switcher-empty{padding:.5rem;font-size:.8125rem;color:var(--text-secondary)}.clinic-switcher-separator{height:1px;margin:.375rem 0;background:var(--border-subtle)}.clinic-switcher-owner-tag{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;color:var(--accent-teal-text);background:var(--accent-teal-tint);padding:.125rem .4rem;border-radius:var(--radius-pill);flex-shrink:0}.clinic-switcher-deletion-tag{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;color:var(--accent-rose);background:var(--accent-rose-tint);padding:.125rem .4rem;border-radius:var(--radius-pill);flex-shrink:0}.status-badge.deleting{background:var(--accent-rose-tint);color:var(--accent-rose);flex-shrink:0}.account-deletion-clinics{margin:.5rem 0 0;padding-left:1.25rem}.account-deletion-clinics a{color:var(--accent-600)}.phone-call-widget{position:fixed;z-index:250;width:22.5rem;max-width:calc(100vw / var(--ui-zoom) - 2rem);display:flex;flex-direction:column;background:var(--surface-solid);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:0 20px 45px -16px #4c3c8c4d}.phone-call-widget-unplaced{right:1rem;bottom:1rem}.phone-call-widget-collapsed{width:auto}.phone-call-widget-phone{left:.5rem;right:.5rem;bottom:calc(var(--mobile-tab-bar-height, 3.5rem) + .5rem);width:auto;max-width:none}.phone-call-widget-head{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.85rem;font-weight:600;color:var(--text-secondary);cursor:move;user-select:none;touch-action:none}.phone-call-widget-phone .phone-call-widget-head{cursor:default}.phone-call-widget-collapsed .phone-call-widget-head{cursor:move}.phone-call-drag{display:inline-flex;width:.875rem;height:.875rem;color:var(--text-muted)}.phone-call-drag svg{width:100%;height:100%}.phone-call-dot{flex-shrink:0;width:.5rem;height:.5rem;border-radius:50%;background:var(--accent-amber);box-shadow:0 0 0 3px var(--accent-amber-tint)}.phone-call-dot-active{background:var(--accent-teal);box-shadow:0 0 0 3px var(--accent-teal-tint)}.phone-call-heading{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.phone-call-collapsed-lists .client-picker-lists{margin:0}.phone-call-toggle{flex-shrink:0;width:1.75rem;height:1.75rem}.phone-call-toggle svg{width:1rem;height:1rem}.phone-call-widget-body{display:flex;flex-direction:column;gap:.75rem;padding:0 1rem 1rem}.phone-call-patient{display:flex;flex-direction:column;gap:.25rem}.phone-call-name{font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:var(--text-primary);text-decoration:none}.phone-call-name:hover{color:var(--accent-600)}.phone-call-number{font-family:var(--font-display);font-size:1.125rem;font-weight:700}.phone-call-sub{font-size:.8rem;color:var(--text-secondary);margin:0}.phone-call-line{display:flex;justify-content:space-between;gap:.75rem;padding:.5rem .625rem;border-radius:var(--radius-sm);background:var(--surface-tint);font-size:.8rem}.phone-call-line-label{color:var(--text-secondary)}.phone-call-line-value{font-weight:600;text-align:right}.phone-call-related-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.phone-call-related{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.phone-call-related-name{color:var(--text-primary);font-weight:600;text-decoration:none}.phone-call-related-name:hover{color:var(--accent-600)}.phone-call-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;background:var(--accent-teal-tint);color:var(--accent-teal-text)}.phone-call-tag-relation{background:var(--surface-tint);color:var(--text-secondary)}.phone-call-action{justify-content:center;text-align:center;text-decoration:none}.phone-call-dialing{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;border-radius:var(--radius-sm);background:var(--accent-teal-tint);color:var(--text-primary);font-size:.85rem}.phone-call-dialing-icon{display:inline-flex;width:1.125rem;height:1.125rem;color:var(--accent-emerald-text);flex-shrink:0}.phone-call-dialing-icon svg{width:100%;height:100%}.phone-call-cancel{margin-left:auto;height:2rem;padding:0 .75rem;font-size:.8rem;flex-shrink:0}.call-button-wrap{display:inline-flex;flex-direction:column;gap:.25rem;vertical-align:middle}.call-button{display:inline-flex;align-items:center;gap:.375rem;height:1.875rem;padding:0 .625rem;border:0;border-radius:999px;background:var(--accent-teal-tint);color:var(--accent-emerald-text);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}.call-button:hover:not(:disabled){background:color-mix(in srgb,var(--accent-teal-tint) 60%,var(--accent-teal) 40%)}.call-button:disabled{cursor:not-allowed;opacity:.55}.call-button svg{width:.875rem;height:.875rem;flex-shrink:0}.call-button-compact{width:1.875rem;padding:0;justify-content:center}.call-button-error{font-size:.75rem}.profile-info-value .call-button-wrap{margin-left:.75rem}.on-the-line{margin-bottom:1rem;padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--accent-teal-tint);background:color-mix(in srgb,var(--accent-teal-tint) 40%,transparent)}.on-the-line-title{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.8rem;font-weight:600;color:var(--accent-teal-text)}.on-the-line .item-list{margin:0}.on-the-line-tag{margin-left:.5rem;vertical-align:middle}.combobox-group{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem .25rem;font-size:.75rem;font-weight:600;color:var(--accent-teal-text)}.combobox-item .phone-call-tag{margin-left:auto;flex-shrink:0}.missed-badge{position:absolute;top:-.375rem;right:-.75rem;min-width:1.125rem;height:1.125rem;padding:0 .3rem;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:999px;border:2px solid var(--surface-solid);background:var(--accent-rose);color:var(--text-on-accent);font-size:.65rem;font-weight:700;line-height:1}.sidebar-icon:has(.missed-badge),.phone-tab-icon:has(.missed-badge){position:relative}.schedule-title-row .missed-calls-button{background:var(--accent-rose-tint);border-color:transparent;color:var(--accent-rose-text)}.schedule-title-row .missed-calls-button:hover{background:color-mix(in srgb,var(--accent-rose-tint) 60%,var(--accent-rose) 40%);border-color:transparent}.missed-calls-phone-button{color:var(--accent-rose-text)}.phone-schedule-badge.missed-badge-rose{background:var(--accent-rose)}.missed-calls-overlay{position:fixed;inset:0;display:flex;justify-content:flex-end;background:color-mix(in srgb,var(--backdrop) 35%,transparent);z-index:200}.missed-calls-panel{display:flex;flex-direction:column;width:23.75rem;max-width:100%;height:100%;background:var(--surface-solid);border-left:1px solid var(--border-subtle);box-shadow:-20px 0 45px -16px #4c3c8c4d;outline:none;animation:missed-calls-slide .2s ease}@keyframes missed-calls-slide{0%{transform:translate(100%)}to{transform:none}}.missed-calls-head{display:flex;align-items:center;gap:.625rem;padding:1.375rem 1.25rem .875rem;border-bottom:1px solid var(--border-subtle)}.missed-calls-title{flex:1;margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--text-primary);outline:none}.missed-calls-count{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.missed-calls-head .icon-btn svg{width:1rem;height:1rem}.missed-calls-list{flex:1;min-height:0;overflow:auto;margin:0;padding:.5rem 0;list-style:none}.phone-sheet .missed-calls-list{max-height:60vh}.missed-call-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border-subtle)}.missed-call-row-seen{opacity:.6}.missed-call-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--accent-gradient);color:var(--text-on-accent);font-family:var(--font-display);font-size:.875rem;font-weight:600}.missed-call-avatar-none{background:var(--surface-tint-strong);color:var(--accent-600)}.missed-call-text{display:flex;flex:1;min-width:0;flex-direction:column;gap:.125rem}.missed-call-name{overflow:hidden;color:var(--text-primary);font-size:.875rem;font-weight:600;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}a.missed-call-name:hover{color:var(--accent-600)}.missed-call-sub{font-size:.75rem;color:var(--text-secondary)}.missed-call-create{color:var(--accent-600);text-decoration:none}.missed-call-create:hover{text-decoration:underline}.missed-calls-empty{padding:1.25rem;font-size:.875rem;color:var(--text-secondary)}.missed-calls-foot{display:flex;gap:.625rem;padding:.875rem 1.25rem 1.25rem;border-top:1px solid var(--border-subtle)}.missed-calls-foot .btn{flex:1;text-align:center}.missed-calls-foot .btn:disabled{cursor:not-allowed;opacity:.55}.sidebar{width:var(--sidebar-width);height:calc(100vh / var(--ui-zoom));height:calc(100dvh / var(--ui-zoom));background:var(--surface-solid);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:10}.sidebar--collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{display:flex;align-items:center;gap:.625rem;padding:1rem 1rem .875rem;flex-shrink:0}.sidebar-logo-mark{width:2.25rem;height:2.25rem;display:flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent-gradient);font-family:var(--font-display);font-weight:700;font-size:.875rem;color:var(--text-on-accent);letter-spacing:-.01em}.sidebar-brand{font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap}.sidebar--collapsed .sidebar-header{justify-content:center;padding-inline:0}.sidebar--collapsed .sidebar-brand{display:none}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:.5rem .75rem;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-group{padding:.75rem .625rem .375rem;font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.sidebar--collapsed .sidebar-group{visibility:hidden;height:.5rem;padding:0}.sidebar-item,.sidebar-collapse{position:relative;display:flex;flex-shrink:0;align-items:center;gap:.75rem;width:100%;min-height:2.5rem;padding:0 .625rem;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font-family:var(--font-body);font-size:.875rem;font-weight:500;text-align:left;text-decoration:none;cursor:pointer;transition:background-color .15s ease,color .15s ease}.sidebar-item:hover,.sidebar-collapse:hover{background:var(--surface-tint);color:var(--text-primary)}.sidebar-item.active{background:var(--surface-tint);color:var(--accent-700);font-weight:600}.sidebar-item:focus-visible,.sidebar-collapse:focus-visible{outline:2px solid var(--accent-500);outline-offset:-2px}.sidebar-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:1.25rem;height:1.25rem}.sidebar-icon svg{width:100%;height:100%}.sidebar-label,.sidebar-collapse-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-item .missed-badge{position:static;margin-left:auto;border:none}.sidebar--collapsed .sidebar-item,.sidebar--collapsed .sidebar-collapse{justify-content:center;padding:0}.sidebar--collapsed .sidebar-label,.sidebar--collapsed .sidebar-collapse-label{display:none}.sidebar--collapsed .sidebar-item .missed-badge{position:absolute;top:.25rem;right:.5rem;margin:0;border:2px solid var(--surface-solid)}.sidebar-footer{padding:.75rem;border-top:1px solid var(--border-subtle);flex-shrink:0}.sidebar-collapse{min-height:2.25rem;font-size:.8125rem;color:var(--text-muted)}@media(max-height:700px){.sidebar-header{padding-block:.625rem}.sidebar-item{min-height:2.25rem}}.sms-section{display:flex;flex-direction:column;gap:1rem}.sms-section .form-hint{margin:0}.sms-job-list{display:flex;flex-direction:column}.sms-job-row{display:grid;grid-template-columns:9.5rem minmax(0,1.1fr) minmax(0,1fr) minmax(0,2fr) auto;gap:.75rem;align-items:center;font-size:.875rem;padding:.875rem 0}.sms-job-list--appointment .sms-job-row,.sms-job-list--patient .sms-job-row{grid-template-columns:9.5rem minmax(0,1fr) minmax(0,1fr) minmax(0,2fr) auto}.sms-job-list--journal .sms-job-row{grid-template-columns:9.5rem minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.8fr) auto}.sms-job-status{justify-self:start;white-space:nowrap}.sms-job-kind,.sms-job-patient,.sms-job-when,.sms-job-text{display:flex;flex-direction:column;gap:.125rem;min-width:0}.sms-job-title{font-weight:600;color:var(--text-primary);text-decoration:none}.sms-job-sub{font-size:.78rem;color:var(--text-secondary);overflow-wrap:anywhere}.sms-job-text{color:var(--text-secondary);overflow-wrap:anywhere}.sms-job-actions{justify-self:end}.sms-empty{color:var(--text-secondary)}.sms-appointment-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;font-size:.875rem;color:var(--text-secondary)}.sms-skip{display:flex;gap:.75rem;align-items:center;padding:.625rem .875rem;border-radius:var(--radius-sm);border-left:3px solid var(--accent-amber);background:var(--accent-amber-tint);font-size:.875rem;color:var(--text-primary)}.sms-offline-banner{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.875rem 1rem;border-radius:var(--radius-sm);border-left:3px solid var(--accent-amber);background:var(--accent-amber-tint);font-size:.875rem;line-height:1.5}.sms-offline-banner strong{font-weight:600;color:var(--accent-amber-text)}@media(max-width:960px){.sms-job-list--journal .sms-job-row,.sms-job-list--appointment .sms-job-row,.sms-job-list--patient .sms-job-row{grid-template-columns:minmax(0,1fr) auto}.sms-job-row>*{grid-column:1}.sms-job-row .sms-job-actions{grid-column:2;grid-row:1 / span 4;align-self:start}}.app-header{position:sticky;top:0;z-index:9;display:flex;align-items:center;gap:1rem;height:var(--app-header-height);padding:0 1.5rem;background:var(--surface-solid);border-bottom:1px solid var(--border-subtle)}.app-header-title{display:flex;flex:1;align-items:center;gap:.375rem;min-width:0}.app-header-title h1{margin:0;overflow:hidden;font-family:var(--font-display);font-size:1.375rem;font-weight:700;letter-spacing:-.015em;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.app-header-back{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:2rem;height:2rem;margin-left:-.375rem;border-radius:var(--radius-sm);color:var(--text-secondary)}.app-header-back:hover{background:var(--surface-tint);color:var(--text-primary)}.app-header-back svg{width:1.25rem;height:1.25rem}.app-header-side{display:flex;flex-shrink:0;align-items:center;gap:.5rem}.sidebar-agent,.sidebar-sms{display:inline-flex;align-items:center;gap:.45rem;height:2rem;padding:0 .75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-solid);font-family:var(--font-body);font-size:.78rem;font-weight:600;color:var(--text-secondary);text-decoration:none;white-space:nowrap;cursor:default}.sidebar-sms{cursor:pointer}.sidebar-sms:hover{border-color:var(--border-strong)}.sidebar-agent-dot,.sidebar-sms-dot{width:.4375rem;height:.4375rem;flex-shrink:0;border-radius:50%;background:var(--text-muted)}.sidebar-agent--connected .sidebar-agent-dot,.sidebar-sms--ok .sidebar-sms-dot{background:var(--accent-teal)}.sidebar-agent--disconnected .sidebar-agent-dot{background:var(--accent-rose)}.sidebar-agent--update .sidebar-agent-dot,.sidebar-agent--warning .sidebar-agent-dot,.sidebar-sms--warning .sidebar-sms-dot{background:var(--accent-amber)}.sidebar-agent--disconnected{border-color:transparent;background:var(--accent-rose-tint);color:var(--accent-rose-text)}.sidebar-agent--update,.sidebar-agent--warning,.sidebar-sms--warning{border-color:transparent;background:var(--accent-amber-tint);color:var(--accent-amber-text)}.sidebar-sms--failed{border-color:transparent;background:var(--accent-rose-tint);color:var(--accent-rose-text)}.sidebar-sms--failed .sidebar-sms-dot{background:var(--accent-rose)}.app-header-profile{position:relative}.app-header-profile-button{display:flex;align-items:center;gap:.5rem;height:2.5rem;max-width:16rem;padding:0 .375rem 0 .25rem;border:none;border-radius:var(--radius-pill);background:none;font-family:var(--font-body);cursor:pointer}.app-header-profile-button:hover,.app-header-profile-button[aria-expanded=true]{background:var(--surface-tint)}.app-header-profile-button:focus-visible{outline:2px solid var(--accent-500);outline-offset:1px}.app-header-avatar{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--surface-tint-strong);color:var(--accent-700);font-size:.75rem;font-weight:600;letter-spacing:.02em}.app-header-profile-name{min-width:0;overflow:hidden;font-size:.875rem;font-weight:600;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.app-header-profile-chevron{display:flex;flex-shrink:0;width:1rem;height:1rem;color:var(--text-muted)}.app-header-profile-chevron svg{width:100%;height:100%}.app-header-menu{position:absolute;top:calc(100% + .375rem);right:0;z-index:30;width:15rem;padding:.375rem;background:var(--surface-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.app-header-menu-head{display:flex;flex-direction:column;gap:.125rem;margin-bottom:.25rem;padding:.5rem .625rem .625rem;border-bottom:1px solid var(--border-subtle);font-size:.875rem;overflow-wrap:anywhere}.app-header-menu-head span{font-size:.78rem;color:var(--text-secondary)}.app-header-menu-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem .625rem;border:none;border-radius:var(--radius-sm);background:none;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary);text-align:left;text-decoration:none;cursor:pointer}.app-header-menu-item:hover{background:var(--surface-tint)}.app-header-menu-item svg{width:1rem;height:1rem;color:var(--text-secondary)}.app-header-menu-item--danger,.app-header-menu-item--danger svg{color:var(--accent-rose)}.app-header-menu-item:disabled{opacity:.6;cursor:default}@media(max-width:1100px){.app-header-profile-name{display:none}}.phone-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.25rem;min-height:calc(var(--phone-topbar-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) calc(var(--phone-gutter) + env(safe-area-inset-right)) 0 calc(var(--phone-gutter) + env(safe-area-inset-left));background:var(--surface-solid);border-bottom:1px solid var(--border-subtle)}.phone-topbar-heading{display:flex;flex:1;flex-direction:column;align-items:flex-start;min-width:0;padding:.25rem 0}.phone-topbar--back{padding-left:calc(.25rem + env(safe-area-inset-left))}.phone-topbar-title{max-width:100%;min-width:0;overflow:hidden;font-family:var(--font-display);font-size:1.1875rem;font-weight:700;letter-spacing:-.01em;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.phone-icon-btn{display:flex;flex:none;align-items:center;justify-content:center;width:var(--phone-tap-size);height:var(--phone-tap-size);border-radius:var(--radius-sm);color:var(--text-secondary);-webkit-tap-highlight-color:transparent}.phone-icon-btn svg{width:1.5rem;height:1.5rem}.phone-clinic-chip{display:flex;align-items:center;gap:.2rem;max-width:100%;min-width:0;padding:0;background:none;border:none;font-family:var(--font-body);font-size:.75rem;font-weight:500;line-height:1.3;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.phone-clinic-chip--static{cursor:default}.phone-clinic-chip-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-clinic-chip-chevron{flex:none;width:.8125rem;height:.8125rem}.phone-clinic-chip-chevron svg{display:block;width:100%;height:100%}.phone-tabbar{position:fixed;right:0;bottom:0;left:0;z-index:20;display:flex;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--surface-solid);border-top:1px solid var(--border-subtle)}.phone-tab{display:flex;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:.1875rem;min-width:0;height:var(--phone-tabbar-height);background:none;border:none;color:var(--text-muted);font-family:var(--font-body);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.phone-tab.active{color:var(--accent-600)}.phone-tab-icon{width:1.5rem;height:1.5rem}.phone-tab-icon svg{display:block;width:100%;height:100%}.phone-tab-label{font-size:.75rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;white-space:nowrap}body.phone-sheet-open{overflow:hidden}.phone-sheet-root{position:fixed;inset:0;z-index:150}.phone-sheet-scrim{position:absolute;inset:0;background:color-mix(in srgb,var(--backdrop) 42%,transparent);animation:phone-sheet-fade .18s ease}.phone-sheet{position:absolute;right:0;bottom:0;left:0;display:flex;flex-direction:column;max-height:85dvh;padding-bottom:env(safe-area-inset-bottom);background:var(--surface-solid);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);font-family:var(--font-body);color:var(--text-primary);outline:none;animation:phone-sheet-rise .22s ease}.phone-sheet-grab{flex:none;display:flex;justify-content:center;padding:.5rem 0 .75rem;touch-action:none}.phone-sheet-grab span{width:2.25rem;height:.25rem;background:var(--border-strong);border-radius:2px}.phone-sheet-title{flex:none;padding:0 1.25rem .625rem;font-size:1.0625rem;font-weight:700}.phone-sheet-body{overflow-y:auto;overscroll-behavior:contain}@keyframes phone-sheet-fade{0%{opacity:0}}@keyframes phone-sheet-rise{0%{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.phone-sheet,.phone-sheet-scrim{animation:none}}.phone-menu-list{list-style:none;padding-bottom:.5rem}.phone-menu-item{display:flex;align-items:center;gap:.875rem;width:100%;min-height:3.25rem;padding:.375rem 1.25rem;background:none;border:none;font-family:inherit;font-size:1rem;font-weight:500;color:var(--text-primary);text-align:left;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.phone-menu-item:disabled{opacity:.6}.phone-menu-item--selected{background:var(--surface-tint)}.phone-menu-item--info{cursor:default}.phone-menu-item--danger,.phone-menu-item--danger .phone-menu-icon{color:var(--accent-rose)}.phone-menu-icon{display:flex;flex:none;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;color:var(--text-secondary)}.phone-menu-icon svg{width:100%;height:100%}.phone-menu-dot{width:.625rem;height:.625rem;background:var(--text-muted);border-radius:50%}.phone-menu-text{min-width:0;flex:1;overflow-wrap:anywhere}.phone-menu-text small{display:block;margin-top:.0625rem;font-size:.8125rem;font-weight:400;line-height:1.3;color:var(--text-secondary)}.phone-menu-clinic{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem}.phone-menu-chevron{flex:none;width:1.125rem;height:1.125rem;color:var(--text-muted)}.phone-menu-tick{flex:none;width:1.375rem;height:1.375rem;color:var(--accent-600)}.phone-menu-chevron svg,.phone-menu-tick svg{display:block;width:100%;height:100%}.phone-menu-separator{height:1px;margin:.375rem 0;background:var(--border-subtle)}.phone-menu-avatar{display:flex;flex:none;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;margin:0 -.375rem;border-radius:50%;background:var(--surface-tint-strong);color:var(--accent-700);font-size:.8125rem;font-weight:600}.phone-menu-user .phone-menu-text{font-weight:600}.phone-menu-sms--ok .phone-menu-dot{background:var(--accent-teal)}.phone-menu-sms--warning .phone-menu-dot{background:var(--accent-amber)}.phone-menu-sms--failed .phone-menu-dot{background:var(--accent-rose)}.clinic-gate-status{min-height:calc(100vh / var(--ui-zoom));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;font-family:Inter,sans-serif}.clinic-gate-status span,.clinic-gate-status p{color:var(--text-secondary);font-size:1rem}.clinic-gate-status .auth-button{width:auto;padding:.75rem 1.75rem}.error-screen{display:flex;flex-direction:column;align-items:center;padding:3rem 1rem 1rem;font-family:var(--font-body);color:var(--text-primary)}.error-screen--page{justify-content:center;gap:1.25rem;min-height:calc(100vh / var(--ui-zoom));padding:1rem;background:var(--bg-gradient)}.error-screen--content{min-height:calc(60vh / var(--ui-zoom))}.error-screen--inline{flex:1;min-height:0;padding:1.5rem}.error-screen--overlay{position:fixed;inset:0;z-index:10000;justify-content:center;padding:1rem;background:color-mix(in srgb,var(--backdrop) 42%,transparent)}.error-screen-logo{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700}.error-screen-logo span{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;font-size:.75rem;color:var(--text-on-accent);background:var(--accent-600);border-radius:var(--radius-sm)}.error-screen-card{width:100%;max-width:47.5rem;overflow:hidden;text-align:left;background:var(--surface-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.error-screen--overlay .error-screen-card{max-width:42.5rem;border:none;box-shadow:0 16px 48px #0f0e1e47}.error-screen-grid{display:grid;grid-template-columns:minmax(0,1fr)}.error-screen-grid--actions{grid-template-columns:repeat(2,minmax(0,1fr))}.error-screen-summary{padding:1.75rem}.error-screen-grid--actions .error-screen-summary{border-right:1px solid var(--border-subtle)}.error-screen-mark{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%}.error-screen-mark svg{width:1.25rem;height:1.25rem}.error-screen-mark--not-found,.error-screen-mark--version{color:var(--accent-700);background:var(--surface-tint)}.error-screen-mark--error{color:var(--text-danger);background:var(--accent-rose-tint)}.error-screen-mark--load{color:var(--accent-amber-text);background:var(--accent-amber-tint)}.error-screen-title{margin:.875rem 0 .5rem;font-family:var(--font-display);font-size:1.125rem;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.error-screen-text{margin:0;font-size:.875rem;line-height:1.55;color:var(--text-secondary)}.error-screen-actions{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--surface-subtle)}.error-screen-actions-title{margin:.5rem .625rem .25rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.error-screen-action{position:relative;display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid transparent;border-radius:var(--radius-md);transition:background-color .15s ease,border-color .15s ease}.error-screen-action:hover:not(.error-screen-action--disabled){background:var(--surface-solid);border-color:var(--border-subtle)}.error-screen-action--primary{background:var(--surface-solid);border-color:color-mix(in srgb,var(--accent-500) 35%,var(--border-strong))}.error-screen-action--primary:hover:not(.error-screen-action--disabled){border-color:var(--accent-500)}.error-screen-action--disabled{opacity:.5}.error-screen-action:has(.error-screen-action-control:focus-visible){outline:2px solid var(--accent-500);outline-offset:2px}.error-screen-action-icon{display:flex;align-items:center;justify-content:center;flex:none;width:2.125rem;height:2.125rem;color:var(--accent-700);background:var(--surface-tint);border-radius:9px}.error-screen-action--primary .error-screen-action-icon{color:var(--text-on-accent);background:var(--accent-600)}.error-screen-action-icon svg{width:1.0625rem;height:1.0625rem}.error-screen-action-text{display:flex;flex-direction:column;flex:1;min-width:0}.error-screen-action-control{padding:0;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.4;text-align:left;text-decoration:none;color:var(--text-primary);background:none;border:none;cursor:pointer}.error-screen-action-control:focus-visible{outline:none}.error-screen-action-control:after{content:"";position:absolute;inset:0;border-radius:inherit}.error-screen-action-control:disabled{cursor:not-allowed}.error-screen-action-description{font-size:.75rem;line-height:1rem;color:var(--text-secondary)}.error-screen-action-chevron{display:flex;flex:none;color:var(--text-muted)}.error-screen-action-chevron svg{width:1rem;height:1rem}.error-screen-footer{display:flex;flex-direction:column;gap:.375rem;padding:.625rem 1rem;border-top:1px solid var(--border-subtle)}.error-screen-notice{display:flex;align-items:center;gap:.375rem;margin:0;font-size:.8125rem;color:var(--accent-amber-text)}.error-screen-notice svg{flex:none;width:.9375rem;height:.9375rem}.error-screen-details{font-size:.8125rem;color:var(--text-secondary)}.error-screen-details summary{display:inline-block;list-style:none;padding:.25rem .375rem;font-weight:500;border-radius:6px;cursor:pointer}.error-screen-details summary::-webkit-details-marker{display:none}.error-screen-details summary:after{content:"";display:inline-block;width:.375rem;height:.375rem;margin-left:.5rem;vertical-align:.1875rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}.error-screen-details[open] summary:after{vertical-align:0;transform:rotate(-135deg)}.error-screen-details summary:hover{background:var(--surface-muted)}.error-screen-details summary:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}.error-screen-details code{display:block;max-height:8.25rem;margin-top:.5rem;padding:.625rem .75rem;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1.5;color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-muted);border-radius:var(--radius-sm)}@media(max-width:640px){.error-screen{padding:.5rem 0}.error-screen--page,.error-screen--overlay,.error-screen--inline{padding:1rem}.error-screen-grid--actions{grid-template-columns:minmax(0,1fr)}.error-screen-summary{padding:1.25rem}.error-screen-grid--actions .error-screen-summary{border-right:none;border-bottom:1px solid var(--border-subtle)}.error-screen-action{min-height:3.5rem}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff")}:root{--bg-gradient: #F5F6FA;--surface-glass: #FFFFFF;--surface-glass-strong: #FFFFFF;--surface-solid: #FFFFFF;--surface-subtle: #F8F8FB;--surface-muted: #F0F1F6;--surface-tint: #F1F2FF;--surface-tint-strong: #E5E7FF;--surface-disabled: #E6E6EE;--border-glass: #E4E5EE;--border-subtle: #E4E5EE;--border-strong: #D2D4E1;--accent-400: #818CF8;--accent-500: #6366F1;--accent-600: #4F46E5;--accent-700: #4338CA;--accent-gradient: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%);--accent-teal: #14B8A6;--accent-teal-tint: rgba(20, 184, 166, .12);--accent-amber: #D97706;--accent-amber-tint: rgba(217, 119, 6, .12);--accent-rose: #E11D48;--accent-rose-tint: rgba(225, 29, 72, .1);--accent-emerald: #059669;--accent-violet: #8B5CF6;--accent-blue: #2563EB;--accent-azure: #4F7CFF;--accent-teal-text: #0F766E;--accent-amber-text: #92400E;--accent-rose-text: #9F1239;--accent-emerald-text: #047857;--accent-violet-text: #6D28D9;--accent-blue-text: #1D4ED8;--text-primary: #191A2E;--text-secondary: #5B5D75;--text-muted: #8E90A6;--text-on-accent: #FFFFFF;--text-danger: #BE123C;--backdrop: #0F0E1E;--black: #000000;--gray: #787878;--paper: #FFFFFF;--paper-text: #111111;--shadow-paper: 0 1px 3px rgba(0, 0, 0, .15), 0 4px 16px rgba(0, 0, 0, .08);--shadow-sm: 0 1px 2px rgba(20, 20, 50, .04);--shadow-md: 0 8px 24px -12px rgba(20, 20, 50, .2);--shadow-lg: 0 16px 36px -14px rgba(20, 20, 50, .28);--shadow-glow: 0 10px 24px -8px rgba(99, 102, 241, .38);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--tooth-filling-amalgam-fill: #aaa;--tooth-filling-amalgam-stroke: #aaa;--tooth-filling-composite-fill: #ffe14d;--tooth-filling-composite-stroke: #c9a000;--tooth-filling-gic-fill: #f9ae94;--tooth-filling-gic-stroke: #f99;--tooth-filling-temporary-fill: #8fd3f4;--tooth-filling-temporary-stroke: #2a7fb5;--sidebar-width: 14.75rem;--sidebar-collapsed-width: 4.5rem;--app-header-height: 3.75rem;--control-height: 2.375rem;--control-height-sm: 1.875rem;--ui-zoom: 1;--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}@media(min-width:2560px){:root{--ui-zoom: 1.25}html{zoom:1.25}}@media(min-width:3400px){:root{--ui-zoom: 1.5}html{zoom:1.5}}@media(max-width:640px){:root{--phone-topbar-height: 3.25rem;--phone-tabbar-height: 3.5rem;--phone-gutter: 1rem;--phone-tap-size: 2.75rem;--phone-control-height: 3rem}input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select,textarea{font-size:1rem!important}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-gradient);background-attachment:fixed;color:var(--text-primary)}#root{min-height:calc(100vh / var(--ui-zoom))}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
