:root{--ink:#172122;--muted:#647274;--line:#d9e3e1;--paper:#f7faf9;--panel:#fff;--brand:#116466;--brand-dark:#0b4849;--accent:#f3a641;--danger:#a94343;--shadow:0 14px 40px rgba(28,58,57,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.auth-shell{display:grid;min-height:100vh;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;gap:5rem;padding:8vw max(2rem,10vw);background:radial-gradient(circle at 10% 10%,#d4eeea 0,transparent 37%),var(--paper)}.brand-block h1{font-size:clamp(3.5rem,8vw,7rem);letter-spacing:-.08em;margin:.05em 0;color:var(--brand-dark)}.brand-block>p:last-child{font-size:1.18rem;max-width:30rem;color:var(--muted);line-height:1.6}.eyebrow{margin:0 0 .45rem;color:var(--brand);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.panel{background:var(--panel);border:1px solid var(--line);border-radius:1rem;box-shadow:var(--shadow)}.auth-forms{display:grid;gap:1rem;max-width:28rem}.auth-panel{padding:2rem;max-width:28rem}.auth-panel h2{margin-top:0}.auth-panel label,.form-grid label{display:grid;gap:.48rem;font-size:.9rem;font-weight:700;margin:.9rem 0}.auth-panel input,.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #b8c9c6;border-radius:.55rem;padding:.75rem;background:#fff;min-height:2.7rem}.form-grid textarea{resize:vertical}.primary{border:0;border-radius:.6rem;background:var(--brand);color:#fff;font-weight:800;padding:.78rem 1.1rem}.primary:hover{background:var(--brand-dark)}.hint{font-size:.8rem;line-height:1.5;color:var(--muted)}.form-error{color:var(--danger);min-height:1.25rem}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:#103d3e;color:#eaf8f4;display:flex;flex-direction:column;padding:1.6rem 1rem;gap:2rem}.wordmark{display:grid;gap:.2rem;color:#fff;text-decoration:none;padding:0 .65rem}.wordmark span{font-size:1.65rem;font-weight:850;letter-spacing:-.05em}.wordmark small{color:#b8d6d0}.sidebar nav{display:grid;gap:.25rem}.nav-link{background:transparent;border:0;border-radius:.55rem;color:#d6ebe6;padding:.72rem .7rem;text-align:left;font-weight:700}.nav-link:hover,.nav-link.active{background:#1a5958;color:#fff}.account{margin-top:auto;padding:.8rem .65rem;border-top:1px solid rgba(255,255,255,.18);display:grid;gap:.2rem;font-size:.85rem}.account span{color:#b8d6d0}.quiet{justify-self:start;border:0;background:transparent;color:#eaf8f4;padding:.45rem 0;text-decoration:underline}.auth-panel .quiet{color:var(--brand);padding-left:0}.content{padding:2rem clamp(1.2rem,4vw,4rem);max-width:1500px;width:100%;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.7rem}.topbar h1{margin:0;font-size:clamp(1.7rem,4vw,2.5rem);letter-spacing:-.045em}.status{color:var(--brand);background:#e1f4f0;border-radius:99px;padding:.4rem .7rem;font-size:.78rem;font-weight:800}.notice{margin-bottom:1rem;padding:.85rem 1rem;border-radius:.6rem;background:#fff5dc;border:1px solid #f0d486;color:#6e4e0a}.notice.error{background:#fce8e7;border-color:#edb9b8;color:#8c2f2f}.page{display:grid;gap:1rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.metric{padding:1.1rem}.metric span{display:block;font-size:.82rem;color:var(--muted);margin-bottom:.4rem}.metric strong{font-size:1.75rem;letter-spacing:-.04em}.two-columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:1rem}.section-panel{padding:1.2rem}.section-panel h2{font-size:1rem;margin:0 0 1rem}.toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:end;margin-bottom:1rem}.toolbar input{padding:.62rem;border:1px solid #b8c9c6;border-radius:.5rem;min-width:min(100%,250px)}.secondary{border:1px solid var(--brand);border-radius:.55rem;background:#fff;color:var(--brand);font-weight:800;padding:.62rem .85rem}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{padding:.72rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.data-table th{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}.agenda-legend{display:flex;flex-wrap:wrap;gap:.45rem;margin:.4rem 0 0}.agenda-key{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;border-radius:99px;font-size:.75rem;font-weight:800}.agenda-key.confirmed{background:#d9f2df;color:#216b32}.agenda-key.cancelled{background:#f9dada;color:#8f2f2f}.agenda-key.pending{background:#fff0bd;color:#765b08}.agenda-row.confirmed{background:#edf9f0}.agenda-row.confirmed td:first-child{border-left:5px solid #2f9e44}.agenda-row.cancelled{background:#fff0f0}.agenda-row.cancelled td:first-child{border-left:5px solid #c23d3d}.agenda-row.pending{background:#fff8dc}.agenda-row.pending td:first-child{border-left:5px solid #e2a51f}.patient-link{border:0;background:transparent;color:var(--brand-dark);font-weight:800;padding:0;text-decoration:underline;text-align:left}.patient-link:hover{color:var(--brand)}.badge{display:inline-block;padding:.2rem .45rem;border-radius:99px;background:#e6f3f1;color:#0e5b5b;font-size:.75rem;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;gap:.6rem;margin-top:.7rem}.empty{padding:1.4rem;text-align:center;color:var(--muted)}pre{overflow:auto;max-height:410px;border-radius:.55rem;background:#132c2d;color:#deeeeb;padding:1rem;font-size:.8rem;line-height:1.5}.list{display:grid;gap:.65rem}.list-item{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.65rem 0}.list-item:last-child{border-bottom:0}.credentials-panel{border:1px solid #e3bd62;background:#fff8df;border-radius:.75rem;padding:1rem;margin-bottom:1rem}.credentials-panel h3{margin:0 0 .5rem}.credentials-panel code{display:inline-block;background:#fff;border:1px solid #e3bd62;border-radius:.35rem;padding:.2rem .4rem}.compact-icon{width:2rem;height:2rem;min-height:2rem;padding:0;display:inline-grid;place-items:center;border:1px solid var(--brand);border-radius:.45rem;background:#fff;color:var(--brand);font-weight:900}.compact-icon:hover{background:#e9f5f3}@media(max-width:760px){.auth-shell{grid-template-columns:1fr;gap:2rem;padding:3rem 1.5rem}.workspace{grid-template-columns:1fr}.sidebar{padding:1rem;gap:1rem}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.account{margin-top:0}.content{padding:1.25rem}.two-columns{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.topbar{align-items:center}.topbar h1{font-size:1.7rem}}.agenda-key{border:2px solid transparent;cursor:pointer;font:inherit}.agenda-key:hover{filter:brightness(.96)}.agenda-key:focus-visible{outline:3px solid rgba(17,100,102,.3);outline-offset:2px}.agenda-legend.has-filter .agenda-key:not(.active){opacity:.45}.agenda-key.active{border-color:currentColor;box-shadow:0 0 0 2px #fff inset}.compact-icon.danger{border-color:#b85050;color:#9a3434}.compact-icon.danger:hover{background:#fff0f0}.compact-icon:disabled{cursor:not-allowed;opacity:.35;background:#f4f6f5}.section-panel,.two-columns>*{min-width:0;max-width:100%}.form-grid>*{min-width:0}.form-grid input,.form-grid select,.form-grid textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.weekday-selector{border:1px solid var(--line);border-radius:.7rem;padding:.8rem;margin:.7rem 0}.weekday-selector legend{padding:0 .35rem;font-size:.9rem;font-weight:800}.weekday-options{display:flex;flex-wrap:wrap;gap:.55rem 1rem}.form-grid .weekday-option{display:flex;align-items:center;gap:.4rem;margin:0;font-size:.85rem}.form-grid .weekday-option input{width:1rem;min-height:1rem;margin:0}.toolbar label{min-width:0;max-width:100%}.toolbar input,.toolbar select{max-width:100%;min-width:0}.availability-shell{display:grid;gap:.8rem;border:1px solid var(--line);border-radius:.8rem;background:#fff;padding:.8rem;overflow:hidden}.availability-calendar-host{display:grid;gap:.8rem}.availability-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;width:100%;max-width:34rem;margin:0 auto}.calendar-weekday{text-align:center;color:#899493;font-size:.68rem;font-weight:750;text-transform:uppercase;padding:.55rem .15rem}.availability-day,.availability-spacer{aspect-ratio:1;min-height:3rem}.availability-day{border:0;border-radius:0;background:transparent;color:var(--ink);display:grid;place-items:center;padding:0;text-align:center;position:relative;transition:filter .15s ease,box-shadow .15s ease}.availability-day strong{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;font-size:.92rem;font-weight:750;position:relative;z-index:1}.availability-day.low{background:#bfe8ca;color:#174d26}.availability-day.high{background:#f4b66a;color:#633d08}.availability-day:not(:disabled):hover{filter:brightness(.96);box-shadow:inset 0 0 0 2px rgba(17,100,102,.2)}.availability-day:focus-visible{outline:3px solid var(--brand);outline-offset:-3px;z-index:2}.availability-day.selected strong{background:var(--brand);color:#fff;box-shadow:0 0 0 2px #fff}.availability-day:disabled{cursor:not-allowed;color:#a4aeac;background:transparent;opacity:1}.availability-legend{display:flex;flex-wrap:wrap;gap:.75rem;border-top:1px solid var(--line);padding-top:.7rem}.availability-legend span{display:inline-flex;align-items:center;gap:.38rem;color:var(--muted);font-size:.72rem;font-weight:750}.availability-legend span::before{content:"";width:.75rem;height:.75rem;border-radius:.15rem}.availability-legend .low::before{background:#bfe8ca}.availability-legend .high::before{background:#f4b66a}.availability-legend .unavailable::before{background:#fff;border:1px solid var(--line)}.agenda-row td{padding:.5rem .6rem}.agenda-menu-trigger{width:2rem;height:2rem;min-height:2rem;padding:0;display:inline-grid;place-items:center;border:1px solid var(--brand);border-radius:.5rem;background:#fff;color:var(--brand);font-size:1.15rem;font-weight:850;line-height:1}.agenda-menu-trigger:hover{background:#e9f5f3}.agenda-menu-trigger:focus-visible{outline:3px solid rgba(17,100,102,.3);outline-offset:2px}.appointment-action-dialog{width:min(25rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);border:0;border-radius:1rem;padding:0;background:#fff;color:var(--ink);box-shadow:0 24px 70px rgba(15,45,44,.28)}.appointment-action-dialog::backdrop{background:rgba(10,31,31,.52)}.appointment-action-card{display:grid;gap:1rem;padding:1.15rem}.appointment-action-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.appointment-action-header h2{margin:0;font-size:1.15rem}.appointment-action-summary{margin:0;color:var(--muted);font-size:.86rem}.appointment-action-options{display:grid;gap:.45rem}.appointment-action-option{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.65rem;width:100%;min-height:2.8rem;padding:.45rem .65rem;border:1px solid var(--line);border-radius:.65rem;background:#fff;color:var(--ink);text-align:left;font-weight:750}.appointment-action-option:hover{border-color:#8dbeb7;background:#eef8f6}.appointment-action-option:focus-visible{outline:3px solid rgba(17,100,102,.3);outline-offset:2px}.appointment-action-option .action-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.48rem;background:#e6f3f1;color:var(--brand-dark);font-size:1rem;font-weight:900}.appointment-action-option[data-popup-action=reject],.appointment-action-option[data-popup-action=cancel],.appointment-action-option[data-popup-action=absent]{color:#8f2f2f}.appointment-action-option[data-popup-action=reject] .action-icon,.appointment-action-option[data-popup-action=cancel] .action-icon,.appointment-action-option[data-popup-action=absent] .action-icon{background:#fff0f0;color:#8f2f2f}.cancel-reason-panel{display:grid;gap:.4rem;margin:0;font-size:.82rem;font-weight:750}.cancel-reason-panel[hidden]{display:none}.cancel-reason-panel select{width:100%;max-width:100%;min-width:0;border:1px solid #b8c9c6;border-radius:.55rem;padding:.65rem;background:#fff}.dialog-close{border:1px solid var(--line);border-radius:.55rem;background:#fff;color:var(--muted);font-weight:750;padding:.45rem .65rem}.dialog-close:hover{border-color:#8dbeb7;color:var(--ink)}.appointment-action-empty{margin:0;padding:.8rem;color:var(--muted);text-align:center}.reschedule-panel{margin-top:1rem;border:2px solid #8dbeb7}.calendar-loading{grid-column:1/-1;padding:1rem;text-align:center;color:var(--muted)}@media(max-width:760px){.availability-shell{padding:.55rem}.availability-day,.availability-spacer{min-height:2.55rem}.availability-day strong{width:1.8rem;height:1.8rem;font-size:.85rem}.calendar-weekday{font-size:.62rem}}.agenda-key.all{background:#e7efee;color:#425251}.patient-combobox{position:relative}.patient-combobox-results{display:grid;gap:.3rem;margin-top:.15rem;padding:.35rem;border:1px solid var(--line);border-radius:.65rem;background:#fff;max-height:15rem;overflow:auto}.patient-combobox-option{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.6rem .7rem;border:0;border-radius:.45rem;background:#fff;color:var(--ink);text-align:left}.patient-combobox-option:hover,.patient-combobox-option:focus-visible{background:#eaf5f3;outline:none}.patient-combobox-option span,.patient-combobox-empty,.patient-combobox-selected{color:var(--muted);font-size:.8rem}.patient-combobox-empty,.patient-combobox-selected{padding:.55rem}.patient-combobox-selected{color:var(--brand);font-weight:800}@media(max-width:760px){.patient-combobox-option{align-items:flex-start;flex-direction:column;gap:.15rem}}
:root{
  --ink:#333333;
  --muted:#716d65;
  --line:#ded8cc;
  --paper:#f5f2ec;
  --panel:#ffffff;
  --brand:#c1b49a;
  --brand-dark:#756a56;
  --accent:#674365;
  --danger:#9b4545;
  --shadow:0 18px 52px rgba(66,57,43,.09);
  font-family:"Montserrat","Avenir Next",ui-sans-serif,system-ui,-apple-system,sans-serif;
  color:var(--ink);
  background:var(--paper);
}
body{background:var(--paper);color:var(--ink);font-weight:400}
::selection{background:#dcd2bf;color:#333}
button,input,select,textarea{font-family:inherit}
button{transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}
button:active{transform:translateY(1px)}
.auth-shell{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.72fr);
  gap:clamp(3rem,8vw,8rem);
  padding:clamp(3rem,8vw,7.5rem) max(2rem,9vw);
  background:radial-gradient(circle at 22% 25%,rgba(193,180,154,.22),transparent 34%),linear-gradient(125deg,#292a23 0%,#464437 58%,#302f29 100%);
}
.auth-shell::before,.auth-shell::after{content:"";position:absolute;z-index:-1;pointer-events:none;border:1px solid rgba(255,255,255,.72)}
.auth-shell::before{width:42rem;height:21rem;right:-8rem;top:-7rem;border-radius:0 0 0 13rem;border-top:0;border-right:0}
.auth-shell::after{width:34rem;height:17rem;left:-11rem;bottom:-6rem;border-radius:0 12rem 0 0;border-left:0;border-bottom:0}
.brand-block{position:relative;z-index:1;max-width:38rem;color:#fff}
.brand-block .eyebrow{margin-top:3rem;color:#d8cdb8}
.brand-block h1{margin:.15em 0 .3em;max-width:35rem;color:#fff;font-size:clamp(2.45rem,5vw,4.8rem);font-weight:600;line-height:1.04;letter-spacing:-.045em}
.brand-block>p:last-child{max-width:34rem;color:rgba(255,255,255,.78);font-size:1rem;font-weight:300;line-height:1.75}
.moc-wordmark{display:grid;width:max-content;line-height:1;text-decoration:none}
.moc-wordmark__name{display:flex;align-items:baseline;gap:.18em;letter-spacing:-.06em}
.moc-wordmark__name strong{font-weight:800;color:var(--brand)}
.moc-wordmark__name em{font-style:normal;font-weight:300;letter-spacing:-.055em}
.moc-wordmark small{margin-top:.34rem;letter-spacing:.38em;font-weight:600}
.moc-wordmark--hero .moc-wordmark__name{font-size:clamp(3rem,6vw,5.4rem)}
.moc-wordmark--hero .moc-wordmark__name em{color:#fff}
.moc-wordmark--hero small{color:#fff;font-size:clamp(.55rem,1vw,.78rem)}
.auth-forms{position:relative;z-index:2;max-width:30rem}
.auth-panel{padding:clamp(1.6rem,3vw,2.5rem);max-width:30rem}
.auth-panel h2{font-size:1.55rem;font-weight:600;letter-spacing:-.02em}
.panel{border:1px solid rgba(193,180,154,.46);border-radius:1.15rem;box-shadow:var(--shadow)}
.auth-panel label,.form-grid label{color:#4b4944;font-size:.82rem;font-weight:600;letter-spacing:.01em}
.auth-panel input,.form-grid input,.form-grid select,.form-grid textarea,.toolbar input,.toolbar select,.cancel-reason-panel select{border:1px solid #cec6b7;border-radius:.72rem;background:#fffdfa;color:var(--ink);outline:none}
.auth-panel input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(193,180,154,.2)}
.primary,.secondary,.dialog-close{border-radius:999px;padding:.7rem 1.25rem;font-size:.8rem;font-weight:700;letter-spacing:.035em}
.primary{border:2px solid var(--brand);background:var(--brand);color:#fff}
.primary:hover{background:transparent;color:var(--brand-dark);box-shadow:0 7px 20px rgba(117,106,86,.17)}
.secondary{border:1px solid var(--brand);background:#fff;color:var(--brand-dark)}
.secondary:hover{background:#f2eee6;box-shadow:0 6px 18px rgba(117,106,86,.12)}
.auth-panel .quiet{color:var(--brand-dark);font-size:.8rem}
.workspace{grid-template-columns:264px minmax(0,1fr);background:var(--paper)}
.sidebar{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 0,rgba(193,180,154,.18),transparent 32%),linear-gradient(180deg,#35352d 0%,#292a24 100%);color:#fff;padding:1.8rem 1.15rem;gap:2.5rem;box-shadow:10px 0 32px rgba(49,46,37,.1)}
.sidebar::after{content:"";position:absolute;width:15rem;height:9rem;right:-7rem;bottom:8rem;border:1px solid rgba(255,255,255,.22);border-radius:7rem 0 0 0;border-right:0;border-bottom:0;pointer-events:none}
.wordmark{position:relative;z-index:1;padding:.2rem .7rem}
.wordmark .moc-wordmark__name{font-size:2rem}
.wordmark .moc-wordmark__name strong{color:var(--brand)}
.wordmark .moc-wordmark__name em{color:#fff}
.wordmark small{color:#f2eee6;font-size:.48rem}
.sidebar nav{position:relative;z-index:1;gap:.35rem}
.nav-link{border:1px solid transparent;border-radius:999px;color:rgba(255,255,255,.76);padding:.72rem .95rem;font-size:.8rem;font-weight:500;letter-spacing:.025em}
.nav-link:hover{border-color:rgba(193,180,154,.45);background:rgba(193,180,154,.08);color:#fff}
.nav-link.active{background:var(--brand);color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.account{position:relative;z-index:1;border-top:1px solid rgba(193,180,154,.35);padding:.95rem .7rem}
.account span{color:rgba(255,255,255,.6)}
.account .quiet{color:#d8cdb8;text-decoration:none}
.content{max-width:1580px;padding:2.2rem clamp(1.2rem,3.5vw,3.8rem)}
.topbar{align-items:center;margin-bottom:2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
.topbar h1{font-size:clamp(1.8rem,3vw,2.65rem);font-weight:600;color:#3b3935;letter-spacing:-.035em}
.eyebrow{color:var(--brand-dark);font-weight:700;letter-spacing:.18em}
.status{border:1px solid #d5ccbb;background:#ece6db;color:#665d4f;font-weight:700;letter-spacing:.04em}
.page{gap:1.2rem}
.cards{gap:1.1rem}
.metric{position:relative;overflow:hidden;padding:1.25rem 1.35rem}
.metric::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--brand),#ded6c6)}
.metric span{font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.metric strong{color:#4a463f;font-size:1.9rem;font-weight:600}
.section-panel{padding:1.35rem}
.section-panel h2{color:#4b463f;font-size:1.05rem;font-weight:650;letter-spacing:-.01em}
.section-panel h2::after{content:"";display:block;width:2.5rem;height:2px;margin-top:.48rem;background:var(--brand)}
.toolbar{gap:.8rem}
.data-table{font-size:.84rem}
.data-table th{background:#f0ece4;color:#706859;font-size:.67rem;font-weight:700;letter-spacing:.11em}
.data-table th:first-child{border-radius:.55rem 0 0 .55rem}
.data-table th:last-child{border-radius:0 .55rem .55rem 0}
.data-table th,.data-table td{border-bottom:1px solid #e6e0d5;padding:.72rem .78rem}
.data-table tbody tr:hover{background:#faf8f4}
.patient-link{color:#655b4c;text-decoration-color:#c1b49a;text-underline-offset:3px}
.patient-link:hover{color:#403b34}
.badge{background:#ece6db;color:#685f51}
.compact-icon,.agenda-menu-trigger{border-color:#c7bba5;border-radius:50%;background:#fff;color:#736652}
.compact-icon:hover,.agenda-menu-trigger:hover{background:#eee8dd;color:#4d4539}
.availability-shell{border-color:#d8d0c2;border-radius:1rem;background:#fdfcf9}
.availability-calendar{border-radius:.8rem;overflow:hidden}
.calendar-weekday{color:#80786b;font-weight:700;letter-spacing:.07em}
.availability-day.low{background:#bfe8ca;color:#174d26}
.availability-day.high{background:#f4b66a;color:#633d08}
.availability-day.selected strong{background:#674365;color:#fff}
.availability-legend{border-top-color:#ddd5c7}
.agenda-key.all{background:#e8e3d9;color:#5d5549}
.agenda-key.active{box-shadow:0 0 0 2px #fff inset,0 5px 14px rgba(75,67,54,.14)}
.patient-combobox-results{border-color:#d8d0c2;border-radius:.8rem;background:#fffdfa}
.patient-combobox-option:hover,.patient-combobox-option:focus-visible{background:#f1ece3}
.patient-combobox-selected{color:#756a56}
.appointment-action-dialog{border:1px solid rgba(193,180,154,.55);border-radius:1.1rem;box-shadow:0 28px 80px rgba(42,38,31,.3)}
.appointment-action-dialog::backdrop{background:rgba(37,36,31,.62)}
.appointment-action-option{border-color:#ddd5c7;border-radius:.75rem;font-weight:600}
.appointment-action-option:hover{border-color:#c1b49a;background:#f7f3ec}
.appointment-action-option .action-icon{background:#ece6db;color:#665b49}
.notice{border-color:#dfc888;background:#fff7df;color:#6f571e}
pre{background:#302f29;color:#eee9df}
.credentials-panel{border-color:#cbbb9a;background:#f8f1df}
@media(max-width:760px){
  .auth-shell{grid-template-columns:1fr;gap:2rem;padding:2.6rem 1.35rem}
  .auth-shell::before{right:-25rem}
  .brand-block .eyebrow{margin-top:1.8rem}
  .brand-block h1{font-size:2.55rem}
  .moc-wordmark--hero .moc-wordmark__name{font-size:3.3rem}
  .workspace{grid-template-columns:1fr}
  .sidebar{padding:1rem;gap:1rem}
  .wordmark{justify-self:center}
  .sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav-link{text-align:center}
  .content{padding:1.25rem}
  .topbar{align-items:center}
}
