:root{font-family:DM Sans,Noto Sans SC,-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;color:#263a38;background:#f7f8f6;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}button{border:0}#root{min-height:100vh}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:-.05em;color:#173c36;white-space:nowrap}.brand-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#2e6959;color:#fff}.brand-sub{font-size:12px;margin-left:8px;font-weight:500;letter-spacing:.08em;color:#628078}.brand-light{color:#fff}.brand-light .brand-icon{background:#81aa92;color:#123c33}.brand-light .brand-sub{color:#b9d5c9}.site-header{height:84px;max-width:1280px;margin:auto;padding:0 44px;display:flex;align-items:center;justify-content:space-between}.doctor-link,.header-back{display:inline-flex;align-items:center;gap:8px;color:#50746b;font-size:13px;font-weight:700;background:none;border:0}.doctor-link:hover,.header-back:hover{color:#1c604b}.site-footer{border-top:1px solid #e9ede9;text-align:center;color:#9daaa4;font-size:12px;padding:25px}.eyebrow{font-size:11px;color:#72998b;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero-kicker{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:#4e8b77}.pulse-dot{width:8px;height:8px;background:#6ea58b;border-radius:50%;box-shadow:0 0 0 5px #e4f0e8}.primary-btn{border:0;background:#2c6d58;color:#fff;padding:14px 21px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:13px;box-shadow:0 8px 18px #2b6d571f;transition:.2s}.primary-btn:hover:not(:disabled){background:#1e5846;transform:translateY(-1px)}.primary-btn:disabled{opacity:.5}.full{width:100%}.outline-btn{border:1px solid #dbe5dd;background:#fff;color:#3a6b59;padding:11px 14px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:12px}.outline-btn:hover{background:#f3f8f4}.text-link{border:0;background:none;color:#3c8569;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:5px}.text-link:hover{text-decoration:underline}.little-badge{display:inline-flex;align-items:center;gap:6px;background:#edf5ee;border-radius:100px;padding:7px 10px;color:#4e806b;font-size:11px;font-weight:700;white-space:nowrap}.field-label{display:block;color:#3c4d49;font-size:12px;font-weight:700;margin:23px 0 9px}.text-input{height:47px;width:100%;border:1px solid #dfe7df;border-radius:9px;padding:0 14px;color:#29453b;background:#fff;outline:0;transition:.2s}.text-input:focus{border-color:#6aab8d;box-shadow:0 0 0 3px #6aab8d1c}.text-input::placeholder{color:#aab7af}.toast{position:fixed;right:24px;bottom:24px;z-index:200;background:#244b3d;color:#fff;box-shadow:0 16px 40px #0c3b2b35;border-radius:12px;display:flex;align-items:center;gap:11px;padding:14px 15px;font-size:13px;max-width:min(440px,calc(100vw - 32px))}.toast>svg{color:#9dd5ac;flex-shrink:0}.toast button{margin-left:8px;background:none;border:0;color:#c5e1cf;display:grid;place-items:center}.loading-screen{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:25px}.loading-spinner{width:24px;height:24px;border:2px solid #cee2d3;border-top-color:#2c6d58;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.home-page{min-height:100vh;background:radial-gradient(circle at 3% 5%,#ebf3ec 0,transparent 31%),#f7f8f6}.home-main{max-width:1280px;margin:auto;min-height:calc(100vh - 148px);display:grid;grid-template-columns:1fr 480px;align-items:center;gap:80px;padding:35px 44px 78px}.home-hero{padding-left:28px}.home-hero h1,.onboard-intro h1,.login-intro h1{font-size:clamp(45px,5vw,68px);line-height:1.24;letter-spacing:-.055em;margin:32px 0 23px;font-weight:700;color:#1d3d33}.home-hero h1 em,.onboard-intro h1 em,.login-intro h1 em{font-style:normal;color:#7aaf90}.home-hero>p,.onboard-intro>p,.login-intro>p{font-size:16px;line-height:2;color:#789087;max-width:440px}.hero-points{display:flex;gap:23px;margin-top:41px;flex-wrap:wrap}.hero-points span{display:flex;align-items:center;gap:7px;color:#5a7d6b;font-size:12px;font-weight:700}.hero-points svg{background:#e0eee3;color:#3b7c5e;padding:3px;border-radius:50%;width:20px;height:20px}.home-select{background:#fff;border:1px solid #e5ebe5;border-radius:22px;padding:37px;box-shadow:0 24px 70px #284e3420}.select-head h2{font-size:27px;letter-spacing:-.03em;margin:9px 0 7px}.select-head p{font-size:13px;color:#91a299;margin:0 0 25px}.doctor-cards{display:grid;gap:11px}.doctor-card{width:100%;background:#fbfcfa;border:1px solid #e9eee9;border-radius:13px;padding:16px;display:flex;align-items:center;gap:15px;text-align:left;transition:.2s}.doctor-card:hover{border-color:#99c0a6;background:#f5faf6;transform:translate(3px)}.doctor-avatar{height:50px;width:50px;display:grid;place-items:center;border-radius:12px;color:#4d9070;background:#e6f3e9;flex-shrink:0}.avatar-1{color:#6f9a9c;background:#e9f2f2}.avatar-2{color:#aa946d;background:#f8f1e4}.doctor-card-copy{display:grid;gap:4px;flex:1}.doctor-card-copy strong{font-size:16px;color:#2d423a}.doctor-card-copy small{font-size:11px;color:#a1afa6}.round-arrow{height:31px;width:31px;border-radius:50%;border:1px solid #e1eae2;display:grid;place-items:center;color:#6d9880}.privacy-note{display:flex;gap:7px;align-items:flex-start;margin-top:24px;color:#a1aea5;font-size:11px;line-height:1.6}.privacy-note svg{flex-shrink:0;color:#6da383}.empty-state{padding:30px;color:#93a69a;text-align:center}.patient-onboard{min-height:100vh;background:radial-gradient(circle at 15% 38%,#edf5ed 0,transparent 40%),#f7f8f6}.onboard-layout{max-width:1210px;margin:25px auto 0;padding:30px 36px 70px;display:grid;grid-template-columns:1fr 430px;gap:90px;align-items:start}.onboard-intro{padding:58px 0 0 32px;position:relative}.onboard-intro h1{font-size:55px;margin-top:28px}.onboard-intro>p{font-size:14px}.onboard-illustration{height:255px;position:relative;margin-top:70px}.illustration-card{transform:rotate(-5deg);width:370px;background:#fff;border-radius:18px;padding:23px 27px;box-shadow:0 23px 60px #45715625;color:#7a9785}.illustration-card>span{display:block;font-weight:700;color:#244638;font-size:14px;margin-bottom:18px}.illustration-card>div:not(.ill-appt){display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;margin-bottom:13px}.illustration-card i{font-style:normal;font-size:11px}.illustration-card b{font-size:13px;padding:10px 0;border-radius:9px;font-weight:500}.illustration-card .ill-selected{background:#2d705a;color:#fff}.ill-appt{border-top:1px solid #edf1ed;padding-top:15px;display:flex;align-items:center;gap:8px;font-size:12px;color:#5c9679}.onboard-card,.login-card{background:#fff;border:1px solid #e6ece6;border-radius:20px;padding:34px 38px 32px;box-shadow:0 28px 72px #2851391a}.step-label{font-size:11px;color:#91a99b;font-weight:700;display:flex;align-items:center;gap:8px}.step-label span{background:#e4f1e7;color:#5b9373;border-radius:50%;height:22px;width:22px;display:grid;place-items:center}.onboard-card h2{font-size:25px;letter-spacing:-.04em;margin:22px 0 8px}.onboard-card>p,.login-card>p{color:#94a39a;font-size:12px;line-height:1.8;margin-bottom:0}.treatment-label small{font-weight:400;color:#adbab0}.treatment-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.treatment-options button{height:99px;background:#fbfcfa;border:1px solid #e4ebe4;border-radius:11px;display:flex;align-items:flex-start;flex-direction:column;padding:12px 15px;gap:3px;color:#2b4437}.treatment-options button.active{background:#f2f8f2;border-color:#70a585;box-shadow:0 0 0 2px #8ab99b24}.treatment-options strong{font-size:12px}.treatment-options small{color:#9baaa0;font-size:10px}.treatment-icon{font-size:19px;color:#72a88c;line-height:1}.onboard-foot{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:#a8b5aa;margin-top:18px}.name-conflict{display:flex;align-items:flex-start;gap:10px;background:#fff8ea;color:#906e36;padding:14px;margin:20px 0;border-radius:10px;font-size:11px}.name-conflict svg{flex-shrink:0}.name-conflict p{margin:4px 0 0;line-height:1.6}.patient-page{min-height:100vh;background:#f7f8f6}.header-actions{display:flex;align-items:center;gap:26px}.welcome-name{font-size:12px;color:#708a7d;font-weight:700}.patient-main{max-width:1210px;margin:0 auto;padding:46px 35px 80px}.page-intro h1{font-size:35px;letter-spacing:-.05em;color:#244535;margin:8px 0 9px}.page-intro h1 span{color:#9dc7aa;font-size:25px}.page-intro p{color:#95a69a;font-size:13px;margin-bottom:30px}.patient-content{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.72fr);gap:24px}.booking-card,.side-card,.panel{background:#fff;border:1px solid #e5ebe5;border-radius:16px;box-shadow:0 12px 34px #2b56380b}.booking-card{padding:29px 31px 31px}.booking-card-title,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.booking-card-title>div{display:flex;align-items:center;gap:9px}.section-number{background:#e6f2e9;color:#64a07d;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700}.booking-card-title h2,.panel-heading h2{font-size:19px;letter-spacing:-.04em;margin:0}.calendar{width:100%}.calendar-head{display:flex;justify-content:space-between;align-items:end;margin:27px 0 20px}.calendar-head h3{font-size:20px;letter-spacing:-.03em;margin:5px 0 0}.calendar-arrows{display:flex;gap:7px}.calendar-arrows button{height:32px;width:32px;display:grid;place-items:center;color:#547064;background:#f6f9f6;border:1px solid #e9efea;border-radius:8px}.calendar-arrows button:hover{background:#e8f3e9}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekdays{margin-bottom:10px}.calendar-weekdays span{text-align:center;font-size:11px;font-weight:700;color:#a3b1a5}.calendar-days .calendar-day{height:48px;background:transparent;border-radius:8px;color:#5c6f62;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;font-size:13px}.calendar-day i{height:4px;width:4px;border-radius:50%;background:transparent}.calendar-day.has-open i{background:#83b993}.calendar-day:hover:not(:disabled){background:#eff7f0}.calendar-day.selected,.calendar-day.selected:hover{background:#34785f;color:#fff;font-weight:700}.calendar-day.selected i{background:#c7ead0}.calendar-day:disabled{color:#c7d1c8}.calendar-day.today:not(.selected)>span{text-decoration:underline;text-underline-offset:4px}.calendar-legend{display:flex;gap:18px;margin:17px 0 0;color:#a0b0a3;font-size:10px}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{height:7px;width:7px;border-radius:50%;display:inline-block}.dot-available{background:#83b993}.dot-selected{background:#34785f}.dot-empty{background:#d8dfd8}.time-section{border-top:1px solid #edf1ed;margin-top:24px;padding-top:24px}.time-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.time-head h3{font-size:15px;margin:0}.time-head span{color:#9eada1;font-size:11px}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:17px}.time-slot{min-height:66px;border:1px solid #e0e9e1;background:#fbfdfb;border-radius:10px;color:#438069;display:grid;grid-template-columns:16px 1fr;column-gap:5px;align-items:center;text-align:left;padding:11px}.time-slot svg{grid-row:1;align-self:end}.time-slot strong{font-size:13px;grid-row:1}.time-slot small{grid-column:2;font-size:10px;color:#81a28d;align-self:start}.time-slot.open:hover{background:#eef7ef;border-color:#77b08b}.time-slot.closed{background:#f8faf8;color:#bec8bd;border-color:#f0f2ee}.time-slot.closed small{color:#c2cac1}.time-placeholder{height:135px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#b4c2b5;font-size:11px}.empty-inline{padding:25px;color:#acbaac;font-size:12px}.patient-side{display:grid;gap:17px;align-content:start}.side-card{padding:27px}.appointment-side h2{font-size:19px;letter-spacing:-.03em;margin:10px 0 23px}.appointment-date{display:flex;align-items:center;gap:15px;padding:17px;background:#f0f7f0;border-radius:11px;color:#347a5c}.appointment-date svg{flex-shrink:0}.appointment-date div{display:grid;gap:4px}.appointment-date strong{font-size:14px}.appointment-date span{font-size:13px;font-weight:700}.appointment-meta{display:flex;justify-content:space-between;border-bottom:1px solid #ecf0ea;padding:20px 0;color:#879c8b;font-size:11px}.side-actions{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:8px}.side-actions span{font-size:10px;color:#a2afa4}.side-actions button{background:none;color:#9a7767;font-size:10px;text-decoration:underline}.cutoff-note{color:#ad8a62;font-size:11px;margin-top:18px;line-height:1.6}.no-appointment{min-height:153px;display:grid;place-items:center;text-align:center;color:#a6b4a8;font-size:11px;line-height:1.9}.empty-circle{height:52px;width:52px;border-radius:50%;background:#eef6ef;display:grid;place-items:center;color:#83ad8d;margin-top:2px}.no-appointment p{margin:4px}.guide-card .eyebrow{margin-bottom:12px;display:block}.guide-row{display:flex;gap:13px;align-items:flex-start;border-top:1px solid #eef2ed;padding:13px 0}.guide-row span{font-size:11px;color:#8fbea0;font-weight:700}.guide-row p{font-size:11px;line-height:1.7;color:#8b9f90;margin:0}.guide-row strong{color:#4c8166}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#16362780;display:grid;place-items:center;padding:18px}.modal{width:min(100%,390px);background:#fff;border-radius:20px;padding:30px;box-shadow:0 30px 90px #12342438;position:relative;text-align:center}.modal-close{position:absolute;right:18px;top:17px;border:0;background:none;color:#9daa9c}.modal-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#eaf4eb;color:#5d9b72;margin:0 auto 20px}.modal-warn{background:#fff1e7;color:#bd815c}.modal h2{font-size:20px;margin:0 0 9px}.modal>p{font-size:12px;color:#96a79b;line-height:1.7}.modal-detail{margin:24px 0;background:#f6faf6;padding:18px;border-radius:10px;display:grid;gap:5px;color:#327454}.modal-detail strong{font-size:15px}.modal-detail span{font-size:12px}.modal-actions{display:flex;gap:10px;margin-top:25px}.modal-actions>*{flex:1}.danger-btn{border:0;border-radius:9px;background:#a9665a;color:#fff;font-size:12px;font-weight:700}.modal .text-input{margin:14px 0 20px}.doctor-login-page{min-height:100vh;background:radial-gradient(circle at 4% 30%,#ecf3eb 0,transparent 37%),#f8f9f6}.doctor-login-layout{max-width:1160px;margin:60px auto 0;padding:0 38px;display:grid;grid-template-columns:1fr 430px;gap:85px}.login-intro{padding:60px 0 0 25px}.login-intro h1{font-size:60px}.login-intro p{font-size:14px}.login-decor{display:flex;margin-top:70px;gap:14px}.login-decor span{height:70px;width:70px;display:grid;place-items:center;color:#67a180;background:#e9f3e9;border-radius:18px}.login-decor span:nth-child(2){transform:translateY(20px);background:#e8f1f1;color:#7aa1a0}.login-decor span:nth-child(3){transform:translateY(40px);background:#f7efe1;color:#b09c78}.login-card{padding:37px 40px}.login-icon{height:44px;width:44px;border-radius:12px;background:#e8f3e9;color:#5c9873;display:grid;place-items:center;margin-bottom:23px}.login-card h2{font-size:26px;margin:8px 0 5px}.login-card .primary-btn{margin-top:28px}.demo-hint{display:grid;gap:4px;background:#f4f8f3;color:#78957f;border-radius:10px;margin-top:22px;padding:14px;font-size:11px}.demo-hint strong{color:#4b7d5b}.doctor-app{min-height:100vh;display:grid;grid-template-columns:238px 1fr;background:#f7f8f6}.doctor-sidebar{background:#173d35;min-height:100vh;display:flex;flex-direction:column;padding:29px 17px 18px;position:sticky;top:0;height:100vh}.doctor-sidebar .brand{font-size:18px;padding:0 12px}.sidebar-section-label{font-size:10px;letter-spacing:.17em;color:#729d89;font-weight:700;margin:54px 17px 16px}.doctor-sidebar nav{display:grid;gap:5px}.doctor-sidebar nav button{height:45px;width:100%;padding:0 16px;display:flex;align-items:center;gap:13px;border-radius:9px;background:none;color:#accbbc;font-size:12px;font-weight:600;text-align:left;position:relative}.doctor-sidebar nav button:hover{background:#285447}.doctor-sidebar nav button.active{background:#37705a;color:#fff}.nav-indicator{position:absolute;right:12px;height:6px;width:6px;border-radius:50%;background:#b9e7c2}.sidebar-bottom{margin-top:auto}.doctor-profile{border-top:1px solid #3b6254;padding:19px 10px 15px;display:flex;gap:11px;align-items:center}.profile-avatar{height:35px;width:35px;border-radius:9px;background:#82a990;color:#173d35;display:grid;place-items:center}.doctor-profile div{display:grid;gap:2px}.doctor-profile strong{font-size:12px;color:#fff}.doctor-profile small{font-size:10px;color:#9ebcaa}.logout-btn{display:flex;align-items:center;gap:10px;color:#aecbb9;background:none;width:100%;padding:10px;font-size:11px;text-align:left}.dashboard-header{height:67px;background:#fff;border-bottom:1px solid #ebefeb;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.dashboard-breadcrumb{display:flex;align-items:center;gap:9px;color:#9bad9e;font-size:12px}.dashboard-breadcrumb strong{color:#354;font-weight:700}.dashboard-header-right{display:flex;align-items:center;gap:12px;color:#517363;font-size:11px;font-weight:700}.small-avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:#e7f2e8;color:#589270}.dashboard-main{max-width:1430px;margin:0 auto;padding:38px 35px 80px}.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:27px}.dashboard-welcome h1,.dashboard-title h1{font-size:27px;margin:8px 0;color:#233e34;letter-spacing:-.045em}.dashboard-welcome h1 span{color:#8cb99a}.dashboard-welcome p,.dashboard-title p{font-size:12px;color:#9eafa1;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:23px}.stat-card{background:#fff;border:1px solid #e7ede7;border-radius:13px;padding:21px 23px;min-height:145px;box-shadow:0 9px 24px #28513908}.stat-icon{height:38px;width:38px;border-radius:10px;display:grid;place-items:center;margin-bottom:15px}.stat-icon.green{color:#57936e;background:#e6f2e9}.stat-icon.blue{color:#679aa0;background:#e6f0f1}.stat-icon.gold{color:#aa9069;background:#f7f0e4}.stat-label{color:#8fa397;font-size:11px;display:block;margin-bottom:6px}.stat-card strong{font-size:28px;color:#2a4636}.stat-card small{font-size:11px;color:#9dad9d;margin-left:5px}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{padding:26px}.panel-heading{margin-bottom:20px}.panel-heading h2{margin-top:6px}.today-item{display:flex;align-items:center;gap:12px;border-top:1px solid #edf1ed;padding:13px 1px}.time-pill{width:57px;height:28px;border-radius:6px;display:grid;place-items:center;color:#4a8f6f;background:#eaf4ec;font-size:11px;font-weight:700}.today-item>div{display:grid;gap:3px;flex:1}.today-item strong,.due-item strong{font-size:12px;color:#355247}.today-item small,.due-item small{font-size:10px;color:#9bac9f}.status-pill{background:#eff7ef;color:#5a9a73;padding:5px 8px;border-radius:6px;font-size:10px;white-space:nowrap}.empty-panel{min-height:170px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#93a996;gap:6px;text-align:center}.empty-panel>span{height:48px;width:48px;display:grid;place-items:center;background:#f0f7f1;border-radius:13px;margin-bottom:5px}.empty-panel strong{font-size:12px;color:#79947e}.empty-panel small{font-size:10px;color:#b1beb3}.due-item{display:flex;align-items:center;gap:10px;border-top:1px solid #edf1ed;padding:11px 0}.due-avatar{width:32px;height:32px;display:grid;place-items:center;background:#eaf3e9;color:#6e9d7d;border-radius:50%;font-size:12px}.due-item>div{display:grid;gap:3px;flex:1}.due-tag{font-size:10px;font-weight:700;white-space:nowrap;padding:6px 8px;border-radius:6px;background:#f2f4f1;color:#99a79a}.due-tag.booked{background:#eaf5eb;color:#59956c}.due-tag.due{background:#eaf3e8;color:#518c60}.due-tag.soon{background:#eff3e5;color:#8c9d52}.due-tag.overdue{background:#fff1e8;color:#bd7e5e}.tip-strip{margin-top:20px;padding:15px 18px;border:1px solid #e5ece2;border-radius:10px;background:#f2f7f0;display:flex;align-items:center;gap:10px;color:#7b977f;font-size:11px}.dashboard-title{margin-bottom:26px}.schedule-layout,.appointments-layout{display:grid;grid-template-columns:minmax(315px,.74fr) minmax(430px,1.26fr);gap:20px;align-items:start}.schedule-layout .calendar-head,.appointments-layout .calendar-head{margin-top:0}.schedule-calendar-note{display:flex;gap:7px;color:#a6b4a7;font-size:10px;padding:14px 0 0;border-top:1px solid #eaf0e9;margin-top:18px}.schedule-editor{padding-bottom:22px}.schedule-controls{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:9px;align-items:end;padding:12px 0 20px;border-bottom:1px solid #edf1ed}.schedule-controls label{color:#8d9e90;font-size:10px;font-weight:700}.schedule-controls select{margin-top:7px;height:38px;width:100%;border:1px solid #dfe9df;border-radius:7px;background:#fff;color:#315444;padding:0 7px;outline:none;font-size:11px}.schedule-controls .outline-btn{height:38px;white-space:nowrap;padding:0 10px}.slot-editor-title{display:flex;justify-content:space-between;align-items:center;margin:21px 0 14px}.slot-editor-title strong{font-size:12px}.slot-editor-title small{color:#a0afa2;font-size:10px}.slot-editor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:370px;overflow:auto}.editor-slot{min-height:53px;border:1px solid #dfebdf;border-radius:8px;background:#f5faf5;display:grid;justify-content:center;align-content:center;gap:4px;color:#337153}.editor-slot span{font-size:12px;font-weight:700}.editor-slot small{font-size:10px;display:flex;align-items:center;justify-content:center;gap:3px}.editor-slot.is-closed{background:#f8f9f7;border-color:#edf0eb;color:#afb8af}.editor-empty{height:215px;display:grid;place-content:center;text-align:center;gap:10px;color:#abbbae;font-size:11px}.editor-empty svg{margin:auto}.editor-footer{border-top:1px solid #eef2ed;margin-top:21px;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:10px}.editor-footer span{color:#91a493;font-size:11px}.day-appointments{min-height:345px}.patients-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:#9eada1;font-size:11px}.search-box{height:39px;width:250px;display:flex;align-items:center;gap:8px;border:1px solid #e1e9df;background:#fff;border-radius:8px;padding:0 12px;color:#9aae9d}.search-box input{width:100%;border:0;outline:0;font-size:11px;color:#2e4d3e}.patients-table{background:#fff;border:1px solid #e5ece5;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #244d300a}.table-header,.table-row{display:grid;grid-template-columns:1.2fr 1.25fr 1fr 1fr 1fr .8fr;align-items:center;gap:14px;padding:0 18px}.table-header{height:45px;background:#f7faf7;color:#9bac9d;font-size:10px;font-weight:700}.table-row{min-height:60px;border-top:1px solid #edf1ed;color:#657a6a;font-size:11px}.patient-cell{display:flex;align-items:center;gap:9px}.patient-cell i{height:28px;width:28px;display:grid;place-items:center;background:#e8f3e9;color:#5c9871;font-style:normal;border-radius:50%;font-size:11px}.patient-cell strong{font-size:11px;color:#375444}.subtle{font-size:10px;padding:0}.table-note{color:#a4b2a5;font-size:10px;margin-top:13px}.mobile-menu-btn{display:none}@media(max-width:1050px){.home-main{grid-template-columns:1fr 420px;gap:25px}.home-hero{padding-left:0}.onboard-layout{gap:25px}.schedule-layout,.appointments-layout{grid-template-columns:1fr}.schedule-layout .panel:first-child,.appointments-layout .panel:first-child{max-width:550px}.time-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:780px){.site-header{padding:0 20px;height:70px}.home-main{grid-template-columns:1fr;gap:34px;padding:38px 22px 65px;min-height:0}.home-hero{padding:5px}.home-hero h1{font-size:45px;margin:25px 0 15px}.home-hero>p{font-size:14px}.hero-points{margin-top:22px}.home-select{padding:24px}.onboard-layout{grid-template-columns:1fr;padding:15px 20px 65px;margin:0;gap:30px}.onboard-intro{padding:20px 4px 0}.onboard-intro h1{font-size:42px;margin:19px 0 9px}.onboard-intro>p{font-size:12px}.onboard-illustration{display:none}.onboard-card{padding:27px}.patient-main{padding:30px 20px 65px}.patient-content{grid-template-columns:1fr}.patient-side{grid-template-columns:repeat(2,1fr)}.doctor-login-layout{grid-template-columns:1fr;gap:25px;margin:0;padding:30px 20px 70px}.login-intro{padding:0}.login-intro h1{font-size:44px;margin:20px 0 10px}.login-decor{display:none}.doctor-app{grid-template-columns:1fr}.doctor-sidebar{position:fixed;z-index:80;transform:translate(-101%);width:250px;transition:.2s}.doctor-sidebar.menu-open{transform:translate(0)}.mobile-menu-btn{display:grid;place-items:center;background:none;color:#426b54;padding:5px;margin-right:8px}.dashboard-header{padding:0 20px;justify-content:flex-start}.dashboard-header-right{margin-left:auto}.dashboard-main{padding:30px 20px 65px}.overview-grid{grid-template-columns:1fr}.stats-grid{gap:9px}.stat-card{padding:15px;min-height:120px}.table-header,.table-row{min-width:750px}.patients-table{overflow-x:auto}}@media(max-width:520px){.brand{font-size:18px}.brand-sub{font-size:10px}.brand-icon{height:31px;width:31px}.doctor-link{font-size:11px}.home-hero h1{font-size:40px}.home-select{padding:20px}.patient-main{padding:27px 14px 60px}.page-intro h1{font-size:28px}.booking-card{padding:21px 18px}.booking-card-title h2{font-size:16px}.calendar-days .calendar-day{height:41px}.time-grid{grid-template-columns:repeat(3,1fr);gap:6px}.time-slot{padding:8px 5px;column-gap:3px}.time-slot strong{font-size:11px}.time-slot small{font-size:9px}.patient-side{grid-template-columns:1fr}.header-actions{gap:10px}.welcome-name,.site-header .header-back{font-size:11px}.dashboard-main{padding:27px 14px 60px}.dashboard-welcome h1,.dashboard-title h1{font-size:23px}.dashboard-welcome .primary-btn{padding:11px;font-size:11px}.stats-grid{grid-template-columns:repeat(3,1fr);gap:7px}.stat-card{padding:12px;min-height:110px}.stat-icon{width:31px;height:31px;margin-bottom:10px}.stat-icon svg{width:17px}.stat-card strong{font-size:22px}.stat-label{font-size:10px}.panel{padding:20px}.schedule-controls{grid-template-columns:repeat(3,1fr)}.schedule-controls .outline-btn{grid-column:1/-1}.slot-editor-grid{grid-template-columns:repeat(3,1fr)}.calendar-head h3{font-size:18px}.schedule-layout,.appointments-layout{grid-template-columns:minmax(0,1fr)}.dashboard-breadcrumb{font-size:11px}.dashboard-header-right span:first-child{display:none}}:root{font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;color:#172b43;background:#f3f7fc}body{background:#f3f7fc}button,input,select{font-family:inherit}.home-page,.patient-page,.doctor-login-page,.doctor-app{background:#f3f7fc}.site-header{height:72px;max-width:none;background:#fff;border-bottom:1px solid #d9e4f0;padding:0 36px}.brand,.brand-light{color:#123e7c;font-size:19px;letter-spacing:0}.brand-icon,.brand-light .brand-icon{background:#184b8f;color:#fff;border-radius:2px;width:33px;height:33px}.doctor-link,.header-back{color:#17477f;font-size:14px}.eyebrow{color:#456d9d;font-size:12px;letter-spacing:.04em}.primary-btn{background:#164b91;box-shadow:none;border-radius:3px;font-size:14px;min-height:44px}.primary-btn:hover:not(:disabled){background:#0c3670;transform:none}.outline-btn{border-color:#9cb6d7;color:#164b91;border-radius:3px;font-size:13px;min-height:42px}.outline-btn:hover{background:#e9f1fa}.text-input{border-color:#bccde0;border-radius:2px;color:#172b43;font-size:16px;height:49px}.text-input:focus{border-color:#164b91;box-shadow:0 0 0 2px #164b9122}.field-label{font-size:15px;color:#233b59;margin:22px 0 8px}.panel,.booking-card,.login-card,.entry-panel,.stat-card,.patients-table{border:1px solid #d4e0ed;border-radius:3px;box-shadow:none}.toast{background:#153f78;border-radius:3px}.toast>svg{color:#fff}.little-badge{background:#e5eef9;color:#174b8b;border-radius:2px;font-size:12px}.calendar-arrows button{border-radius:2px;background:#fff;color:#194a89;border-color:#cbd9e9}.calendar-arrows button:hover{background:#eaf2fb}.calendar-weekdays span{font-size:13px;color:#476381}.calendar-days .calendar-day{height:54px;border-radius:2px;color:#1f3652;font-size:15px}.calendar-day:hover:not(:disabled){background:#e7f0fa}.calendar-day.selected,.calendar-day.selected:hover,.calendar-day.multi-selected,.calendar-day.multi-selected:hover{background:#174b91;color:#fff}.calendar-day.selected i,.calendar-day.multi-selected i{background:#fff}.calendar-day.has-open i,.dot-available{background:#174b91}.calendar-day:disabled{color:#b4c2d2}.calendar-legend{font-size:12px;color:#536d89}.dot-selected{background:#174b91}.dot-empty{background:#b6c6d7}.calendar-head h3{font-size:22px;color:#1d3450}.calendar-day.today:not(.selected)>span{text-decoration:none;border-bottom:2px solid #164b91}.holiday-list{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border-top:1px solid #dbe5f0;margin-top:18px;padding-top:16px;color:#34516e;font-size:13px}.holiday-list strong{font-size:13px;color:#172b43}.holiday-list span{border-left:2px solid #164b91;padding-left:8px}.clinical-entry{max-width:540px;margin:0 auto;padding:72px 20px 90px}.entry-header h1{font-size:32px;color:#132e55;margin:0 0 10px;letter-spacing:0}.entry-header p{font-size:16px;color:#4d6179;margin:0 0 30px}.entry-panel{background:#fff;padding:34px 38px}.entry-step-count{font-size:13px;color:#496b95;margin-bottom:24px}.entry-panel h2{font-size:22px;margin:0 0 20px;color:#162e4d}.entry-panel .primary-btn.full{margin-top:28px}.simple-doctor-list,.simple-treatment-list{display:grid;gap:11px}.simple-doctor-list button,.simple-treatment-list button{background:#fff;border:1px solid #b8cbe2;border-radius:2px;min-height:57px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;font-size:16px;color:#1b3554;text-align:left}.simple-doctor-list button.active,.simple-treatment-list button.active{border-color:#164b91;background:#eaf2fb;color:#123f7d;font-weight:700}.entry-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.entry-buttons>*{min-width:108px}.entry-summary{background:#edf3fa;padding:13px 16px;color:#1a4376;font-size:15px;margin-bottom:22px}.entry-warning{font-size:15px;line-height:1.7;color:#273f5a;margin:0}.clinical-home .site-footer{display:none}.clinical-patient .patient-main{max-width:1040px;padding:38px 28px 70px}.clinical-patient .page-intro{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px}.clinical-patient .page-intro h1{font-size:27px;color:#162f51;margin:0}.clinical-patient .page-intro span{font-size:14px;color:#476787}.clinical-patient .header-actions{font-size:14px;color:#173e71}.clinical-patient .booking-card{padding:30px 36px}.clinical-patient .booking-card-title h2{font-size:20px;color:#18375b}.clinical-patient .calendar-head{margin-top:24px}.clinical-patient .calendar-days .calendar-day{height:58px}.clinical-patient .time-section{border-color:#dbe5f0;padding-top:24px;margin-top:25px}.clinical-patient .time-head h3{font-size:18px;color:#1a3558}.clinical-patient .time-head span{font-size:14px;color:#4b6580}.clinical-patient .time-groups{display:grid;gap:22px;margin-top:18px}.clinical-patient .time-groups h4{margin:0 0 10px;color:#294868;font-size:15px}.clinical-patient .time-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:0}.clinical-patient .time-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:66px;border-radius:2px;background:#fff;border:1px solid #8facd0;color:#15467f;padding:7px 2px;text-align:center}.clinical-patient .time-slot strong{font-size:16px}.clinical-patient .time-slot small{font-size:12px;color:#365d89}.clinical-patient .time-slot.open:hover{background:#eaf2fb;border-color:#164b91}.clinical-patient .time-slot.closed{background:#f1f4f8;border-color:#d8e0e9;color:#8fa1b4}.clinical-patient .time-slot.closed small{color:#8fa1b4}.clinical-patient .time-placeholder{height:90px;font-size:14px;color:#7189a3}.single-notice{border-top:1px solid #dbe5f0;padding-top:20px;margin-top:30px;font-size:14px;line-height:1.8;color:#3b5675}.current-booking{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border:1px solid #c7d9ec;padding:16px 21px;margin-bottom:18px;color:#2b4c72;font-size:14px}.current-booking div{display:grid;gap:4px}.current-booking strong{color:#173f77;font-size:14px}.current-booking button{border:1px solid #164b91;color:#164b91;background:#fff;padding:8px 14px;font-size:13px}.modal,.modal-detail{border-radius:3px}.modal-detail{background:#eaf2fb;color:#164b91}.danger-btn{background:#233b59;border-radius:3px}.clinical-login .login-centered{max-width:480px;margin:85px auto;padding:0 20px}.clinical-login .login-card{padding:35px}.clinical-login .login-card h1{font-size:26px;color:#17365d;margin:0 0 22px}.clinical-login .login-card .primary-btn{margin-top:28px}.clinical-login .demo-hint{border-radius:2px;background:#eaf2fb;color:#416389;font-size:13px}.doctor-sidebar{background:#103769}.doctor-sidebar .brand,.doctor-sidebar .brand-light{color:#fff}.doctor-sidebar .brand-icon{background:#fff;color:#103769}.doctor-sidebar .sidebar-section-label{color:#b4c9e4;font-size:12px}.doctor-sidebar nav button{border-radius:2px;color:#d4e0f0;font-size:14px}.doctor-sidebar nav button:hover{background:#214a7f}.doctor-sidebar nav button.active{background:#2d5c9a}.nav-indicator{background:#fff}.doctor-profile{border-color:#4c6b95}.profile-avatar,.small-avatar{background:#d6e5f5;color:#164b91;border-radius:2px}.doctor-profile small,.logout-btn{color:#d1dfef}.dashboard-header{border-color:#d8e3ee}.dashboard-breadcrumb,.dashboard-breadcrumb strong,.dashboard-header-right{color:#284766;font-size:13px}.dashboard-welcome h1,.dashboard-title h1{color:#173450}.dashboard-welcome h1 span{display:none}.dashboard-welcome p,.dashboard-title p{color:#48647f;font-size:14px}.dashboard-main{padding-top:32px}.stat-card{border-color:#d7e3ef}.stat-icon,.stat-icon.green,.stat-icon.blue,.stat-icon.gold{border-radius:2px;background:#e5eef9;color:#164b91}.stat-label{color:#4b6680;font-size:13px}.stat-card strong{color:#1b3c60}.panel-heading h2{color:#19385e}.time-pill,.status-pill,.due-tag,.due-tag.booked,.due-tag.due,.due-tag.soon,.due-tag.overdue,.due-tag.unknown{background:#eaf2fb;color:#164b91;border-radius:2px}.today-item strong,.due-item strong,.patient-cell strong{color:#193e68}.today-item small,.due-item small{color:#5a718b}.due-avatar,.patient-cell i{background:#eaf2fb;color:#164b91}.tip-strip{background:#eaf2fb;border-color:#d5e3f2;color:#2b5686;border-radius:2px;font-size:13px}.search-box{border-radius:2px}.patients-table .table-header{background:#eaf2fb;color:#355675}.patients-table .table-row{color:#344f6b}.table-note{font-size:12px;color:#5c7188}.schedule-page-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.schedule-page-title h1{margin:0 0 6px}.schedule-top-actions{display:flex;gap:10px}.planning-hint{background:#e4effb;border:1px solid #bbd1ea;padding:14px 18px;margin-bottom:16px;font-size:14px;color:#174778}.schedule-main-calendar{padding:28px 34px}.schedule-main-calendar .calendar-head{margin:0 0 24px}.schedule-main-calendar .calendar-days .calendar-day{height:70px;font-size:18px}.schedule-main-calendar .calendar-grid{gap:8px}.selected-day-panel{margin-top:18px;padding:26px 32px}.selected-day-panel .panel-heading{margin-bottom:0}.selected-day-panel .panel-heading h2{font-size:20px}.selected-day-panel .panel-heading span{display:block;color:#4e6882;font-size:14px;margin-top:8px}.day-slot-groups{display:grid;gap:22px;margin-top:20px}.day-slot-groups h3{font-size:16px;margin:0 0 10px;color:#233f61}.day-slot-groups .slot-editor-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));max-height:none;overflow:visible;gap:8px}.day-slot-groups .editor-slot{min-height:64px;background:#fff;border:1px solid #87a9d0;color:#164b91;border-radius:2px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}.day-slot-groups .editor-slot strong{font-size:15px}.day-slot-groups .editor-slot span{font-size:12px}.day-slot-groups .editor-slot.is-closed{background:#f0f4f8;border-color:#d8e1eb;color:#879caf}.day-slot-groups .editor-slot:disabled{cursor:default}.day-edit-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d8e4f0;margin-top:20px;padding-top:16px;font-size:14px;color:#355575}.day-edit-toolbar select{height:34px;margin-left:8px;border:1px solid #b7cbe0;border-radius:2px;background:#fff;color:#183e70;padding:0 8px}.day-edit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.schedule-empty-day{padding:32px 0 16px;color:#5c7189;font-size:15px}.schedule-main-calendar .holiday-list{font-size:14px}@media(max-width:780px){.site-header{padding:0 20px}.clinical-entry{padding:48px 18px 60px}.entry-panel{padding:27px}.clinical-patient .patient-main{padding:25px 16px 60px}.clinical-patient .booking-card{padding:22px 18px}.clinical-patient .time-grid,.day-slot-groups .slot-editor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-page-title{align-items:flex-start}.schedule-main-calendar,.selected-day-panel{padding:22px}.schedule-main-calendar .calendar-days .calendar-day{height:55px}.current-booking{flex-wrap:wrap}.dashboard-welcome p{font-size:13px}}@media(max-width:480px){.site-header{height:63px;padding:0 15px}.brand{font-size:17px}.brand-icon{width:29px;height:29px}.clinical-entry{padding:38px 14px}.entry-header h1{font-size:27px}.entry-panel{padding:24px 20px}.entry-buttons>*{min-width:95px}.clinical-patient .page-intro h1{font-size:24px}.clinical-patient .calendar-days .calendar-day{height:44px}.clinical-patient .time-grid,.day-slot-groups .slot-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.clinical-patient .time-slot strong{font-size:14px}.clinical-patient .time-slot small{font-size:11px}.clinical-patient .header-actions{font-size:12px;gap:10px}.clinical-patient .time-head h3{font-size:16px}.single-notice{font-size:13px}.schedule-page-title{flex-direction:column;align-items:stretch}.schedule-page-title>.primary-btn{align-self:flex-start}.schedule-top-actions{justify-content:flex-end}.schedule-main-calendar{padding:18px 14px}.schedule-main-calendar .calendar-grid{gap:3px}.schedule-main-calendar .calendar-days .calendar-day{height:44px;font-size:15px}.selected-day-panel{padding:18px 14px}.selected-day-panel .panel-heading{align-items:flex-start;gap:10px}.selected-day-panel .panel-heading .outline-btn{font-size:12px;min-width:115px}.holiday-list{gap:9px;font-size:12px}.day-edit-toolbar{align-items:flex-start;gap:10px;flex-direction:column}}.clinical-patient .time-slot strong{grid-row:auto}.clinical-patient .time-slot small{grid-column:auto;align-self:auto}.due-avatar,.patient-cell i,.empty-panel>span{border-radius:2px}.empty-panel>span{background:#eaf2fb;color:#164b91}.nav-indicator{border-radius:1px}.clinical-patient .time-slot.current,.clinical-patient .time-slot.current:disabled{background:#164b91;border-color:#164b91;color:#fff;opacity:1;cursor:default}.clinical-patient .time-slot.current small{color:#fff}
