:root{color-scheme:light dark;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17201b;background:#f7f4ee;--surface: #fffdf8;--surface-strong: #eee6d8;--text-muted: #5f6b61;--accent: #276749;--accent-strong: #1f5139;--danger: #a43b2f;--ring: #d68c45;--border: #d9cfbd}@media (prefers-color-scheme: dark){:root{color:#f1eadf;background:#161b18;--surface: #202720;--surface-strong: #2b342c;--text-muted: #b9c3b5;--accent: #85c59f;--accent-strong: #a8d8b7;--danger: #e58b80;--ring: #efb16c;--border: #3b493f}}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:var(--accent);font-weight:650}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--ring);outline-offset:3px}button,.button{border:0;border-radius:12px;background:var(--accent);color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;justify-content:center;padding:.75rem 1rem;text-decoration:none}button:hover,.button:hover{background:var(--accent-strong)}button:disabled,input:disabled{cursor:not-allowed;opacity:.65}button.secondary{background:var(--surface-strong);color:inherit}button.danger{background:var(--danger)}input,select{border:1px solid var(--border);border-radius:10px;display:block;font:inherit;margin-top:.35rem;padding:.7rem .75rem;width:100%}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);padding:.85rem;text-align:left}.auth-panel,.page-shell{background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:0 18px 40px #232b261f;margin:8vh auto;max-width:1060px;padding:2rem;width:min(92vw,1060px)}.auth-panel,.narrow{max-width:520px}.page-header,.actions,.inline-form{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.page-header{justify-content:space-between}.stack{display:grid;gap:1rem}.notice-card{background:var(--surface-strong);border:1px solid var(--border);border-radius:18px;margin-top:1.5rem;padding:1rem}.notice-card code{background:var(--surface);border-radius:10px;display:block;font-size:1.2rem;margin:1rem 0;padding:.8rem;word-break:break-all}.badge{background:var(--surface-strong);border-radius:999px;display:inline-flex;font-weight:700;padding:.35rem .7rem}.details-list{display:grid;gap:.5rem 1rem;grid-template-columns:max-content 1fr}.details-list dt{color:var(--text-muted);font-weight:700}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.shell-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;margin:0 auto;max-width:1280px;padding:1.5rem;width:100%}@media (min-width: 768px){.shell-grid{grid-template-columns:240px 1fr;gap:2rem;padding:2rem}}.sidebar{background:var(--surface-strong);border:1px solid var(--border);border-radius:20px;display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1rem;position:relative}@media (min-width: 768px){.sidebar{position:sticky;top:1.5rem;align-self:start;max-height:calc(100dvh - 3rem)}}.sidebar nav{flex:1}.sidebar ul{display:grid;gap:.25rem;list-style:none;margin:0;padding:0}.sidebar a{border-radius:10px;color:inherit;display:block;font-weight:600;padding:.6rem .75rem;text-decoration:none;transition:background-color .12s ease}.sidebar a:hover{background:var(--surface)}.sidebar a[aria-current=page]{background:var(--surface);color:var(--accent);font-weight:700}.sidebar button{align-self:stretch}.sidebar-language{display:grid;gap:.35rem;font-size:.85rem;font-weight:600}.sidebar-language select{border:1px solid var(--border);border-radius:10px;background:var(--surface);color:inherit;font:inherit;padding:.5rem .6rem;width:100%}.filters-bar{align-items:end;display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin:1.5rem 0}.filters-bar label{display:grid;flex:1 1 200px;font-weight:600;gap:.25rem;min-width:0}.filters-bar input,.filters-bar select{margin-top:0}.filters-bar button{flex:0 0 auto;padding:.7rem 1rem}.page-shell table{display:block;overflow-x:auto;white-space:nowrap}@media (min-width: 768px){.page-shell table{display:table;white-space:normal}}.sort-button{background:transparent;border-radius:6px;color:inherit;font-weight:700;margin:-.35rem -.5rem;padding:.35rem 1.5rem .35rem .5rem;position:relative;text-align:left}.sort-button:hover{background:var(--surface-strong);color:inherit}th[aria-sort=ascending] .sort-button:after,th[aria-sort=descending] .sort-button:after,th[aria-sort=none] .sort-button:after{color:var(--text-muted);content:"↕";font-size:.85em;position:absolute;right:.4rem;top:50%;transform:translateY(-50%)}th[aria-sort=ascending] .sort-button:after{color:var(--accent);content:"↑"}th[aria-sort=descending] .sort-button:after{color:var(--accent);content:"↓"}.muted{color:var(--text-muted);font-style:italic;font-weight:600}.skeleton-row td{color:transparent;position:relative;overflow:hidden}.skeleton-row td:before{background:var(--surface-strong);border-radius:8px;content:"";top:.5rem;right:.25rem;bottom:.5rem;left:.25rem;position:absolute}.skeleton-row td:after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.35) 50%,transparent 100%);border-radius:8px;content:"";top:.5rem;right:.25rem;bottom:.5rem;left:.25rem;position:absolute;transform:translate3d(-100%,0,0);animation:skeleton-shimmer 1.2s linear infinite;will-change:transform}@keyframes skeleton-shimmer{0%{transform:translate3d(-100%,0,0)}to{transform:translate3d(100%,0,0)}}@media (prefers-reduced-motion: reduce){.skeleton-row td:after{animation:none;opacity:.4}}.empty-state,.error-state{align-items:flex-start;background:var(--surface-strong);border:1px solid var(--border);border-radius:18px;display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0;padding:1.25rem 1.5rem}.error-state{border-color:var(--danger)}.empty-state p,.error-state p{margin:0}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;margin-top:1.25rem}.pagination span{color:var(--text-muted);font-weight:600;font-variant-numeric:tabular-nums}td .badge{background:var(--danger);color:#fff;font-size:.8em;margin-left:.5rem;padding:.25rem .55rem;vertical-align:middle}.patient-detail-screen{display:grid;gap:1.5rem}.page-shell.patient-detail-screen{margin-inline:0;max-width:100%;min-width:0;width:100%}.patient-detail-header{align-items:flex-start}.patient-detail-header h1{margin:.25rem 0 .2rem}.patient-detail-header p{color:var(--text-muted);margin:0}.patient-detail-header>div{display:grid;gap:.15rem}.summary-card.patient-detail-summary{background:var(--surface-strong);border:1px solid var(--border);border-radius:16px;padding:1rem 1.25rem}.summary-card.patient-detail-summary dl{display:grid;gap:.85rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0}.summary-card.patient-detail-summary dl>div{display:grid;gap:.15rem;min-width:0}.summary-card.patient-detail-summary dt,.section-card dl>div>dt{color:var(--text-muted);font-size:.85rem;font-weight:600;letter-spacing:.01em;margin:0;text-transform:uppercase}.summary-card.patient-detail-summary dd,.section-card dl>div>dd{font-weight:600;margin:0;overflow-wrap:anywhere}.tab-list.patient-detail-tabs{border-bottom:1px solid var(--border);display:flex;flex-wrap:nowrap;gap:.25rem;margin:0;overflow-x:auto;padding:0 0 1px;scrollbar-width:thin}.patient-detail-tab{background:transparent;border-radius:10px 10px 0 0;color:var(--text-muted);flex:0 0 auto;font-weight:650;padding:.7rem 1rem;position:relative;white-space:nowrap}.patient-detail-tab:hover{background:var(--surface-strong);color:inherit}.patient-detail-tab[aria-selected=true]{background:var(--surface);color:var(--accent)}.patient-detail-tab[aria-selected=true]:after{background:var(--accent);border-radius:2px 2px 0 0;bottom:-1px;content:"";height:3px;left:.5rem;position:absolute;right:.5rem}.patient-detail-panel{border-radius:16px;margin:0;outline:none;padding:0}.patient-detail-panel:focus-visible{outline:3px solid var(--ring);outline-offset:4px}.patient-detail-grid{display:grid;gap:1.25rem;grid-template-columns:1fr}@media (min-width: 880px){.patient-detail-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;display:grid;gap:.85rem;min-width:0;padding:1.1rem 1.25rem}.section-card h2{font-size:1.05rem;letter-spacing:.005em;margin:0}.section-card>p{margin:0}.section-card dl{display:grid;gap:.65rem 1.25rem;grid-template-columns:1fr;margin:0}@media (min-width: 520px){.section-card dl{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.section-card dl>div{display:grid;gap:.15rem;min-width:0}.patient-detail-list{display:grid;gap:.6rem;list-style:none;margin:0;padding:0}.patient-detail-list>li{background:var(--surface-strong);border:1px solid var(--border);border-radius:12px;display:grid;gap:.2rem;padding:.7rem .85rem;word-break:break-word}.patient-detail-list>li>strong{font-weight:700}.patient-detail-list>li>span{color:var(--text-muted);font-size:.9rem;font-weight:600}.patient-detail-list>li>ul{border-left:2px solid var(--border);display:grid;gap:.25rem;list-style:none;margin:.3rem 0 0;padding:.1rem 0 .1rem .75rem}.patient-detail-list>li>ul>li{color:var(--text-muted);font-size:.92rem}.patient-detail-state{border:1px dashed var(--border);border-radius:10px;color:var(--text-muted);font-weight:600;margin:0;padding:.6rem .8rem}.patient-detail-state-denied{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:var(--danger);border-style:solid;color:var(--danger)}.patient-detail-state-unavailable{background:color-mix(in srgb,var(--ring) 12%,transparent);border-color:var(--ring);border-style:solid;color:inherit}.patient-detail-state-deferred{background:var(--surface-strong);border-style:dashed}.patient-detail-state-empty{border-style:dashed}.section-card table{display:block;overflow-x:auto;white-space:nowrap}@media (min-width: 768px){.section-card table{display:table;white-space:normal}}.calendar-screen{display:grid;gap:1.25rem}.calendar-header h1{margin:0 0 .2rem}.calendar-header p{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0}.calendar-view-switch{background:var(--surface-strong);border:1px solid var(--border);border-radius:999px;display:inline-flex;flex-wrap:wrap;gap:.15rem;padding:.25rem}.calendar-view-switch button{background:transparent;border-radius:999px;color:inherit;font-weight:650;padding:.45rem .95rem}.calendar-view-switch button:hover{background:var(--surface);color:inherit}.calendar-view-switch button[aria-pressed=true]{background:var(--surface);color:var(--accent);box-shadow:inset 0 0 0 1px var(--border)}.calendar-filters{margin:0}.calendar-filters label{flex:1 1 220px}.calendar-filters button{align-self:end}.calendar-grid{display:grid;gap:.75rem;grid-template-columns:1fr}@media (min-width: 720px){.calendar-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}.calendar-day{background:var(--surface);border:1px solid var(--border);border-radius:16px;display:grid;gap:.55rem;min-height:0;padding:.9rem 1rem 1rem}.calendar-day h2{font-size:.95rem;letter-spacing:.01em;margin:0;text-transform:capitalize}.calendar-density{color:var(--text-muted);font-size:.85rem;font-weight:600;margin:0}.calendar-slot{background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:1px dashed color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:10px;color:var(--accent-strong);font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:650;margin:0;padding:.35rem .6rem}.calendar-appointment{background:var(--surface-strong);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:12px;display:grid;gap:.4rem;padding:.7rem .85rem;word-break:break-word}.calendar-appointment>header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.calendar-appointment>header strong{font-variant-numeric:tabular-nums}.calendar-appointment>p{margin:0}.calendar-appointment a{font-weight:650}.calendar-appointment .badge{background:var(--surface);border:1px solid var(--border);color:inherit;font-size:.8rem;font-weight:650;margin:0;padding:.2rem .55rem}.calendar-appointment:has(.muted){border-left-color:var(--ring)}.calendar-appointment .muted{background:color-mix(in srgb,var(--ring) 12%,transparent);border-radius:8px;color:inherit;font-size:.85rem;font-style:normal;padding:.3rem .5rem}.calendar-status-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}.calendar-status-actions button{background:var(--surface);border:1px solid var(--border);color:inherit;font-size:.85rem;font-weight:650;padding:.4rem .7rem}.calendar-status-actions button:hover:not(:disabled){background:var(--surface-strong)}.calendar-status-actions button:disabled{background:transparent;opacity:.5}.calendar-appointment textarea{border:1px solid var(--border);border-radius:10px;font:inherit;margin-top:.35rem;min-height:4.5rem;padding:.55rem .65rem;resize:vertical;width:100%}.calendar-reschedule-form{background:var(--surface);border:1px dashed var(--border);border-radius:10px;display:grid;gap:.4rem;padding:.6rem .7rem}.calendar-reschedule-form label{align-items:center;display:flex;font-size:.85rem;font-weight:600;gap:.4rem}.calendar-reschedule-form label>input[type=checkbox]{margin-top:0;width:auto}.calendar-reschedule-form input,.calendar-reschedule-form select{margin-top:0}.calendar-month{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.calendar-month-day{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:inherit;display:grid;font-weight:600;gap:.2rem;justify-items:start;min-height:5.5rem;padding:.6rem .75rem;text-align:left}.calendar-month-day:hover{background:var(--surface-strong);color:inherit}.calendar-month-day>span:first-child{font-size:.85rem;text-transform:capitalize}.calendar-month-day>span:last-child{color:var(--text-muted);font-size:.8rem;font-variant-numeric:tabular-nums;font-weight:600}.calendar-actions{background:var(--surface);border:1px solid var(--border);border-radius:18px;display:grid;gap:1rem;padding:1.1rem 1.25rem}@media (min-width: 960px){.calendar-actions{grid-template-columns:2fr 1fr;grid-template-areas:"status status" "booking closure";align-items:start}.calendar-actions>p[role=alert],.calendar-actions>.badge{grid-area:status}.calendar-booking-form{grid-area:booking}.calendar-closure-form{grid-area:closure}}.calendar-booking-form,.calendar-closure-form{background:var(--surface-strong);border:1px solid var(--border);border-radius:14px;display:grid;gap:.6rem;padding:1rem 1.1rem}.calendar-booking-form h2,.calendar-closure-form h2{font-size:1rem;letter-spacing:.01em;margin:0 0 .2rem}.calendar-booking-form label,.calendar-closure-form label{display:grid;font-size:.9rem;font-weight:600;gap:.2rem}.calendar-booking-form label:has(input[type=checkbox]){align-items:center;flex-direction:row;font-weight:600;grid-auto-flow:column;grid-template-columns:auto 1fr;justify-content:start}.calendar-booking-form input[type=checkbox]{margin-top:0;width:auto}.calendar-booking-form input,.calendar-booking-form select,.calendar-booking-form textarea,.calendar-closure-form input,.calendar-closure-form select,.calendar-closure-form textarea{margin-top:0}.calendar-booking-form textarea,.calendar-closure-form textarea{border:1px solid var(--border);border-radius:10px;font:inherit;min-height:4.5rem;padding:.6rem .7rem;resize:vertical;width:100%}.calendar-external-patient,.calendar-new-slot{display:grid;gap:.55rem}@media (min-width: 520px){.calendar-new-slot{grid-template-columns:1fr 1fr}}.calendar-screen a:focus-visible,.calendar-screen textarea:focus-visible,.calendar-month-day:focus-visible,.calendar-view-switch button:focus-visible{outline:3px solid var(--ring);outline-offset:3px}.calendar-screen .empty-state,.calendar-screen .error-state{margin:0}@media (prefers-reduced-motion: reduce){.calendar-view-switch button,.calendar-status-actions button,.calendar-month-day{transition:none}}.section-card.patient-tasks{gap:1rem}.patient-tasks-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between}.patient-tasks-header h2{margin:0}.patient-tasks-header a{font-size:.9rem;font-weight:650;white-space:nowrap}.patient-tasks table{display:block;max-width:100%;overflow-x:auto}.patient-tasks th,.patient-tasks td{font-variant-numeric:tabular-nums;padding:.6rem .75rem;vertical-align:top}.patient-tasks th{color:var(--text-muted);font-size:.82rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.patient-tasks tbody tr{transition:background-color .12s ease}@media (hover: hover){.patient-tasks tbody tr:hover{background:var(--surface-strong)}}.patient-tasks td:first-child{align-items:baseline;display:flex;flex-wrap:wrap;font-weight:650;gap:.4rem}.patient-tasks td a{font-weight:650;white-space:nowrap}.patient-tasks td .badge{background:var(--surface-strong);color:inherit;font-size:.8rem;margin:0;padding:.25rem .6rem;vertical-align:baseline}.patient-tasks td .badge.task-overdue{align-items:center;background:color-mix(in srgb,var(--danger) 14%,transparent);border:1px solid var(--danger);color:var(--danger);display:inline-flex;gap:.35rem}.patient-tasks td .badge.task-overdue:before{background:var(--danger);border-radius:50%;content:"";flex:0 0 auto;height:.5rem;width:.5rem}.patient-tasks-load-more{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .85rem;margin-top:.25rem}.patient-tasks-load-more button{background:var(--surface-strong);color:inherit;padding:.55rem 1rem}.patient-tasks-load-more button:hover:not(:disabled){background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}.patient-tasks-load-more .patient-detail-state{flex:1 1 12rem;margin:0;padding:.5rem .7rem}@media (prefers-reduced-motion: reduce){.patient-tasks tbody tr{transition:none}}.page-shell.dashboard-screen{display:grid;gap:1.5rem;margin-inline:0;max-width:100%;min-width:0;width:100%}.dashboard-range-control{align-items:center;color:var(--text-muted);display:flex;flex-wrap:wrap;font-weight:650;gap:.5rem}.dashboard-range-control select{margin-top:0;width:auto}.dashboard-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;min-width:0}@media (min-width: 960px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-funnel{grid-column:1 / -1}}.dashboard-funnel-stages{display:grid;gap:.9rem;list-style:none;margin:0;padding:0}.dashboard-funnel-stage{display:grid;gap:.4rem;grid-template-columns:1fr auto;grid-template-areas:"label delta" "bar   delta";align-items:center;min-width:0}.dashboard-funnel-label{display:flex;flex-wrap:wrap;gap:.25rem .75rem;grid-area:label;justify-content:space-between;min-width:0}.dashboard-funnel-stage-name{font-weight:650}.dashboard-funnel-stage-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:700}.dashboard-funnel-bar-track{background:var(--surface-strong);border-radius:8px;grid-area:bar;height:.85rem;min-width:0;overflow:hidden}.dashboard-funnel-bar-fill{background:var(--accent);border-radius:inherit;height:100%;min-width:2px;transition:width .28s ease}@media (prefers-reduced-motion: reduce){.dashboard-funnel-bar-fill{transition:none}}.dashboard-card-row{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));min-width:0}.dashboard-metric-card{background:var(--surface-strong);border:1px solid var(--border);border-radius:14px;display:grid;gap:.3rem;justify-items:start;min-width:0;padding:.9rem 1rem}.dashboard-metric-label{color:var(--text-muted);font-size:.82rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.dashboard-metric-value{font-size:1.75rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.dashboard-metric-note{color:var(--text-muted);font-size:.85rem}.dashboard-delta{align-items:center;border-radius:999px;display:inline-flex;font-size:.8rem;font-variant-numeric:tabular-nums;font-weight:700;gap:.3rem;grid-area:delta;padding:.2rem .55rem;white-space:nowrap}.dashboard-delta:before{font-size:.9em;line-height:1}.dashboard-delta-up{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-strong)}.dashboard-delta-up:before{content:"↑"}.dashboard-delta-down{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.dashboard-delta-down:before{content:"↓"}.dashboard-delta-flat{background:var(--surface-strong);color:var(--text-muted)}.dashboard-delta-flat:before{content:"→"}.dashboard-delta-none{background:var(--surface-strong);color:var(--text-muted);font-weight:650;text-transform:none}.dashboard-metric-card .dashboard-delta{grid-area:auto}.dashboard-wella-trend{display:grid;gap:.75rem;margin:0;min-width:0}.dashboard-wella-trend figcaption{color:var(--text-muted);font-size:.82rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.dashboard-trend-bars{align-items:end;display:grid;gap:.5rem;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;list-style:none;margin:0;min-height:120px;overflow-x:auto;padding:0}.dashboard-trend-week{align-items:center;display:grid;gap:.4rem;justify-items:center;min-width:0}.dashboard-trend-week-bars{align-items:end;display:flex;gap:.2rem;height:100px;justify-content:center;width:100%}.dashboard-trend-bar{border-radius:5px 5px 0 0;flex:0 1 1.1rem;min-height:3px;transition:height .28s ease}.dashboard-trend-bar-started{background:var(--accent)}.dashboard-trend-bar-finished{background:var(--ring)}.dashboard-trend-week-label{color:var(--text-muted);font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-trend-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.dashboard-trend-legend-item{align-items:center;color:var(--text-muted);display:inline-flex;font-size:.82rem;font-weight:650;gap:.4rem}.dashboard-trend-legend-item:before{border-radius:3px;content:"";height:.7rem;width:.7rem}.dashboard-trend-legend-item.dashboard-trend-bar-started,.dashboard-trend-legend-item.dashboard-trend-bar-finished{background:transparent}.dashboard-trend-legend-item.dashboard-trend-bar-started:before{background:var(--accent)}.dashboard-trend-legend-item.dashboard-trend-bar-finished:before{background:var(--ring)}@media (prefers-reduced-motion: reduce){.dashboard-trend-bar{transition:none}}.dashboard-wella-trend-empty{margin:0}.page-shell.quality-screen,.page-shell.quality-referral-detail,.page-shell.calendar-screen{margin-inline:0;max-width:100%;min-width:0;width:100%}.quality-screen,.quality-content,.quality-summary,.quality-specialists,.quality-low-ratings,.quality-referrals,.quality-referral-detail{min-width:0}.quality-screen,.quality-content{display:grid;gap:1.35rem}.quality-screen>.page-header h1,.quality-referral-detail h1{margin-bottom:.25rem}.quality-screen>.page-header p{color:var(--text-muted);margin:0}.quality-filters{background:var(--surface-strong);border:1px solid var(--border);border-radius:16px;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));margin:0;padding:1rem}.quality-filters label{font-size:.88rem}.quality-filters button{align-self:end;min-height:2.75rem}.quality-summary,.quality-specialists,.quality-low-ratings,.quality-referrals,.quality-referral-details{background:color-mix(in srgb,var(--surface-strong) 48%,var(--surface));border:1px solid var(--border);border-radius:18px;padding:1.15rem}.quality-summary,.quality-specialists,.quality-low-ratings,.quality-referrals{display:grid;gap:1rem}.quality-summary h2,.quality-summary h3,.quality-specialists h2,.quality-low-ratings h2,.quality-referrals h2{margin:0}.quality-summary h3{color:var(--text-muted);font-size:.88rem;letter-spacing:.035em;text-transform:uppercase}.quality-summary-metrics{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.quality-summary-metrics>div{background:var(--surface);border:1px solid var(--border);border-radius:14px;display:grid;gap:.3rem;padding:.9rem 1rem}.quality-summary-metrics dt{color:var(--text-muted);font-size:.82rem;font-weight:700}.quality-summary-metrics dd{font-size:clamp(1.55rem,4vw,2.15rem);font-variant-numeric:tabular-nums;font-weight:750;line-height:1;margin:0}.quality-distribution{background:var(--surface);border:1px solid var(--border);border-radius:14px;display:grid;list-style:none;margin:0;padding:.25rem .9rem}.quality-distribution li{align-items:baseline;border-bottom:1px solid var(--border);display:flex;gap:1rem;justify-content:space-between;padding:.62rem 0}.quality-distribution li:last-child{border-bottom:0}.quality-distribution span{color:var(--text-muted)}.quality-distribution strong,.quality-daily-table td,.quality-specialists-table td:nth-last-child(-n+3),.quality-low-ratings-table td:first-child{font-variant-numeric:tabular-nums}.quality-comments{display:grid;gap:.7rem;list-style:none;margin:0;padding:0}.quality-comments li,.quality-referral-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:.9rem 1rem}.quality-comments p,.quality-referral-card p{margin:0 0 .55rem;max-width:65ch;overflow-wrap:anywhere}.quality-table-scroll{border:1px solid var(--border);border-radius:14px;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.page-shell .quality-table-scroll table{display:table;min-width:560px;white-space:normal}.quality-table-scroll caption{background:var(--surface);font-weight:700;padding:.8rem;text-align:left}.quality-table-scroll th{background:var(--surface-strong);color:var(--text-muted);font-size:.8rem;letter-spacing:.025em;text-transform:uppercase}.quality-table-scroll td{background:var(--surface);max-width:30rem;overflow-wrap:anywhere;vertical-align:top}.quality-table-scroll tr:last-child td{border-bottom:0}.quality-specialist-form,.quality-referral-create,.quality-referral-rating{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.quality-specialist-form label,.quality-referral-create label,.quality-referral-rating label{display:grid;font-size:.9rem;font-weight:650;gap:.25rem}.quality-specialist-form button,.quality-referral-create button,.quality-referral-rating button{align-self:end;min-height:2.75rem}.quality-referral-card{display:grid;gap:.6rem}.quality-referral-card h3,.quality-referral-card form,.quality-referral-card p:last-of-type{margin:0}.quality-referral-rating textarea{min-height:5.5rem}.quality-screen textarea,.quality-referral-detail textarea{background:var(--surface);border:1px solid var(--border);border-radius:10px;color:inherit;font:inherit;margin-top:.35rem;padding:.7rem .75rem;resize:vertical;width:100%}.quality-mutation,.calendar-target-not-found{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:12px;margin:0;padding:.8rem 1rem}.quality-mutation-submitting{background:var(--surface-strong);color:var(--text-muted)}.quality-mutation-success{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.quality-mutation-error,.quality-mutation-conflict,.calendar-target-not-found{background:color-mix(in srgb,var(--danger) 9%,var(--surface));border-left-color:var(--danger)}.quality-screen .empty-state,.quality-screen .error-state{margin:0}.quality-screen button,.quality-screen a,.quality-referral-detail button,.quality-referral-detail a{transition:background-color .14s ease,color .14s ease,transform .1s ease}.quality-screen button:active:not(:disabled),.quality-referral-detail button:active:not(:disabled){transform:translateY(1px)}.quality-screen textarea:focus-visible,.quality-referral-detail textarea:focus-visible{outline:3px solid var(--ring);outline-offset:3px}.quality-screen select:disabled,.quality-screen textarea:disabled{cursor:not-allowed;opacity:.65}.quality-referral-detail{display:grid;gap:1rem}.quality-referral-detail>a{justify-self:start}.quality-referral-details{display:grid;gap:.75rem 1.25rem;grid-template-columns:minmax(8rem,max-content) minmax(0,1fr);margin:0}.quality-referral-details div{display:contents}.quality-referral-details dt{color:var(--text-muted);font-weight:700}.quality-referral-details dd{margin:0;overflow-wrap:anywhere}.calendar-appointment-target{background:color-mix(in srgb,var(--ring) 14%,var(--surface));border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 28%,transparent)}.calendar-appointment-target:focus{outline:3px solid var(--ring);outline-offset:4px}@media (max-width: 639px){.page-shell.quality-screen,.page-shell.quality-referral-detail{border-radius:18px;padding:1rem}.quality-summary-metrics,.quality-referral-details{grid-template-columns:1fr}.quality-referral-details div{display:grid;gap:.2rem}}@media (prefers-reduced-motion: reduce){.quality-screen button,.quality-screen a,.quality-referral-detail button,.quality-referral-detail a{transition:none}}
