@import"https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Public+Sans:wght@400;500;600;700;800&display=swap";:root{--font-sans: "Public Sans", "Inter", ui-sans-serif, system-ui, sans-serif;--font-display: "Libre Baskerville", Georgia, serif;--bg0: #f6f0e7;--bg1: #efe5d6;--bg2: #e3d3bb;--ink: #211710;--inkSoft: rgba(33, 23, 16, .72);--inkMute: rgba(33, 23, 16, .54);--card: rgba(255, 249, 241, .82);--cardStrong: rgba(255, 252, 247, .92);--cardGlass: rgba(255, 248, 238, .66);--border: rgba(92, 63, 38, .18);--borderSoft: rgba(92, 63, 38, .1);--borderStrong: rgba(92, 63, 38, .26);--brand: #6f4a2f;--brand2: #9b6b45;--brand3: #c89d64;--brandSoft: rgba(111, 74, 47, .1);--accent: #1d4d43;--accentSoft: rgba(29, 77, 67, .11);--ok: #256756;--warn: #ad7a1c;--danger: #9a4334;--shadow: 0 28px 70px rgba(54, 35, 20, .14), 0 10px 30px rgba(54, 35, 20, .08);--shadowSoft: 0 18px 42px rgba(54, 35, 20, .1), 0 4px 14px rgba(54, 35, 20, .05);--shadowInset: inset 0 1px 0 rgba(255,255,255,.75);--radiusXs: 12px;--radiusSm: 18px;--radius: 26px;--radiusLg: 34px;--radiusXl: 42px;--focus: 0 0 0 2px rgba(255, 251, 245, .96), 0 0 0 5px rgba(111, 74, 47, .22);--pad: 22px;--padLg: 28px;--padXl: 36px;--calCell: rgba(255, 251, 245, .92);--calCellHover: rgba(255, 255, 255, .98);--calRecBg: rgba(200, 157, 100, .16);--calRecBorder: rgba(200, 157, 100, .42)}*{box-sizing:border-box}html,body{min-height:100%}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 15% 0%,rgba(200,157,100,.18),transparent 34%),radial-gradient(circle at 85% 8%,rgba(29,77,67,.12),transparent 28%),radial-gradient(circle at 50% 100%,rgba(111,74,47,.12),transparent 34%),linear-gradient(180deg,var(--bg0) 0%,var(--bg1) 52%,#f4eadc 100%);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.6;letter-spacing:-.01em}body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1}body:before{background:linear-gradient(115deg,rgba(255,255,255,.32),transparent 42%),linear-gradient(295deg,rgba(255,255,255,.22),transparent 38%);opacity:.85;animation:pageGlowDrift 18s ease-in-out infinite alternate}body:after{background-image:linear-gradient(rgba(111,74,47,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(111,74,47,.03) 1px,transparent 1px);background-size:120px 120px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 78%);mask-image:radial-gradient(circle at center,black,transparent 78%);opacity:.35}@keyframes pageGlowDrift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(0,-14px,0) scale(1.04)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fadeSlideLeft{0%{opacity:0;transform:translate3d(28px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fadeSlideRight{0%{opacity:0;transform:translate3d(-28px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes softFloat{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-8px,0)}}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}strong{font-weight:800}::selection{background:#c89d6457;color:var(--ink)}:focus-visible{outline:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}[data-reveal],.adminGrid>*,.homeMetric,.homeBentoCard,.homeProcess__step{opacity:1!important;filter:none!important;transform:none!important}}.appShell{min-height:100vh;display:flex;flex-direction:column;position:relative}.appMain{flex:1;padding:34px 0 54px;position:relative}.appFooter{margin-top:auto;padding:24px 0 34px;border-top:1px solid var(--borderSoft);background:linear-gradient(180deg,#ffffff1f,#fff9f185),radial-gradient(circle at top center,rgba(200,157,100,.16),transparent 48%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.footerInner{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--inkMute);letter-spacing:.04em;text-transform:uppercase}.container{width:100%;max-width:1260px;margin:0 auto;padding:0 22px}@media(max-width:640px){.container{padding:0 16px}}.routeStage{position:relative;isolation:isolate;transform-origin:50% 12%;will-change:opacity,transform,filter}.routeStage--enter{animation:routeFlowIn .62s cubic-bezier(.22,1,.36,1) both}.routeStage--exit{animation:routeFlowOut .18s ease both}.routeStage:before{content:"";position:absolute;inset:-18px -14px auto;height:120px;pointer-events:none;background:linear-gradient(180deg,#ffffff52,#fff0);opacity:.7;filter:blur(10px);animation:routeSheen .72s ease both;z-index:-1}@keyframes routeFlowIn{0%{opacity:0;transform:translate3d(0,34px,0) scale(.982);filter:blur(8px)}55%{opacity:1;transform:translate3d(0,-4px,0) scale(1.002);filter:blur(0)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}@keyframes routeFlowOut{0%{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}to{opacity:0;transform:translate3d(0,-16px,0) scale(.995);filter:blur(6px)}}[data-reveal]{opacity:0;filter:blur(10px);transform:translate3d(0,42px,0) scale(.97);transition:opacity .82s cubic-bezier(.22,1,.36,1),transform .82s cubic-bezier(.22,1,.36,1),filter .82s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform,filter}[data-reveal=left]{transform:translate3d(-56px,0,0) scale(.97)}[data-reveal=right]{transform:translate3d(56px,0,0) scale(.97)}[data-reveal=up]{transform:translate3d(0,52px,0) scale(.97)}[data-reveal=scale]{transform:translate3d(0,24px,0) scale(.92)}[data-reveal].is-visible{opacity:1;filter:blur(0);transform:translateZ(0) scale(1)}@keyframes routeSheen{0%{opacity:0;transform:translate3d(0,16px,0)}to{opacity:.7;transform:translateZ(0)}}.grid{display:grid;gap:18px}.grid.cols2{grid-template-columns:1fr 1fr}@media(max-width:920px){.grid.cols2{grid-template-columns:1fr}}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:12px}.spread{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.h1{font-family:var(--font-display);font-size:clamp(34px,4.2vw,52px);margin:0 0 12px;line-height:1.02;letter-spacing:-.03em;font-weight:700}.h2{font-family:var(--font-display);font-size:clamp(22px,2vw,28px);margin:0 0 8px;line-height:1.12;letter-spacing:-.02em;font-weight:700}.p{color:var(--inkSoft);line-height:1.75;margin:0;font-size:15px}.muted{color:var(--inkMute)}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--borderSoft);background:#ffffff85;box-shadow:var(--shadowInset);font-size:11px;font-weight:800;color:var(--brand);letter-spacing:.16em;text-transform:uppercase}.pill.soft{background:linear-gradient(180deg,#c89d6429,#c89d6414);border-color:#c89d643d;color:var(--brand2)}.pill.ghost{color:var(--inkSoft);background:#ffffff5c}.hr,.sep{height:1px;background:linear-gradient(90deg,transparent,rgba(92,63,38,.16),transparent);margin:16px 0}.card{background:linear-gradient(180deg,#ffffff7a,#fff0 22%),linear-gradient(150deg,var(--cardStrong),var(--card));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadowSoft);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.75),transparent 28%,rgba(200,157,100,.18) 72%,rgba(111,74,47,.16));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.72}.card.soft{background:linear-gradient(180deg,#ffffff5c,#fff0 24%),linear-gradient(145deg,#fffcf7c7,#fff5ea9e);border-color:var(--borderSoft)}.cardPad,.pad{padding:var(--pad)}.padLg{padding:var(--padLg)}.badge{border:1px solid var(--borderSoft);background:#ffffff8a;color:var(--ink);padding:9px 12px;border-radius:999px;font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;box-shadow:inset 0 1px #ffffffb3}.badge.ok{border-color:#2567563d;background:#2567561a;color:var(--ok)}.badge.warn{border-color:#ad7a1c47;background:#ad7a1c1c;color:var(--warn)}.badge.danger,.badge.bad{border-color:#9a433447;background:#9a43341c;color:var(--danger)}.badge.neutral{color:var(--inkSoft)}.field{display:flex;flex-direction:column;gap:8px}.label{font-size:11px;font-weight:800;color:var(--inkSoft);letter-spacing:.14em;text-transform:uppercase}.input,.select,.textarea{width:100%;border-radius:var(--radiusSm);border:1px solid var(--border);background:#fffcf7b3;color:var(--ink);padding:13px 15px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;box-shadow:inset 0 1px #ffffffd9}.textarea{min-height:112px;resize:vertical}.input::placeholder,.textarea::placeholder{color:#21171061}.input:focus,.select:focus,.textarea:focus{border-color:#6f4a2f57;box-shadow:var(--focus);background:#ffffffeb;transform:translateY(-1px)}.help{font-size:12px;color:var(--inkMute);line-height:1.5}.btn{border:1px solid var(--border);background:linear-gradient(180deg,#ffffffd6,#f7ede1d6);color:var(--ink);padding:12px 16px;border-radius:var(--radiusSm);cursor:pointer;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:12px;transition:transform .12s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease;box-shadow:0 10px 20px #36231414,inset 0 1px #ffffffd9}.btn:hover{transform:translateY(-2px);background:linear-gradient(180deg,#fffffffa,#fcf4ebf0);box-shadow:0 16px 28px #3623141f,inset 0 1px #ffffffeb}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.58;cursor:not-allowed}.btn.small,.btn.sm{padding:9px 12px;border-radius:14px;font-size:11px}.btn.ghost{background:#ffffff3d;border-color:var(--borderSoft);color:var(--inkSoft);box-shadow:inset 0 1px #ffffffbf}.btn.primary{border-color:#6f4a2f61;background:linear-gradient(180deg,#ffffff29,#fff0 26%),linear-gradient(135deg,var(--brand3),var(--brand2) 40%,var(--brand));color:#fffaf3;box-shadow:0 18px 34px #6f4a2f42,inset 0 1px #ffffff38}.btn.primary:hover{filter:brightness(1.03);box-shadow:0 22px 40px #6f4a2f4d,inset 0 1px #ffffff42}.btn.danger,.btn.bad{border-color:#9a433447;background:#9a43341a;color:var(--danger)}.btn.ok{border-color:#25675642;background:#2567561f;color:var(--ok)}.btn.xl{padding:15px 22px;border-radius:22px;font-size:12px;min-height:52px}.alertError{border-color:#9a433438!important;background:#9a433414!important;color:var(--danger)!important}.alertWarning{border-color:#ad7a1c3d!important;background:#ad7a1c14!important;color:var(--warn)!important}.alertSuccess{border-color:#25675638!important;background:#25675614!important;color:var(--ok)!important}.alertInfo{border-color:#6f4a2f33!important;background:#6f4a2f0f!important;color:var(--brand)!important}.statCard{text-align:center}.statCardTitle{font-size:11px;color:var(--inkMute);letter-spacing:.16em;text-transform:uppercase;font-weight:800}.statCardValue{font-family:var(--font-display);font-size:clamp(32px,3vw,44px);font-weight:700;margin-top:12px;color:var(--ink);line-height:.95}.statCardSubtitle{font-size:12px;color:var(--inkMute);margin-top:6px;line-height:1.45}.table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:22px;border:1px solid var(--borderSoft);background:#fffaf473}.tableWrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:22px}.tableWrap .table{min-width:760px}.table th,.table td{padding:14px;border-bottom:1px solid rgba(92,63,38,.08);text-align:left;font-size:13px}.table th{color:var(--inkSoft);font-weight:800;background:#6f4a2f0f;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.table tr:hover td{background:#fff6}.tableActions{display:flex;gap:8px;flex-wrap:wrap}.sh-nav{position:sticky;top:0;z-index:20;background:#f7efe4b3;border-bottom:1px solid var(--borderSoft);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 12px 34px #36231414}.sh-nav__inner{max-width:1260px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.sh-brand{display:flex;align-items:center;border:none;background:transparent;color:inherit;cursor:pointer;padding:4px;border-radius:18px;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease,background .18s ease}.sh-brand:hover{transform:translateY(-1px);background:#ffffff57;box-shadow:0 12px 22px #36231414}.sh-brand:focus-visible{box-shadow:var(--focus);outline:none}.sh-brand__logo{width:40px;height:40px;border-radius:14px;object-fit:cover;border:1px solid rgba(255,255,255,.45);box-shadow:0 10px 18px #3623141f}.sh-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.sh-link{border:1px solid transparent;background:#ffffff42;color:var(--inkSoft);padding:10px 14px;border-radius:999px;cursor:pointer;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.16em;transition:background .18s ease,border-color .18s ease,transform .12s ease,box-shadow .18s ease,color .18s ease}.sh-link:hover{transform:translateY(-1px);background:#ffffff8f;box-shadow:0 10px 18px #36231414}.sh-link:active{transform:translateY(0)}.sh-link:focus-visible{box-shadow:var(--focus);outline:none}.sh-link.active{border-color:#6f4a2f38;background:#6f4a2f14;color:var(--brand)}.sh-link.cta{border-color:#6f4a2f4d;background:linear-gradient(135deg,var(--brand3),var(--brand2),var(--brand));color:#fffaf4;box-shadow:0 14px 26px #6f4a2f3d}.sh-link.cta.active{color:#fffaf4}.sh-link.danger{background:#9a433414;color:var(--danger);border-color:#9a43342e}.sh-sep{width:1px;height:20px;background:linear-gradient(180deg,transparent,rgba(92,63,38,.22),transparent)}@media(max-width:840px){.sh-nav__inner{align-items:flex-start;flex-direction:column}.sh-links{width:100%;justify-content:flex-start}.sh-sep{display:none}}@media(max-width:640px){.table th,.table td{padding:12px}.tableWrap .table{min-width:680px}}.toastWrap{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;gap:10px}.toast{min-width:min(320px,calc(100vw - 32px));max-width:360px;padding:14px 16px;border-radius:18px;border:1px solid var(--border);background:#fffcf7eb;color:var(--ink);box-shadow:var(--shadowSoft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:toastIn .24s ease both}.toast strong{display:block;margin-bottom:4px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}.toast div{color:var(--inkSoft);font-size:13px;line-height:1.55}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.adminPage{display:grid;gap:18px}.adminWorkspace{padding-bottom:20px}.adminSimpleHead{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.adminSimpleHead--compact{padding-top:20px;padding-bottom:20px}.adminSimpleHead--compact .h2{margin-bottom:4px}.adminSimpleHead--compact .p{font-size:14px}.adminSimpleChips{display:flex;gap:10px;flex-wrap:wrap}.adminColumns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);gap:18px;align-items:start}.adminMainColumn,.adminSideColumn{display:grid;gap:18px}.adminPanelCard{animation:fadeSlideUp .72s cubic-bezier(.22,1,.36,1) both}.adminPanelCard--dense{padding:22px}.adminCardHeading{font-size:24px;margin-bottom:6px;font-family:var(--font-display)}.adminCardSubheading{font-size:12px;color:var(--inkMute);margin-bottom:14px;letter-spacing:.08em;text-transform:uppercase}.adminFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.adminFormGrid--compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.adminFormGrid--compact .field{gap:6px}.adminFormGrid--compact .input,.adminFormGrid--compact .select,.adminFormGrid--compact .textarea{padding:11px 12px}.adminFormGrid--compact .textarea{min-height:92px}.adminFormGrid__wide{grid-column:1 / -1}.adminFormActions{display:flex;gap:10px;flex-wrap:wrap}.adminFormShell{width:min(920px,100%);margin-inline:auto}.adminInlineSummary{display:flex;gap:12px;flex-wrap:wrap;color:var(--inkSoft);font-size:13px}.adminScheduleStack,.adminHistoryList,.adminPatientResults{display:grid;gap:12px}.adminDayBlock{border:1px solid var(--borderSoft);border-radius:26px;padding:16px;background:#ffffff61}.adminDayBlock__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.adminDayBlock__head strong{text-transform:capitalize}.adminAppointmentList{display:grid;gap:10px}.adminAppointmentCard,.adminHistoryCard{border:1px solid var(--borderSoft);border-radius:22px;padding:14px;background:#fffcf7b8;display:grid;gap:10px}.adminAppointmentMeta,.adminHistoryMeta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--inkSoft)}.adminAppointmentNote{font-size:13px;color:var(--inkSoft);line-height:1.55}.adminAppointmentActions{display:flex;gap:8px;flex-wrap:wrap}.adminPatientRow{border:1px solid var(--borderSoft);background:#ffffff7a;border-radius:20px;padding:14px;text-align:left;cursor:pointer;display:grid;gap:4px;color:inherit}.adminPatientRow small{color:var(--inkMute);font-size:12px}.adminPatientRow:hover{border-color:#6f4a2f47;transform:translateY(-1px)}.adminPatientCard{display:grid;gap:16px}.adminPatientCard__hero{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 18px;border-radius:24px;background:linear-gradient(135deg,#ffffffa3,#f7ede1ad),radial-gradient(circle at top right,rgba(200,157,100,.16),transparent 36%);border:1px solid var(--borderSoft)}.adminPatientCard__title{font-size:24px;font-family:var(--font-display);line-height:1.1}.adminPatientCard__subtitle{color:var(--inkMute);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-top:6px}.adminPatientCard__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.adminPatientMiniStat{border:1px solid var(--borderSoft);border-radius:18px;background:#ffffff6b;padding:12px 14px;display:grid;gap:6px}.adminPatientMiniStat span{color:var(--inkMute);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.adminPatientMiniStat strong{font-size:16px}.adminPatientCard__hint{align-self:end;border:1px dashed rgba(111,74,47,.18);border-radius:18px;padding:12px 14px;background:#ffffff52;color:var(--inkSoft);font-size:13px;line-height:1.5}.adminPatientSummary{display:grid;gap:6px;padding:14px;border-radius:22px;background:#ffffff6b;border:1px solid var(--borderSoft);margin-bottom:12px;font-size:14px}.adminEmptyMessage,.adminLoadingMessage{padding:10px 0;font-size:13px;color:var(--inkMute)}.adminLoadingTrigger{height:1px}.adminLoginPage{min-height:calc(100vh - 120px);display:grid;place-items:center;padding:30px 0}.adminLoginCard{width:min(460px,100%);box-shadow:var(--shadow);border:1px solid var(--border)}.adminLoginHead{display:flex;align-items:center;gap:14px;margin-bottom:12px}.adminLoginLogo{width:52px;height:52px;border-radius:18px;object-fit:cover;border:1px solid rgba(255,255,255,.5);box-shadow:0 12px 18px #3623141f}.adminLoginForm{display:grid;gap:14px;margin-top:14px}.adminLoginField{display:grid;gap:8px}.adminLoginField input{border-radius:var(--radiusSm);padding:13px 15px;border:1px solid var(--border);background:#fffcf7bd;outline:none;color:var(--ink);font-size:15px;transition:border-color .18s ease,box-shadow .18s ease}.adminLoginField input:focus{border-color:#6f4a2f57;box-shadow:var(--focus);background:#fffffff0}.adminLoginField input::placeholder{color:#21171059}@media(max-width:1080px){.adminColumns{grid-template-columns:1fr}}@media(max-width:760px){.adminFormGrid,.adminFormGrid--compact,.adminPatientCard__stats{grid-template-columns:1fr}.adminAppointmentMeta,.adminDayBlock__head,.adminFormActions,.adminSimpleHead{flex-direction:column;align-items:stretch}.adminPanelCard--dense{padding:18px}.adminFormGrid--compact .textarea{min-height:84px}}
