:root{--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: clamp(1.75rem, 3vw, 2.5rem);--leading-tight: 1.25;--leading-normal: 1.6;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 999px;--shadow-sm: 0 2px 8px rgb(var(--shadow-rgb) / .04);--shadow-md: 0 8px 28px rgb(var(--shadow-rgb) / .07);--shadow-lg: 0 20px 60px rgb(var(--shadow-rgb) / .16);--duration-fast: .14s;--duration-normal: .22s;--duration-slow: .36s;--ease-standard: cubic-bezier(.2, .7, .2, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--z-header: 30;--z-sidebar: 40;--z-dropdown: 60;--z-assistant: 95;--z-overlay: 100;--z-toast: 120;--sidebar-width: 260px;--sidebar-compact-width: 84px;--breakpoint-mobile: 600px;--breakpoint-tablet: 900px;--breakpoint-wide: 1200px;--page-bg: #f4f8fb;--surface: #ffffff;--surface-rgb: 255 255 255;--surface-subtle: #f5f9fa;--surface-hover: #edf4f5;--input-bg: #fbfdfe;--text-primary: #17324d;--text-secondary: #36586c;--text-muted: #556c7b;--text-disabled: #7b8e99;--border: #dce8ed;--border-strong: #7a8fa3;--link: #185db8;--accent-solid: #2366c1;--accent-solid-hover: #194f99;--accent-soft: #edf4ff;--accent-border: #a3c2ec;--secondary-text: #096d73;--secondary-solid: #087c82;--secondary-soft: #e5f6f4;--focus: #185db8;--focus-rgb: 35 102 193;--accent-glow-rgb: 105 199 189;--success-text: #1f6c46;--success-solid: #277957;--success-soft: #eaf8f0;--success-border: #9cd5b7;--warning-text: #795411;--warning-solid: #9a6a16;--warning-soft: #fff5dc;--warning-border: #dfc58f;--danger-text: #a03434;--danger-solid: #b64444;--danger-soft: #fff1f1;--danger-border: #e8baba;--info-text: #215c7c;--info-solid: #376e96;--info-soft: #eaf3fa;--info-border: #b3cddd;--violet-text: #65518e;--violet-solid: #7565a1;--violet-soft: #f1edfa;--violet-border: #c3b7df;--ai-launcher-start: var(--accent-solid);--ai-launcher-end: #6c51b1;--ai-glow-rgb: 91 91 190;--text-on-accent: #ffffff;--text-on-accent-muted: #eafbf8;--on-accent-rgb: 255 255 255;--hero-start: #12394b;--hero-end: #126b70;--shadow-rgb: 26 66 92;--overlay-rgb: 18 32 47;--footer-bg: #ecf3f5;--footer-text: #3b5665;--footer-heading: #17324d;--footer-border: #d1e0e5;--line: var(--border);--ink: var(--text-primary);--muted: var(--text-muted);--accent: var(--accent-solid);--accent-strong: var(--link)}@media screen{:root[data-theme=dark]{--page-bg: #141a20;--surface: #1d252e;--surface-rgb: 29 37 46;--surface-subtle: #222d37;--surface-hover: #2a3742;--input-bg: #182129;--text-primary: #e8eff5;--text-secondary: #c1d0db;--text-muted: #a0b3c1;--text-disabled: #758b9a;--border: #35434f;--border-strong: #6c8499;--link: #9bc7ff;--accent-solid: #285fa8;--accent-solid-hover: #22518f;--accent-soft: #21344e;--accent-border: #4d76a7;--secondary-text: #8bddd5;--secondary-solid: #176e74;--secondary-soft: #203d40;--focus: #9bc7ff;--focus-rgb: 155 199 255;--accent-glow-rgb: 39 100 101;--success-text: #94dfb7;--success-solid: #286d50;--success-soft: #213e32;--success-border: #4f856c;--warning-text: #f2d18c;--warning-solid: #805b20;--warning-soft: #403522;--warning-border: #8b7145;--danger-text: #ffb2b2;--danger-solid: #ac414b;--danger-soft: #432a31;--danger-border: #965c66;--info-text: #a4cfee;--info-solid: #356689;--info-soft: #24394b;--info-border: #4e7590;--violet-text: #cbbcf0;--violet-solid: #655283;--violet-soft: #362e49;--violet-border: #786b9a;--ai-launcher-end: #6751a3;--ai-glow-rgb: 124 108 210;--hero-start: #12323d;--hero-end: #155f66;--shadow-rgb: 0 0 0;--overlay-rgb: 0 0 0;--footer-bg: #11171d;--footer-text: #a9bdca;--footer-heading: #e8eff5;--footer-border: #303e48}}@media screen{:root[data-contrast=high]{--text-primary: #0b223c;--text-secondary: #163957;--text-muted: #294661;--border: #6b829a;--border-strong: #486780;--link: #064b9e;--input-bg: #ffffff}:root[data-theme=dark][data-contrast=high]{--text-primary: #ffffff;--text-secondary: #edf4ff;--text-muted: #dae6f5;--border: #91a8bf;--border-strong: #bfd1e2;--link: #bddaff;--input-bg: #111c29}:root[data-text-size=large]{font-size:120%}}@media print{:root[data-theme]{color-scheme:light!important;color:var(--text-primary);background:var(--page-bg)}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-primary);background:var(--page-bg);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:0;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}.app-shell{min-height:100vh;background:radial-gradient(circle at 15% 10%,rgb(var(--accent-glow-rgb) / .18),transparent 30%),var(--page-bg)}.app-header{display:flex;align-items:center;gap:.7rem;width:min(100% - 2rem,1080px);margin:0 auto;padding:1.25rem 0}.brand-link{display:inline-flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none}.brand-mark{display:grid;width:2.35rem;height:2.35rem;place-items:center;border-radius:.75rem;color:var(--text-on-accent);background:var(--accent-solid);font-weight:800}.brand-name{color:var(--text-primary);font-size:1.05rem;font-weight:750;letter-spacing:-.02em}.app-main{display:grid;min-height:calc(100vh - 4.85rem);width:min(100% - 2rem,1080px);margin:0 auto;place-items:center;padding:2rem 0 4rem}.form-card,.dashboard-card{width:min(100%,560px);padding:clamp(1.75rem,5vw,3.25rem);border:1px solid var(--border);border-radius:1.5rem;background:rgb(var(--surface-rgb) / .96);box-shadow:0 1.5rem 4rem rgb(var(--shadow-rgb) / .09)}.form-card h1,.dashboard-card h1{font-size:clamp(2.1rem,6vw,3.5rem)}.form-description,.form-footer,.hint-text{color:var(--text-muted);line-height:1.55}.form-description{margin:.9rem 0 1.7rem}.field-group{margin-bottom:1rem}.checkbox-field{display:inline-flex;align-items:center;gap:.5rem;align-self:center;color:var(--text-primary);font-weight:700}.checkbox-field input{width:auto}.field-label{display:block;margin-bottom:.4rem;color:var(--text-primary);font-size:.9rem;font-weight:700}input,textarea,select{width:100%;padding:.8rem .9rem;border:1px solid var(--border-strong);border-radius:.7rem;color:var(--text-primary);background:var(--input-bg);outline:none}textarea{min-height:5rem;resize:vertical}select:disabled,input:disabled{cursor:not-allowed;opacity:.65}input:focus,textarea:focus,select:focus{border-color:var(--accent-solid);box-shadow:0 0 0 3px rgb(var(--focus-rgb) / .12)}.button{width:100%;margin-top:.65rem;padding:.85rem 1rem;border:0;border-radius:.7rem;color:var(--text-on-accent);background:var(--accent-solid);cursor:pointer;font-weight:750}.button:hover:not(:disabled){background:var(--accent-solid-hover)}.button:disabled{cursor:not-allowed;opacity:.6}.button--secondary{color:var(--link);border:1px solid var(--accent-border);background:var(--accent-soft)}.button--secondary:hover:not(:disabled){background:var(--accent-soft)}.error-message,.success-message{margin:0 0 1rem;padding:.8rem .9rem;border-radius:.65rem;line-height:1.45}.error-message{color:var(--danger-text);border:1px solid var(--danger-border);background:var(--danger-soft)}.success-message{color:var(--success-text);border:1px solid var(--success-border);background:var(--success-soft)}.field-error{display:block;margin-top:.3rem;color:var(--danger-text);font-size:.82rem}.hint-text{margin:.15rem 0 .8rem;font-size:.82rem}.form-footer{margin:1.4rem 0 0;text-align:center;font-size:.9rem}.text-button{padding:0;border:0;color:var(--link);background:transparent;cursor:pointer;font-weight:750}.dev-login-entry{display:grid;gap:.75rem;margin-top:1.5rem;padding:.95rem 1rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;background:var(--surface)}.dev-login-entry:before{content:"";display:block;width:2.4rem;height:.18rem;border-radius:999px;background:var(--accent-solid)}.dev-login-entry__hint{margin:-.35rem 0 0;color:var(--text-muted);font-size:.76rem;line-height:1.4}.dev-login-entry__title,.dev-login-entry__description{margin:0}.dev-login-entry__title{color:var(--link);font-size:.88rem;font-weight:800}.dev-login-entry__description{margin-top:.25rem;color:var(--text-secondary);font-size:.82rem;line-height:1.45}.dev-login-entry__hint{margin-top:-.35rem;color:var(--text-muted);font-size:.76rem;line-height:1.4}.dev-login-entry .button{margin-top:0}.route-message{color:var(--text-muted)}.dashboard-welcome{margin:1.2rem 0 .8rem;color:var(--link);font-size:1.35rem;font-weight:650}.page-shell{width:100%;max-width:1120px;align-self:start}.page-heading{margin-bottom:1.5rem}.page-heading h1{font-size:clamp(2.3rem,6vw,4rem)}.filter-grid,.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.filter-grid,.admin-form{padding:1rem;border:1px solid var(--border);border-radius:1rem;background:rgb(var(--surface-rgb) / .85)}.field-group--wide{grid-column:span 2}.results-heading,.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:2rem 0 .8rem}.results-heading h2,.section-heading h2,.bio-block h2{margin:0;color:var(--text-primary)}.doctor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.doctor-card,.profile-card,.admin-section{padding:1.25rem;border:1px solid var(--border);border-radius:1rem;background:rgb(var(--surface-rgb) / .95);box-shadow:0 .8rem 2.5rem rgb(var(--shadow-rgb) / .06)}.doctor-card{display:flex;gap:1rem}.doctor-avatar{display:grid;flex:0 0 3.2rem;width:3.2rem;height:3.2rem;place-items:center;border-radius:50%;color:var(--text-on-accent);background:linear-gradient(135deg,var(--accent-solid),var(--accent-solid));font-weight:800}.doctor-avatar--large{width:5rem;height:5rem;font-size:1.4rem}.doctor-card__body{min-width:0;flex:1}.doctor-card h3{margin:0;color:var(--text-primary)}.doctor-card p{margin:.35rem 0}.doctor-specialty{color:var(--link);font-weight:750}.muted,.empty-state,.section-heading p,.admin-row small{color:var(--text-muted)}.doctor-card .button{margin-top:.8rem}.card-meta{min-height:1.4rem}.demo-badge{display:inline-flex;align-items:center;padding:.22rem .5rem;border-radius:999px;color:var(--warning-text);background:var(--warning-soft);font-size:.68rem;font-weight:800;letter-spacing:.06em}.demo-notice{grid-column:1 / -1;margin:0;padding:.85rem 1rem;border-radius:.8rem;color:var(--warning-text);background:var(--warning-soft);font-size:.86rem}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.3rem}.profile-card{display:grid;grid-template-columns:auto 1fr;gap:1rem 1.25rem;align-items:center;max-width:760px}.profile-card h1{font-size:clamp(2.1rem,6vw,3.7rem)}.back-link{display:inline-block;margin-bottom:1rem}.detail-list{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:0;padding:1rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.detail-list dt{color:var(--text-muted);font-size:.8rem}.detail-list dd{margin:.25rem 0 0;font-weight:700}.bio-block{grid-column:1 / -1}.bio-block p{line-height:1.6}.profile-card .hint-text{grid-column:1 / -1}.admin-page{max-width:1180px}.admin-section{margin-top:1rem}.section-heading{margin:0 0 1rem}.section-heading p{margin:.35rem 0 0}.admin-form{padding:0;border:0;background:transparent;box-shadow:none}.form-actions{display:flex;gap:.7rem}.form-actions .button{width:auto;min-width:9rem}.admin-table{margin-top:1rem;border-top:1px solid var(--border)}.admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--border)}.admin-row span{display:grid;gap:.2rem}.status-badge{padding:.25rem .55rem;border-radius:999px;color:var(--danger-text);background:var(--danger-soft);font-size:.76rem}.status-badge--active{color:var(--success-text);background:var(--success-soft)}.doctor-patients-page,.doctor-patient-detail-page{max-width:1240px}.doctor-patients-filters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr));gap:.75rem;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:0 .5rem 1.4rem rgb(var(--shadow-rgb) / .04)}.doctor-patients-search{min-width:0}.doctor-patient-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0;padding:.35rem;border:1px solid var(--border);border-radius:.95rem;background:var(--surface)}.doctor-patient-tabs button{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem .85rem;border:0;border-radius:.65rem;color:var(--text-muted);background:transparent;cursor:pointer;font-size:.85rem;font-weight:700}.doctor-patient-tabs button:hover,.doctor-patient-tabs button.is-active{color:var(--link);background:var(--accent-soft)}.doctor-patient-tabs button span{display:inline-grid;min-width:1.35rem;height:1.35rem;place-items:center;border-radius:999px;color:var(--link);background:var(--accent-soft);font-size:.72rem}.doctor-appointment-list{display:grid;gap:.9rem}.doctor-appointment-card,.doctor-patient-card{min-width:0;padding:1.15rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:0 .65rem 1.8rem rgb(var(--shadow-rgb) / .05)}.doctor-appointment-card__top{display:grid;grid-template-columns:5.5rem minmax(0,1fr) auto;align-items:center;gap:1rem}.doctor-appointment-card__time{display:grid;gap:.15rem;color:var(--link)}.doctor-appointment-card__time strong{font-size:1.65rem;letter-spacing:-.04em}.doctor-appointment-card__time span{color:var(--text-muted);font-size:.8rem}.doctor-appointment-card__subject,.doctor-patient-card__top{display:flex;align-items:center;gap:.8rem;min-width:0}.doctor-appointment-card__subject h2,.doctor-patient-card h2{overflow:hidden;margin:.2rem 0;color:var(--text-primary);font-size:1.12rem;text-overflow:ellipsis;white-space:nowrap}.doctor-appointment-card__subject p,.doctor-patient-card p{margin:0;color:var(--text-muted);font-size:.86rem}.doctor-appointment-card__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0 .85rem;padding:.8rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.doctor-appointment-card__meta span,.doctor-patient-contact span{display:block;margin-bottom:.2rem;color:var(--text-muted);font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.doctor-appointment-card__meta strong{display:block;overflow:hidden;color:var(--text-secondary);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.doctor-appointment-card__actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.95rem}.doctor-patient-muted{margin:.65rem 0 0;color:var(--text-muted);font-size:.85rem}.doctor-nurse-summary{display:grid;gap:.65rem;padding:.85rem 1rem;border-radius:.8rem;background:var(--accent-soft)}.doctor-nurse-summary__heading{display:flex;align-items:center;justify-content:space-between;gap:.7rem;color:var(--link)}.doctor-nurse-summary__values{display:flex;flex-wrap:wrap;gap:.85rem 1.2rem}.doctor-nurse-summary__values span{display:grid;gap:.1rem}.doctor-nurse-summary__values small{color:var(--text-muted);font-size:.72rem}.doctor-nurse-summary__values strong{color:var(--text-primary);font-size:.9rem}.doctor-nurse-summary p{margin:0;color:var(--text-secondary);font-size:.84rem;white-space:pre-wrap}.doctor-nurse-summary p strong{color:var(--text-secondary)}.doctor-patient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.9rem}.doctor-patient-card{display:grid;align-content:start;gap:.9rem}.doctor-patient-owner{padding:.65rem .75rem;border-radius:.65rem;color:var(--link)!important;background:var(--accent-soft)}.doctor-patient-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin:.1rem 0}.doctor-patient-stats div{min-width:0;padding:.55rem;border-radius:.65rem;background:var(--surface)}.doctor-patient-stats dt{color:var(--text-muted);font-size:.68rem}.doctor-patient-stats dd{margin:.2rem 0 0;overflow:hidden;color:var(--text-secondary);font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.doctor-patient-diagnosis{display:grid;gap:.18rem;padding-top:.75rem;border-top:1px solid var(--border)}.doctor-patient-diagnosis span{color:var(--text-muted);font-size:.72rem}.doctor-patient-diagnosis strong{color:var(--text-secondary);font-size:.86rem}.doctor-patient-empty{display:grid;justify-items:center;border-style:dashed;box-shadow:none;background:var(--surface)}.doctor-patient-empty__icon{display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:50%;color:var(--link);background:var(--accent-soft);font-size:1.25rem}.doctor-patient-skeleton{min-height:12rem}.doctor-patient-skeleton .skeleton--title{width:65%;height:1.2rem}.doctor-patient-skeleton .skeleton--line{width:85%;height:.8rem}.doctor-patient-detail-page>.back-link{display:inline-block;margin-bottom:1rem}.doctor-patient-hero{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:1px solid var(--border);border-radius:1.1rem;background:linear-gradient(135deg,var(--accent-soft),var(--surface));box-shadow:0 .7rem 2rem rgb(var(--shadow-rgb) / .05)}.doctor-patient-hero>div:nth-child(2){flex:1;min-width:0}.doctor-patient-hero h1{margin:.25rem 0;font-size:clamp(1.7rem,4vw,2.6rem)}.doctor-patient-hero p{margin:0;color:var(--text-muted)}.doctor-patient-hero strong{display:block;margin-top:.55rem;color:var(--link);font-size:.86rem}.doctor-patient-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:.9rem 0;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.doctor-patient-contact strong{display:block;overflow:hidden;color:var(--text-secondary);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.doctor-current-appointment{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.8fr) auto;align-items:center;gap:1rem;margin:1rem 0;padding:1.1rem 1.2rem;border:1px solid var(--accent-border);border-radius:1rem;background:linear-gradient(135deg,var(--success-soft),var(--surface))}.doctor-current-appointment h2{margin:.25rem 0;color:var(--text-primary);font-size:1.2rem}.doctor-current-appointment p{margin:0;color:var(--text-muted)}.doctor-medical-tabs{margin-top:1.2rem}.doctor-detail-overview{display:grid;gap:1rem}.doctor-overview-note{display:grid;gap:.25rem;padding:.9rem 1rem;border-radius:.8rem;color:var(--text-secondary);background:var(--surface)}.doctor-overview-note span{color:var(--text-muted);font-size:.86rem}.doctor-detail-list{display:grid;gap:.9rem}.doctor-visit-card,.doctor-visit-card--compact{margin-top:0}.doctor-visit-fields{display:grid;gap:.4rem;margin-top:.9rem;padding-top:.85rem;border-top:1px solid var(--border)}.doctor-visit-fields p{margin:0;color:var(--text-secondary);white-space:pre-wrap}.doctor-visit-fields p strong{display:block;margin-bottom:.1rem;color:var(--text-secondary);font-size:.76rem;text-transform:uppercase;letter-spacing:.05em}.doctor-clinical-item{margin-top:0}@media(max-width:860px){.doctor-patients-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.doctor-patients-search{grid-column:1 / -1}.doctor-current-appointment{grid-template-columns:1fr}}@media(max-width:650px){.doctor-patients-filters,.doctor-patient-contact{grid-template-columns:1fr}.doctor-patient-hero{align-items:flex-start;flex-direction:column}.doctor-patient-hero>.status{align-self:flex-start}.doctor-appointment-card__top{grid-template-columns:1fr auto}.doctor-appointment-card__time{grid-column:1 / -1;display:flex;align-items:baseline;gap:.5rem}.doctor-appointment-card__meta{grid-template-columns:1fr}.doctor-nurse-summary__heading{align-items:flex-start;flex-direction:column}}@media(max-width:760px){.filter-grid,.form-grid,.doctor-grid{grid-template-columns:1fr 1fr}.field-group--wide{grid-column:span 2}}.eyebrow{margin-bottom:1rem;color:var(--link);font-size:.76rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}h1{margin:0;color:var(--text-primary);font-size:clamp(2.5rem,8vw,4.5rem);letter-spacing:-.065em;line-height:.95}@media(max-width:520px){.app-header{padding-top:1rem}.app-main{min-height:calc(100vh - 4.4rem);padding-top:1rem}.form-card,.dashboard-card{border-radius:1.15rem}.filter-grid,.form-grid,.doctor-grid,.detail-list{grid-template-columns:1fr}.field-group--wide{grid-column:auto}.doctor-card{flex-direction:column}.admin-row{grid-template-columns:1fr auto}.admin-row .text-button{grid-column:1 / -1;justify-self:start}}.page-heading--row,.profile-hero,.section-heading,.form-actions,.appointment-card,.appointment-row,.record-card__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.page-heading--row{align-items:flex-end}.page-heading--row>div{flex:1}.patient-form,.dependent-form,.booking-form,.success-panel,.info-panel,.empty-state,.record-card,.appointment-card{border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:0 10px 30px rgb(var(--shadow-rgb) / .06)}.patient-form,.dependent-form{padding:1.4rem;max-width:900px}.patient-form h2,.dependent-form h2,.info-panel h2,.records-section h2{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-actions{justify-content:flex-start;margin-top:1.2rem}.muted-text{color:var(--text-muted)}.profile-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1.4rem}.profile-card{padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:0 10px 30px rgb(var(--shadow-rgb) / .05)}.profile-card__top{display:flex;align-items:center;gap:.9rem}.profile-card__top h2{margin:.25rem 0;font-size:1.2rem}.profile-card__top p{margin:0;color:var(--text-muted);font-size:.9rem}.profile-card__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}.profile-avatar{display:grid;place-items:center;flex:0 0 3.3rem;width:3.3rem;height:3.3rem;border-radius:50%;color:var(--text-on-accent);background:var(--accent-solid);font-weight:700;font-size:1.3rem}.profile-avatar--large{flex-basis:5rem;width:5rem;height:5rem;font-size:1.8rem}.profile-hero{align-items:center;margin:1rem 0 1.5rem;padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(135deg,var(--accent-soft),var(--surface))}.profile-hero>div:nth-child(2){flex:1}.profile-hero h1{margin:.25rem 0}.profile-hero p{margin:0;color:var(--text-muted)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.info-panel{padding:1.2rem}.info-panel p{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;margin:0;border-top:1px solid var(--border)}.info-panel p span{color:var(--text-muted)}.records-section{margin-top:1.8rem}.record-card{padding:1.2rem;margin-top:.9rem}.record-card__header h3{margin:.25rem 0 0}.record-doctor{color:var(--text-secondary);font-size:.9rem}.record-card p{margin:.8rem 0 0;white-space:pre-wrap}.record-card p strong{display:block;margin-bottom:.2rem;color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.empty-state{padding:2rem;margin-top:1.2rem;text-align:center;color:var(--text-secondary)}.empty-state h2{color:var(--text-primary)}.back-link{border:0;padding:0;color:var(--link);background:transparent;cursor:pointer;font:inherit}.booking-form{overflow:hidden}.booking-step{display:flex;gap:1rem;padding:1.4rem;border-bottom:1px solid var(--border)}.booking-step:last-child{border-bottom:0}.step-number{display:grid;place-items:center;flex:0 0 2rem;height:2rem;border-radius:50%;color:var(--text-on-accent);background:var(--accent-solid);font-weight:700}.step-content{flex:1}.step-content h2{margin:0 0 1rem}.subject-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem}.subject-choice{display:flex;align-items:flex-start;gap:.7rem;padding:1rem;text-align:left;border:1px solid var(--border);border-radius:.8rem;background:var(--surface);cursor:pointer}.subject-choice.is-selected{border-color:var(--accent-solid);box-shadow:0 0 0 2px rgb(var(--focus-rgb) / .15);background:var(--accent-soft)}.subject-choice__radio{display:grid;place-items:center;flex:0 0 1.2rem;width:1.2rem;height:1.2rem;border:1px solid var(--accent-border);border-radius:50%;color:var(--text-on-accent);background:transparent}.subject-choice.is-selected .subject-choice__radio{border-color:var(--accent-solid);background:var(--accent-solid)}.subject-choice strong,.subject-choice small{display:block}.subject-choice small{margin-top:.25rem;color:var(--text-muted)}.selection-note{margin:1rem 0 0;color:var(--text-secondary)}.success-panel{padding:1.2rem;margin-bottom:1rem;border-color:var(--success-border);background:var(--success-soft)}.success-panel p{margin:.35rem 0}.appointments-list{display:grid;gap:.9rem;margin-top:1rem}.appointment-card{align-items:stretch;padding:1rem 1.2rem}.appointment-row{flex:1;align-items:flex-start;justify-content:flex-start}.appointment-row>div{min-width:0;flex:1}.appointment-row strong,.appointment-row small,.appointment-row .eyebrow{display:block}.appointment-row small{margin-top:.25rem;color:var(--text-muted)}.appointment-card__actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:.7rem}.status{display:inline-flex;padding:.25rem .55rem;border-radius:999px;color:var(--success-text);background:var(--success-soft);font-size:.78rem}.status--cancelled{color:var(--danger-text);background:var(--danger-soft)}.status--completed{color:var(--text-secondary);background:var(--info-soft)}.filter-pills,.subject-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.filter-pills button,.subject-tabs button{padding:.55rem .8rem;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);background:var(--surface);cursor:pointer}.filter-pills button.is-active,.subject-tabs button.is-active{color:var(--text-on-accent);border-color:var(--accent-solid);background:var(--accent-solid)}.text-button--danger{color:var(--danger-text)}@media(max-width:700px){.page-heading--row,.profile-hero,.appointment-card,.appointment-row,.record-card__header{align-items:flex-start;flex-direction:column}.page-heading--row .button,.profile-hero .button{width:100%}.form-grid,.detail-grid{grid-template-columns:1fr}.appointment-card__actions{width:100%;flex-direction:row;align-items:center}.booking-step{padding:1rem}.profile-hero{align-items:stretch}.date-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-summary__heading{align-items:flex-start;flex-direction:column;gap:.3rem}}@media(max-width:480px){.date-picker-heading{align-items:flex-start;flex-direction:column}.date-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-date-panel{align-items:flex-start;flex-direction:column}.booking-summary dl{grid-template-columns:1fr}.booking-summary .booking-summary__heading strong{font-size:.95rem}.slot-button{flex:1 1 calc(33.333% - .6rem);min-width:0}}.document-composer{margin-top:1rem}.document-composer__panel{display:grid;gap:1rem;padding:1.1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.template-card{display:flex;justify-content:space-between;gap:.7rem;padding:.85rem;border:1px solid var(--border);border-radius:.75rem;background:#fff;cursor:pointer}.template-card--selected{border-color:var(--accent-solid);box-shadow:0 0 0 2px rgb(var(--focus-rgb) / .12)}.template-card strong,.template-card small{display:block}.template-card small,.template-meta{color:var(--text-muted);font-size:.78rem}.template-card__actions{display:flex;align-items:flex-start;gap:.25rem}.button--text{min-width:2rem;padding:.2rem .35rem;background:transparent;color:var(--link)}.document-editor__textarea{min-height:24rem;font-family:inherit;line-height:1.55}.icd10-autocomplete{position:relative}.icd10-results{display:grid;max-height:12rem;overflow-y:auto;border:1px solid var(--border);border-radius:.55rem;background:#fff}.icd10-results button{padding:.55rem .7rem;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left;color:var(--link);cursor:pointer}.icd10-results button:hover{background:var(--success-soft)}@media(max-width:700px){.template-grid{grid-template-columns:1fr}}.admin-template-row{display:block}.admin-template-row__main,.admin-template-row__actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.admin-template-row__actions{justify-content:flex-start;margin-top:.5rem}.template-version-panel{display:grid;gap:.65rem;margin-top:.8rem;padding:.8rem;border-radius:.75rem;background:var(--surface)}.template-version-list{display:grid;gap:.35rem}.template-version{display:grid;grid-template-columns:3.2rem 1fr auto;gap:.6rem;color:var(--text-secondary);font-size:.82rem}.template-version-content{grid-column:1 / -1;max-height:10rem;overflow:auto;white-space:pre-wrap;padding:.65rem;border-radius:.55rem;background:var(--surface);color:var(--text-primary);font:inherit}.staff-appointments{display:grid;gap:1rem}.staff-appointment{padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:0 10px 30px rgb(var(--shadow-rgb) / .05)}.staff-appointment__subject{display:flex;align-items:center;gap:.8rem}.staff-appointment__subject h2{margin:.2rem 0;font-size:1.2rem}.staff-appointment__subject p{margin:0;color:var(--text-muted)}.staff-appointment__meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.1rem 0;padding:.9rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.staff-appointment__meta span,.staff-appointment__meta strong{display:block}.staff-appointment__meta span{color:var(--text-muted);font-size:.8rem}.staff-entry-form{display:grid;gap:.9rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.workflow-page{max-width:1240px!important}.workflow-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:1rem;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface)}.workflow-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(420px,1.35fr);align-items:start;gap:1rem}.staff-appointment--selected{border-color:var(--accent-solid);box-shadow:0 0 0 2px rgb(var(--focus-rgb) / .13)}.workflow-detail{position:sticky;top:96px;display:grid;gap:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:0 10px 30px rgb(var(--shadow-rgb) / .06)}.workflow-detail__header,.stage-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.workflow-detail__header h2,.stage-heading h3{margin:.25rem 0}.workflow-detail__header p{margin:0;color:var(--text-muted)}.workflow-patient-card,.assessment-summary,.visit-result{display:grid;gap:.35rem;padding:.9rem 1rem;border-radius:.8rem;background:var(--accent-soft)}.workflow-patient-card strong,.assessment-summary strong,.visit-result h4{color:var(--link)}.workflow-patient-card small,.assessment-summary small{color:var(--text-muted)}.workflow-stage{display:grid;gap:.85rem;padding-top:1rem;border-top:1px solid var(--border)}.workflow-stage .form-grid{gap:.75rem}.workflow-subform{display:grid;gap:.75rem;padding-top:.9rem;border-top:1px solid var(--border)}.workflow-subform h4,.visit-result h4{margin:0}.visit-result p{margin:.35rem 0 0;white-space:pre-wrap}.visit-result p strong,.visit-list>strong{display:block;margin-bottom:.2rem;color:var(--text-secondary);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}.visit-list{display:grid;gap:.25rem;margin-top:.55rem}.visit-list span{color:var(--text-secondary)}.status--booked{color:var(--warning-text);background:var(--warning-soft)}.status--checked_in,.status--nurse_in_progress{color:var(--success-text);background:var(--success-soft)}.status--ready_for_doctor{color:var(--violet-text);background:var(--violet-soft)}.status--doctor_in_progress{color:var(--link);background:var(--accent-soft)}.status--no_show{color:var(--danger-text);background:var(--danger-soft)}@media(max-width:700px){.staff-appointment__meta{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-filters,.workflow-layout{grid-template-columns:1fr}.workflow-detail{position:static}}.dev-panel-page{width:100%;max-width:1180px;align-self:start;padding-bottom:2rem}.dev-panel-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding:clamp(1.5rem,4vw,2.6rem);border-radius:1.35rem;color:var(--text-on-accent);background:radial-gradient(circle at 85% 18%,rgb(var(--accent-glow-rgb) / .24),transparent 28%),linear-gradient(120deg,var(--hero-start),var(--accent-solid) 58%,var(--accent-solid));box-shadow:0 1.2rem 3rem rgb(var(--shadow-rgb) / .16)}.dev-kicker,.dev-section-kicker{color:var(--text-on-accent-muted);font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.dev-kicker{display:flex;align-items:center;gap:.45rem;margin-bottom:.85rem}.dev-panel-hero h1{color:var(--text-on-accent);font-size:clamp(2rem,5vw,3.45rem);letter-spacing:-.06em}.dev-panel-hero p{max-width:620px;margin:.9rem 0 0;color:var(--text-on-accent);line-height:1.5}.dev-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.dev-ghost-button,.dev-primary-button,.dev-secondary-button,.dev-close-button{border:0;cursor:pointer;font-weight:750}.dev-ghost-button{padding:.65rem .8rem;border:1px solid rgb(var(--on-accent-rgb) / .28);border-radius:.65rem;color:var(--text-on-accent);background:rgb(var(--on-accent-rgb) / .1)}.dev-ghost-button:hover{background:rgb(var(--on-accent-rgb) / .18)}.dev-panel-body{display:grid;gap:1rem;margin-top:1rem}.dev-tabs{display:flex;gap:.45rem;padding:.35rem;overflow-x:auto;border:1px solid var(--border);border-radius:.95rem;background:var(--surface)}.dev-tab{display:inline-flex;flex:1 0 auto;align-items:center;justify-content:center;gap:.45rem;padding:.75rem 1rem;border:0;border-radius:.7rem;color:var(--text-muted);background:transparent;cursor:pointer;font-size:.85rem;font-weight:750}.dev-tab span{color:var(--text-muted);font-size:1rem}.dev-tab--active{color:var(--link);background:var(--accent-soft);box-shadow:inset 0 -2px var(--accent-solid)}.dev-tab--active span{color:var(--link)}.dev-search-card{display:grid;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:0 .8rem 2.3rem rgb(var(--shadow-rgb) / .05)}.dev-search-field,.dev-filter{display:grid;gap:.4rem}.dev-search-field span,.dev-filter span{color:var(--text-secondary);font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.dev-search-field input{padding:.95rem 1rem;border-color:var(--accent-border);font-size:1rem}.dev-filter select{padding:.7rem .75rem;font-size:.86rem}.dev-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.dev-results-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:1rem 0 .1rem}.dev-results-header h2{margin:.25rem 0 0;color:var(--text-primary);font-size:1.35rem}.dev-result-count{color:var(--text-muted);font-size:.84rem}.dev-loading{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:7rem;color:var(--text-muted)}.dev-spinner{width:1.05rem;height:1.05rem;border:2px solid var(--border-strong);border-top-color:var(--accent-solid);border-radius:50%;animation:dev-spin .7s linear infinite}@keyframes dev-spin{to{transform:rotate(360deg)}}.dev-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dev-user-card{display:grid;gap:.9rem;padding:1.2rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:0 .7rem 2rem rgb(var(--shadow-rgb) / .045)}.dev-user-card--warning{border-color:var(--warning-border);background:linear-gradient(180deg,var(--surface),var(--surface))}.dev-card-top{display:flex;gap:.8rem;align-items:center}.dev-avatar{display:grid;flex:0 0 3rem;width:3rem;height:3rem;place-items:center;border-radius:.85rem;color:var(--text-on-accent);background:linear-gradient(135deg,var(--accent-solid),var(--hero-start));font-weight:850}.dev-card-title{min-width:0}.dev-card-title h3{overflow:hidden;margin:.32rem 0 0;color:var(--text-primary);font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.dev-muted{margin:.2rem 0 0;color:var(--text-muted);font-size:.74rem}.dev-badges{display:flex;flex-wrap:wrap;gap:.35rem}.dev-badge{padding:.22rem .48rem;border-radius:999px;font-size:.63rem;font-weight:850;letter-spacing:.06em}.dev-badge--role{color:var(--link);background:var(--accent-soft)}.dev-badge--demo{color:var(--warning-text);background:var(--warning-soft)}.dev-badge--connected{color:var(--success-text);background:var(--success-soft)}.dev-badge--broken{color:var(--danger-text);background:var(--danger-soft)}.dev-card-details{display:grid;gap:.65rem;padding:.85rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.dev-card-details div{display:grid;gap:.15rem}.dev-card-details span{color:var(--text-muted);font-size:.72rem}.dev-card-details strong{color:var(--text-primary);font-size:.87rem;font-weight:700}.dev-credentials{display:grid;gap:.45rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:.7rem;background:var(--surface)}.dev-credentials__title{color:var(--text-secondary);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.dev-credentials div{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.dev-credentials div span{color:var(--text-muted);font-size:.72rem}.dev-credentials code{color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;font-weight:700}.dev-warning{margin:-.3rem 0 0;color:var(--warning-text);font-size:.79rem;font-weight:700}.dev-id-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.7rem}.dev-active,.dev-inactive{font-family:inherit;font-weight:800}.dev-active{color:var(--success-text)}.dev-inactive{color:var(--danger-text)}.dev-card-actions{display:flex;gap:.55rem}.dev-primary-button,.dev-secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;padding:.55rem .75rem;border-radius:.65rem;font-size:.78rem}.dev-primary-button{flex:1;color:var(--text-on-accent);background:var(--accent-solid)}.dev-primary-button:hover:not(:disabled){background:var(--accent-solid-hover)}.dev-secondary-button{color:var(--link);border:1px solid var(--accent-border);background:var(--accent-soft)}.dev-secondary-button:hover:not(:disabled){background:var(--accent-soft)}.dev-primary-button:disabled,.dev-secondary-button:disabled{cursor:not-allowed;opacity:.55}.dev-empty{display:grid;justify-items:center;padding:3.3rem 1rem;text-align:center}.dev-empty>span,.dev-relation-broken>span{display:grid;width:3rem;height:3rem;place-items:center;border-radius:50%;color:var(--warning-text);background:var(--warning-soft);font-size:1.4rem}.dev-empty h3{margin:.9rem 0 .2rem;color:var(--text-primary)}.dev-empty p{margin:0;color:var(--text-muted)}.dev-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.3rem;color:var(--text-muted);font-size:.82rem}.dev-pagination .dev-secondary-button{min-width:7rem}.dev-modal-backdrop{display:grid;position:fixed;z-index:100;inset:0;place-items:center;padding:1rem;background:rgb(var(--overlay-rgb) / .42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dev-modal{width:min(100%,620px);max-height:min(90vh,720px);overflow:auto;padding:1.35rem;border-radius:1.1rem;background:var(--surface);box-shadow:0 1.5rem 5rem rgb(var(--shadow-rgb) / .25)}.dev-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dev-modal-header h2{margin:.25rem 0 0;color:var(--text-primary);font-size:1.4rem}.dev-close-button{width:2rem;height:2rem;border-radius:50%;color:var(--text-secondary);background:var(--surface-subtle);font-size:1.35rem;line-height:1}.dev-relation-flow{display:grid;justify-items:center;gap:.55rem;margin:1.35rem 0}.dev-relation-person,.dev-relation-clinic{display:grid;justify-items:center;width:min(100%,340px);gap:.2rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:.85rem;text-align:center}.dev-relation-person{background:var(--accent-soft)}.dev-relation-person span,.dev-relation-clinic span{color:var(--link);font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.dev-relation-person strong,.dev-relation-clinic strong{color:var(--text-primary)}.dev-relation-person small,.dev-relation-clinic small{color:var(--text-muted)}.dev-relation-arrow{color:var(--link);font-size:1.35rem;font-weight:800}.dev-technical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1rem;padding:.85rem;border-radius:.8rem;background:var(--surface-subtle)}.dev-technical-grid div{display:grid;gap:.18rem}.dev-technical-grid span{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.66rem}.dev-technical-grid strong{color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}.dev-relation-broken{display:grid;justify-items:center;gap:.35rem;padding:1.7rem .5rem;text-align:center}.dev-relation-broken h3{margin:.5rem 0 0;color:var(--warning-text)}.dev-relation-broken p{margin:0;color:var(--text-muted)}.dev-modal-button{width:100%;margin-top:1rem}.dev-workflow-section{margin:1.25rem auto 2.5rem;width:min(1180px,calc(100% - 2rem));padding:1.25rem;border:1px solid var(--border);border-radius:1.1rem;background:var(--surface);box-shadow:0 .9rem 2.5rem rgb(var(--shadow-rgb) / .08)}.dev-workflow-description{margin:-.7rem 0 1rem;color:var(--text-muted);font-size:.86rem}.dev-workflow-search{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:.7rem;align-items:end;padding:.85rem;border:1px solid var(--border);border-radius:.85rem;background:var(--surface)}.dev-workflow-search input{width:100%;padding:.7rem .75rem;border:1px solid var(--accent-border);border-radius:.55rem;background:var(--input-bg)}.dev-workflow-search .dev-primary-button{min-height:2.45rem}.dev-workflow-layout{display:grid;grid-template-columns:minmax(220px,.33fr) minmax(0,1fr);gap:1rem;margin-top:1rem}.dev-workflow-list{display:grid;align-content:start;gap:.5rem}.dev-workflow-item{display:grid;gap:.25rem;padding:.75rem;border:1px solid var(--border);border-radius:.7rem;color:var(--text-primary);background:var(--surface);text-align:left}.dev-workflow-item:hover,.dev-workflow-item--active{border-color:var(--accent-border);background:var(--accent-soft)}.dev-workflow-item span,.dev-workflow-item small{color:var(--text-muted);font-size:.72rem}.dev-workflow-details{display:grid;gap:.85rem;min-width:0}.dev-workflow-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;padding:.85rem;border-radius:.8rem;background:var(--surface-subtle)}.dev-workflow-summary div{display:grid;gap:.18rem}.dev-workflow-summary span,.dev-workflow-panel p small{color:var(--text-muted);font-size:.68rem}.dev-workflow-summary strong{overflow-wrap:anywhere;color:var(--text-primary);font-size:.78rem}.dev-workflow-actions,.dev-workflow-panel{padding:.85rem;border:1px solid var(--border);border-radius:.8rem}.dev-workflow-actions h3,.dev-workflow-panel h3{margin:0 0 .65rem;color:var(--text-primary);font-size:.92rem}.dev-workflow-actions>div{display:flex;flex-wrap:wrap;gap:.5rem}.dev-workflow-actions .dev-secondary-button{font-size:.73rem}.dev-workflow-result{display:grid;gap:.25rem;padding:.75rem;border-radius:.7rem}.dev-workflow-result strong{font-size:.78rem;letter-spacing:.08em}.dev-workflow-result span{font-size:.85rem}.dev-workflow-result small{color:var(--text-muted);font-size:.72rem}.dev-workflow-result--pass{border:1px solid var(--success-border);color:var(--success-text);background:var(--success-soft)}.dev-workflow-result--fail{border:1px solid var(--danger-border);color:var(--danger-text);background:var(--danger-soft)}.dev-workflow-panel p{margin:.35rem 0;color:var(--text-secondary);font-size:.78rem}.dev-workflow-panel p small{display:block;margin-top:.2rem}.dev-workflow-result-list{display:grid;gap:.35rem}.dev-workflow-result-line{margin:0!important;padding:.45rem .55rem;border-radius:.45rem}.dev-workflow-result-line--pass{color:var(--success-text)!important;background:var(--success-soft)}.dev-workflow-result-line--fail{color:var(--danger-text)!important;background:var(--danger-soft)}.dev-toolbar{display:flex;position:fixed;z-index:90;right:1rem;bottom:1rem;align-items:center;gap:.55rem;padding:.55rem .7rem;border:1px solid var(--accent-border);border-radius:.85rem;color:var(--text-on-accent);background:var(--hero-start);box-shadow:0 .9rem 2.5rem rgb(var(--shadow-rgb) / .2)}.dev-toolbar-status{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-on-accent-muted);font-size:.65rem;font-weight:850;letter-spacing:.08em}.dev-pulse{display:inline-block;width:.45rem;height:.45rem;border-radius:50%;background:var(--success-solid);box-shadow:0 0 0 4px rgb(var(--focus-rgb) / .15)}.dev-toolbar-user{display:grid;gap:.08rem;padding:0 .45rem;border-left:1px solid rgb(var(--on-accent-rgb) / .15)}.dev-toolbar-user strong{color:var(--text-on-accent);font-size:.65rem;letter-spacing:.06em}.dev-toolbar-user span{max-width:150px;overflow:hidden;color:var(--text-on-accent-muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.dev-toolbar button{padding:.42rem .55rem;border:1px solid rgb(var(--on-accent-rgb) / .16);border-radius:.5rem;color:var(--text-on-accent);background:rgb(var(--on-accent-rgb) / .09);cursor:pointer;font-size:.7rem;font-weight:750}.dev-toolbar button:hover:not(:disabled){background:rgb(var(--on-accent-rgb) / .18)}.dev-toolbar button:disabled{cursor:not-allowed;opacity:.45}.dev-toolbar .dev-toolbar-logout{color:var(--text-on-accent)}@media(max-width:820px){.dev-panel-hero{align-items:flex-start;flex-direction:column}.dev-hero-actions{justify-content:flex-start}.dev-filter-grid,.dev-results-grid{grid-template-columns:1fr 1fr}.dev-search-field{grid-column:1 / -1}}@media(max-width:620px){.dev-filter-grid,.dev-results-grid{grid-template-columns:1fr}.dev-workflow-section{width:min(100% - 1rem,1180px);padding:.85rem}.dev-workflow-search,.dev-workflow-summary,.dev-workflow-layout{grid-template-columns:1fr}.dev-results-header{align-items:flex-start;flex-direction:column;gap:.35rem}.dev-card-actions{flex-direction:column}.dev-pagination{gap:.5rem;font-size:.72rem}.dev-pagination .dev-secondary-button{min-width:auto}.dev-toolbar{right:.65rem;bottom:.65rem;left:.65rem;justify-content:space-between}.dev-toolbar-user{margin-right:auto}.dev-toolbar-user span{max-width:105px}.dev-toolbar button{font-size:.65rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell--public .public-header{justify-content:space-between;width:min(100% - 3rem,1180px);padding:1.5rem 0}.brand-link{padding:0;border:0;background:transparent;cursor:pointer}.language-switcher select{width:auto;min-width:8.3rem;padding:.55rem 2rem .55rem .8rem;border-color:var(--border);border-radius:.7rem;color:var(--text-primary);background:var(--input-bg);font-size:.82rem;font-weight:700}.language-switcher--compact select{min-width:4.8rem;padding-right:1.6rem;color:var(--text-secondary);background:var(--input-bg)}.dashboard-layout{display:flex;min-height:100vh;color:var(--text-primary);background:var(--page-bg)}.dashboard-sidebar{display:flex;position:fixed;z-index:20;top:0;bottom:0;left:0;flex-direction:column;width:258px;padding:1.7rem 1rem 1rem;border-right:1px solid var(--border);background:var(--surface)}.sidebar-brand{padding:.1rem .8rem 1.7rem}.sidebar-role{display:grid;gap:.25rem;margin:0 .25rem 1.1rem;padding:.8rem .9rem;border-radius:.9rem;background:var(--accent-soft)}.sidebar-role span,.sidebar-role strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-role span{color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sidebar-role strong{color:var(--link);font-size:.92rem}.sidebar-nav{display:grid;gap:.25rem;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:.8rem;width:100%;padding:.72rem .8rem;border:0;border-radius:.75rem;color:var(--text-muted);background:transparent;cursor:pointer;font-size:.86rem;font-weight:650;text-align:left;transition:color .16s ease,background .16s ease,transform .16s ease}.sidebar-link:hover{color:var(--link);background:var(--accent-soft);transform:translate(2px)}.sidebar-link--active{color:var(--link);background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent-solid)}.sidebar-link__icon{display:grid;flex:0 0 1.6rem;width:1.6rem;height:1.6rem;place-items:center;border-radius:.5rem;color:var(--text-muted);background:var(--surface-subtle);font-size:1rem}.sidebar-link--active .sidebar-link__icon{color:var(--text-on-accent);background:var(--accent-solid)}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border)}.sidebar-link--logout:hover{color:var(--danger-text);background:var(--danger-soft)}.dashboard-main{display:flex;flex:1;min-width:0;flex-direction:column;margin-left:258px}.dashboard-header{display:flex;position:sticky;z-index:10;top:0;align-items:center;justify-content:space-between;gap:1rem;min-height:76px;padding:1rem clamp(1rem,3vw,2.7rem);border-bottom:1px solid var(--border);background:rgb(var(--surface-rgb) / .9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-context{display:grid;gap:.15rem;margin-right:auto}.header-context span{color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.header-context strong{color:var(--text-primary);font-size:1rem}.header-actions{display:flex;align-items:center;gap:.7rem}.profile-chip,.header-logout,.sidebar-toggle{border:0;cursor:pointer}.profile-chip{display:flex;align-items:center;gap:.55rem;padding:.25rem .55rem .25rem .25rem;border-radius:999px;color:var(--text-primary);background:var(--accent-soft);font-size:.82rem;font-weight:700}.profile-chip__avatar{display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;color:var(--text-on-accent);background:linear-gradient(135deg,var(--accent-solid),var(--hero-start));font-size:.72rem}.header-logout{padding:.55rem .15rem;color:var(--danger-text);background:transparent;font-size:.8rem;font-weight:750}.dashboard-content{display:flex;flex:1;justify-content:center;padding:clamp(1.3rem,4vw,3rem) clamp(1rem,3vw,2.7rem) 4rem}.dashboard-content .page-shell{max-width:1180px}.sidebar-toggle,.sidebar-backdrop{display:none}.dashboard-home{display:grid;align-content:start;gap:1.2rem}.welcome-panel{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:270px;padding:clamp(1.5rem,4vw,2.8rem);overflow:hidden;border-radius:1.4rem;color:var(--text-on-accent);background:radial-gradient(circle at 80% 15%,rgb(var(--accent-glow-rgb) / .28),transparent 28%),linear-gradient(120deg,var(--accent-solid-hover),var(--accent-solid) 60%,var(--accent-solid));box-shadow:0 1.4rem 3rem rgb(var(--focus-rgb) / .15)}.welcome-copy{max-width:680px}.welcome-panel .eyebrow{margin-bottom:.8rem;color:var(--text-on-accent-muted)}.welcome-panel h1{color:var(--text-on-accent);font-size:clamp(2.1rem,5vw,3.8rem);letter-spacing:-.055em}.welcome-panel .dashboard-welcome,.welcome-panel .form-description{color:var(--text-on-accent)}.welcome-panel .dashboard-welcome{margin:1rem 0 .25rem;font-size:1rem}.welcome-panel .form-description{margin-bottom:1.4rem}.welcome-panel .button{color:var(--link);background:var(--surface)}.welcome-avatar{display:grid;flex:0 0 clamp(5.5rem,13vw,9rem);width:clamp(5.5rem,13vw,9rem);height:clamp(5.5rem,13vw,9rem);place-items:center;border:9px solid rgb(var(--on-accent-rgb) / .2);border-radius:50%;color:var(--text-on-accent);background:rgb(var(--on-accent-rgb) / .18);font-size:clamp(1.5rem,3vw,2.8rem);font-weight:800}.profile-summary,.stat-grid,.info-grid{display:grid;gap:1rem}.profile-summary{grid-template-columns:repeat(3,minmax(0,1fr));padding:1.1rem 1.35rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.profile-summary div{display:grid;gap:.3rem}.profile-summary span{color:var(--text-muted);font-size:.72rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.profile-summary strong{overflow:hidden;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.stat-grid,.info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card,.info-card{min-height:150px;padding:1.25rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:0 .8rem 2rem rgb(var(--shadow-rgb) / .04)}.stat-card{display:flex;gap:.9rem}.stat-icon{display:grid;flex:0 0 2.8rem;width:2.8rem;height:2.8rem;place-items:center;border-radius:.8rem;color:var(--text-on-accent);background:var(--accent-solid);font-size:1.25rem}.stat-icon--2{background:var(--accent-solid)}.stat-icon--3{background:var(--violet-solid)}.stat-card div{display:grid;align-content:start;gap:.25rem}.stat-card strong{color:var(--text-primary);font-size:1.7rem}.stat-card span,.stat-card small,.info-card p{color:var(--text-muted)}.stat-card small{margin-top:.3rem;font-size:.72rem;line-height:1.35}.info-card{position:relative;overflow:hidden}.info-number{color:var(--text-on-accent-muted);font-size:2.8rem;font-weight:800;line-height:1}.info-card h2{margin:1rem 0 .4rem;color:var(--text-primary);font-size:1.05rem}.info-card p{margin:0;font-size:.82rem;line-height:1.45}.button--compact{display:inline-flex;width:auto;align-items:center;justify-content:center;min-width:10rem}.placeholder-page,.centered-page{display:grid;align-content:center;justify-items:start;min-height:52vh;max-width:760px!important;padding:clamp(1.5rem,5vw,3rem);border:1px solid var(--border);border-radius:1.25rem;background:var(--surface);box-shadow:0 1rem 3rem rgb(var(--shadow-rgb) / .06)}.placeholder-icon{display:grid;width:3.8rem;height:3.8rem;margin-bottom:1.25rem;place-items:center;border-radius:1rem;color:var(--link);background:var(--accent-soft);font-size:1.5rem}.placeholder-page h1,.centered-page h1{font-size:clamp(2.2rem,6vw,4rem)}.error-code{margin-bottom:.9rem;color:var(--link);font-size:4.5rem;font-weight:850;letter-spacing:-.08em;line-height:.8}.centered-page .button{margin-top:1rem}@media(max-width:900px){.dashboard-sidebar{transform:translate(-100%);transition:transform .18s ease}.dashboard-sidebar--open{transform:translate(0);box-shadow:1rem 0 3rem rgb(var(--shadow-rgb) / .12)}.dashboard-main{margin-left:0}.sidebar-toggle{display:inline-grid;width:2.3rem;height:2.3rem;place-items:center;border-radius:.7rem;color:var(--link);background:var(--accent-soft);font-size:1.1rem}.sidebar-backdrop{display:block;position:fixed;z-index:15;inset:0;width:100%;border:0;background:rgb(var(--overlay-rgb) / .25)}}@media(max-width:700px){.profile-summary,.stat-grid,.info-grid{grid-template-columns:1fr}.welcome-panel{align-items:flex-start}.welcome-avatar{flex-basis:4.5rem;width:4.5rem;height:4.5rem;border-width:5px;font-size:1.3rem}.profile-chip__name,.header-logout{display:none}}@media(max-width:520px){.app-shell--public .public-header{width:min(100% - 2rem,1180px)}.dashboard-header{padding-inline:1rem}.header-actions{gap:.35rem}.welcome-panel{display:block}.welcome-avatar{margin-top:1.3rem}}.location-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:.55rem .8rem;cursor:pointer;font:inherit}.location-page{min-height:70vh;display:grid;place-items:center;padding:2rem 1rem}.location-card{width:min(100%,520px);padding:2.2rem;border-radius:24px;background:var(--surface);box-shadow:0 20px 55px rgb(var(--shadow-rgb) / .12)}.location-card h1{margin:.4rem 0 .8rem}.location-card form{display:grid;gap:1rem;margin-top:1.5rem}.search-option-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.search-option{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.55rem .8rem;cursor:pointer}.search-option.is-selected,.slot-button.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.doctor-result-grid{display:grid;gap:.8rem}.doctor-result-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.doctor-result-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.doctor-result-card h3,.doctor-result-card p{margin:.15rem 0}.doctor-result-card small{color:var(--muted)}.slot-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin:.8rem 0 1.1rem}.slot-button{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:.7rem .85rem;cursor:pointer}.date-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.2rem 0 .7rem}.date-calendar-toggle{border:0;padding:.45rem .7rem;border-radius:999px;color:var(--accent-strong);background:var(--accent-soft);cursor:pointer;font:inherit}.date-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}.date-card{min-width:0;min-height:6.4rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.18rem;padding:.75rem;text-align:left;border:1px solid var(--line);border-radius:.8rem;color:var(--ink);background:var(--surface);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.date-card:hover,.date-card.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px rgb(var(--focus-rgb) / .12)}.date-card__badge{color:var(--muted);font-size:.78rem;font-weight:650}.date-card strong{font-size:1rem}.date-card small{color:var(--muted)}.date-card--more{align-items:center;text-align:center;color:var(--accent-strong);background:var(--surface)}.date-card--more span{font-size:1.3rem;line-height:1}.schedule-state{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:6rem;margin:.8rem 0;padding:1rem;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:.8rem;background:var(--surface)}.schedule-state p{margin:.2rem 0}.schedule-state--error{flex-direction:column;color:var(--danger-text);border-style:solid;border-color:var(--danger-border);background:var(--danger-soft)}.loading-dot{width:.7rem;height:.7rem;border-radius:50%;background:var(--accent);animation:schedule-pulse 1s ease-in-out infinite}@keyframes schedule-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.date-calendar{max-width:29rem;margin:.85rem 0 1rem;padding:1rem;border:1px solid var(--line);border-radius:.9rem;background:var(--surface);box-shadow:0 12px 28px rgb(var(--shadow-rgb) / .08)}.date-calendar__header,.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;align-items:center}.date-calendar__header{grid-template-columns:2.2rem 1fr 2.2rem;margin-bottom:.75rem;text-align:center}.date-calendar__header strong{color:var(--ink)}.icon-button{width:2.1rem;height:2.1rem;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--accent-strong);background:var(--surface);cursor:pointer;font-size:1.25rem;line-height:1}.calendar-weekdays{margin-bottom:.35rem;color:var(--muted);font-size:.74rem;font-weight:700;text-align:center}.calendar-day{min-height:2.2rem;padding:.2rem;border:1px solid transparent;border-radius:.55rem;color:var(--muted);background:var(--surface);cursor:pointer;font:inherit}.calendar-day:not(:disabled):hover,.calendar-day.is-selected{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.calendar-day:disabled{color:var(--text-disabled);cursor:not-allowed}.calendar-day--empty{pointer-events:none}.selected-date-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0 .5rem;padding:.9rem 1rem;border-left:3px solid var(--accent);border-radius:.6rem;background:var(--success-soft)}.selected-date-panel strong,.selected-date-panel .eyebrow{display:block}.selected-date-panel .eyebrow{margin-bottom:.2rem}.time-selection h3{margin:1.25rem 0 .75rem}.time-group h4{margin:1rem 0 .45rem;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.07em}.time-group .slot-grid{margin:0}.slot-button{min-width:5.4rem}.slot-button.is-selected{font-weight:700;box-shadow:0 0 0 2px rgb(var(--focus-rgb) / .12)}.booking-summary{margin:1.2rem 0;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface)}.booking-summary__heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.booking-summary__heading>*{display:block}.booking-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.2rem;margin:.85rem 0 0}.booking-summary dt{color:var(--muted);font-size:.78rem}.booking-summary dd{margin:.15rem 0 0;font-weight:650}.booking-summary dd small{display:block;margin-top:.15rem;color:var(--muted);font-weight:400}.success-panel--booking{padding:1.3rem}.staff-profile-page,.staff-dashboard-page{max-width:1400px}.page-heading--row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.page-heading--row .button{width:auto;margin-top:.2rem}.staff-profile-hero,.staff-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:clamp(1.4rem,3vw,2rem);border:1px solid var(--border);border-radius:1.25rem;background:linear-gradient(135deg,var(--surface),var(--accent-soft));box-shadow:0 1rem 2.5rem rgb(var(--shadow-rgb) / .06)}.staff-profile-hero__copy{flex:1}.staff-profile-hero h2,.staff-dashboard-hero h1{margin:.25rem 0 .4rem;color:var(--text-primary);font-size:clamp(1.55rem,3vw,2.25rem)}.staff-profile-hero p,.staff-dashboard-hero p{margin:0;color:var(--text-muted)}.staff-profile-hero__meta{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem;color:var(--text-secondary);font-size:.88rem}.staff-profile-hero__meta>span:not(.status-badge):after{content:"·";margin-left:.55rem;color:var(--text-muted)}.profile-avatar{display:grid;flex:0 0 3.25rem;width:3.25rem;height:3.25rem;place-items:center;border-radius:1rem;color:var(--link);background:var(--accent-soft);object-fit:cover;font-weight:800}.profile-avatar--large{flex-basis:6.5rem;width:6.5rem;height:6.5rem;border:5px solid var(--surface);border-radius:1.6rem;box-shadow:0 .6rem 1.5rem rgb(var(--focus-rgb) / .14);font-size:1.75rem}.staff-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.staff-profile-section{min-width:0;padding:1.25rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.staff-profile-section--featured{grid-column:1 / -1;background:var(--surface)}.staff-profile-section__title{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.staff-profile-section__title h3{margin:0;font-size:1rem}.staff-definition-list{display:grid;gap:.8rem;margin:0}.staff-definition-list>div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.7rem;border-bottom:1px solid var(--border)}.staff-definition-list>div:last-child{padding-bottom:0;border-bottom:0}.staff-definition-list dt{color:var(--text-muted);font-size:.86rem}.staff-definition-list dd{margin:0;color:var(--text-primary);text-align:right;font-weight:700}.profile-copy{margin:0;color:var(--text-secondary);line-height:1.65;white-space:pre-wrap}.linked-staff{display:flex;align-items:center;gap:.9rem}.linked-staff>div{display:grid;gap:.18rem;flex:1}.linked-staff strong{color:var(--text-primary)}.linked-staff span{color:var(--text-muted);font-size:.88rem}.linked-staff .button{width:auto;margin:0}.staff-profile-edit{margin-top:1rem}.staff-profile-edit .staff-profile-section{display:grid;gap:.2rem}.form-hint{margin:0 0 .5rem;color:var(--text-muted);font-size:.82rem;line-height:1.45}.staff-loading,.staff-calendar-state{display:grid;min-height:15rem;place-items:center;align-content:center;gap:.65rem;padding:2rem;text-align:center;color:var(--text-muted);border:1px dashed var(--border-strong);border-radius:1rem;background:rgb(var(--surface-rgb) / .72)}.staff-loading p,.staff-calendar-state p{margin:0}.staff-calendar-state--error{color:var(--danger-text);border-style:solid;border-color:var(--danger-border);background:var(--danger-soft)}.staff-calendar-state .button{width:auto;margin:0}.staff-calendar-shell{position:relative;min-width:0;margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:1.2rem;background:var(--surface);box-shadow:0 1rem 2.5rem rgb(var(--shadow-rgb) / .06)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.1rem .15rem 1rem}.calendar-toolbar h2{min-width:12rem;margin:0;color:var(--text-primary);font-size:1.05rem;text-align:center;text-transform:capitalize}.calendar-toolbar__nav,.calendar-toolbar__views{display:flex;align-items:center;gap:.35rem}.calendar-toolbar__views{padding:.2rem;border-radius:.65rem;background:var(--surface-subtle)}.calendar-toolbar__views button{padding:.45rem .7rem;border:0;border-radius:.45rem;color:var(--text-muted);background:transparent;cursor:pointer}.calendar-toolbar__views button.is-active{color:var(--link);background:var(--surface);box-shadow:0 .15rem .6rem rgb(var(--focus-rgb) / .12);font-weight:750}.calendar-arrow{width:2.15rem;height:2.15rem;padding:0;border:1px solid var(--border);border-radius:.6rem;color:var(--link);background:var(--surface);cursor:pointer;font-size:1.35rem;line-height:1}.staff-calendar-timeline{min-width:760px;overflow-x:auto;border:1px solid var(--border);border-radius:.8rem}.timeline-header,.timeline-body{display:grid;grid-template-columns:4.4rem repeat(7,minmax(9rem,1fr));min-width:760px}.staff-calendar-timeline--day .timeline-header,.staff-calendar-timeline--day .timeline-body{grid-template-columns:4.4rem minmax(18rem,1fr)}.timeline-header{background:var(--surface);border-bottom:1px solid var(--border)}.timeline-time-label{padding:.75rem .55rem;color:var(--text-muted);font-size:.72rem;text-transform:uppercase}.timeline-day-label{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.65rem .35rem;color:var(--text-muted);font-size:.78rem}.timeline-day-label strong{color:var(--text-primary);font-size:1rem}.timeline-day-label.is-today{color:var(--link);background:var(--accent-soft)}.timeline-body{min-height:816px}.timeline-time-column{position:relative;color:var(--text-muted);background:var(--surface);font-size:.7rem}.timeline-time-column span{display:block;height:34px;padding:.15rem .45rem 0;transform:translateY(-.45rem);text-align:right}.timeline-day-column{position:relative;min-height:816px;overflow:hidden;border-left:1px solid var(--border);background:var(--surface)}.timeline-day-column.is-off{background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 10px,var(--surface-subtle) 10px,var(--surface-subtle) 20px)}.timeline-grid-lines{position:absolute;inset:0;pointer-events:none}.timeline-grid-lines span{display:block;height:34px;border-bottom:1px solid var(--border)}.timeline-off-label{position:absolute;top:45%;right:.4rem;left:.4rem;padding:.55rem;color:var(--text-muted);text-align:center;font-size:.78rem}.timeline-break{position:absolute;right:.2rem;left:.2rem;z-index:1;display:grid;place-items:center;color:var(--warning-text);border:1px dashed var(--warning-border);background:var(--warning-soft);font-size:.68rem}.calendar-event{position:absolute;right:.25rem;left:.25rem;z-index:2;display:flex;min-height:1.7rem;flex-direction:column;gap:.12rem;overflow:hidden;padding:.35rem .4rem;border-width:1px;border-style:solid;border-radius:.45rem;color:var(--text-primary);cursor:pointer;text-align:left;font-size:.68rem;line-height:1.2}.calendar-event strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.84}.calendar-event--booked,.calendar-event--confirmed{border-color:var(--accent-border);background:var(--accent-soft)}.calendar-event--arrived,.calendar-event--preparing{border-color:var(--warning-border);background:var(--warning-soft)}.calendar-event--ready{border-color:var(--success-border);background:var(--success-soft)}.calendar-event--in_appointment{border-color:var(--violet-border);background:var(--violet-soft)}.calendar-event--completed{border-color:var(--accent-border);background:var(--surface-subtle);opacity:.78}.calendar-event--cancelled,.calendar-event--no_show,.calendar-event--no-show{border-color:var(--danger-border);background:var(--surface);opacity:.65}.calendar-event--in-appointment{border-color:var(--violet-border);background:var(--violet-soft)}.current-time-line{position:absolute;right:0;left:0;z-index:3;height:2px;background:var(--danger-solid);pointer-events:none}.current-time-line span{position:absolute;top:-.6rem;left:.2rem;padding:.1rem .25rem;color:var(--danger-text);background:var(--danger-soft);font-size:.64rem}.staff-calendar-month{overflow:hidden;border:1px solid var(--border);border-radius:.8rem}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-weekdays{padding:.6rem 0;color:var(--text-muted);background:var(--surface);font-size:.75rem;font-weight:750;text-align:center}.month-day{min-height:7.2rem;overflow:hidden;padding:.55rem;border:0;border-top:1px solid var(--border);border-right:1px solid var(--border);color:var(--text-primary);background:var(--surface);cursor:pointer;text-align:left}.month-day:nth-child(7n){border-right:0}.month-day:disabled{cursor:default;background:var(--surface)}.month-day.is-today{background:var(--accent-soft)}.month-day>strong{display:block;margin-bottom:.35rem}.month-event{display:block;overflow:hidden;margin:.2rem 0;padding:.2rem .3rem;border-radius:.3rem;color:var(--text-secondary);background:var(--accent-soft);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.month-event--ready{background:var(--success-soft)}.month-event--completed{background:var(--surface-subtle)}.month-day small{display:block;margin-top:.25rem;color:var(--text-muted);font-size:.68rem}.drawer-backdrop{position:fixed;inset:0;z-index:20;display:flex;justify-content:flex-end;background:rgb(var(--overlay-rgb) / .25)}.appointment-drawer{width:min(100%,450px);height:100%;overflow-y:auto;padding:1.5rem;background:var(--surface);box-shadow:-1rem 0 2.5rem rgb(var(--shadow-rgb) / .16)}.appointment-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.appointment-drawer h2{margin:.25rem 0 0;font-size:1.35rem}.drawer-close{width:2rem;height:2rem;border:0;border-radius:50%;color:var(--text-muted);background:var(--surface-subtle);cursor:pointer;font-size:1.35rem}.drawer-status-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:.8rem;border-radius:.6rem;color:var(--text-secondary);background:var(--surface)}.drawer-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:0}.drawer-details dt{color:var(--text-muted);font-size:.78rem}.drawer-details dd{margin:.2rem 0 0;font-weight:700}.drawer-assessment{display:grid;gap:.45rem;margin-top:1.25rem;padding:1rem;border-left:3px solid var(--accent-solid);border-radius:.6rem;background:var(--accent-soft);color:var(--text-secondary);font-size:.88rem;line-height:1.4}.drawer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.25rem}.drawer-actions .button{width:auto;margin:0}.drawer-hint{color:var(--success-text);font-weight:700}.staff-dashboard-page{max-width:1400px}.staff-dashboard-hero{background:linear-gradient(135deg,var(--surface),var(--accent-soft))}.staff-shift{display:flex;align-items:center;gap:.7rem;margin-top:1rem;color:var(--text-muted)}.staff-shift strong{color:var(--link)}.staff-dashboard-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.staff-dashboard-context>div{display:grid;gap:.2rem;padding:1rem 1.2rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.staff-dashboard-context span,.staff-dashboard-context small{color:var(--text-muted)}.staff-dashboard-context strong{color:var(--text-primary)}.staff-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-top:1rem}.staff-metric{display:grid;gap:.25rem;padding:1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.staff-metric strong{color:var(--link);font-size:1.65rem}.staff-metric span{color:var(--text-muted);font-size:.82rem}.staff-dashboard-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(17rem,.75fr);gap:1rem;margin-top:1rem}.dashboard-schedule-card,.next-patient-card{min-width:0;padding:1.2rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.next-patient-card{background:linear-gradient(155deg,var(--success-soft),var(--surface))}.next-patient-card>strong{display:block;margin-top:.7rem;color:var(--link);font-size:2.3rem}.next-patient-card h2{margin:.15rem 0}.next-patient-card p{color:var(--text-muted)}.next-patient-card .button{margin-top:1rem}.mini-schedule{display:grid;gap:.1rem}.mini-schedule__row{display:grid;grid-template-columns:4rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.75rem .45rem;border:0;border-bottom:1px solid var(--border);color:var(--text-primary);background:var(--surface);cursor:pointer;text-align:left}.mini-schedule__row:last-child{border-bottom:0}.mini-schedule__row>strong{color:var(--link)}.mini-schedule__row>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-flex;width:fit-content;padding:.25rem .5rem;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);background:var(--surface);font-size:.72rem;font-weight:750;white-space:nowrap}.status--booked,.status--confirmed{color:var(--link);border-color:var(--accent-border);background:var(--accent-soft)}.status--arrived,.status--preparing{color:var(--warning-text);border-color:var(--warning-border);background:var(--warning-soft)}.status--ready{color:var(--success-text);border-color:var(--success-border);background:var(--success-soft)}.status--in_appointment{color:var(--violet-text);border-color:var(--violet-border);background:var(--violet-soft)}.status--completed{color:var(--text-secondary);background:var(--surface-subtle)}.calendar-date-picker{display:inline-flex;align-items:center}.calendar-date-picker input{min-width:9.5rem;padding:.48rem .55rem;border:1px solid var(--border);border-radius:.6rem;color:var(--text-secondary);background:var(--input-bg);font:inherit;font-size:.78rem}.calendar-filters{display:grid;grid-template-columns:minmax(14rem,1.5fr) minmax(10rem,.8fr) minmax(12rem,1fr);align-items:end;gap:.75rem;margin:0 0 .8rem;padding:.75rem;border:1px solid var(--border);border-radius:.8rem;background:var(--surface)}.calendar-filters .field-group{margin:0}.calendar-context{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem .8rem;min-height:2.25rem;color:var(--text-muted);font-size:.75rem}.calendar-context strong{color:var(--text-secondary);font-weight:750}.calendar-empty-banner{display:flex;flex-wrap:wrap;gap:.35rem .65rem;align-items:baseline;margin:0 0 .8rem;padding:.7rem .8rem;border:1px dashed var(--border-strong);border-radius:.7rem;color:var(--text-muted);background:var(--surface);font-size:.78rem}.calendar-empty-banner strong{color:var(--text-secondary)}.calendar-legend{display:flex;flex-wrap:wrap;gap:.45rem .85rem;margin:0 0 .8rem;color:var(--text-muted);font-size:.72rem}.calendar-legend>span{display:inline-flex;align-items:center;gap:.3rem}.calendar-legend__dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--accent-solid)}.calendar-legend__dot--booked,.calendar-legend__dot--confirmed{background:var(--accent-solid)}.calendar-legend__dot--arrived,.calendar-legend__dot--preparing{background:var(--warning-solid)}.calendar-legend__dot--ready{background:var(--success-solid)}.calendar-legend__dot--in_appointment{background:var(--violet-solid)}.calendar-legend__dot--completed{background:var(--accent-solid)}.calendar-legend__dot--cancelled,.calendar-legend__dot--no_show{background:var(--danger-solid)}.timeline-body,.timeline-day-column{min-height:var(--calendar-grid-height, 816px)}.timeline-time-column,.timeline-grid-lines,.timeline-working-block,.timeline-day-column{height:var(--calendar-grid-height, 816px)}.timeline-time-column span,.timeline-grid-lines span{height:var(--calendar-slot-height, 34px)}.timeline-working-block{position:absolute;right:.2rem;left:.2rem;z-index:0;border:1px solid var(--accent-border);border-radius:.25rem;background:rgb(var(--accent-glow-rgb) / .45);pointer-events:none}.calendar-event{z-index:2}.calendar-event small{overflow:hidden;color:inherit;font-size:.62rem;opacity:.78;text-overflow:ellipsis;white-space:nowrap}.month-day{position:relative}.month-day__count{position:absolute;top:.45rem;right:.5rem;min-width:1.2rem;padding:.12rem .25rem;border-radius:999px;color:var(--link);background:var(--accent-soft);font-size:.64rem;text-align:center}.month-day:not(.has-events) .month-day__count{display:none}.drawer-loading{display:grid;justify-items:center;gap:.6rem;padding:2rem 0;color:var(--text-muted)}.drawer-loading p{margin:0}.drawer-assessment__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:.7rem 0}.drawer-assessment__metrics span{display:grid;gap:.15rem;padding:.45rem;border-radius:.45rem;color:var(--text-secondary);background:var(--surface);font-size:.78rem;font-weight:750}.drawer-assessment__metrics small{color:var(--text-muted);font-size:.64rem;font-weight:650}.status--cancelled,.status--no-show,.status--no_show{color:var(--danger-text);border-color:var(--danger-border);background:var(--danger-soft)}.status--in-appointment{color:var(--violet-text);border-color:var(--violet-border);background:var(--violet-soft)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:760px){.calendar-filters{grid-template-columns:1fr}.calendar-context{justify-content:flex-start}.calendar-date-picker input{min-width:8.5rem}.drawer-assessment__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-schedule-page{max-width:1400px}.admin-schedule-editor{display:grid;gap:1rem;margin-top:1rem}.admin-interval-list,.admin-exception-list{display:grid;gap:.55rem;margin:1rem 0}.admin-interval-row{display:grid;grid-template-columns:minmax(8rem,1fr) 7rem auto 7rem auto auto;align-items:center;gap:.55rem;padding:.65rem;border:1px solid var(--border);border-radius:.7rem;background:var(--surface)}.admin-interval-row select,.admin-interval-row input,.admin-exception-form input,.admin-exception-form select{min-width:0}.admin-interval-row .checkbox-field{margin:0;white-space:nowrap}.admin-interval-row .text-button,.admin-exception-list .text-button{width:auto;margin:0}.admin-slot-duration{min-width:9rem;margin:0}.admin-exception-form{display:grid;grid-template-columns:9rem 1fr 7rem 7rem minmax(10rem,1fr) auto;align-items:end;gap:.6rem}.admin-exception-form .button{width:auto;margin:0}.admin-row small{display:block;margin-top:.2rem;color:var(--text-muted)}@media(max-width:900px){.admin-interval-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-interval-row>span{display:none}.admin-exception-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-exception-form .button{grid-column:1 / -1}}@media(max-width:980px){.staff-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-dashboard-columns{grid-template-columns:1fr}}@media(max-width:700px){.staff-profile-grid,.staff-dashboard-context{grid-template-columns:1fr}.staff-profile-section--featured{grid-column:auto}.staff-profile-hero,.staff-dashboard-hero{align-items:flex-start}.staff-profile-hero{flex-direction:column}.calendar-toolbar{align-items:flex-start;flex-wrap:wrap}.calendar-toolbar h2{order:-1;width:100%;text-align:left}.staff-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.linked-staff{align-items:flex-start;flex-wrap:wrap}.linked-staff .button{margin-left:4.15rem}}.patient-dashboard{display:grid;gap:1rem;max-width:1240px!important}.patient-dashboard__hero,.patient-dashboard__skeleton-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:220px;padding:clamp(1.5rem,4vw,2.75rem);overflow:hidden;border:1px solid var(--border);border-radius:1.35rem;background:radial-gradient(circle at 88% 15%,rgb(var(--accent-glow-rgb) / .35),transparent 26%),linear-gradient(120deg,var(--accent-soft),var(--surface) 58%,var(--accent-soft));box-shadow:0 .9rem 2.5rem rgb(var(--focus-rgb) / .08)}.patient-dashboard__hero h1{margin:.35rem 0 .7rem;color:var(--text-primary);font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.055em}.patient-dashboard__hero p{max-width:42rem;margin:0;color:var(--text-secondary);font-size:1.02rem}.patient-dashboard__hero .welcome-avatar{color:var(--link);background:rgb(var(--surface-rgb) / .68);border-color:rgb(var(--surface-rgb) / .75)}.patient-dashboard__hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.35rem}.patient-dashboard__hero-actions .button{margin-top:0}.button--ghost{color:var(--link);border:1px solid var(--accent-border);background:rgb(var(--surface-rgb) / .62)}.button--ghost:hover:not(:disabled){background:var(--surface)}.patient-dashboard__columns{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:1rem}.patient-card{min-width:0;padding:1.35rem;border:1px solid var(--border);border-radius:1.1rem;background:var(--surface);box-shadow:0 .7rem 2rem rgb(var(--shadow-rgb) / .05)}.patient-card .section-heading{margin:0 0 1rem}.patient-card .section-heading h2{font-size:1.25rem}.patient-icon{display:inline-grid;flex:0 0 2.55rem;width:2.55rem;height:2.55rem;place-items:center;border-radius:.8rem;color:var(--text-on-accent);background:var(--accent-solid);font-size:1.15rem;font-weight:800}.patient-icon--soft{color:var(--link);background:var(--accent-soft)}.patient-next-card{background:linear-gradient(145deg,var(--surface),var(--accent-soft))}.patient-next-card__time{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.8rem 0 1.05rem;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.95rem}.patient-next-card__time strong{color:var(--link);font-size:2rem;letter-spacing:-.04em}.patient-next-card__doctor{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.patient-next-card__doctor .profile-avatar{flex-basis:3rem;width:3rem;height:3rem;border-radius:.8rem;color:var(--link);background:var(--accent-soft)}.patient-next-card__doctor div:last-child{display:grid;gap:.2rem}.patient-next-card__doctor span{color:var(--text-muted);font-size:.86rem}.patient-meta-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}.patient-meta-list div{display:grid;gap:.2rem}.patient-meta-list dt{color:var(--text-muted);font-size:.72rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.patient-meta-list dd{margin:0;color:var(--text-primary);font-size:.88rem;font-weight:700}.patient-next-card__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.85rem;border-top:1px solid var(--border)}.patient-quick-actions__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.patient-quick-action{display:flex;align-items:center;gap:.65rem;min-width:0;padding:.75rem;border:1px solid var(--border);border-radius:.85rem;color:var(--text-primary);background:var(--surface);cursor:pointer;text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.patient-quick-action:hover,.patient-quick-action:focus-visible{border-color:var(--accent-border);box-shadow:0 .45rem 1rem rgb(var(--focus-rgb) / .08);transform:translateY(-1px)}.patient-quick-action .patient-icon{flex-basis:2.15rem;width:2.15rem;height:2.15rem;font-size:.95rem}.patient-quick-action>span:nth-child(2){display:grid;min-width:0;gap:.2rem}.patient-quick-action strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.patient-quick-action small{overflow:hidden;color:var(--text-muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.patient-quick-action__arrow{margin-left:auto;color:var(--text-muted);font-weight:800}.patient-dashboard__appointments,.patient-dashboard__medical{padding:1.35rem}.patient-appointment-list{display:grid;gap:.65rem}.patient-appointment-item{display:flex;align-items:center;gap:.9rem;padding:.8rem .15rem;border-top:1px solid var(--border)}.patient-appointment-item__date{display:grid;flex:0 0 3.25rem;justify-items:center;padding:.45rem .25rem;border-radius:.7rem;color:var(--link);background:var(--accent-soft)}.patient-appointment-item__date strong{font-size:1.2rem;line-height:1}.patient-appointment-item__date span{margin-top:.18rem;font-size:.68rem;font-weight:750;text-transform:uppercase}.patient-appointment-item__body{display:grid;min-width:0;flex:1;gap:.18rem}.patient-appointment-item__body strong{color:var(--text-primary)}.patient-appointment-item__body span,.patient-appointment-item__body small{overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.patient-appointment-item__body span{font-size:.82rem}.patient-appointment-item__body small{font-size:.74rem}.patient-medical-grid,.medical-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.patient-medical-card,.medical-overview-card{display:flex;align-items:flex-start;gap:.65rem;min-width:0;padding:.85rem;border:1px solid var(--border);border-radius:.85rem;background:var(--surface)}.patient-medical-card>div,.medical-overview-card>div{display:grid;min-width:0;gap:.22rem}.patient-medical-card>div>span,.medical-overview-card>div>span{color:var(--text-muted);font-size:.72rem;font-weight:750}.patient-medical-card strong,.medical-overview-card strong{overflow:hidden;color:var(--text-primary);font-size:.84rem;text-overflow:ellipsis}.patient-medical-card small,.medical-overview-card small{overflow:hidden;color:var(--text-muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.patient-empty-state{display:grid;justify-items:center;margin-top:0;padding:1.7rem 1rem;border:1px dashed var(--border-strong);box-shadow:none;background:var(--surface)}.patient-empty-state--compact{padding:1.25rem .7rem}.patient-empty-state__icon{display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:50%;color:var(--link);background:var(--accent-soft);font-size:1.25rem;font-weight:800}.patient-empty-state h2,.patient-empty-state h3{margin:.75rem 0 .25rem;color:var(--text-primary)}.patient-empty-state p{max-width:32rem;margin:0;color:var(--text-muted)}.patient-empty-state .button{margin-top:.9rem}.empty-state--inline{margin-top:0;padding:1.2rem;border-style:dashed;box-shadow:none;background:var(--surface)}.patient-dashboard__skeleton-hero{background:var(--surface)}.patient-dashboard__skeleton-hero>div{display:grid;gap:.75rem;width:min(100%,33rem)}.skeleton{display:block;border-radius:.55rem;background:linear-gradient(90deg,var(--surface-hover) 25%,var(--surface) 50%,var(--surface-hover) 75%);background-size:200% 100%;animation:patient-shimmer 1.25s infinite}.skeleton--eyebrow{width:8rem;height:.7rem}.skeleton--title{width:min(100%,23rem);height:2.4rem}.skeleton--line{width:min(100%,18rem);height:.9rem}.skeleton--avatar{width:7rem;height:7rem;border-radius:50%}.patient-skeleton-card{display:grid;align-content:start;gap:.75rem;min-height:12rem}@keyframes patient-shimmer{to{background-position:-200% 0}}.patient-profile-summary{display:grid;grid-template-columns:auto minmax(12rem,1fr) minmax(18rem,1.35fr);align-items:center;gap:1.25rem;padding:1.45rem;border:1px solid var(--border);border-radius:1.1rem;background:linear-gradient(145deg,var(--accent-soft),var(--surface));box-shadow:0 .7rem 2rem rgb(var(--shadow-rgb) / .05)}.patient-profile-summary__copy h2{margin:.25rem 0 .3rem;color:var(--text-primary);font-size:clamp(1.4rem,3vw,2rem)}.patient-profile-summary__copy p{margin:0;color:var(--text-muted)}.profile-active-dot{margin-left:.5rem;color:var(--success-text);font-size:.82rem;font-weight:750}.patient-profile-summary__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.1rem;margin:0;padding-left:1.25rem;border-left:1px solid var(--border)}.patient-profile-summary__facts div{display:grid;gap:.2rem}.patient-profile-summary__facts dt{color:var(--text-muted);font-size:.72rem;font-weight:750;text-transform:uppercase}.patient-profile-summary__facts dd{margin:0;color:var(--text-primary);font-size:.88rem;font-weight:700}.patient-profile-form{display:grid;gap:1rem;margin-top:1rem}.patient-profile-section{padding:1.3rem;border:1px solid var(--border);border-radius:1.1rem;background:var(--surface);box-shadow:0 .6rem 1.8rem rgb(var(--shadow-rgb) / .04)}.patient-profile-section__heading{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.15rem}.patient-profile-section__heading h2{margin:.1rem 0 .2rem;color:var(--text-primary);font-size:1.15rem}.patient-profile-section__heading p{margin:0;color:var(--text-muted);font-size:.82rem}.patient-profile-section .form-grid{margin:0}.profile-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.9rem}.profile-fact{display:grid;gap:.25rem;padding:.85rem;border-radius:.75rem;background:var(--surface)}.profile-fact span{color:var(--text-muted);font-size:.72rem;font-weight:750;text-transform:uppercase}.profile-fact strong{overflow:hidden;color:var(--text-primary);font-size:.88rem;text-overflow:ellipsis}.patient-profile-form>.form-actions{margin-top:0}.toast{display:flex;position:fixed;z-index:40;right:1.2rem;bottom:1.2rem;align-items:center;gap:.55rem;padding:.85rem 1rem;border:1px solid var(--success-border);border-radius:.8rem;color:var(--success-text);background:var(--success-soft);box-shadow:0 .8rem 2rem rgb(var(--shadow-rgb) / .14);font-weight:750}.toast span{display:grid;width:1.3rem;height:1.3rem;place-items:center;border-radius:50%;color:var(--text-on-accent);background:var(--success-solid);font-size:.78rem}.medical-record-page{max-width:1240px!important}.medical-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem;padding:.35rem;border:1px solid var(--border);border-radius:.95rem;background:var(--surface);box-shadow:0 .35rem 1rem rgb(var(--shadow-rgb) / .03)}.medical-tabs button{padding:.62rem .8rem;border:0;border-radius:.65rem;color:var(--text-muted);background:transparent;cursor:pointer;font-size:.82rem;font-weight:700}.medical-tabs button:hover,.medical-tabs button.is-active{color:var(--link);background:var(--accent-soft)}.medical-overview-grid{margin-top:.8rem}.medical-overview-card{min-height:7.7rem;padding:1rem;background:var(--surface);box-shadow:0 .5rem 1.5rem rgb(var(--shadow-rgb) / .04)}.medical-overview-card strong{font-size:.9rem}.medical-skeleton{display:grid;gap:.8rem;min-height:11rem;padding:1.25rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.medical-skeleton .skeleton--title{width:42%}.medical-timeline{display:grid;gap:0;position:relative;padding:.4rem 0 .4rem 1.2rem}.medical-timeline:before{position:absolute;top:.8rem;bottom:.8rem;left:.38rem;width:2px;content:"";background:var(--accent-soft)}.medical-timeline__item{display:grid;grid-template-columns:1rem minmax(0,1fr);gap:.8rem;position:relative;padding:.8rem 0 1rem}.medical-timeline__item>div{min-width:0;padding:.9rem 1rem;border:1px solid var(--border);border-radius:.9rem;background:var(--surface);box-shadow:0 .35rem 1.1rem rgb(var(--shadow-rgb) / .035)}.medical-timeline__item h3{margin:.2rem 0;color:var(--text-primary);font-size:.98rem}.medical-timeline__item p{margin:.35rem 0 0;color:var(--text-muted);white-space:pre-wrap}.medical-timeline__dot{z-index:1;align-self:start;width:.8rem;height:.8rem;margin-top:1.15rem;border:3px solid var(--border);border-radius:50%;background:var(--accent-solid)}.medical-filter-bar{display:grid;grid-template-columns:minmax(13rem,1.6fr) repeat(2,minmax(9rem,1fr));gap:.75rem;margin:1rem 0 1.25rem}@media(max-width:760px){.medical-filter-bar{grid-template-columns:1fr}}.document-viewer{width:min(100%,760px)}.document-viewer__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1rem;margin:1rem 0;color:var(--text-secondary);font-size:.86rem}.document-viewer__content{max-height:52vh;overflow:auto;margin:0;padding:1rem;border:1px solid var(--border);border-radius:.7rem;background:var(--surface);color:var(--link);font:inherit;line-height:1.65;white-space:pre-wrap}.document-viewer__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem}.visit-document-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 0;border-top:1px solid var(--border)}.visit-document-row>span{display:grid;gap:.15rem}.visit-document-row small{color:var(--text-muted)}.visit-document-row>div{display:flex;flex-wrap:wrap;gap:.4rem}@media(max-width:620px){.document-viewer__meta{grid-template-columns:1fr}.visit-document-row{align-items:flex-start;flex-direction:column}}.document-category-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 .8rem}.document-category-tabs button{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);background:var(--surface);font:inherit;font-size:.82rem;cursor:pointer}.document-category-tabs button:hover,.document-category-tabs button.is-active{border-color:var(--accent-solid);color:var(--link);background:var(--accent-soft)}.document-category-tabs button.is-active{box-shadow:0 0 0 2px rgb(var(--focus-rgb) / .1);font-weight:700}.patient-documents-filter{grid-template-columns:minmax(16rem,2fr) repeat(3,minmax(9rem,1fr))}.unified-document-list{gap:.8rem}.unified-document-card{display:grid;gap:.7rem}.unified-document-card__meta{display:flex;flex-wrap:wrap;gap:.35rem 1rem;color:var(--text-muted);font-size:.78rem}.unified-document-card__details{display:grid;gap:.25rem;padding:.7rem .8rem;border-radius:.65rem;background:var(--surface);color:var(--text-primary)}.unified-document-card__details p{margin:0;white-space:pre-wrap}.document-category-icon{color:var(--link)}@media(max-width:900px){.patient-documents-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.patient-documents-filter{grid-template-columns:1fr}.document-category-tabs{gap:.35rem}.document-category-tabs button{flex:1 1 calc(50% - .35rem);justify-content:center}}.dependent-viewing-banner{display:flex;align-items:center;gap:.6rem;margin:.9rem 0;padding:.7rem .85rem;border:1px solid var(--border-strong);border-radius:.75rem;color:var(--link);background:var(--accent-soft)}.dependent-viewing-banner span{color:var(--link)}.dependent-viewing-banner p{margin:0;font-size:.86rem}@media(max-width:980px){.patient-medical-grid,.medical-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-profile-summary{grid-template-columns:auto 1fr}.patient-profile-summary__facts{grid-column:1 / -1;padding:1rem 0 0;border-top:1px solid var(--border);border-left:0}}@media(max-width:700px){.patient-dashboard__columns{grid-template-columns:1fr}.patient-dashboard__hero,.patient-dashboard__skeleton-hero{align-items:flex-start;flex-direction:column}.patient-dashboard__hero .welcome-avatar,.patient-dashboard__skeleton-hero .skeleton--avatar{align-self:flex-end}.patient-appointment-item{align-items:flex-start;flex-wrap:wrap}.patient-appointment-item>.status{margin-left:4.15rem}.profile-location-grid{grid-template-columns:1fr}.medical-tabs{overflow-x:auto;flex-wrap:nowrap}.medical-tabs button{flex:0 0 auto}}@media(max-width:480px){.patient-dashboard__hero-actions{display:grid}.patient-dashboard__hero-actions .button{width:100%}.patient-quick-actions__grid,.patient-medical-grid,.medical-overview-grid,.patient-meta-list{grid-template-columns:1fr}.patient-profile-summary{grid-template-columns:1fr;justify-items:start}.patient-profile-summary__facts{width:100%}.patient-profile-summary__facts{gap:.7rem}.patient-next-card__time{align-items:flex-start;flex-direction:column;gap:.25rem}.toast{right:.7rem;bottom:.7rem;left:.7rem}}html,body,#root{max-width:100%}body{overflow-x:hidden}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent-border);outline-offset:3px}.dashboard-content{min-width:0;overflow-x:clip}.dashboard-content>*,.page-shell,.workflow-layout,.staff-calendar-shell{min-width:0}.mobile-bottom-nav,.mobile-more-backdrop{display:none}@media(max-width:900px){.dashboard-sidebar{z-index:40;padding-top:max(1.25rem,env(safe-area-inset-top))}.dashboard-header{padding-top:max(.75rem,env(safe-area-inset-top))}}@media(max-width:700px){.dashboard-layout{min-height:100dvh}.dashboard-header{gap:.65rem;min-height:64px;padding:.65rem max(1rem,env(safe-area-inset-right)) .65rem max(1rem,env(safe-area-inset-left))}.sidebar-toggle{flex:0 0 2.75rem;width:2.75rem;height:2.75rem}.header-context{min-width:0}.header-context span{font-size:.64rem}.header-context strong{overflow:hidden;max-width:32vw;text-overflow:ellipsis;white-space:nowrap}.header-actions{flex:0 0 auto;gap:.25rem}.location-chip,.profile-chip__name,.header-logout{display:none}.profile-chip{padding:.25rem}.profile-chip__avatar{width:2.25rem;height:2.25rem;font-size:.78rem}.language-switcher--compact select{min-width:3.9rem;min-height:2.75rem;padding:.55rem 1.35rem .55rem .55rem;font-size:.78rem}.dashboard-content{padding:1rem max(1rem,env(safe-area-inset-right)) calc(5.8rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.page-heading{margin-bottom:1rem}.page-heading h1{font-size:clamp(1.75rem,8vw,2.5rem);letter-spacing:-.045em}.page-heading--row,.profile-hero,.staff-profile-hero,.staff-dashboard-hero,.doctor-current-appointment,.workflow-detail__header,.stage-heading,.date-picker-heading{align-items:stretch;flex-direction:column}.page-heading--row .button,.profile-hero .button,.form-actions .button,.workflow-detail__header .button,.stage-heading .button{width:100%}.form-actions{flex-direction:column;align-items:stretch}.form-actions .button,.button--compact{min-width:0}input,textarea,select{min-height:2.75rem;font-size:16px}textarea{min-height:7rem}.filter-pills,.subject-tabs,.medical-tabs,.document-category-tabs{flex-wrap:nowrap;max-width:100%;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:thin}.filter-pills button,.subject-tabs button,.medical-tabs button,.document-category-tabs button{flex:0 0 auto;min-height:2.75rem}.profile-summary,.detail-list,.patient-meta-list,.booking-summary dl,.drawer-details,.document-viewer__meta{grid-template-columns:1fr}.profile-summary strong,.doctor-patient-contact strong,.patient-medical-card strong,.medical-overview-card strong{white-space:normal;overflow-wrap:anywhere}.patient-card,.record-card,.staff-appointment,.workflow-detail,.staff-calendar-shell,.staff-profile-section,.admin-section{padding:1rem;border-radius:.9rem}.staff-appointment__meta,.doctor-appointment-card__meta,.staff-dashboard-context,.staff-metrics,.admin-interval-row,.admin-exception-form{grid-template-columns:1fr}.workflow-layout{display:flex;flex-direction:column}.workflow-detail{position:static;order:-1;width:100%}.workflow-detail__header .status,.stage-heading .button{align-self:flex-start}.admin-interval-row>span{display:none}.calendar-toolbar{align-items:stretch;flex-wrap:wrap}.calendar-toolbar h2{order:-1;width:100%;min-width:0;text-align:left}.calendar-toolbar__nav,.calendar-toolbar__views{min-width:0;flex-wrap:wrap}.calendar-toolbar__nav{flex:1 1 100%}.calendar-toolbar__views{width:100%}.calendar-toolbar__views button{flex:1 1 0;min-height:2.75rem}.calendar-date-picker{flex:1 1 9rem}.calendar-date-picker input{min-width:0;width:100%;font-size:16px}.staff-calendar-timeline--day{min-width:0;overflow-x:hidden}.staff-calendar-timeline--day .timeline-header,.staff-calendar-timeline--day .timeline-body{grid-template-columns:3.4rem minmax(0,1fr);min-width:0}.staff-calendar-timeline--day .timeline-day-column{min-width:0}.timeline-time-column span{padding-right:.25rem;font-size:.64rem}.calendar-event{right:.2rem;left:.2rem;min-height:2.2rem;padding:.4rem .45rem;font-size:.76rem}.calendar-event small{font-size:.68rem}.staff-calendar-timeline:not(.staff-calendar-timeline--day){overflow-x:auto}.staff-calendar-month{overflow-x:auto}.staff-calendar-month .month-grid,.staff-calendar-month .month-weekdays{min-width:34rem}.month-day{min-height:5.5rem}.drawer-backdrop{z-index:60}.appointment-drawer{width:100%;max-height:100dvh;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) calc(1.25rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.drawer-actions{align-items:stretch;flex-direction:column}.drawer-actions .button{width:100%;min-height:2.75rem}.dev-modal-backdrop{padding:0}.dev-modal{width:100%;max-height:100dvh;min-height:100dvh;border-radius:0;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.mobile-bottom-nav{display:grid;position:fixed;z-index:45;right:0;bottom:0;left:0;grid-template-columns:repeat(5,minmax(0,1fr));min-height:calc(4.35rem + env(safe-area-inset-bottom));padding:.35rem max(.35rem,env(safe-area-inset-right)) calc(.35rem + env(safe-area-inset-bottom)) max(.35rem,env(safe-area-inset-left));border-top:1px solid var(--border);background:rgb(var(--surface-rgb) / .96);box-shadow:0 -.5rem 1.5rem rgb(var(--shadow-rgb) / .08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-bottom-nav__item{display:grid;min-width:0;min-height:3.5rem;place-items:center;align-content:center;gap:.12rem;padding:.25rem .15rem;border:0;border-radius:.7rem;color:var(--text-muted);background:transparent;cursor:pointer;font-size:.68rem;font-weight:750;line-height:1.15;text-align:center}.mobile-bottom-nav__item>span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-bottom-nav__icon{display:grid;width:1.55rem;height:1.55rem;place-items:center;border-radius:.5rem;color:var(--text-muted);background:var(--surface-subtle);font-size:1rem;line-height:1}.mobile-bottom-nav__item.is-active{color:var(--link)}.mobile-bottom-nav__item.is-active .mobile-bottom-nav__icon{color:var(--text-on-accent);background:var(--accent-solid)}.mobile-more-backdrop{display:flex;position:fixed;z-index:50;inset:0;align-items:flex-end;background:rgb(var(--overlay-rgb) / .3)}.mobile-more-sheet{width:100%;max-height:min(75dvh,38rem);overflow-y:auto;padding:.65rem max(1rem,env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));border-radius:1.2rem 1.2rem 0 0;background:var(--surface);box-shadow:0 -1rem 3rem rgb(var(--shadow-rgb) / .18)}.mobile-more-sheet__handle{width:2.7rem;height:.25rem;margin:0 auto .85rem;border-radius:999px;background:var(--accent-solid)}.mobile-more-sheet__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.mobile-more-sheet__header h2{margin:0;color:var(--text-primary);font-size:1.2rem}.mobile-more-sheet__nav{display:grid;gap:.35rem}.mobile-more-sheet__link{display:flex;align-items:center;gap:.75rem;min-height:3rem;padding:.55rem .65rem;border:1px solid var(--border);border-radius:.75rem;color:var(--text-secondary);background:var(--surface);cursor:pointer;font-weight:700;text-align:left}.mobile-more-sheet__link.is-active{color:var(--link);border-color:var(--accent-border);background:var(--accent-soft)}.mobile-more-sheet__link--logout{margin-top:.4rem;color:var(--danger-text);background:var(--danger-soft)}.toast{bottom:calc(5.5rem + env(safe-area-inset-bottom))}}@media(max-width:360px){.dashboard-header{padding-inline:.65rem}.header-context strong{max-width:24vw}.language-switcher--compact select{min-width:3.5rem}}.notification-center{position:relative;display:inline-flex}.notification-trigger{position:relative;display:inline-grid;place-items:center;width:2.55rem;height:2.55rem;border:1px solid var(--border);border-radius:50%;color:var(--link);background:var(--surface);cursor:pointer;font-size:1.15rem}.notification-trigger:hover,.notification-trigger:focus-visible{border-color:var(--accent-border);background:var(--accent-soft)}.notification-badge{position:absolute;top:-.25rem;right:-.25rem;min-width:1.25rem;height:1.25rem;padding:0 .25rem;border:2px solid var(--surface);border-radius:999px;color:var(--text-on-accent);background:var(--danger-solid);font-size:.68rem;font-weight:800;line-height:1.05rem}.notification-panel{position:absolute;z-index:70;top:calc(100% + .7rem);right:0;width:min(27rem,calc(100vw - 2rem));max-height:min(35rem,calc(100dvh - 6rem));overflow:auto;padding:1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:0 1.2rem 3rem rgb(var(--shadow-rgb) / .18)}.notification-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.notification-panel__header h2{margin:.15rem 0 0;color:var(--text-primary);font-size:1.15rem}.notification-read-all{display:block;margin:.7rem 0 .4rem auto}.notification-list{display:grid;gap:.55rem}.notification-item{padding:.75rem;border:1px solid var(--border);border-radius:.8rem;background:var(--surface)}.notification-item--unread{border-color:var(--accent-border);background:var(--accent-soft)}.notification-item__body{display:grid;width:100%;gap:.28rem;padding:0;border:0;color:var(--text-secondary);background:transparent;cursor:pointer;text-align:left}.notification-item__body strong{color:var(--text-primary)}.notification-item__body span{font-size:.9rem;line-height:1.4}.notification-item__body time{color:var(--text-muted);font-size:.75rem}.notification-item__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}.notification-empty{margin:1rem 0 .5rem;color:var(--text-muted);text-align:center}.attendance-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:1rem 1.2rem;border:1px solid var(--border);border-radius:1rem;background:linear-gradient(135deg,var(--accent-soft),var(--surface))}.attendance-card>div{display:grid;gap:.15rem}.attendance-card strong{color:var(--link);font-size:1.7rem}.attendance-card p{margin:0;color:var(--text-secondary);font-size:.9rem}.appointment-confirmation-card{display:grid;gap:.55rem;width:100%;margin-top:.7rem;padding:.8rem;border:1px solid var(--accent-border);border-radius:.8rem;background:var(--accent-soft)}.appointment-confirmation-card .form-actions{margin-top:0}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:1rem;background:rgb(var(--overlay-rgb) / .36)}.confirm-dialog{width:min(30rem,100%);padding:1.25rem;border-radius:1rem;background:var(--surface);box-shadow:0 1rem 3rem rgb(var(--shadow-rgb) / .2)}.confirm-dialog h2{margin-top:0;color:var(--text-primary)}.confirm-dialog p{color:var(--text-secondary);line-height:1.5}.button--danger{border-color:var(--danger-border);color:var(--text-on-accent);background:var(--danger-solid)}.admin-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin:1rem 0 1.5rem}.admin-stat-card{display:grid;gap:.3rem;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:var(--surface)}.admin-stat-card span{color:var(--text-muted);font-size:.8rem}.admin-stat-card strong{color:var(--text-primary);font-size:1.45rem}.workflow-detail__statuses{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem}.staff-section-page{max-width:1240px!important}.section-toolbar{display:flex;align-items:end;gap:.8rem;margin:0 0 1rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.section-toolbar .field-group{flex:1;margin:0}.section-search{min-width:min(28rem,100%)}.section-stat{display:grid;gap:.2rem;min-width:9rem;padding:.65rem .85rem;border-radius:.75rem;background:var(--accent-soft)}.section-stat span,.staff-record-card__facts small{color:var(--text-muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.section-stat strong{color:var(--link);font-size:1.35rem}.doctor-records-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.9rem}.staff-record-card{display:grid;gap:.9rem;padding:1.1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:0 .65rem 1.8rem rgb(var(--shadow-rgb) / .05)}.staff-record-card__person{display:flex;align-items:center;gap:.75rem;min-width:0}.staff-record-card h2,.referral-card h2,.queue-card h2{overflow:hidden;margin:.18rem 0;color:var(--text-primary);font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.staff-record-card p,.referral-card p,.queue-card p{margin:0;color:var(--text-muted);font-size:.82rem}.staff-record-card__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.staff-record-card__facts span{display:grid;gap:.22rem;padding:.65rem;border-radius:.65rem;background:var(--surface)}.staff-record-card__facts strong{overflow:hidden;color:var(--text-secondary);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.referrals-filters{display:grid;grid-template-columns:minmax(14rem,1.5fr) repeat(4,minmax(8rem,1fr));align-items:end}.referral-list,.queue-list{display:grid;gap:.75rem}.referral-card{display:grid;gap:.7rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:0 .55rem 1.5rem rgb(var(--shadow-rgb) / .04)}.referral-card.is-selected{border-color:var(--accent-border);box-shadow:0 0 0 3px rgb(var(--focus-rgb) / .18)}.referral-card__main{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:0;border:0;color:inherit;background:transparent;cursor:pointer;text-align:left}.referral-card__main>div:nth-child(2){min-width:0}.referral-card__actions{display:flex;flex-wrap:wrap;gap:.45rem;padding-left:3.25rem}.queue-card{display:grid;grid-template-columns:5rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:0 .55rem 1.5rem rgb(var(--shadow-rgb) / .04)}.queue-card__time{display:grid;justify-items:center;gap:.15rem;padding-right:1rem;border-right:1px solid var(--border)}.queue-card__time strong{color:var(--link);font-size:1.4rem}.queue-card__time span{color:var(--text-muted);font-size:.7rem}.queue-card__person{display:flex;align-items:center;gap:.75rem;min-width:0}.queue-card__person>div:last-child{min-width:0}.queue-card__state{display:flex;flex-wrap:wrap;justify-content:end;gap:.45rem}.vitals-layout{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);align-items:start;gap:1rem}.vitals-patient-list,.vitals-editor{display:grid;gap:.7rem}.vitals-patient-list{padding:.7rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.vitals-patient{display:flex;align-items:center;gap:.7rem;padding:.7rem;border:1px solid transparent;border-radius:.7rem;color:var(--text-secondary);background:var(--surface);cursor:pointer;font:inherit;text-align:left}.vitals-patient:hover,.vitals-patient.is-selected{border-color:var(--accent-border);background:var(--accent-soft)}.vitals-patient>span:last-child{display:grid;gap:.2rem;min-width:0}.vitals-patient strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vitals-patient small{color:var(--text-muted)}.vitals-editor{padding:1.1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:0 .65rem 1.8rem rgb(var(--shadow-rgb) / .05)}.vitals-editor__header{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--border)}.vitals-editor__header h2{margin:.2rem 0;color:var(--text-primary)}.vitals-editor__header p{margin:0;color:var(--text-muted)}.previous-vitals{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.75rem;border-radius:.7rem;color:var(--text-secondary);background:var(--accent-soft);font-size:.8rem}.previous-vitals strong{color:var(--link)}.staff-modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:1rem;background:rgb(var(--overlay-rgb) / .4)}.staff-modal{display:grid;gap:.85rem;width:min(720px,100%);max-height:min(90vh,780px);overflow:auto;padding:1.2rem;border:1px solid var(--border);border-radius:1.1rem;background:var(--surface);box-shadow:0 1rem 3rem rgb(var(--shadow-rgb) / .2)}.staff-modal__header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.staff-modal__header h2{margin:.2rem 0 0;color:var(--text-primary)}.referral-document{display:grid;gap:.7rem;padding:1rem;border:1px solid var(--border);border-radius:.8rem;background:var(--surface)}.referral-document p{margin:0;color:var(--text-secondary)}.referral-document strong{color:var(--link)}.staff-section-empty{border:1px dashed var(--border-strong);box-shadow:none;background:var(--surface)}@media(max-width:850px){.referrals-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.section-search{min-width:0;grid-column:1 / -1}.vitals-layout{grid-template-columns:1fr}}@media(max-width:620px){.section-toolbar{align-items:stretch;flex-direction:column}.section-stat{min-width:0}.queue-card{grid-template-columns:1fr;gap:.75rem}.queue-card__time{justify-items:start;padding:0 0 .65rem;border-right:0;border-bottom:1px solid var(--border)}.queue-card__state{justify-content:start}.referral-card__main{grid-template-columns:auto 1fr}.referral-card__main>.status{grid-column:2;justify-self:start}.referral-card__actions{padding-left:0}.referrals-filters{grid-template-columns:1fr}.section-search{grid-column:auto}}@media print{.dashboard-sidebar,.dashboard-header,.mobile-bottom-nav,.referral-card__actions,.staff-modal-backdrop{display:none!important}.dashboard-content{padding:0}.referral-card{break-inside:avoid}}@media(max-width:600px){.notification-panel{position:fixed;top:4.5rem;right:.65rem;left:.65rem;width:auto;max-height:calc(100dvh - 6rem)}.notification-trigger{width:2.35rem;height:2.35rem}.attendance-card{align-items:flex-start;flex-direction:column}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ai-assistant{position:fixed;z-index:36;right:1.35rem;bottom:1.25rem;display:grid;grid-template-rows:auto auto 1fr auto;width:min(430px,calc(100vw - 2rem));height:min(720px,calc(100dvh - 2rem));overflow:hidden;border:1px solid var(--border-strong);border-radius:1.35rem;background:var(--surface);box-shadow:0 1.4rem 4rem rgb(var(--focus-rgb) / .22)}.ai-assistant__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem;color:var(--text-on-accent);background:linear-gradient(135deg,var(--accent-solid-hover),var(--accent-solid))}.ai-assistant__identity{display:flex;align-items:center;gap:.7rem;min-width:0}.ai-assistant__identity>div{display:grid;gap:.15rem;min-width:0}.ai-assistant__identity strong{font-size:1rem}.ai-assistant__identity span:last-child{overflow:hidden;color:var(--text-on-accent-muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.ai-assistant__mark{display:grid;width:2.35rem;height:2.35rem;flex:0 0 auto;place-items:center;border-radius:.8rem;color:var(--link);background:var(--success-soft);font-size:1.3rem}.ai-assistant__actions{display:flex;gap:.25rem}.ai-icon-button{width:2rem;height:2rem;border:0;border-radius:.55rem;color:var(--text-on-accent);background:rgb(var(--on-accent-rgb) / .13);cursor:pointer;font-size:1.2rem}.ai-icon-button:hover{background:rgb(var(--on-accent-rgb) / .23)}.ai-assistant__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;border-bottom:1px solid var(--border);background:var(--surface)}.ai-history-button{border:0;color:var(--text-secondary);background:transparent;cursor:pointer;font:inherit;font-size:.78rem;font-weight:800}.ai-history-button.is-active{color:var(--link)}.ai-history-button span{display:inline-grid;min-width:1.25rem;height:1.25rem;place-items:center;margin-left:.2rem;border-radius:50%;color:var(--link);background:var(--accent-soft);font-size:.7rem}.ai-role-badge{padding:.25rem .5rem;border-radius:999px;color:var(--link);background:var(--accent-soft);font-size:.68rem;font-weight:800}.ai-history{position:absolute;z-index:2;top:7rem;right:.65rem;left:.65rem;display:grid;gap:.25rem;max-height:12rem;overflow-y:auto;padding:.5rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface);box-shadow:0 .7rem 1.8rem rgb(var(--focus-rgb) / .14)}.ai-history__item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0;padding:.55rem .6rem;border:0;border-radius:.5rem;color:var(--text-secondary);background:transparent;cursor:pointer;font:inherit;font-size:.78rem;text-align:left}.ai-history__item:hover,.ai-history__item.is-active{color:var(--link);background:var(--accent-soft)}.ai-history__item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-history__item b{flex:0 0 auto;color:var(--text-muted);font-size:1rem}.ai-history__item b:hover{color:var(--danger-text)}.ai-history__empty{margin:.6rem;color:var(--text-muted);font-size:.78rem;text-align:center}.ai-assistant__messages{display:flex;flex-direction:column;gap:.85rem;overflow-y:auto;padding:1rem .9rem;scroll-behavior:smooth}.ai-welcome{display:grid;justify-items:center;align-content:center;min-height:100%;padding:1rem .5rem;text-align:center}.ai-welcome__halo{display:grid;width:3.3rem;height:3.3rem;place-items:center;border:1px solid var(--border-strong);border-radius:1.1rem;color:var(--link);background:var(--accent-soft);font-size:1.8rem}.ai-welcome h2{margin:1rem 0 .35rem;color:var(--text-primary);font-size:1.2rem}.ai-welcome p{max-width:31rem;margin:0;color:var(--text-muted);font-size:.82rem;line-height:1.5}.ai-suggestions{display:grid;gap:.45rem;width:100%;margin-top:1.2rem}.ai-suggestions button{padding:.62rem .75rem;border:1px solid var(--border);border-radius:.75rem;color:var(--link);background:var(--surface);cursor:pointer;font:inherit;font-size:.76rem;text-align:left;transition:border-color .15s,background .15s}.ai-suggestions button:hover{border-color:var(--accent-border);background:var(--success-soft)}.ai-message{display:flex;align-items:flex-end;gap:.45rem;max-width:91%}.ai-message--user{align-self:flex-end;flex-direction:row-reverse}.ai-message__avatar{display:grid;width:1.55rem;height:1.55rem;flex:0 0 auto;place-items:center;border-radius:.55rem;color:var(--link);background:var(--success-soft);font-size:.68rem;font-weight:900}.ai-message--user .ai-message__avatar{color:var(--text-secondary);background:var(--surface-hover)}.ai-message__bubble{padding:.68rem .8rem;border:1px solid var(--border);border-radius:.9rem .9rem .9rem .25rem;color:var(--link);background:var(--surface);font-size:.84rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.ai-message--user .ai-message__bubble{border-color:var(--accent-border);border-radius:.9rem .9rem .25rem;color:var(--link);background:var(--accent-soft)}.ai-message__body{display:grid;gap:.5rem;min-width:0}.ai-tool-results{display:grid;gap:.5rem;padding:.55rem;border:1px solid var(--border);border-radius:.8rem;background:var(--accent-soft);color:var(--text-secondary);font-size:.78rem}.ai-tool-results>strong{color:var(--link);font-size:.75rem}.ai-doctor-card,.ai-slot-card,.ai-proposal-card,.ai-subject-card{display:grid;gap:.28rem;padding:.65rem;border:1px solid var(--border);border-radius:.7rem;background:var(--surface)}.ai-doctor-card>div,.ai-slot-card>div{display:flex;justify-content:space-between;gap:.5rem}.ai-doctor-card strong,.ai-slot-card strong,.ai-proposal-card strong{color:var(--link)}.ai-doctor-card span,.ai-slot-card span,.ai-subject-card small{color:var(--text-muted);font-size:.72rem}.ai-doctor-card p,.ai-slot-card small,.ai-proposal-card p{margin:0;color:var(--text-secondary);font-size:.72rem;line-height:1.4}.ai-doctor-card button,.ai-proposal-card button{justify-self:start;padding:.42rem .6rem;border:0;border-radius:.5rem;color:var(--text-on-accent);background:var(--accent-solid);cursor:pointer;font:inherit;font-size:.72rem;font-weight:800}.ai-slot-card select{width:100%;padding:.35rem;border:1px solid var(--border);border-radius:.45rem;color:var(--text-secondary);background:var(--input-bg);font:inherit;font-size:.72rem}.ai-proposal-card,.ai-proposal-card.is-confirmed{border-color:var(--accent-border);background:var(--success-soft)}.ai-proposal-card__actions{display:flex;gap:.4rem}.ai-proposal-card button.is-secondary{color:var(--text-secondary);background:var(--surface-hover)}.ai-subject-card{display:flex;align-items:center;justify-content:space-between}.ai-tool-error{padding:.55rem .65rem;border:1px solid var(--danger-border);border-radius:.65rem;color:var(--danger-text);background:var(--danger-soft);font-size:.75rem}.ai-error{padding:.62rem .75rem;border:1px solid var(--danger-border);border-radius:.7rem;color:var(--danger-text);background:var(--danger-soft);font-size:.78rem;line-height:1.4}.ai-typing{display:inline-flex;gap:.2rem;align-items:center;min-width:2rem}.ai-typing i{width:.32rem;height:.32rem;border-radius:50%;background:var(--accent-solid);animation:ai-pulse 1s infinite ease-in-out}.ai-typing i:nth-child(2){animation-delay:.15s}.ai-typing i:nth-child(3){animation-delay:.3s}@keyframes ai-pulse{0%,70%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-.15rem)}}.ai-composer{position:relative;display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.75rem;border-top:1px solid var(--border);background:var(--surface)}.ai-composer textarea{min-height:2.7rem;max-height:7rem;resize:vertical;padding:.7rem .75rem;border:1px solid var(--border);border-radius:.75rem;outline:0;color:var(--text-secondary);background:var(--input-bg);font:inherit;font-size:.82rem;line-height:1.4}.ai-composer textarea:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px rgb(var(--focus-rgb) / .18)}.ai-composer>button{align-self:start;width:2.7rem;height:2.7rem;border:0;border-radius:.75rem;color:var(--text-on-accent);background:var(--accent-solid);cursor:pointer;font-size:1rem}.ai-composer>button.is-stop{color:var(--danger-text);background:var(--danger-soft)}.ai-composer small{grid-column:1 / -1;color:var(--text-muted);font-size:.64rem}@media(max-width:600px){.ai-assistant{right:0;bottom:0;width:100%;height:100dvh;max-height:none;border-radius:0}.ai-history{top:6.7rem}}.app-shell--public{display:flex;flex-direction:column}.app-shell--public .app-main{flex:1;min-height:calc(100dvh - 6rem)}button,select,input,textarea{color:inherit}input,select,textarea{color:var(--text-primary)}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}input[type=checkbox],input[type=radio]{accent-color:var(--accent-solid)}a{color:var(--link);text-underline-offset:.2em}select option{color:var(--text-primary);background:var(--surface)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.ai-assistant{z-index:95}.drawer-backdrop,.staff-modal-backdrop{z-index:100}.theme-switcher{position:relative;display:inline-grid;flex:0 0 2.75rem;width:2.75rem;height:2.75rem;place-items:center;border:1px solid var(--border);border-radius:.75rem;color:var(--link);background:var(--surface);cursor:pointer}.theme-switcher:hover{background:var(--accent-soft);border-color:var(--accent-border)}.theme-switcher:focus-within{outline:3px solid var(--focus);outline-offset:3px}.theme-switcher svg{pointer-events:none}.theme-switcher select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.site-footer{flex-shrink:0;min-width:0;margin-top:auto;padding:2.75rem clamp(1rem,3vw,2.7rem) 2rem;border-top:1px solid var(--footer-border);color:var(--footer-text);background:var(--footer-bg);font-size:.85rem;line-height:1.6}.site-footer__grid,.site-footer__bottom{width:100%;max-width:1180px;margin-inline:auto}.site-footer__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1.2fr);gap:clamp(1rem,2.5vw,2.75rem)}.site-footer__grid>*{min-width:0}.site-footer .brand-name,.site-footer h2{color:var(--footer-heading)}.site-footer .brand-link{min-height:2.75rem}.site-footer h2{margin:.45rem 0 .9rem;font-size:.88rem;font-weight:750}.site-footer p{margin:.85rem 0 0}.site-footer ul{padding:0;margin:0;list-style:none}.site-footer li+li{margin-top:.15rem}.site-footer a{color:inherit;text-decoration:none;overflow-wrap:anywhere}.site-footer li a{display:inline-block;padding-block:.35rem;transition:color .16s ease,text-decoration-color .16s ease}.site-footer a:hover{color:var(--link);text-decoration:underline}.site-footer__external{margin-left:.35rem;color:var(--link)}.site-footer__availability{display:flex;align-items:flex-start;gap:.45rem}.site-footer__availability>span{color:var(--link)}.site-footer__bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem 2.5rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--footer-border);font-size:.76rem}.site-footer__bottom p{margin:0}.site-footer__demo{display:flex;align-items:flex-start;gap:.45rem;max-width:29rem}.site-footer__demo>span{flex-shrink:0;color:var(--link)}.help-page__cards{display:grid;gap:1rem}.help-page__cards h2{margin-top:0;font-size:1.15rem}.help-page__cards p{line-height:1.7;color:var(--text-secondary)}.dashboard-main .site-footer{padding-bottom:6rem}.dashboard-main:has(.dev-toolbar) .site-footer{padding-bottom:11rem}@media(max-width:1200px){.dashboard-main .site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.header-actions{gap:.4rem}.profile-chip__name{display:none}}@media(max-width:900px){.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.site-footer__bottom{flex-direction:column}.header-logout{display:none}}@media(max-width:700px){.dashboard-header{flex-wrap:wrap;gap:.4rem}.header-context{flex:1}.header-actions{gap:.25rem}.notification-trigger{width:2.75rem;height:2.75rem}.profile-chip{min-width:2.75rem;min-height:2.75rem}.dashboard-content{padding-bottom:2rem}.dashboard-main .site-footer{padding-bottom:calc(10rem + env(safe-area-inset-bottom))}.dashboard-main:has(.dev-toolbar) .site-footer{padding-bottom:calc(17rem + env(safe-area-inset-bottom))}.dashboard-main .dev-toolbar{bottom:calc(4.8rem + env(safe-area-inset-bottom));flex-wrap:wrap}.site-footer li a{min-height:2.75rem;padding-block:.65rem}}@media(max-width:600px){.site-footer,.dashboard-main .site-footer{padding-top:2rem}.site-footer__grid,.dashboard-main .site-footer__grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}.site-footer h2{margin-bottom:.45rem}.site-footer__bottom{margin-top:1.5rem}.app-shell--public .public-header{width:calc(100% - 2rem);gap:.5rem}.public-header .brand-link{gap:.4rem}.public-header .brand-name{font-size:.95rem}.public-header .language-switcher select{min-width:3.8rem;padding-inline:.5rem}.dashboard-header .header-context{flex-basis:calc(100% - 3.5rem)}.dashboard-header .header-context strong{max-width:75vw}.dashboard-header .header-actions{justify-content:flex-end;width:100%}.dashboard-header .header-actions>.language-switcher{margin-right:auto}.notification-center{position:static}.notification-panel{position:absolute;top:calc(100% + .5rem);max-height:calc(100dvh - 9rem)}.ai-composer{padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.site-footer,.theme-switcher,.dev-toolbar,.ai-launcher,.ai-assistant{display:none!important}}body{font-family:var(--font-sans);line-height:var(--leading-normal)}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,a,input,select,textarea{transition:background-color var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast),box-shadow var(--duration-fast)}button{cursor:pointer}button:disabled{cursor:not-allowed}svg{flex-shrink:0;vertical-align:middle}input,select,textarea{min-width:0;max-width:100%}input[type=checkbox],input[type=radio]{width:1.15rem;height:1.15rem;min-height:0;flex-shrink:0}.skip-link{position:fixed;z-index:200;top:.5rem;left:.5rem;transform:translateY(-200%);padding:.75rem 1rem;border-radius:var(--radius-md);color:var(--text-on-accent);background:var(--accent-solid);text-decoration:none}.skip-link:focus{transform:translateY(0)}#main-content:focus{outline:none}.ui-icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;height:2.75rem;padding:.6rem;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);background:var(--surface)}.ui-icon-button:hover{color:var(--link);border-color:var(--accent-border);background:var(--accent-soft)}.ui-muted{color:var(--text-muted);font-size:var(--text-sm)}.workspace-sidebar-slot{position:fixed;z-index:var(--z-sidebar);inset:0 auto 0 0;width:var(--sidebar-width)}.workspace-sidebar{display:flex;flex-direction:column;width:100%;height:100dvh;padding:1.5rem .8rem .8rem;border-right:1px solid var(--border);background:var(--surface)}.workspace-sidebar__brand{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin:0 .4rem 1.4rem}.workspace-sidebar__brand .brand-link{gap:.55rem}.workspace-sidebar__brand .brand-name{font-size:1rem}.workspace-sidebar__brand .brand-mark{width:2.1rem;height:2.1rem;border-radius:.65rem}.sidebar-collapse{width:2rem;height:2rem;padding:.4rem;border-color:transparent}.workspace-sidebar__role{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin:0 .3rem .5rem;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);background:var(--surface-subtle);font-size:var(--text-xs);font-weight:650}.workspace-sidebar__role-dot{width:.45rem;height:.45rem;flex-shrink:0;border-radius:50%;background:var(--secondary-solid);box-shadow:0 0 0 3px var(--secondary-soft)}.workspace-sidebar__nav{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;padding:.3rem}.workspace-sidebar__group{display:grid;gap:.2rem;margin-bottom:.8rem}.workspace-sidebar__group-label{padding:.55rem .75rem .3rem;color:var(--text-muted);font-size:.65rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase}.workspace-nav-link{position:relative;display:flex;align-items:center;gap:.8rem;width:100%;min-height:2.8rem;padding:.65rem .8rem;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);background:transparent;font-size:.85rem;font-weight:550;text-align:left;text-decoration:none;line-height:1.4}.workspace-nav-link svg{color:var(--text-muted)}.workspace-nav-link:hover{background:var(--surface-hover);color:var(--text-primary)}.workspace-nav-link.is-active{border-color:var(--accent-border);color:var(--link);background:var(--accent-soft);font-weight:700}.workspace-nav-link.is-active svg{color:var(--link)}.workspace-sidebar__footer{display:grid;gap:.2rem;padding:.65rem .3rem 0;border-top:1px solid var(--border)}.workspace-nav-link--logout:hover{color:var(--danger-text);background:var(--danger-soft)}.workspace-layout .dashboard-main{margin-left:var(--sidebar-width)}.workspace-layout--collapsed .workspace-sidebar-slot{width:var(--sidebar-compact-width)}.workspace-layout--collapsed .dashboard-main{margin-left:var(--sidebar-compact-width)}.workspace-sidebar.is-collapsed{padding-inline:.6rem}.workspace-sidebar.is-collapsed .workspace-sidebar__brand{flex-direction:column;margin-inline:0;margin-bottom:.3rem}.workspace-sidebar.is-collapsed .brand-name,.workspace-sidebar.is-collapsed .workspace-nav-link__label,.workspace-sidebar.is-collapsed .workspace-sidebar__role{display:none}.workspace-sidebar.is-collapsed .workspace-sidebar__group-label{overflow:hidden;height:.7rem;padding:0;margin-bottom:.5rem;border-bottom:1px solid var(--border);font-size:0}.workspace-sidebar.is-collapsed .workspace-nav-link{justify-content:center;padding-inline:.5rem}.workspace-nav-link__tooltip{position:fixed;left:calc(var(--sidebar-compact-width) + .4rem);z-index:var(--z-dropdown);visibility:hidden;max-width:17rem;padding:.55rem .8rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);background:var(--surface);box-shadow:var(--shadow-md);pointer-events:none}.workspace-nav-link:is(:hover,:focus-visible) .workspace-nav-link__tooltip{visibility:visible}.workspace-header{z-index:var(--z-header);min-height:82px;gap:1rem;background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.workspace-header__context{display:grid;gap:.2rem;min-width:0;margin-right:auto}.workspace-header__context>strong{font-size:var(--text-base);line-height:var(--leading-tight);overflow-wrap:anywhere}.workspace-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;padding:0;list-style:none;font-size:.7rem;color:var(--text-muted)}.workspace-breadcrumbs a{color:inherit;text-decoration:none}.workspace-breadcrumbs a:hover{color:var(--link);text-decoration:underline}.workspace-header__actions{flex-shrink:0;gap:.45rem}.workspace-header>.sidebar-toggle{display:none}.workspace-location{display:flex;align-items:center;gap:.3rem;max-width:10rem;min-height:2.75rem;padding-inline:.5rem;font-size:var(--text-xs);text-decoration:none}.workspace-location>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-user-menu .ui-popover__trigger{width:auto;padding:.3rem .6rem .3rem .3rem;gap:.5rem}.workspace-user-menu__name{max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs)}.workspace-user-menu__identity{display:grid;gap:.2rem;padding:.2rem .5rem .8rem;margin-bottom:.4rem;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.workspace-user-menu__identity span{font-size:var(--text-xs);color:var(--text-muted)}.workspace-user-menu .ui-popover__panel>:is(a,button){display:flex;align-items:center;gap:.65rem;width:100%;min-height:2.75rem;padding:.65rem .5rem;border:0;border-radius:var(--radius-sm);color:var(--text-secondary);background:transparent;text-align:left;text-decoration:none;font-size:var(--text-sm)}.workspace-user-menu .ui-popover__panel>:is(a,button):hover{color:var(--link);background:var(--accent-soft)}.workspace-bottom-nav{display:none}.ui-popover{position:relative}.ui-popover__trigger{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);background:var(--surface);cursor:pointer;list-style:none}.ui-popover__trigger::-webkit-details-marker{display:none}.ui-popover__trigger:hover,.ui-popover[open]>summary{color:var(--link);border-color:var(--accent-border);background:var(--accent-soft)}.ui-popover__panel{position:absolute;z-index:var(--z-dropdown);top:calc(100% + .6rem);right:0;width:18rem;max-width:calc(100vw - 2rem);padding:1rem;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);background:var(--surface);box-shadow:var(--shadow-lg);animation:ui-appear var(--duration-fast) var(--ease-standard)}.ui-popover__panel p{margin:.4rem 0 .75rem}.ui-switch{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.75rem;font-size:var(--text-sm);cursor:pointer}.ui-switch+.ui-switch{border-top:1px solid var(--border)}.ui-switch input{width:1.2rem;height:1.2rem}.accessibility-settings .ui-choice+.ui-choice{border-top:1px solid var(--border)}.accessibility-settings .checkbox-field{width:100%;padding-block:.6rem}.ui-dialog{position:fixed;width:min(36rem,calc(100% - 2rem));max-width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem);margin:auto;padding:0;border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-primary);background:var(--surface);box-shadow:var(--shadow-lg)}.ui-dialog[open]{display:flex;flex-direction:column;animation:ui-appear var(--duration-normal) var(--ease-standard)}.ui-dialog::backdrop{background:rgb(var(--overlay-rgb) / .5)}.ui-dialog__header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.ui-dialog__header h2{margin:0;font-size:var(--text-lg)}.ui-dialog__body{min-height:0;padding:1.25rem;overflow:auto;overscroll-behavior:contain}.ui-dialog__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem;padding:1rem 1.25rem;border-top:1px solid var(--border)}.ui-dialog--drawer{inset:0 auto 0 0;width:min(22rem,calc(100vw - 1.5rem));height:100dvh;max-height:100dvh;margin:0;border-radius:0 var(--radius-lg) var(--radius-lg) 0}.workspace-mobile-drawer .ui-dialog__body{display:flex;flex:1;padding:0}.workspace-mobile-drawer .workspace-sidebar{height:auto;min-height:0;padding-top:1rem;border:0}.workspace-mobile-drawer .workspace-sidebar__nav{overflow-y:auto}.workspace-mobile-drawer .workspace-sidebar__brand{margin-bottom:.5rem}.site-footer__developer{display:grid;gap:.45rem;margin-top:1.25rem;font-size:.8rem}.site-footer__developer>span{color:var(--text-muted)}.site-footer .site-footer__telegram{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;justify-self:start;min-height:2.75rem;padding:.55rem .75rem;border:1px solid var(--accent-border);border-radius:var(--radius-md);color:var(--link);background:var(--accent-soft);font-weight:650}.site-footer .site-footer__telegram:hover{background:var(--surface-hover)}@keyframes ui-appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1200px){.workspace-user-menu__name,.workspace-location{display:none}}@media(max-width:900px){.workspace-sidebar-slot{display:none}.workspace-layout .dashboard-main{margin-left:0}.workspace-header{padding-inline:1rem}.workspace-header>.sidebar-toggle{display:inline-flex}.workspace-header__actions{margin-left:auto}}@media(max-width:700px){.workspace-header{flex-wrap:wrap;gap:.5rem;padding:.65rem 1rem}.workspace-header__context{flex:1}.workspace-header__actions{justify-content:flex-end;gap:.4rem}.workspace-breadcrumbs{display:none}.workspace-bottom-nav{display:grid;position:fixed;z-index:var(--z-header);inset:auto 0 0;grid-template-columns:repeat(5,minmax(0,1fr));gap:.15rem;padding:.4rem .4rem max(.4rem,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);box-shadow:0 -3px 15px rgb(var(--shadow-rgb) / .04)}.workspace-bottom-nav>:is(a,button){display:grid;justify-items:center;align-content:center;gap:.2rem;min-width:0;min-height:3rem;padding:.35rem .1rem;border:0;border-radius:var(--radius-md);color:var(--text-muted);background:transparent;text-align:center;text-decoration:none;font-size:.6rem;line-height:1.25;overflow-wrap:anywhere}.workspace-bottom-nav .is-active{color:var(--link);background:var(--accent-soft);font-weight:700}.ui-popover__panel{position:fixed;top:auto;right:1rem;margin-top:.6rem;max-height:calc(100dvh - 10rem);overflow-y:auto}.public-header{flex-wrap:wrap}.public-header .header-actions{margin-left:auto}}@media(max-width:600px){.workspace-header__context{flex-basis:calc(100% - 4rem)}.workspace-header__actions{width:100%}.workspace-header__actions{justify-content:space-between;flex-wrap:wrap;min-width:0}.workspace-header__actions>.accessibility-settings{margin-right:0}.workspace-header__actions :is(.theme-switcher,.ui-popover__trigger,.notification-trigger){width:44px;height:44px;flex:0 0 44px}.workspace-header__actions .workspace-user-menu .ui-popover__trigger{width:44px;padding:0}.workspace-user-menu .ui-popover__trigger>svg{display:none}.workspace-user-menu .profile-chip__avatar{width:32px;height:32px;flex-basis:32px}.workspace-header__actions .language-switcher select{min-width:64px;min-height:44px;padding-inline:.4rem}.ui-dialog{width:calc(100% - 1rem);max-width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);border-radius:var(--radius-lg)}.ui-dialog--drawer{width:min(22rem,calc(100vw - 1.5rem));max-height:100dvh;border-radius:0 var(--radius-lg) var(--radius-lg) 0}.ui-dialog__header,.ui-dialog__body,.ui-dialog__footer{padding:1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.workspace-sidebar-slot,.workspace-bottom-nav,.ui-popover,.skip-link{display:none!important}.workspace-layout .dashboard-main{margin-left:0}}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.65rem 1rem;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-on-accent);background:var(--accent-solid);font-size:var(--text-sm);font-weight:650;line-height:1.4;text-decoration:none}.ui-button:hover:not(:disabled){background:var(--accent-solid-hover);box-shadow:var(--shadow-sm)}.ui-button:disabled{opacity:.6}.ui-button--secondary{border-color:var(--border-strong);color:var(--text-secondary);background:var(--surface)}.ui-button--secondary:hover:not(:disabled){color:var(--link);border-color:var(--accent-border);background:var(--accent-soft)}.ui-button--danger{background:var(--danger-solid)}.ui-button--danger:hover:not(:disabled){background:var(--danger-text)}.ui-button--ghost{color:var(--link);background:transparent}.ui-button--ghost:hover:not(:disabled){background:var(--accent-soft)}.ui-card{min-width:0;padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.ui-field{display:flex;flex-direction:column;min-width:0;gap:.35rem}.ui-field .field-label{margin-bottom:0;font-size:var(--text-sm);font-weight:600}.ui-field :is(input,select,textarea){border-radius:var(--radius-md)}.ui-field :is(input,select){min-height:2.75rem}.ui-field__required{color:var(--danger-text)}.ui-field__hint,.ui-field__error{display:block;font-size:var(--text-xs);line-height:1.5}.ui-field__hint{color:var(--text-muted)}.ui-field__error{color:var(--danger-text)}.ui-field--invalid :is(input,select,textarea){border-color:var(--danger-solid)}.ui-choice{min-width:0}.ui-choice .checkbox-field{min-height:2.75rem;font-size:var(--text-sm);font-weight:500;cursor:pointer}.ui-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);background:var(--surface-subtle);font-size:var(--text-xs);font-weight:650;line-height:1.4}.ui-badge--success{color:var(--success-text);background:var(--success-soft);border-color:var(--success-border)}.ui-badge--warning{color:var(--warning-text);background:var(--warning-soft);border-color:var(--warning-border)}.ui-badge--danger{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger-border)}.ui-badge--info{color:var(--info-text);background:var(--info-soft);border-color:var(--info-border)}.ui-alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:1px solid var(--info-border);border-radius:var(--radius-md);color:var(--info-text);background:var(--info-soft);font-size:var(--text-sm);overflow-wrap:anywhere}.ui-alert>svg{margin-top:.15rem}.ui-alert strong{display:block;margin-bottom:.25rem}.ui-alert--success{color:var(--success-text);background:var(--success-soft);border-color:var(--success-border)}.ui-alert--warning{color:var(--warning-text);background:var(--warning-soft);border-color:var(--warning-border)}.ui-alert--danger{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger-border)}.ui-loading{display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:10rem;color:var(--text-muted);font-size:var(--text-sm)}.ui-spinner{display:inline-block;flex-shrink:0;width:1.2rem;height:1.2rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .75s linear infinite}.ui-skeleton{display:block;height:.85rem;width:100%;margin-bottom:.9rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-hover) 25%,var(--surface-subtle) 50%,var(--surface-hover) 75%);background-size:200% 100%;animation:ui-shimmer 1.8s linear infinite}.ui-skeleton--heading{width:65%;height:1.8rem;margin-bottom:1.25rem}.ui-page-skeleton{width:100%;min-height:22rem;padding-block:1rem}.ui-page-skeleton>.ui-skeleton{max-width:30rem}.ui-page-skeleton__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.ui-page-skeleton__cards .ui-card{min-height:9rem}.ui-empty,.ui-error-state{display:grid;justify-items:center;gap:.5rem;min-height:15rem;padding:2rem 1rem;text-align:center;color:var(--text-muted)}.ui-empty h3,.ui-error-state h3{margin:.4rem 0 0;color:var(--text-primary);font-size:var(--text-lg)}.ui-empty p,.ui-error-state p{max-width:30rem;margin:0 0 .5rem;font-size:var(--text-sm);overflow-wrap:anywhere}.ui-empty__icon{display:grid;place-items:center;width:3.5rem;height:3.5rem;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--link);background:var(--accent-soft)}.ui-empty--compact{min-height:10rem;padding:1.5rem 1rem}.ui-error-state>svg{color:var(--danger-text)}.ui-tooltip{position:relative;display:inline-flex}.ui-tooltip__label{visibility:hidden;position:absolute;z-index:var(--z-dropdown);bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);width:max-content;max-width:min(18rem,calc(100vw - 2rem));padding:.5rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);background:var(--surface);font-size:var(--text-xs);box-shadow:var(--shadow-md)}.ui-tooltip:not(.is-dismissed):is(:hover,:focus-within) .ui-tooltip__label{visibility:visible}.ui-toast{position:fixed;z-index:var(--z-toast);right:1rem;bottom:1rem;display:flex;align-items:center;gap:.5rem;width:min(28rem,calc(100vw - 2rem));padding-right:.5rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);animation:ui-appear var(--duration-normal)}.ui-toast .ui-alert{flex:1;border:0;background:transparent}.ui-tabs__list{display:flex;gap:.25rem;overflow-x:auto;padding:.3rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle)}.ui-tabs__list button{flex:1;min-height:2.75rem;padding:.55rem 1rem;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);background:transparent;white-space:nowrap;font-size:var(--text-sm)}.ui-tabs__list [aria-selected=true]{border-color:var(--border);color:var(--link);background:var(--surface);box-shadow:var(--shadow-sm);font-weight:650}.ui-tabs [role=tabpanel]{margin-top:1.25rem}.ui-tabs [role=tabpanel]:not([hidden]){animation:ui-appear var(--duration-fast)}.ui-table-shell{min-width:0}.ui-table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.ui-table{width:100%;border-collapse:collapse;background:var(--surface);font-size:var(--text-sm)}.ui-table th,.ui-table td{padding:.85rem 1rem;border-bottom:1px solid var(--border);color:var(--text-secondary);text-align:left;vertical-align:middle;overflow-wrap:anywhere}.ui-table th{color:var(--text-muted);background:var(--surface-subtle);font-weight:650}.ui-table th button{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:2.75rem;padding:0;border:0;color:inherit;background:transparent;text-align:left;font-weight:inherit}.ui-table tbody tr:last-child td{border-bottom:0}.ui-table tbody tr:hover{background:var(--surface-subtle)}.ui-table td .text-button{min-height:2.75rem}.ui-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding-top:1rem}.ui-pagination>div{display:flex;gap:.5rem}@keyframes ui-spin{to{transform:rotate(360deg)}}@keyframes ui-shimmer{to{background-position:-200% 0}}@media(max-width:700px){.ui-page-skeleton__cards{grid-template-columns:1fr}.ui-toast{bottom:calc(5.5rem + env(safe-area-inset-bottom))}}@media(max-width:600px){.ui-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ui-table,.ui-table tbody{display:block}.ui-table tr{display:grid;padding:.75rem;border-bottom:1px solid var(--border)}.ui-table tr:last-child{border-bottom:0}.ui-table td{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:.7rem;padding:.5rem .25rem;border:0}.ui-table td:before{content:attr(data-label);color:var(--text-muted);font-size:var(--text-xs);font-weight:600}}@media(prefers-reduced-motion:reduce){.ui-spinner,.ui-skeleton{animation:none}}.app-shell--auth .app-main{width:min(1180px,calc(100% - 3rem));padding:2.5rem 0 3rem;min-height:calc(100dvh - 6rem)}.auth-flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-md)}.auth-story{position:relative;display:flex;flex-direction:column;gap:2rem;padding:clamp(2rem,4vw,3.5rem);color:var(--text-primary);background:linear-gradient(145deg,var(--accent-soft),var(--secondary-soft));border-right:1px solid var(--border)}.auth-story__mark{display:grid;place-items:center;width:4rem;height:4rem;border-radius:1.25rem;color:var(--secondary-text);background:var(--surface);box-shadow:var(--shadow-sm)}.auth-story h2{max-width:15ch;margin:.75rem 0 1rem;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.18;letter-spacing:-.035em}.auth-story p{margin:0;color:var(--text-secondary);line-height:1.65}.auth-story__features{display:grid;gap:1.35rem;padding:0;margin:.5rem 0;list-style:none}.auth-story__features li{display:flex;align-items:flex-start;gap:.9rem}.auth-story__features li>span{display:grid;flex:0 0 2.75rem;place-items:center;height:2.75rem;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--link);background:var(--surface)}.auth-story__features strong{display:block;font-size:var(--text-sm);margin:.1rem 0 .25rem}.auth-story__features p{font-size:var(--text-sm)}.auth-story__note{display:flex;align-items:center;gap:.6rem;margin-top:auto!important;padding-top:1rem;font-size:var(--text-xs)}.auth-story__note svg{flex-shrink:0}.auth-panel{min-width:0;padding:clamp(1.5rem,4vw,3.5rem)}.auth-panel header{margin-bottom:1.75rem}.auth-panel header h1{margin:.5rem 0 .75rem;font-size:clamp(1.65rem,2.7vw,2.15rem);line-height:1.2;letter-spacing:-.03em}.auth-panel header p{margin:0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.6}.auth-panel form{display:grid;gap:1.5rem}.auth-panel .ui-alert{margin-bottom:1.25rem}.account-fieldset{display:grid;gap:1rem;min-width:0;margin:0;padding:0;border:0}.account-fieldset legend{margin:0 0 1rem;padding:0;font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.auth-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.auth-submit{width:100%;min-height:3rem}.auth-required-note{margin:-1rem 0 1.5rem;font-size:var(--text-xs);color:var(--text-muted)}.auth-panel__switch{margin:1.5rem 0 0;text-align:center;font-size:var(--text-sm);color:var(--text-muted);line-height:1.7}.auth-panel__switch a{display:inline-block;font-weight:650}.auth-dev-entry{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px dashed var(--border-strong);font-size:var(--text-xs)}.password-field{position:relative;min-width:0}.password-field input{padding-right:3.25rem}.ui-input-control{position:relative;min-width:0}.ui-input-control input{width:100%}.password-field__toggle{position:absolute;top:50%;right:.25rem;transform:translateY(-50%);display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:var(--radius-sm);color:var(--text-secondary);background:transparent}.password-field__toggle:hover{color:var(--link);background:var(--accent-soft)}.password-requirements{padding:.85rem 1rem;background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-secondary)}.password-requirements>span{font-weight:650}.password-requirements ul{display:grid;gap:.35rem;list-style:none;padding:0;margin:.5rem 0 0}.password-requirements li{display:flex;gap:.5rem;align-items:center}.password-requirements svg{flex-shrink:0}.password-requirements .is-met{color:var(--success-text)}.account-page{display:grid;gap:1.5rem}.account-page .page-heading{margin:0}.account-page .page-heading h1{font-size:var(--text-3xl);margin-bottom:.5rem}.account-page .page-heading p{max-width:65ch}.account-identity{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(110deg,var(--surface),var(--accent-soft))}.account-avatar{display:grid;flex:0 0 4.5rem;place-items:center;width:4.5rem;height:4.5rem;border:1px solid var(--accent-border);border-radius:1.3rem;background:var(--accent-soft);color:var(--link);font-size:1.5rem;font-weight:700}.account-identity__copy{flex:1 1 15rem;min-width:0}.account-identity h2{font-size:var(--text-xl);margin:.5rem 0;overflow-wrap:anywhere}.account-identity p{margin:.25rem 0;color:var(--text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere}.account-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.5rem;align-items:start}.account-stack{display:grid;gap:1.5rem;min-width:0}.account-section{min-width:0;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.account-section__heading{display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem}.account-section__heading svg{flex-shrink:0;color:var(--secondary-text)}.account-section h2{font-size:var(--text-lg);margin:0;line-height:1.4}.account-section p{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.7;overflow-wrap:anywhere}.account-section .profile-copy{white-space:pre-wrap;margin-bottom:0}.account-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 1.5rem;margin:0}.account-facts>div{min-width:0}.account-facts dt{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:.35rem}.account-facts dd{margin:0;color:var(--text-primary);font-size:var(--text-sm);font-weight:550;overflow-wrap:anywhere}.account-section .form-grid{gap:1rem}.account-editor{display:grid;gap:1.25rem}.account-editor>.form-actions{margin:0}.account-editor fieldset{display:grid;gap:1rem}.account-shortcuts{display:grid;gap:.25rem}.account-shortcuts a{display:flex;align-items:center;gap:.75rem;min-height:3.2rem;padding:.75rem;border-radius:var(--radius-md);color:var(--text-primary);text-decoration:none;font-size:var(--text-sm);font-weight:550}.account-shortcuts a>svg:first-child{color:var(--link);flex-shrink:0}.account-shortcuts a>svg:last-child{margin-left:auto;flex-shrink:0;color:var(--text-muted)}.account-shortcuts a:hover{color:var(--link);background:var(--accent-soft)}.account-person{display:flex;align-items:center;gap:.85rem;padding:.9rem 0}.account-person+.account-person{border-top:1px solid var(--border)}.account-person .account-avatar{flex-basis:2.75rem;width:2.75rem;height:2.75rem;border-radius:var(--radius-md);font-size:var(--text-sm)}.account-person strong,.account-person span{display:block;font-size:var(--text-sm);overflow-wrap:anywhere}.account-person span{margin-top:.25rem;color:var(--text-muted);font-size:var(--text-xs)}.account-preferences{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.account-security{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.account-security__header{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;justify-content:space-between}.account-security__header h3{font-size:var(--text-base);margin:0}.account-security__header p{margin:.4rem 0 0;max-width:55ch}.account-security form{display:grid;max-width:30rem;gap:1rem;margin-top:1.5rem}.account-section .ui-alert{margin:1rem 0}.account-summary-error{scroll-margin-top:6rem}.account-edit-note{margin:0;color:var(--text-muted);font-size:var(--text-xs)}.account-medical-summary{display:grid;gap:.5rem}.account-medical-summary>div{padding-bottom:.75rem;border-bottom:1px solid var(--border)}.account-medical-summary>div:last-child{border:0;padding-bottom:0}.account-medical-summary__count{display:block;margin:0 .75rem;font-size:var(--text-xs);color:var(--text-muted)}@media(max-width:1024px){.auth-story,.auth-panel{padding:2rem}.account-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:767px){.app-shell--auth .app-main{width:min(34rem,calc(100% - 2rem));padding:1rem 0 2rem;min-height:auto}.auth-flow{grid-template-columns:minmax(0,1fr);border-radius:var(--radius-lg)}.auth-story{gap:.75rem;padding:1.5rem;border-right:0;border-bottom:1px solid var(--border)}.auth-story__mark,.auth-story__features,.auth-story__note{display:none}.auth-story h2{max-width:none;font-size:1.55rem;margin:.5rem 0}.auth-story>div>p{font-size:var(--text-sm)}.auth-panel{padding:1.5rem}.account-section{padding:1.25rem}}@media(max-width:420px){.auth-name-grid,.account-preferences,.account-facts{grid-template-columns:minmax(0,1fr)}.auth-story,.auth-panel{padding:1.25rem}.auth-panel__switch a{display:block}.account-identity{gap:1rem}.account-editor .form-actions>button{flex:1 1 100%}}@media(prefers-reduced-motion:no-preference){.auth-panel,.account-identity{animation:ui-appear var(--duration-normal)}}body{--ai-dock-bottom: calc(1.25rem + env(safe-area-inset-bottom)) }body:has(.dev-toolbar){--ai-dock-bottom: calc(5.6rem + env(safe-area-inset-bottom)) }.ai-launcher{position:fixed;z-index:calc(var(--z-header) + 5);right:max(1.25rem,env(safe-area-inset-right));bottom:var(--ai-dock-bottom);display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:56px;max-width:calc(100vw - 2.5rem);padding:.5rem 1.1rem .5rem .55rem;border:1px solid rgb(255 255 255 / .2);border-radius:var(--radius-full);color:#fff;background:linear-gradient(120deg,var(--ai-launcher-start),var(--ai-launcher-end));box-shadow:0 6px 18px rgb(var(--ai-glow-rgb) / .22),inset 0 1px #ffffff1f;cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:650;line-height:1.4;isolation:isolate;transition:transform var(--duration-fast) var(--ease-standard)}.ai-launcher:after{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;box-shadow:0 8px 24px rgb(var(--ai-glow-rgb) / .34);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard)}.ai-launcher__icon{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border:1px solid rgb(255 255 255 / .2);border-radius:50%;background:#ffffff1a}.ai-launcher__label{min-width:0;overflow-wrap:anywhere}.ai-launcher:focus-visible{outline:3px solid var(--focus);outline-offset:4px}@media(hover:hover)and (pointer:fine){.ai-launcher:hover{transform:translateY(-3px)}.ai-launcher:hover:after{opacity:1}}.ai-launcher:active{transform:scale(.97)}.ai-assistant{z-index:var(--z-assistant)}.ai-assistant__header{background:linear-gradient(120deg,var(--ai-launcher-start),var(--ai-launcher-end))}.ai-assistant__mark{color:#fff;background:#ffffff1a;border:1px solid rgb(255 255 255 / .2)}.ai-assistant__actions .ai-icon-button{display:grid;min-width:44px;min-height:44px;place-items:center}.ai-composer{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}body:has(.ai-launcher) .ui-toast{bottom:calc(var(--ai-dock-bottom) + 4.25rem)}@media(max-width:700px){body:has(.workspace-bottom-nav){--ai-dock-bottom: calc(5.5rem + env(safe-area-inset-bottom)) }body:has(.dev-toolbar){--ai-dock-bottom: calc(11rem + env(safe-area-inset-bottom)) }.ai-launcher{right:max(1rem,env(safe-area-inset-right));width:56px;height:56px;min-width:56px;padding:0}.ai-launcher__label{display:none}.ai-launcher__icon{width:auto;height:auto;flex-basis:auto;border:0;background:transparent}.ai-assistant{inset:0;width:100%;height:100dvh;max-height:100dvh;border-radius:0}}@media(prefers-reduced-motion:reduce){.ai-launcher:is(:hover,:active){transform:none}}@media(forced-colors:active){.ai-launcher{color:ButtonText;background:ButtonFace;border-color:ButtonText}.ai-launcher__icon{border-color:ButtonText}}:root{--motion-step: 25ms}.motion-region{min-width:0}.motion-route{width:100%}.motion-route>.page-shell,.account-identity{animation:motion-fade var(--duration-normal) var(--ease-standard)}.workspace-sidebar-slot{transition:width var(--duration-normal) var(--ease-standard)}.workspace-layout .dashboard-main{transition:margin-left var(--duration-normal) var(--ease-standard)}.workspace-sidebar__nav{position:relative}.workspace-active-indicator{position:absolute;z-index:1;top:0;left:0;width:3px;height:1px;border-radius:3px;background:var(--accent-solid);transform-origin:top;pointer-events:none;transition:transform var(--duration-normal) var(--ease-standard),opacity var(--duration-fast)}.workspace-nav-link__tooltip,.ui-tooltip__label{opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.workspace-nav-link:is(:hover,:focus-visible) .workspace-nav-link__tooltip,.ui-tooltip:is(:hover,:focus-within):not(.is-dismissed) .ui-tooltip__label{opacity:1}.workspace-sidebar:not(.is-collapsed) .workspace-nav-link__label{animation:motion-fade var(--duration-fast) var(--ease-standard)}.workspace-bottom-nav>.is-active{animation:motion-fade var(--duration-normal)}.ui-popover[open]>.ui-popover__panel{animation:none;transform-origin:top right}.ui-dialog[open]{animation:none}.ui-dialog[open]::backdrop{animation:motion-fade var(--duration-normal) var(--ease-standard)}.ui-dialog[data-closing=true]::backdrop{animation:motion-fade var(--duration-fast) var(--ease-exit) reverse both}.theme-menu>summary,.language-menu>summary{width:auto;min-width:44px;padding-inline:.7rem;gap:.4rem}.language-menu>summary{min-width:64px;font-size:var(--text-sm);font-weight:650}.preference-options>.ui-popover__panel{width:15rem}.preference-options__list{display:grid;gap:.3rem}.preference-options__list>button{display:flex;align-items:center;gap:.65rem;min-height:44px;padding:.6rem;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);background:transparent;text-align:left}.preference-options__list>button[aria-pressed=true]{color:var(--link);background:var(--accent-soft);border-color:var(--accent-border)}.preference-options__list>button:hover{background:var(--surface-hover)}.theme-menu__icon{display:inline-flex;animation:motion-panel var(--duration-normal) var(--ease-standard)}body,.app-shell,.dashboard-main,.workspace-header,.workspace-sidebar,.workspace-bottom-nav,.ui-popover__panel,.notification-panel,.ai-assistant,.ui-dialog,.ui-card,.patient-card,.account-section,.account-identity,.auth-panel,.auth-story,.staff-metric,.admin-stat-card,.info-card{transition-property:background-color,color,border-color;transition-duration:var(--duration-normal);transition-timing-function:var(--ease-standard)}.workspace-layout .dashboard-main{transition-property:margin-left,background-color,color}.workspace-sidebar-slot{transition-property:width}h1,h2,h3,p,dt,dd,.field-label,.status,.ui-badge{transition:color var(--duration-normal),background-color var(--duration-normal),border-color var(--duration-normal)}:is(.button,.ui-button,.ui-icon-button,.patient-quick-action,.date-card,.calendar-day,.slot-button,.month-day,.calendar-arrow,.notification-trigger,.ai-composer button){transition:transform var(--duration-fast) var(--ease-standard),color var(--duration-fast),background-color var(--duration-fast),border-color var(--duration-fast),box-shadow var(--duration-fast)}:is(.button,.ui-button,.ui-icon-button,.patient-quick-action,.date-card,.calendar-day,.slot-button,.calendar-arrow,.notification-trigger,.ai-composer button):active:not(:disabled){transform:scale(.98)}:is(.date-card,.calendar-day,.slot-button).is-selected{animation:motion-panel var(--duration-fast) var(--ease-standard)}@media(hover:hover)and (pointer:fine){:is(.patient-quick-action,.staff-metric,.admin-stat-card,.info-card):hover{transform:translateY(-2px)}}.staff-metric,.admin-stat-card,.info-card{transition:transform var(--duration-fast) var(--ease-standard),background-color var(--duration-normal),border-color var(--duration-fast)}:is(.patient-dashboard__columns,.staff-metrics,.admin-stat-grid,.info-grid)>:nth-child(-n+4){animation:motion-rise var(--duration-normal) var(--ease-standard) backwards}:is(.patient-dashboard__columns,.staff-metrics,.admin-stat-grid,.info-grid)>:nth-child(2){animation-delay:var(--motion-step)}:is(.patient-dashboard__columns,.staff-metrics,.admin-stat-grid,.info-grid)>:nth-child(3){animation-delay:calc(var(--motion-step) * 2)}:is(.patient-dashboard__columns,.staff-metrics,.admin-stat-grid,.info-grid)>:nth-child(4){animation-delay:calc(var(--motion-step) * 3)}:is(.patient-appointment-list,.patient-medical-grid,.doctor-records-grid,.referral-list,.queue-list,.document-list,.record-timeline,.records-section,.medical-timeline,.date-card-grid,.slot-grid,.template-grid,.mini-schedule,.ui-table-scroll,.admin-table,.directory-table,.calendar-empty-banner,.staff-calendar-state,.schedule-state){animation:motion-fade var(--duration-normal) var(--ease-standard)}:is(.account-editor,.account-security form,.workflow-subform,.visit-result,.drawer-assessment,.ai-history,.referral-document,.document-preview,.document-viewer,.document-composer__panel,.date-calendar,.admin-schedule-editor,.staff-modal,.appointment-drawer){animation:motion-rise var(--duration-normal) var(--ease-standard)}.staff-modal-backdrop,.drawer-backdrop{animation:motion-fade var(--duration-fast)}:is(.ui-empty,.ui-error-state,.empty-state,.error-message,.success-message,.ui-alert,.ui-field__error,.success-panel,.ai-error){animation:motion-fade var(--duration-fast) var(--ease-standard)}.ui-tabs [role=tabpanel]:not([hidden]),.record-tab-panel{animation:motion-fade var(--duration-normal) var(--ease-standard)}.medical-tabs button,.document-category-tabs button,.subject-tabs button,.filter-pills button,.ui-tabs__list button{transition:color var(--duration-fast),background-color var(--duration-fast),border-color var(--duration-fast)}.notification-badge{animation:motion-panel var(--duration-fast) var(--ease-standard)}.notification-item{transition:background-color var(--duration-normal),border-color var(--duration-normal)}.ui-toast{bottom:calc(1rem + env(safe-area-inset-bottom));animation:none}.ui-toast .ui-alert{animation:none}.auth-panel>header{animation:motion-rise var(--duration-normal) var(--ease-standard)}.auth-panel .account-fieldset>:nth-child(-n+4){animation:motion-rise var(--duration-normal) var(--ease-standard) backwards}.auth-panel .account-fieldset>:nth-child(2){animation-delay:var(--motion-step)}.auth-panel .account-fieldset>:nth-child(3){animation-delay:calc(var(--motion-step) * 2)}.auth-panel .account-fieldset>:nth-child(4){animation-delay:calc(var(--motion-step) * 3)}.auth-story:before{content:"";position:absolute;top:-4rem;right:-3rem;width:13rem;height:13rem;border:1px solid var(--accent-border);border-radius:50%;pointer-events:none;animation:motion-decoration var(--duration-slow) var(--ease-standard)}.auth-submit[aria-busy=true]{transform:none}.ui-field:focus-within .field-label{color:var(--link)}.ui-skeleton,.skeleton{animation:motion-skeleton 1.4s ease-in-out infinite alternate}.ui-spinner,.dev-spinner{animation-duration:.8s}.ai-message:nth-last-child(-n+2){animation:motion-rise var(--duration-fast) var(--ease-standard)}.ai-assistant,.notification-panel{transform-origin:bottom right}.ai-typing{display:inline-flex;gap:.25rem}.ai-typing__label{margin-left:.5rem;font-size:var(--text-xs);color:var(--text-muted)}.motion-table-results{min-width:0}@keyframes motion-fade{0%{opacity:0}to{opacity:1}}@keyframes motion-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes motion-panel{0%{opacity:0;transform:translateY(4px) scale(.99)}to{opacity:1;transform:none}}@keyframes motion-decoration{0%{opacity:.4;transform:translate(8px,-6px)}to{opacity:1;transform:none}}@keyframes motion-skeleton{0%{opacity:.55}to{opacity:1}}@media(max-width:900px){.workspace-layout .dashboard-main{transition-property:background-color,color}}@media(max-width:700px){:root{--motion-step: 0ms}.ui-toast{bottom:calc(5.5rem + env(safe-area-inset-bottom))}.auth-story:before{animation:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}:is(.button,.ui-button,.ui-icon-button,.patient-quick-action,.date-card,.calendar-day,.slot-button,.calendar-arrow,.staff-metric,.admin-stat-card,.info-card):is(:hover,:active){transform:none}}@media print{*,*:before,*:after{animation:none!important;transition:none!important}}
