@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");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:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");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:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,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:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");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:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");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:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,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:Montserrat Fallback;src:local("Arial");ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.00%;size-adjust:112.83%}.__className_fca8ee{font-family:Montserrat,Montserrat Fallback;font-style:normal}:root{--bg:#ffffff;--paper:#ffffff;--hero:#cfe8e4;--ink:#0f172a;--muted:#475569;--brand:#0f766e;--brand-dark:#115e59;--brand-soft:#ccfbf1;--teal:#0f766e;--ok:#047857;--warn:#b45309;--busy:#64748b;--line:#d5ebe7;--shadow:0 12px 40px rgba(15,118,110,0.08);--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;background:var(--bg);color:var(--ink)}body{min-height:100vh;font-family:Montserrat,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.55}a{color:var(--brand)}button,input,select{font:inherit}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.site-header-inner{width:min(1120px,calc(100% - 1.5rem));margin:0 auto;display:flex;align-items:center;gap:1rem;min-height:76px}.footer-logo,.logo img{height:52px;width:auto;max-width:min(320px,58vw);object-fit:contain;object-position:left center;display:block}.site-nav{display:flex;gap:1.1rem;flex:1 1;justify-content:center;flex-wrap:wrap}.site-nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem}.site-nav a:hover{color:var(--brand)}.header-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.brand-text{flex:1 1}.brand-text strong{display:block}.brand-text span{color:var(--muted);font-size:.88rem}.hero{background:linear-gradient(135deg,#cfe8e4,#e7f6f3);color:#134e4a}.hero-inner{width:min(1120px,calc(100% - 1.5rem));margin:0 auto;padding:2.5rem 0 3rem;display:grid;grid-gap:1rem;gap:1rem}.hero h1{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.15;margin:0 0 .6rem;max-width:16ch}.hero p{margin:0 0 1.2rem;max-width:46ch;font-size:1.05rem}.hero-actions{display:flex;gap:.7rem;flex-wrap:wrap}.section{width:min(1120px,calc(100% - 1.5rem));margin:0 auto;padding:2.4rem 0}.section h2{font-size:1.6rem;margin:0 0 .35rem}.section .lead{color:var(--muted);margin:0 0 1.3rem}.wrap{width:min(760px,calc(100% - 1.5rem));margin:0 auto;padding:1.2rem 0 3rem}.wrap-wide{width:min(960px,calc(100% - 1.5rem))}.btn.ghost.on{border-color:var(--brand);background:var(--brand-soft)}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.wizard{margin-top:-2.2rem;position:relative;z-index:2}.steps{display:flex;gap:.35rem;margin:0 0 1rem;flex-wrap:wrap}.step{flex:1 1;min-width:48px;height:6px;border-radius:99px;background:#f8d7ea}.step.on{background:var(--brand)}h1{font-size:1.45rem;margin:0 0 .35rem}.lead{color:var(--muted);margin:0 0 1.2rem}.grid{display:grid;grid-gap:.85rem;gap:.85rem}.grid.services{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid.people{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.choice,.day,.slot{width:100%;border:1px solid var(--line);border-radius:14px;padding:.95rem 1rem;align-items:center;justify-content:space-between;gap:.6rem}.choice,.day,.person-card,.service-card,.slot{display:flex;text-align:left;background:#fff;cursor:pointer;color:inherit;min-height:48px}.person-card,.service-card{flex-direction:column;align-items:stretch;border:1px solid var(--line);border-radius:16px;padding:0;overflow:hidden}.service-card{padding:1rem 1.05rem;gap:.35rem;text-decoration:none}.person-card strong,.service-card strong{color:var(--brand-dark);display:block}.person-card .meta,.service-card span{color:var(--muted);font-size:.92rem}.choice:hover,.day:hover,.person-card:hover,.service-card:hover,.slot:hover{border-color:var(--brand)}.choice[aria-pressed=true],.person-card[aria-pressed=true],.service-card[aria-pressed=true],.slot[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft)}.person-photo{position:relative;background:var(--hero);height:150px;overflow:hidden;flex:0 0 150px}.person-photo img{position:absolute;inset:0 auto auto 0;display:block;width:100%;height:200%;object-fit:cover;object-position:top center}.person-card .body{padding:.75rem .7rem 1rem;text-align:center}.person-card .meta{line-height:1.35}.person-card.static{cursor:default}.person-card.static:hover{border-color:var(--line)}.day.closed{opacity:.55;cursor:default}.badge{border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:650}.badge.open{background:#d1fae5;color:var(--ok)}.badge.full{background:#f1f5f9;color:var(--busy)}.badge.closed{background:#fce7f3;color:var(--brand-dark)}.badge.confirmed,.badge.reserved{background:#ccfbf1;color:var(--teal)}.badge.attended{background:#d1fae5;color:var(--ok)}.badge.cancelled_doctor,.badge.cancelled_patient,.badge.no_show{background:#f1f5f9;color:var(--busy)}.slots{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.5rem;gap:.5rem}@media (max-width:520px){.slots{grid-template-columns:repeat(2,1fr)}}label{display:grid;grid-gap:.3rem;gap:.3rem;font-weight:600;margin-bottom:.8rem}input,select{width:100%;border:1px solid var(--line);border-radius:12px;padding:.75rem .85rem;background:#fff}.actions{display:flex;gap:.6rem;margin-top:1rem;flex-wrap:wrap}.btn{min-height:48px;border:0;border-radius:10px;padding:.75rem 1.15rem;cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn.primary{background:var(--brand);color:#fff}.btn.primary:disabled{opacity:.6;cursor:wait}.btn.ghost{background:transparent;color:var(--brand-dark);border:1px solid var(--line)}.btn.outline{background:transparent;color:#4a1030;border:1px solid #4a1030}.btn.danger{background:#9d174d;color:#fff}.alert{background:#fff7ed;color:var(--warn);padding:.8rem 1rem;border-radius:12px}.notice{background:#fdf2f8;color:var(--brand-dark);padding:.9rem 1rem;border-radius:14px;margin:0 0 1rem;line-height:1.45}.notice.apos{background:#fff7ed;color:#9a3412}.notice .check{display:flex;align-items:flex-start;gap:.65rem;font-weight:600;margin:.7rem 0 0}.notice .check input{width:auto;margin-top:.2rem;flex:0 0 auto}.okbox{background:#ecfdf5;color:var(--ok);padding:1.2rem;border-radius:16px}.days{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.35rem;gap:.35rem}.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.8rem;flex-wrap:wrap}.cal-nav h2{font-size:1.05rem;margin:0;text-transform:capitalize;flex:1 1;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.3rem;gap:.3rem}.cal-dow{text-align:center;font-size:.75rem;font-weight:650;color:var(--muted);padding:.25rem 0}.cal-day{min-height:52px;min-width:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;border:1px solid var(--line);background:#fff;border-radius:10px;padding:.2rem .1rem;cursor:pointer;color:inherit;font:inherit}.cal-day .num{font-weight:700;line-height:1.1}.cal-day .hint{font-size:.62rem;line-height:1.15;text-align:center;color:var(--muted)}.cal-day.open .hint{color:var(--ok)}.cal-day.full .hint{color:var(--busy)}.cal-day.closed,.cal-day:disabled{opacity:.55;cursor:default}.cal-day.empty{border:0;background:transparent;min-height:52px;cursor:default}.cal-day[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft)}.cal-day:hover:not(:disabled):not(.empty){border-color:var(--brand)}@media (max-width:640px){.days{grid-template-columns:repeat(4,1fr)}.cal-day{min-height:48px}.cal-day .hint{font-size:.58rem}}.nav{gap:.7rem;flex-wrap:wrap}.nav,.row{display:flex}.row{justify-content:space-between;gap:.8rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.muted{color:var(--muted)}.chip{display:inline-block;font-size:.75rem;font-weight:600;background:var(--brand-soft);color:var(--brand-dark);border-radius:999px;padding:.15rem .5rem;margin:.15rem .2rem 0 0}.chips{margin-top:.35rem}.staff-admin-list{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:1rem}.staff-admin-card{display:grid;grid-template-columns:88px 1fr;grid-gap:.75rem;gap:.75rem;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:16px;padding:0;overflow:hidden;cursor:pointer;color:inherit}.staff-admin-card .person-photo{height:88px;flex:0 0 88px}.staff-admin-card .body{padding:.7rem .75rem .85rem;text-align:left}.staff-admin-card.on{border-color:var(--brand);background:var(--brand-soft)}.staff-admin-card.off{opacity:.7}.photo-upload{display:grid;grid-gap:.6rem;gap:.6rem;justify-items:start;margin-bottom:1rem}.photo-upload .person-photo{width:140px;height:140px;border-radius:16px}.service-checks{border:1px solid var(--line);border-radius:16px;padding:.9rem 1rem;margin:.4rem 0 1rem}.service-checks legend{font-weight:700;padding:0 .35rem}.service-checks .check{display:flex;align-items:flex-start;gap:.65rem;font-weight:500;margin-bottom:.55rem}.service-checks .check input{width:auto;margin-top:.25rem}.service-admin{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid var(--line)}.service-admin:last-child{border-bottom:0}.service-admin.off{opacity:.65}.service-admin .inline{font-weight:600;max-width:220px;margin:.5rem 0 0}.service-hours{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line)}.band-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;grid-gap:.45rem;gap:.45rem;align-items:center;margin-bottom:.5rem}@media (max-width:640px){.band-row{grid-template-columns:1fr 1fr}.band-row .btn{grid-column:1/-1}.staff-admin-card{grid-template-columns:72px 1fr}.staff-admin-card .person-photo{height:72px}.service-admin{flex-direction:column}}.report-presets{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.pick-list{display:grid;grid-gap:.45rem;gap:.45rem;margin:.4rem 0 .8rem}.choice.on{border-color:var(--brand);background:var(--brand-soft)}.quota-grid{display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:.7rem}.quota-card{border:1px solid var(--line);border-radius:14px;padding:.8rem .9rem;background:#fff}.quota-card.warn{background:#fff7ed}.quota-card.full{background:#fce7f3}.quota-card p{margin:.35rem 0 0}.assign-card{border-bottom:1px solid var(--line);padding-bottom:.4rem;margin-bottom:.4rem}.assign-picks{display:grid;grid-gap:.4rem;gap:.4rem;margin:.4rem 0 .8rem}.sched-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:.6rem}.sched-table{width:100%;border-collapse:collapse;min-width:520px;font-size:.9rem}.sched-table td,.sched-table th{border:1px solid var(--line);padding:.55rem .5rem;text-align:left;vertical-align:top}.sched-table thead th{background:var(--brand-soft);color:var(--brand-dark);font-size:.82rem}.sched-table tbody th{white-space:nowrap;width:4.5rem}.sched-table td.filled{background:#ecfdf5}.report-filters{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.report-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.6rem;gap:.6rem;margin:.8rem 0 1rem}.stat{background:var(--brand-soft);border-radius:14px;padding:.85rem .7rem;text-align:center}.stat strong{display:block;font-size:1.6rem;color:var(--brand-dark);line-height:1.1}.stat span{color:var(--muted);font-size:.85rem;font-weight:600}.report-sub{font-size:1.05rem;margin:1rem 0 .4rem}.report-appt{align-items:flex-start}@media (max-width:520px){.report-stats{grid-template-columns:1fr}}@media print{.nav,.no-print,.site-header{display:none!important}.wrap{width:100%;max-width:none;padding:0}.card{box-shadow:none;border:0;padding:0 0 1rem}.report-appt{page-break-inside:avoid;break-inside:avoid}}.site-footer{background:#4a1030;color:#fce7f3;margin-top:2rem}.site-footer a{color:#fff}.site-footer-inner{width:min(1120px,calc(100% - 1.5rem));margin:0 auto;padding:2rem 0;display:grid;grid-gap:1.4rem;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.site-footer h2{font-size:1rem;margin:0 0 .4rem;color:#fff}.site-footer p{margin:.2rem 0}.site-footer .footer-logo{height:40px;max-width:240px;background:#fff;border-radius:8px;padding:4px;margin-bottom:.6rem}@media (max-width:860px){.site-nav{display:none}.logo img{height:44px}.hero-inner{padding-top:1.6rem}}