@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-cyrillic-ext-wght-normal-2GMQGZDT.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-cyrillic-wght-normal-F76KYTZG.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-greek-wght-normal-NNUWM3E7.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-vietnamese-wght-normal-HA5TFICD.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-latin-ext-wght-normal-6XGHMEDV.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-latin-wght-normal-73PUZEUA.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url("./media/newsreader-vietnamese-400-normal-SLUTFVEQ.woff2") format("woff2"),url("./media/newsreader-vietnamese-400-normal-2TPBG3A2.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url("./media/newsreader-latin-ext-400-normal-WUQKGZ4S.woff2") format("woff2"),url("./media/newsreader-latin-ext-400-normal-52QVMIY3.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url("./media/newsreader-latin-400-normal-IALEXUIR.woff2") format("woff2"),url("./media/newsreader-latin-400-normal-E6PDGAFE.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url("./media/newsreader-vietnamese-500-normal-VR55HSB4.woff2") format("woff2"),url("./media/newsreader-vietnamese-500-normal-36F3WLJI.woff") format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url("./media/newsreader-latin-ext-500-normal-KOPLEKNN.woff2") format("woff2"),url("./media/newsreader-latin-ext-500-normal-HN2O72YV.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url("./media/newsreader-latin-500-normal-KZ5D7QUO.woff2") format("woff2"),url("./media/newsreader-latin-500-normal-5W4FBAUO.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg: #F6F5F0;--color-paper: #FFFFFF;--color-ink: #142B28;--color-ink-soft: #4B5F5C;--color-primary: #1F5C56;--color-primary-dark: #123C38;--color-primary-hover: #164641;--color-primary-soft: #D9E6DE;--color-accent: #FF6F52;--color-accent-dark: #B23F25;--color-gold: #D9A441;--color-warn-bg: #FEF3C7;--color-warn-text: #78350F;--color-success-bg: #E5F3EC;--color-success-text: #1F5C56;--color-danger-bg: #FBE7E0;--color-danger-text: #B42318;--color-surface-muted: #FCFBF8;--color-border: #E7E4DA;--color-border-soft: #EFECE4;--color-divider: #F1EFE8;--palette-red-100: #FEE2E2;--palette-red-200: #FECACA;--palette-red-50: #FEF2F2;--palette-red-600: #DC2626;--palette-red-700: #B91C1C;--palette-red-800: #991B1B;--palette-red-900: #7F1D1D;--palette-rose-100: #FFE4E6;--palette-rose-200: #FECDD3;--palette-rose-50: #FFF1F2;--palette-rose-600: #E11D48;--palette-rose-700: #BE123C;--palette-rose-800: #9F1239;--palette-amber-200: #FDE68A;--palette-amber-50: #FFFBEB;--palette-amber-500: #F59E0B;--palette-amber-600: #D97706;--palette-amber-700: #B45309;--palette-amber-800: #92400E;--palette-orange-700: #C2410C;--palette-orange-800: #9A3412;--palette-green-100: #DCFCE7;--palette-green-200: #BBF7D0;--palette-green-300: #86EFAC;--palette-green-50: #F0FDF4;--palette-green-600: #16A34A;--palette-green-700: #15803D;--palette-green-900: #14532D;--palette-emerald-200: #A7F3D0;--palette-emerald-50: #ECFDF5;--palette-emerald-800: #065F46;--palette-teal-100: #CCFBF1;--palette-teal-200: #99F6E4;--palette-teal-700: #0F766E;--palette-teal-800: #115E59;--palette-blue-100: #DBEAFE;--palette-blue-200: #BFDBFE;--palette-blue-50: #EFF6FF;--palette-blue-800: #1E40AF;--palette-blue-900: #1E3A8A;--palette-sky-600: #0284C7;--palette-slate-100: #F1F5F9;--palette-slate-150: #EEF2F6;--palette-slate-200: #E2E8F0;--palette-slate-300: #CBD5E1;--palette-slate-400: #94A3B8;--palette-slate-50: #F8FAFC;--palette-slate-600: #475569;--palette-slate-800: #1E293B;--palette-gray-300: #D0D7DE;--palette-gray-50: #F9FAFB;--palette-gray-900: #111827;--palette-black: #000000;--color-accent-darker: #C83E22;--color-accent-light: #FF8A6B;--color-accent-soft: #FFB4A3;--color-gold-light: #E8BB6A;--color-gold-strong: #D9A400;--color-surface-alt: #F8F7F3;--color-surface-cream: #FFFEFB;--color-surface-ivory: #FFFDF5;--color-whatsapp: #25D366;--color-whatsapp-hover: #1EBD5A;--color-accent-deeper: #D14A3A;--color-danger-bg-soft: #FDECE8;--color-link-blue: #0969DA;--color-primary-darkest: #0A201D;--color-primary-deep: #1A4540;--color-primary-light: #2F8A7E;--color-primary-night: #173833;--color-whatsapp-dark: #1DA851;--color-whatsapp-hover-alt: #1EBD5B;--palette-blue-500: #3B82F6;--palette-blue-600: #2563EB;--palette-cyan-700: #0E7490;--palette-gray-700: #374151;--palette-gray-950: #24292F;--palette-green-800: #166534;--palette-green-850: #1E7033;--palette-orange-900: #7C2D12;--palette-red-500: #EF4444;--palette-teal-600: #0D9488;--color-surface: var(--color-surface-muted);--color-surface-soft: #F6F4EE;--color-surface-hover: #F6F5F0;--color-ink-muted: #5E6C69;--color-border-strong: #D2CEC0;--color-primary-soft-bg: var(--color-primary-soft);--color-error: var(--color-danger-text);--radius-sm: 8px;--radius-md: 12px;--shadow-sm: var(--shadow-1);--color-ink-darkest: #041412;--color-primary-forest: #234E45;--color-primary-muted: #1E5A50;--palette-gray-400: #8C959F;--palette-amber-850: #9A6A12;--palette-red-650: #CF222E;--palette-green-650: #238636;--palette-orange-50: #FFF7ED;--palette-orange-600: #EA580C;--palette-gray-100: #F3F4F6;--palette-violet-100: #EDE9FE;--palette-violet-700: #6D28D9;--palette-sky-100: #E0F2FE;--palette-sky-700: #0369A1;--palette-indigo-100: #E0E7FF;--palette-indigo-800: #3730A3;--avatar-teal-bg: var(--color-primary-soft);--avatar-teal-text: var(--color-primary-dark);--avatar-blue-bg: var(--palette-blue-100);--avatar-blue-text: var(--palette-blue-800);--avatar-violet-bg: var(--palette-violet-100);--avatar-violet-text: var(--palette-violet-700);--avatar-rose-bg: var(--palette-red-100);--avatar-rose-text: var(--palette-red-800);--avatar-amber-bg: var(--color-warn-bg);--avatar-amber-text: var(--palette-amber-800);--avatar-emerald-bg: var(--palette-green-100);--avatar-emerald-text: var(--palette-green-800);--avatar-sky-bg: var(--palette-sky-100);--avatar-sky-text: var(--palette-sky-700);--avatar-indigo-bg: var(--palette-indigo-100);--avatar-indigo-text: var(--palette-indigo-800);--tooth-unmarked: #F0EBDC;--tooth-healthy: #7BA88C;--tooth-caries: #C0392B;--tooth-restored: #2E6F9E;--tooth-missing: #8B8B8B;--tooth-crown: #B8860B;--tooth-root-canal: #7B4B94;--tooth-implant: #1F8A70;--tooth-extraction-planned: #D9822B;--tooth-fracture: #7A1F1F;--tooth-exfoliated: #9AA7AB;--tooth-erupted: #2A9D8F;--glyph-empty: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-6l-2 3h-4l-2-3H2'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E");--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-in: var(--ease-out);--dur-press: .12s;--dur-fast: .15s;--dur-menu: .2s;--dur-modal: .24s;--shadow-1: 0 0 0 1px rgba(20, 43, 40, .06), 0 1px 2px -1px rgba(20, 43, 40, .06), 0 2px 4px rgba(20, 43, 40, .04);--shadow-2: 0 0 0 1px rgba(20, 43, 40, .06), 0 4px 12px -2px rgba(20, 43, 40, .1), 0 2px 4px rgba(20, 43, 40, .05);--shadow-3: 0 0 0 1px rgba(20, 43, 40, .06), 0 16px 40px -8px rgba(20, 43, 40, .22), 0 4px 12px rgba(20, 43, 40, .08);--shadow-card: var(--shadow-1);--shadow-float: var(--shadow-3);--radius-xs: 4px;--radius-base: 12px;--radius-lg: 16px;--radius-pill: 999px;--font-body: "Manrope Variable", "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading: var(--font-body);--font-display: "Newsreader", Georgia, serif;--fs-12: .75rem;--fs-13: .8125rem;--fs-14: .875rem;--fs-15: .9375rem;--fs-16: 1rem;--fs-18: 1.125rem;--fs-20: 1.25rem;--fs-24: 1.5rem;--fs-30: 1.875rem;--fs-36: 2.25rem;--control-h: 40px;--z-raised: 2;--z-sticky: 10;--z-dropdown: 200;--z-header: 90;--z-sidebar: 95;--z-overlay: 100;--z-modal: 1000;--z-toast: 1100;--color-focus: var(--color-primary);--color-nav-bg: var(--color-primary-dark);--color-nav-text: #D9E6DE;--color-nav-text-active: #FFFFFF;--color-nav-item-hover: rgba(255, 255, 255, .06);--color-nav-item-active: rgba(255, 255, 255, .1);--color-nav-border: rgba(255, 255, 255, .08);--color-figure: #7A5A14;--status-pending-bg: var(--color-warn-bg);--status-pending-text: var(--color-warn-text);--status-confirmed-bg: #E6EEF9;--status-confirmed-text: #2A5599;--status-completed-bg: var(--color-success-bg);--status-completed-text: var(--color-success-text);--status-no-show-bg: var(--color-danger-bg);--status-no-show-text: var(--color-danger-text)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.75rem;flex-wrap:wrap}.page-header__text h1{font-size:clamp(1.5rem,1.25rem + .8vw,1.875rem);line-height:1.15;letter-spacing:-.01em}.page-header__subtitle{font-size:var(--fs-13);color:var(--color-ink-soft);margin:.25rem 0 0}.page-header__actions{display:flex;gap:.65rem;flex-wrap:wrap}@media(max-width:768px){.page-header>app-button,.page-header__actions>app-button:has(.btn--primary){flex:1 1 100%}.page-header>app-button .btn,.page-header__actions>app-button:has(.btn--primary) .btn{width:100%;min-height:48px}.page-header__actions{width:100%}}.chip-group{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.chip{appearance:none;padding:.45rem .95rem;border-radius:var(--radius-pill);border:1.5px solid var(--color-border);background:var(--color-paper);font-family:var(--font-body);font-size:var(--fs-13);font-weight:600;color:var(--color-ink-soft);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(hover:hover){.chip:hover:not(.chip--active){border-color:var(--color-primary);color:var(--color-primary-dark);background:var(--color-surface-muted)}}.chip--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-paper)!important}@media(hover:hover){.chip--active:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-paper)!important}}@media(max-width:768px){.chip{min-height:44px}}.action-chip{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;padding:.4rem .7rem;border-radius:var(--radius-pill);border:1.5px solid var(--color-border);background:var(--color-paper);color:var(--color-ink-soft);font-family:var(--font-body);font-size:var(--fs-12);font-weight:600;white-space:nowrap;cursor:pointer;text-decoration:none;transition:border-color .15s ease,color .15s ease,background .15s ease}.action-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(hover:hover){.action-chip:hover{border-color:var(--color-primary);color:var(--color-primary-dark);background:var(--color-surface-muted)}}.action-chip--accent{border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border));color:var(--color-accent-dark)}@media(hover:hover){.action-chip--accent:hover{border-color:var(--color-accent);background:var(--color-danger-bg-soft);color:var(--color-accent-dark)}}.action-chip--danger{border-color:color-mix(in srgb,var(--color-danger-text) 40%,var(--color-border));color:var(--color-danger-text)}@media(hover:hover){.action-chip--danger:hover{border-color:var(--color-danger-text);background:var(--color-danger-bg);color:var(--color-danger-text)}}.icon-btn{width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--color-paper);display:inline-flex;align-items:center;justify-content:center;color:var(--color-ink-soft);cursor:pointer;text-decoration:none;transition:border-color .15s ease,color .15s ease,background .15s ease}.icon-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(hover:hover){.icon-btn:hover{border-color:var(--color-primary);color:var(--color-primary-dark)}}@media(hover:hover){.icon-btn--accent:hover{border-color:var(--color-accent);color:var(--color-accent-dark)}}@media(hover:hover){.icon-btn--danger:hover{border-color:var(--color-accent-deeper);color:var(--color-accent-deeper)}}.search-field{display:flex;align-items:center;gap:.55rem;background:var(--color-paper);border:1.5px solid var(--color-border);border-radius:var(--radius-base);padding:.6rem .9rem;max-width:340px;width:100%;transition:border-color .15s ease,box-shadow .15s ease}.search-field:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.search-field svg{color:var(--color-ink-soft);flex-shrink:0}.search-field input{border:none;background:none;flex:1;min-width:0;font-family:var(--font-body);font-size:var(--fs-14);color:var(--color-ink)}.stat-row{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}@media(max-width:768px){.stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}.stat-card{flex:1;min-width:150px;background:var(--color-paper);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.1rem 1.25rem;transition:box-shadow .2s var(--ease-out),transform .2s var(--ease-out),border-color .2s ease}@media(hover:hover){.stat-card:hover{transform:translateY(-2px);border-color:var(--color-border);box-shadow:var(--shadow-float)}}@media(max-width:768px){.stat-card{min-width:0;padding:.9rem 1rem}}.stat-card__label{font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--color-ink-soft)}.stat-card__value{font-family:var(--font-heading);font-size:var(--fs-24);color:var(--color-primary-dark);margin-top:.35rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat-card--warn .stat-card__value{color:var(--color-warn-text)}.stat-card--danger .stat-card__value{color:var(--color-accent-dark)}.stat-card--success .stat-card__value{color:var(--color-success-text)}.day-label{font-size:var(--fs-14);font-weight:650;color:var(--color-primary-dark);margin:1.5rem 0 .6rem;padding:.25rem 0}.day-label:first-letter{text-transform:uppercase}.day-label:first-child{margin-top:0}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2.25rem 1.25rem;text-align:center;color:var(--color-ink-soft);font-size:var(--fs-14);line-height:1.55;text-wrap:balance}.empty-state:not(:has(.empty-state__icon)):before{content:"";width:44px;height:44px;background:var(--color-border-strong);-webkit-mask:var(--glyph-empty) center/contain no-repeat;mask:var(--glyph-empty) center/contain no-repeat;opacity:.8}.alert-banner{display:flex;align-items:flex-start;gap:.6rem;border-radius:var(--radius-base);padding:.8rem 1rem;font-size:var(--fs-14);line-height:1.5;margin:0 0 1.25rem}.alert-banner svg{flex-shrink:0;margin-top:.1rem}.alert-banner--warn{background:var(--color-warn-bg);color:var(--color-warn-text)}.alert-banner--error{background:var(--color-danger-bg-soft);color:var(--color-accent-dark)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary-dark);font-family:var(--font-heading);font-weight:500;flex-shrink:0;object-fit:cover}.avatar--sm{width:32px;height:32px;font-size:var(--fs-13)}.avatar--md{width:44px;height:44px;font-size:var(--fs-16)}.avatar--lg{width:56px;height:56px;font-size:var(--fs-20)}.pill{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:.25rem .75rem;font-size:var(--fs-12);font-weight:700}.pill--plan{background:var(--color-warn-bg);color:var(--color-warn-text)}.pill--progress{background:var(--status-confirmed-bg);color:var(--status-confirmed-text)}.pill--done{background:var(--color-success-bg);color:var(--color-success-text)}.pill--request{background:var(--color-warn-bg);color:var(--color-warn-text)}.checkbox-row{display:flex;align-items:flex-start;gap:.65rem;background:var(--color-surface-muted);border:1.5px solid var(--color-border-soft);border-radius:var(--radius-base);padding:.75rem .9rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.checkbox-row:has(input:checked){background:var(--color-primary-soft);border-color:var(--color-primary)}.checkbox-row:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:1px}.checkbox-row input{margin-top:.2rem;accent-color:var(--color-primary);flex-shrink:0}.checkbox-row__title,.checkbox-row__desc{display:block}.checkbox-row__title{font-size:var(--fs-14);font-weight:600}.checkbox-row__desc{font-size:var(--fs-12);color:var(--color-ink-soft);margin-top:.15rem;line-height:1.45}.pagination{display:flex;align-items:center;justify-content:center;gap:.85rem;margin-top:1.5rem}.pagination__nav{width:32px;height:32px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--color-paper);color:var(--color-ink-soft);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,color .15s ease}.pagination__nav:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(hover:hover){.pagination__nav:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary-dark)}}.pagination__nav:disabled{opacity:.4;cursor:not-allowed}.pagination__label{font-size:var(--fs-13);font-weight:600;color:var(--color-ink-soft);white-space:nowrap}.skeleton-row{display:flex;align-items:center;gap:1rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--color-divider)}.skeleton-row:last-child{border-bottom:none}.skeleton-block{height:.9rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-border-soft) 25%,var(--color-divider) 37%,var(--color-border-soft) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.skeleton-block{animation:none;background:var(--color-border-soft)}}.field-label{display:flex;flex-direction:column;gap:.45rem;font-size:var(--fs-14);font-weight:600;color:var(--color-ink-soft);width:100%}.field-label select,.field-label input,.field-label textarea{border:1px solid var(--color-border);border-radius:var(--radius-base);padding:.65rem .85rem;font-family:var(--font-body);font-weight:400;font-size:var(--fs-15);color:var(--color-ink);background:var(--color-paper);width:100%}.field-label select:focus,.field-label input:focus,.field-label textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.field-label textarea{resize:vertical}.spotlight{position:relative;isolation:isolate}.spotlight:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .25s ease;background:radial-gradient(220px circle at var(--mx, 50%) var(--my, 50%),color-mix(in srgb,var(--color-primary) 11%,transparent),transparent 70%)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.spotlight:hover:before{opacity:1}}.trend{display:flex;width:fit-content;max-width:100%;align-items:center;gap:.3rem;margin-top:.4rem;padding:.15rem .55rem .15rem .4rem;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--fs-12);font-weight:600;line-height:1.4;font-variant-numeric:tabular-nums;background:var(--color-surface-soft);color:var(--color-ink-soft)}.trend--good{background:var(--color-success-bg);color:var(--color-success-text)}.trend--bad{background:var(--color-danger-bg-soft);color:var(--color-accent-dark)}.trend__arrow{flex-shrink:0}select:not([multiple]):not([size]):not([data-native]){appearance:none;-webkit-appearance:none;min-height:44px;padding-right:2.4rem!important;background-image:linear-gradient(45deg,transparent 50%,var(--color-ink-soft) 50%),linear-gradient(135deg,var(--color-ink-soft) 50%,transparent 50%)!important;background-position:calc(100% - 1.15rem) 50%,calc(100% - .8rem) 50%!important;background-size:.35rem .35rem!important;background-repeat:no-repeat!important;cursor:pointer;text-overflow:ellipsis;transition:border-color .15s ease,box-shadow .15s ease}@media(hover:hover){select:not([multiple]):not([size]):not([data-native]):hover:not(:disabled){border-color:var(--color-primary)}}select:not([multiple]):not([size]):not([data-native]):focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}select:not([multiple]):not([size]):not([data-native]):disabled{opacity:.55;cursor:not-allowed}.admin-layout__content>:not(router-outlet){animation:page-enter .4s var(--ease-out) backwards}@media(prefers-reduced-motion:reduce){.admin-layout__content>:not(router-outlet){animation:none}}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fx-enter{animation:fx-enter .7s var(--ease-out) backwards;animation-delay:calc(var(--i, 0) * 70ms)}@media(prefers-reduced-motion:reduce){.fx-enter{animation:none}}@keyframes fx-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.auth-header h1{margin:0 0 .35rem;font-size:clamp(1.5rem,2.4vw,1.875rem);letter-spacing:-.01em}.auth-header p{margin:0;font-size:var(--fs-15);color:var(--color-ink-soft)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form app-button{margin-top:.25rem}.auth-field{display:flex;flex-direction:column;gap:.4rem}.auth-link{align-self:flex-start;font-size:var(--fs-13);font-weight:600;color:var(--color-primary);text-decoration:none;border-radius:var(--radius-sm);padding:.15rem .1rem;transition:color .15s ease}@media(hover:hover){.auth-link:hover{color:var(--color-primary-dark);text-decoration:underline}}.auth-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-link--end{align-self:flex-end}@media(max-width:768px){.auth-link{min-height:44px;display:inline-flex;align-items:center}}.auth-messages{position:relative;min-height:1.25rem;margin:-.25rem 0 0}.auth-error{margin:0;font-size:var(--fs-14);font-weight:500;color:var(--color-accent-dark)}.auth-caps{position:absolute;inset:0 auto auto 0;display:inline-flex;align-items:center;gap:.4rem;margin:0;font-size:var(--fs-12);font-weight:600;color:var(--color-warn-text);animation:fx-enter .3s var(--ease-out) both}@media(prefers-reduced-motion:reduce){.auth-caps{animation:none}}.auth-status{min-height:1.25rem;margin:-.25rem 0 0;font-size:var(--fs-14);font-weight:600;color:var(--color-primary)}.auth-help{margin:0;font-size:var(--fs-13);color:var(--color-ink-soft)}.auth-submit{display:flex;flex-direction:column;align-items:stretch;position:relative;overflow:hidden;border-radius:var(--radius-base);transition:transform .15s ease,box-shadow .25s ease}.auth-submit:after{content:"";position:absolute;inset:0 auto 0 -60%;width:40%;transform:skew(-20deg);pointer-events:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--color-paper) 35%,transparent),transparent);transition:left .7s var(--ease-out)}@media(hover:hover){.auth-submit:hover:not(:has(button:disabled)){box-shadow:var(--shadow-3)}.auth-submit:hover:not(:has(button:disabled)):after{left:130%}}.auth-submit:active:not(:has(button:disabled)){transform:scale(.985)}.auth-spinner{width:16px;height:16px;margin-right:.5rem;border-radius:50%;border:2px solid color-mix(in srgb,var(--color-paper) 35%,transparent);border-top-color:var(--color-paper);animation:auth-spin .7s linear infinite}@media(prefers-reduced-motion:reduce){.auth-spinner{animation:none}}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-notice{display:flex;gap:.75rem;align-items:flex-start;padding:1rem 1.1rem;border-radius:var(--radius-base);background:var(--color-success-bg);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--color-success-text);font-size:var(--fs-15);line-height:1.5}.auth-notice strong{display:block;margin-bottom:.2rem}.auth-notice--error{background:var(--color-danger-bg);border-color:color-mix(in srgb,var(--color-accent-dark) 25%,transparent);color:var(--color-accent-dark)}.auth-rules{list-style:none;margin:0;padding:.75rem .9rem;display:flex;flex-direction:column;gap:.3rem;font-size:var(--fs-13);color:var(--color-ink-soft);background:var(--color-surface-muted);border:1px solid var(--color-border-soft);border-radius:var(--radius-base)}.auth-rules li{display:flex;gap:.5rem;align-items:baseline}.auth-rules .is-met{color:var(--color-primary-dark);font-weight:600}button.auth-link{appearance:none;background:none;border:none;font-family:inherit;cursor:pointer;padding:.15rem .1rem}.alert-banner--success{background:var(--color-success-bg);color:var(--color-success-text)}@media(max-width:768px),(pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea{font-size:16px!important}.admin-layout__content :is(button,select,[role=button],a.action-chip,a.quick-action-btn,a.patient-name-link):not(.touch-compact),.modal :is(button,select),.modal input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),.agenda__actions-panel :is(button,a){min-height:44px!important}.admin-layout__content :is(.icon-btn,.icon-btn--sm,.micro-action-btn,.icon-action-btn,.week-slot__more-btn),.modal .icon-btn{min-width:44px!important}}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow-x:hidden}html.is-landing,html.is-landing body{height:auto;overflow-x:clip;overflow-y:visible}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:var(--fs-15);font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;margin:0;color:var(--color-ink);line-height:1.25;text-wrap:balance}h1,h2{letter-spacing:-.015em}p,li,dd{text-wrap:pretty}:where(a,button,input,select,textarea,summary,[tabindex],[role=button],[role=tab],[role=option],[role=menuitem]):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}:where(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{outline:2px solid var(--color-focus);outline-offset:1px}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select){min-height:var(--control-h)}@media(max-width:768px){:root{--control-h: 44px}}.tabular,time,td,th{font-variant-numeric:tabular-nums}button,a,[role=button]{-webkit-tap-highlight-color:transparent}.modal,.modal__body,[role=dialog],[role=menu],[role=listbox]{overscroll-behavior:contain}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}::selection{background:var(--color-primary-soft);color:var(--color-primary-dark)}a{color:inherit}button,input,select,textarea{font-family:inherit}img.avatar-img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;border-radius:inherit!important;display:block!important}.sr-only,.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:calc(var(--z-toast) + 1);padding:.6rem 1rem;border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-primary-dark);font-weight:600;box-shadow:var(--shadow-3);text-decoration:none;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}main[tabindex="-1"]:focus,h1[tabindex="-1"]:focus{outline:none}
