@import "https://fonts.googleapis.com/css2?family=Alexandria:wght@400;500;600;700;800&display=swap";
:root{--ink:#182d2b;--muted:#71817f;--line:#e7eeeb;--paper:#f7faf8;--white:#fff;--green:#155e59;--green-dark:#0d4945;--green-soft:#e8f5ef;--amber-soft:#fff5df;--blue-soft:#eaf2ff;--violet-soft:#f1edff;--shadow:0 18px 50px #173a3414}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Alexandria,Segoe UI,Tahoma,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.auth-page{background:var(--white);grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr);min-height:100vh;display:grid}.auth-aside{color:#fff;background:radial-gradient(circle at 22% 20%,#84d1af3d,#0000 33%),linear-gradient(150deg,#174f4b 0%,#0b3938 100%);flex-direction:column;justify-content:space-between;min-height:100vh;padding:42px clamp(32px,6vw,88px);display:flex;position:relative;overflow:hidden}.auth-aside:after{content:"";border:1px solid #ffffff1c;border-radius:50%;width:500px;height:500px;position:absolute;inset:auto -190px -250px auto;box-shadow:0 0 0 50px #ffffff06,0 0 0 100px #ffffff05}.brand{width:fit-content;color:var(--ink);letter-spacing:-.7px;align-items:center;gap:11px;font-size:20px;font-weight:800;display:inline-flex}.brand-light{color:#fff}.brand-mark{color:#fff;background:var(--green);border-radius:12px;place-items:center;width:38px;height:38px;font-size:20px;font-weight:800;display:inline-grid;box-shadow:0 8px 18px #0d49452e}.brand-light .brand-mark{color:var(--green-dark);background:#c5f2dd}.aside-copy{z-index:1;margin:auto 0;padding:70px 0;position:relative}.eyebrow{color:var(--green);letter-spacing:.2px;margin:0 0 10px;font-size:11px;font-weight:700}.eyebrow-light{color:#bcebd5}.aside-copy h1{color:#fff;letter-spacing:-1.7px;margin:0;font-size:clamp(32px,4.1vw,54px);font-weight:800;line-height:1.55}.aside-description{color:#ffffffb8;max-width:390px;margin:22px 0 0;font-size:14px;line-height:2.1}.aside-footer{z-index:1;color:#ffffff8f;font-size:11px;position:relative}.auth-main{place-items:center;padding:36px;display:grid}.auth-card{width:min(100%,410px)}.brand-mobile{margin-bottom:48px;display:none}.auth-card h2{letter-spacing:-.8px;margin:0;font-size:30px}.muted{color:var(--muted);margin:10px 0 28px;line-height:1.9}.notice{border-radius:13px;margin:18px 0;padding:13px 15px;font-size:12px;line-height:1.9}.notice-warn{color:#815b1d;background:var(--amber-soft);border:1px solid #f4e4bd}.auth-form{flex-direction:column;gap:10px;display:flex}.auth-form label{margin-top:9px;font-size:12px;font-weight:700}.auth-form input{width:100%;color:var(--ink);background:#fbfdfc;border:1px solid #dce7e2;border-radius:12px;outline:none;padding:14px 15px;transition:border .2s,box-shadow .2s}.auth-form input:focus{border-color:#5f9c88;box-shadow:0 0 0 3px #3e8c701f}.button{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-weight:700;transition:transform .18s,background .18s,border .18s;display:inline-flex}.button:disabled{opacity:.55;cursor:not-allowed}.button:not(:disabled):hover{transform:translateY(-1px)}.button-primary{color:#fff;background:var(--green)}.button-primary:not(:disabled):hover{background:var(--green-dark)}.button-secondary{color:var(--green);background:#fff;border-color:#dbe7e1}.button-secondary:hover{background:#fbfefc;border-color:#9bbeb0}.button-ghost{color:#50615c;background:0 0;border-color:#e4ece7}.button-full{width:100%}.button-small{min-height:38px;padding:0 13px;font-size:11px}.form-error{color:#b42318;font-size:12px;line-height:1.7}.auth-divider{color:#9aa7a2;align-items:center;gap:14px;margin:22px 0;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-footnote{color:#94a19c;text-align:center;margin:24px 0 0;font-size:10px;line-height:1.9}.dashboard-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-left:1px solid var(--line);background:#fff;flex-direction:column;height:100vh;padding:28px 18px 20px;display:flex;position:sticky;top:0}.sidebar .brand{padding:0 10px 34px}.sidebar-section{flex-direction:column;gap:7px;display:flex}.sidebar-label{color:#9aa7a2;padding:0 12px 8px;font-size:10px;font-weight:700}.nav-link{color:#64726e;border-radius:11px;align-items:center;gap:12px;min-height:46px;padding:0 13px;font-size:12px;font-weight:600;display:flex}.nav-link span{text-align:center;width:20px;font-size:17px}.nav-link:hover{color:var(--green);background:#f6faf7}.nav-link.active{color:var(--green);background:var(--green-soft)}.sidebar-bottom{margin-top:auto}.account-mini{border-top:1px solid var(--line);align-items:center;gap:10px;padding:15px 4px;display:flex}.avatar{width:35px;height:35px;color:var(--green);background:var(--green-soft);border-radius:50%;place-items:center;font-weight:800;display:grid}.account-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.account-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.account-copy small{color:var(--muted);font-size:10px}.dashboard-main{width:min(100%,1320px);margin:0 auto;padding:38px clamp(22px,4vw,54px) 50px}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.topbar h1{letter-spacing:-.7px;margin:0;font-size:25px}.topbar-meta{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex}.status-dot{background:#36a477;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #e5f5ec}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px 21px;box-shadow:0 4px 18px #1e463606}.stat-icon{border-radius:12px;place-items:center;width:37px;height:37px;margin-bottom:15px;font-size:17px;display:grid}.stat-icon.teal{color:#1a786b;background:var(--green-soft)}.stat-icon.amber{color:#9a6b14;background:var(--amber-soft)}.stat-icon.blue{color:#416eac;background:var(--blue-soft)}.stat-icon.violet{color:#6e5ba9;background:var(--violet-soft)}.stat-card p{color:var(--muted);margin:0 0 7px;font-size:11px}.stat-card strong{letter-spacing:-1px;font-size:28px;display:block}.stat-card small{color:#a1aca7;margin-top:8px;font-size:10px;display:block}.panel{border:1px solid var(--line);background:#fff;border-radius:17px;margin-bottom:20px;padding:22px}.panel-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.panel-heading h2{margin:0;font-size:17px}.panel-heading .eyebrow{margin-bottom:4px}.pill{min-height:29px;color:var(--green);background:var(--green-soft);border-radius:30px;align-items:center;padding:0 11px;font-size:10px;font-weight:700;display:inline-flex}.appointment-list{flex-direction:column;display:flex}.appointment-row{border-top:1px solid #f0f4f1;grid-template-columns:minmax(150px,1fr) minmax(170px,1.5fr) auto;align-items:center;gap:18px;padding:16px 0;display:grid}.appointment-date,.appointment-person{flex-direction:column;gap:5px;min-width:0;display:flex}.appointment-date strong,.appointment-person strong{font-size:11px}.appointment-date small,.appointment-person small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.appointment-status{border-radius:30px;justify-content:center;min-width:78px;padding:7px 10px;font-size:10px;font-weight:700;display:inline-flex}.status-confirmed{color:#19734d;background:#e8f7ef}.status-requested{color:#956512;background:#fff5df}.status-cancelled{color:#a64c4c;background:#fff0ef}.status-completed{color:#4a6d99;background:#edf4ff}.status-no_show{color:#765a93;background:#f3edfb}.empty-state{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:9px;padding:38px 15px;display:flex}.empty-state span{width:45px;height:45px;color:var(--green);background:var(--green-soft);border-radius:14px;place-items:center;font-size:21px;display:grid}.empty-state strong{color:var(--ink);font-size:12px}.empty-state p{margin:0;font-size:10px}.shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.shortcut-card{border:1px solid var(--line);background:#fff;border-radius:15px;flex-direction:column;align-items:flex-start;gap:8px;padding:17px;display:flex}.shortcut-card>span{width:33px;height:33px;color:var(--green);background:var(--green-soft);border-radius:10px;place-items:center;font-size:17px;display:grid}.shortcut-card strong{font-size:11px}.shortcut-card small{color:var(--muted);font-size:9px;line-height:1.7}.shortcut-card:hover{border-color:#b6d4c6;transform:translateY(-1px)}.dashboard-footnote{color:#9aa7a2;text-align:center;margin:22px 0 0;font-size:10px}.loading-page,.empty-page{min-height:100vh;color:var(--muted);place-items:center;display:grid}.loading-page{justify-content:center;align-items:center;gap:12px;display:flex}.loader{border:2px solid #d8e7df;border-top-color:var(--green);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-card{border:1px solid var(--line);width:min(92vw,420px);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:20px;padding:34px}.empty-card .brand-mark{margin-bottom:15px}.empty-card h1{font-size:21px}.empty-card p{color:var(--muted);margin:0 0 23px;font-size:12px;line-height:1.9}.demo-page{width:min(1160px,100% - 40px);margin:0 auto;padding:28px 0 50px}.demo-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-bottom:28px;display:flex}.demo-header-actions{align-items:center;gap:14px;display:flex}.demo-label{color:#997020;font-size:10px;font-weight:700}.demo-welcome{justify-content:space-between;align-items:center;gap:20px;padding:40px 0 28px;display:flex}.demo-welcome h1{letter-spacing:-1px;margin:0;font-size:clamp(23px,4vw,32px)}.demo-welcome p:last-child{color:var(--muted);margin:9px 0 0;font-size:12px}.demo-clinic-badge{color:var(--green);background:#fff;border:1px solid #d9e9e0;border-radius:30px;padding:10px 15px;font-size:10px}.demo-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.demo-panel{margin-top:22px}.demo-notice{color:#856322;text-align:center;background:#fff9eb;border:1px solid #f0e4c7;border-radius:12px;margin-top:20px;padding:13px 16px;font-size:10px}@media (max-width:920px){.auth-page{grid-template-columns:1fr}.auth-aside{display:none}.auth-main{min-height:100vh;padding:28px 22px}.brand-mobile{margin-bottom:55px;display:inline-flex}.dashboard-shell{grid-template-columns:1fr}.sidebar{border-left:0;border-bottom:1px solid var(--line);height:auto;padding:15px 20px;position:static}.sidebar .brand{padding:0}.sidebar-section,.sidebar-bottom{display:none}.dashboard-main{padding:26px 20px 40px}}@media (max-width:640px){.stats-grid,.demo-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:15px}.stat-card strong{font-size:24px}.topbar{align-items:flex-start}.topbar h1{font-size:20px}.topbar-meta{font-size:9px}.panel{padding:15px}.appointment-row{grid-template-columns:1fr auto;gap:8px}.appointment-person{grid-area:2/1}.appointment-status{grid-area:1/2/span 2}.shortcut-grid{grid-template-columns:1fr}.demo-page{width:min(100% - 28px,1160px)}.demo-header{flex-direction:column;align-items:flex-start}.demo-header-actions{justify-content:space-between;width:100%}.demo-welcome{flex-direction:column;align-items:flex-start;padding:30px 0 20px}.demo-clinic-badge{display:none}}.management-page{padding-bottom:58px}.management-nav{border-bottom:1px solid var(--line);gap:7px;padding:18px 0 0;display:flex;overflow-x:auto}.management-nav-link{color:var(--muted);border-bottom:2px solid #0000;flex:none;padding:12px 16px;font-size:11px;font-weight:600}.management-nav-link:hover,.management-nav-link.active{border-bottom-color:var(--green);color:var(--green)}.management-heading{justify-content:space-between;align-items:center;gap:24px;padding:34px 0 12px;display:flex}.management-heading h1{letter-spacing:-1px;margin:0;font-size:clamp(25px,4vw,34px)}.management-heading p:last-child{color:var(--muted);margin:9px 0 0;font-size:12px;line-height:1.9}.management-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0;display:grid}.management-stat{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:9px;padding:20px;display:flex}.management-stat>span{color:var(--muted);font-size:11px}.management-stat>strong{letter-spacing:-.7px;font-size:29px;line-height:1.2}.management-stat>strong small{font-size:12px}.management-stat>small{color:#9aa7a2;font-size:10px}.management-panel{border:1px solid var(--line);background:#fff;border-radius:18px;margin-top:20px;overflow:hidden;box-shadow:0 8px 28px #173a3409}.management-panel-heading{justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.management-panel-heading h2{margin:0;font-size:16px}.management-panel-heading p{color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.8}.management-panel-heading .button{flex:none}.management-panel-heading .button:disabled{opacity:.55;cursor:not-allowed}.management-table-wrap{overflow-x:auto}.management-table{border-collapse:collapse;text-align:right;white-space:nowrap;width:100%}.management-table th{color:#7e8b87;background:#f8faf9;padding:13px 20px;font-size:10px;font-weight:600}.management-table td{color:#667572;border-top:1px solid #edf1ef;padding:17px 20px;font-size:11px}.management-table td strong{color:var(--ink);font-size:11px;font-weight:700}.management-table tbody tr:hover{background:#fbfdfc}.management-status{color:#8b6b28;background:#fff5df;border-radius:30px;align-items:center;padding:5px 10px;font-size:9px;font-weight:700;display:inline-flex}.management-status.is-active{color:#236b50;background:#e7f6ed}.patient-cell{align-items:center;gap:9px;display:flex}.patient-avatar{width:30px;height:30px;color:var(--green);background:var(--green-soft);border-radius:10px;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.management-next{background:#f0f8f3;border:1px solid #dfece5;border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:18px;padding:18px 20px;display:grid}.management-next>span{color:var(--green);font-size:10px;font-weight:700}.management-next>strong{font-size:11px;line-height:1.8}.management-next>a{color:var(--green);white-space:nowrap;font-size:10px;font-weight:700}@media (max-width:700px){.management-summary{grid-template-columns:1fr;gap:10px}.management-stat{padding:15px 17px}.management-stat>strong{font-size:25px}.management-heading{align-items:flex-start}.management-heading .demo-clinic-badge{display:none}.management-panel-heading{flex-direction:column;align-items:flex-start;padding:18px}.management-next{grid-template-columns:1fr;gap:7px}.management-next>a{margin-top:5px}}.booking-demo-panel{gap:1.25rem;display:grid}.booking-demo-note{color:#174d43;background:#eef8f5;border-radius:.75rem;margin:0;padding:.85rem 1rem;line-height:1.8}.booking-demo-form{gap:1rem;max-width:42rem;display:grid}.booking-field{color:var(--text-secondary,#475569);gap:.4rem;font-size:.95rem;display:grid}.booking-field input,.booking-field select{color:#0f172a;width:100%;min-height:2.8rem;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.65rem;padding:.6rem .75rem}.booking-slot-fieldset{border:0;min-width:0;margin:0;padding:0}.booking-slot-fieldset legend{margin-bottom:.75rem;font-weight:700}.booking-slot-list{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.65rem;display:grid}.booking-slot{cursor:pointer;border:1px solid #cbd5e1;border-radius:.75rem;align-items:center;gap:.5rem;padding:.75rem;display:flex}.booking-slot.selected{background:#eef8f5;border-color:#0f766e;box-shadow:inset 0 0 0 1px #0f766e}.booking-slot input{accent-color:#0f766e}.booking-confirmation{gap:.65rem;display:grid}.booking-confirmation p{margin:0}.booking-demo-actions{gap:.75rem;max-width:30rem;margin-top:.75rem;display:grid}
