@import "https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700;800&family=Noto+Sans+Thai:wght@400;500;600;700;800&display=swap";:root{--navy:#17454d;--blue:#42aaa2;--cyan:#effbf9;--ink:#183b43;--muted:#71898c;--line:#d8ece9;--green:#4bb8a8;--teal:#55c3b8;--teal-dark:#349a94;--gold:#c99a3d;--cream:#f8f3e9}*{box-sizing:border-box}body{color:var(--ink);background:#effaf9;margin:0;font-family:Noto Sans Thai,Noto Sans,sans-serif}button,input{font:inherit}button{cursor:pointer}.mode-switch{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #dce7f1;border-radius:14px;padding:5px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 35px #12366426}.mode-switch button{color:#60708b;white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:7px;padding:9px 14px;font-size:13px;font-weight:700;display:flex}.mode-switch button.active{background:linear-gradient(135deg,var(--teal-dark),var(--teal));color:#fff}.mode-switch svg{width:16px}.booking-shell{background:linear-gradient(#edf8f6 0,#fff 34%);width:min(100%,460px);min-height:100vh;margin:auto;padding:80px 24px 34px;box-shadow:0 0 60px #085b5517}.booking-home-luxe{background-color:#fbfdfd;background-image:linear-gradient(90deg,#ffffff4d 0%,#ffffff47 34%,#ffffff21 58%,#ffffff03 100%),url(/images/kps-booking-hero-v1.webp);background-position:100% 0;background-repeat:no-repeat;background-size:auto 500px;border-radius:0 0 24px 24px;width:min(100%,940px);padding:82px 56px 44px;box-shadow:0 22px 70px #16444f1a}.booking-home-luxe .mobile-header{max-width:560px;margin-bottom:68px}.booking-home-luxe .brand-mark{background:linear-gradient(145deg,#092e62,#0a487d);box-shadow:0 10px 25px #062b5b33}.booking-home-luxe .welcome{max-width:540px;padding-bottom:38px}.booking-home-luxe .welcome .eyebrow{font-size:17px;font-weight:500;color:#59737b!important}.booking-home-luxe .welcome h1{color:#082d5d;letter-spacing:-1.5px;font-size:48px;line-height:1.18}.booking-home-luxe .welcome>p:last-child{color:#6d7f86;font-size:17px}.booking-home-luxe .stepper{margin:10px 0 45px}.booking-home-luxe .stepper .active{color:#0a315f}.booking-home-luxe .stepper .active span{background:#0a315f}.booking-home-luxe section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #dbe8e9bf;border-radius:22px;max-width:820px;padding:26px 28px 30px;box-shadow:0 18px 48px #18424c14}.booking-home-luxe .section-title small{color:#0a4e77}.booking-home-luxe .section-title h2{color:#0a315f}.booking-home-luxe .service-list{gap:13px}.booking-home-luxe .service-card{background:#ffffffe0;border-color:#e1e8e8;border-radius:18px;min-height:92px;padding:17px 22px;box-shadow:0 7px 22px #14374309}.booking-home-luxe .service-card.selected{background:#fffffff5;border-color:#0a477a;box-shadow:0 10px 30px #07346314}.booking-home-luxe .service-card strong{color:#0a315f;font-size:19px}.booking-home-luxe .service-card small{font-size:14px}.booking-home-luxe .home-service-icon{color:#fff;background:linear-gradient(145deg,#0a315f,#0d5b8e);border-radius:50%;width:58px;height:58px}.booking-home-luxe .home-service-icon.procedure{background:linear-gradient(145deg,#13817f,#39aaa4)}.booking-home-luxe .home-service-icon.surgery{color:#173b55;background:#e4f4f3}.booking-home-luxe .home-service-icon svg{width:28px;height:28px}.booking-home-luxe .selected .radio{background:#0a315f;border-color:#0a315f}.booking-home-luxe section>.primary{background:linear-gradient(135deg,#082d61,#155f93);box-shadow:0 11px 28px #082d6133}.mobile-header{align-items:center;gap:10px;margin-bottom:34px;display:flex}.mobile-header>div:nth-child(2){flex-direction:column;flex:1;line-height:1.15;display:flex}.mobile-header small{color:var(--muted);font-size:11px}.brand-mark{color:#fff;background:linear-gradient(135deg,var(--teal-dark),var(--teal));border-radius:12px;place-items:center;width:38px;height:38px;font-size:21px;font-weight:800;display:grid;box-shadow:0 7px 18px #087b7038}.kps-brand-logo{object-fit:contain;width:190px;max-width:100%;height:auto;display:block}.kps-brand-logo.compact{width:145px}.brand-lockup .kps-brand-logo,.admin-brand .kps-brand-logo{width:185px}.visit-work-grid{grid-template-columns:1fr!important}.visit-work{min-height:92px}.checkout-guidance{color:#37605d;background:#eef7f5;border-radius:14px;grid-column:1/-1;align-items:center;gap:9px;margin:0;padding:14px;display:flex}.checkout-guidance svg{width:21px}.doctor-rail .brand-lockup{margin-left:0;margin-right:0}.welcome{padding:5px 0 22px}.eyebrow{margin:0 0 5px;font-size:13px;font-weight:700;color:var(--blue)!important}.welcome h1,.success-page h1{letter-spacing:-.5px;margin:0 0 9px;font-size:31px;line-height:1.25}.welcome p,.muted{color:var(--muted);margin:0;font-size:14px}.stepper{justify-content:space-between;margin:8px 0 30px;display:flex;position:relative}.stepper:before{content:"";background:#e5edf5;height:2px;position:absolute;top:15px;left:34px;right:34px}.stepper>div{z-index:1;color:#98a6b9;flex-direction:column;align-items:center;gap:5px;font-size:11px;display:flex;position:relative}.stepper span{background:#edf2f7;border:3px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.stepper .active{color:var(--blue);font-weight:700}.stepper .active span{background:var(--blue);color:#fff}.section-title{justify-content:space-between;align-items:end;margin-bottom:16px;display:flex}.section-title small{color:var(--blue);font-weight:700}.section-title h2{margin:1px 0 0;font-size:22px}.section-title>span{color:var(--muted);font-size:12px}.service-list{gap:10px;display:grid}.service-card{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:15px;align-items:center;gap:12px;padding:14px;display:flex}.service-card.selected{border-color:var(--blue);background:#f2f7ff;box-shadow:0 5px 20px #1964e114}.service-card>span:nth-child(2){flex-direction:column;flex:1;display:flex}.service-card small{color:var(--muted);font-size:11px}.service-icon{background:#eaf4ff;border-radius:13px;flex:none;place-items:center;width:45px;height:45px;font-size:23px;display:grid}.radio{border:2px solid #cfd8e5;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.selected .radio{background:var(--blue);color:#fff;border-color:var(--blue)}.primary,.secondary{border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:48px;font-weight:700;display:flex}.booking-shell>section>.primary,.success-page>.primary{color:#fff;background:linear-gradient(135deg,#1264e9,#0b8be7);width:100%;margin-top:18px;box-shadow:0 9px 24px #1264e93b}.month-nav{border:1px solid var(--line);background:#fff;border-radius:13px 13px 0 0;justify-content:space-between;align-items:center;padding:10px;display:flex}.month-nav button,.panel-title button{color:var(--navy);background:#f3f7fb;border:0;border-radius:8px;place-items:center;padding:5px;display:grid}.date-row{border:1px solid var(--line);background:#fff;border-top:0;border-radius:0 0 13px 13px;grid-template-columns:repeat(5,1fr);gap:7px;padding:12px;display:grid}.date-row button{color:var(--ink);background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px;display:flex}.date-row button.selected{background:var(--blue);color:#fff}.date-row small{opacity:.7}.easy-date-picker{border:1px solid var(--line);background:#fff;border-radius:16px;gap:12px;padding:16px;display:grid}.easy-date-picker>span{align-items:center;gap:11px;display:flex}.easy-date-picker>span>svg{width:28px;height:28px;color:var(--teal-dark);background:#e7f7f5;border-radius:9px;padding:5px}.easy-date-picker>span>span{flex-direction:column;display:flex}.easy-date-picker small{color:var(--muted);font-size:12px}.easy-date-picker strong{color:var(--navy);font-size:16px}.easy-date-picker input{width:100%;min-height:54px;color:var(--navy);background:#f6fcfb;border:1.5px solid #a9dcd6;border-radius:12px;padding:10px 13px;font-size:17px;font-weight:700}.quick-date-options{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;display:grid}.quick-date-options button{border:1px solid var(--line);color:#527376;background:#fff;border-radius:12px;min-height:46px;font-weight:700}.quick-date-options button.selected{color:#fff;border-color:var(--teal-dark);background:linear-gradient(135deg,var(--teal-dark),var(--teal))}.subheading{margin:22px 0 10px;font-size:15px}.time-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.other-time-help{background:#f7fbfa;border:1px solid #cfe5e2;border-radius:15px;gap:11px;margin-top:14px;padding:15px;display:grid}.other-time-help>div{color:#49696b;flex-direction:column;gap:3px;display:flex}.other-time-help strong{color:var(--ink);font-size:14px}.other-time-help span{font-size:12px;line-height:1.55}.other-time-help a{color:#fff;background:linear-gradient(135deg,var(--teal-dark),var(--teal));border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:47px;padding:10px 14px;font-weight:800;text-decoration:none;display:flex}.other-time-help a svg{width:19px;height:19px}.time-grid button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:11px;flex-direction:column;align-items:center;padding:10px 4px;display:flex}.time-grid button small{color:var(--green);margin-top:2px;font-size:9px}.time-grid button.selected{border-color:var(--blue);background:var(--blue);color:#fff}.time-grid button.selected small{color:#d8ebff}.time-grid button:disabled{color:#a8b1bf;background:#f3f4f6;text-decoration:line-through}.time-grid button:disabled small{color:#bd6a6a;text-decoration:none}.actions{grid-template-columns:1fr 2fr;gap:10px;margin-top:22px;display:grid}.actions .secondary{border:1px solid var(--line);color:var(--navy);background:#fff}.actions .primary{background:var(--blue);color:#fff}.summary-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px}.summary-top{align-items:center;gap:12px;display:flex}.summary-top>div{flex-direction:column;flex:1;display:flex}.summary-top small,.summary-grid small{color:var(--muted);font-size:10px}.summary-top p{color:var(--muted);margin:1px 0;font-size:11px}.summary-top button{color:var(--blue);background:0 0;border:0;font-size:12px;font-weight:700}.summary-card hr{border:0;border-top:1px solid var(--line);margin:15px 0}.summary-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.summary-grid>div{align-items:center;gap:8px;font-size:12px;display:flex}.summary-grid svg{width:17px;color:var(--blue)}.summary-grid span{flex-direction:column;display:flex}.field{flex-direction:column;gap:6px;margin-top:14px;font-size:12px;font-weight:700;display:flex}.field input{border:1px solid var(--line);color:var(--ink);border-radius:11px;outline:none;padding:12px 13px}.field input:focus{border-color:var(--blue)}.consent{color:var(--muted);align-items:flex-start;gap:8px;margin-top:14px;font-size:10px;display:flex}.approval-notice{background:var(--cream);color:#76591e;border:1px solid #ead8af;border-radius:12px;align-items:center;gap:10px;margin-top:12px;padding:12px;display:flex}.approval-notice svg{flex:none;width:20px}.approval-notice span{flex-direction:column;font-size:11px;display:flex}.approval-notice small{opacity:.8;font-size:9px}.beta-notice{color:#76591e;background:#fff8e7;border:1px solid #ead8af;border-radius:14px;gap:11px;margin:12px 0 16px;padding:14px;display:flex}.beta-notice>svg{flex:none;width:22px}.beta-notice span{flex-direction:column;gap:3px;display:flex}.beta-notice small{font-size:12px;line-height:1.55}.member-choice{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 4px;display:grid}.member-choice button{border:1px solid var(--line);color:#527376;background:#fff;border-radius:12px;min-height:48px;padding:8px;font-weight:700}.member-choice button.selected{color:#fff;border-color:var(--teal-dark);background:linear-gradient(135deg,var(--teal-dark),var(--teal))}.member-lookup-button{color:#256f70;background:#edf9f7;border:1px solid #9fd9d2;border-radius:12px;width:100%;min-height:46px;margin-top:10px;font-weight:700}.member-lookup-button:disabled{opacity:.5}.member-result{color:#805e22;background:#fff7e5;border-radius:12px;align-items:flex-start;gap:8px;margin-top:10px;padding:12px;font-size:13px;line-height:1.55;display:flex}.member-result svg{flex:none;width:18px}.member-result.found{color:#176e61;background:#e9f8f4}.member-match-card{text-align:left;color:#245e62;background:#eefaf8;border:1px solid #a8ddd6;border-radius:14px;gap:10px;margin-top:11px;padding:15px;display:grid}.member-match-card>div{flex-direction:column;display:flex}.member-match-card small{color:var(--muted)}.member-match-card strong{font-size:18px}.member-match-card span{color:#55787a}.member-match-card button{border:1px solid var(--teal-dark);min-height:46px;color:var(--teal-dark);background:#fff;border-radius:11px;font-weight:800}.member-match-card button.confirmed{color:#fff;background:var(--teal-dark);justify-content:center;align-items:center;gap:6px;display:flex}.member-match-card button svg{width:18px}.member-match-card p{color:#617c7e;margin:0;font-size:12px;line-height:1.55}.member-match-card.linked-member{background:#e8f8f4;border-color:#73c9bd}.linked-confirmed{color:#fff;background:var(--teal-dark);border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:44px;font-weight:800;display:flex}.linked-confirmed svg{width:18px}.member-not-found{color:#a22f36;background:#fff1f2;border:1px solid #efb2b6;border-radius:14px;grid-template-columns:auto 1fr;gap:8px 10px;margin-top:11px;padding:14px;display:grid}.member-not-found>svg{width:19px}.member-not-found span{flex-direction:column;gap:3px;display:flex}.member-not-found small{color:#8e5257;font-size:12px;line-height:1.5}.member-not-found a{color:#fff;background:#c73842;border-radius:11px;grid-column:1/-1;justify-content:center;align-items:center;min-height:44px;font-weight:800;text-decoration:none;display:flex}.member-appointments{margin-bottom:18px}.member-appointment-card{background:#fbfefe;border:1px solid #cfe7e4;border-radius:15px;gap:10px;margin-top:10px;padding:14px;display:grid}.member-appointment-card>div{align-items:center;gap:10px;min-width:0;display:flex}.member-appointment-card>div svg{width:34px;height:34px;color:var(--teal-dark);background:#e8f8f5;border-radius:10px;flex:none;padding:8px}.member-appointment-card span{flex-direction:column;min-width:0;display:flex}.member-appointment-card small{color:var(--muted);font-size:12px}.member-appointment-card strong{color:var(--navy);font-size:16px;line-height:1.35}.member-appointment-card em{color:#55787a;font-size:12px;font-style:normal}.member-appointment-card button{color:#fff;background:#b95454;border:0;border-radius:11px;justify-content:center;align-items:center;gap:6px;min-height:42px;font-weight:800;display:flex}.member-appointment-card button:disabled{color:#76591e;cursor:not-allowed;background:#fff2d2}.member-appointment-card p{color:#76591e;margin:0;font-size:12px;line-height:1.55}.member-appointment-history{background:#f8fcfb;border:1px solid #cfe7e4;border-radius:15px;margin-top:12px;overflow:hidden}.member-appointment-history summary{color:var(--navy);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:15px;font-weight:800;list-style:none;display:flex}.member-appointment-history summary::-webkit-details-marker{display:none}.member-appointment-history summary:after{content:"⌄";color:var(--teal-dark);font-size:20px;transition:transform .2s}.member-appointment-history[open] summary:after{transform:rotate(180deg)}.member-appointment-history summary span{color:var(--muted);margin-left:auto;font-size:12px;font-weight:700}.member-appointment-history>div{border-top:1px solid #e2efed;padding:0 12px 12px}.success-page{text-align:center;padding-top:130px}.success-mark{color:#fff;background:linear-gradient(135deg,#15b978,#37d79a);border-radius:50%;place-items:center;width:74px;height:74px;margin:0 auto 18px;display:grid;box-shadow:0 15px 35px #1ebe7c40}.confirmation-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:17px;gap:16px;margin:28px 0 14px;padding:18px;display:grid}.confirmation-card>div{align-items:center;gap:12px;display:flex}.confirmation-card svg{color:var(--blue);background:#edf5ff;border-radius:10px;width:38px;height:38px;padding:8px}.confirmation-card span{flex-direction:column;font-size:13px;font-weight:700;display:flex}.confirmation-card small{color:var(--muted);font-size:10px;font-weight:400}.reminder-note{color:#8d6917;text-align:left;background:#fff9e9;border-radius:11px;align-items:center;gap:8px;padding:11px;font-size:11px;display:flex}.booking-qr-card{text-align:left;background:#fff;border:1px solid #cde7e3;border-radius:17px;align-items:center;gap:16px;margin:18px 0 8px;padding:17px;display:flex;box-shadow:0 10px 30px #17535612}.booking-qr-card img{border:1px solid #e0eceb;border-radius:12px;width:128px;height:128px;padding:5px}.booking-qr-card>div{flex-direction:column;gap:5px;display:flex}.booking-qr-card strong{color:var(--navy);font-size:16px}.booking-qr-card small{color:var(--muted);font-size:12px;line-height:1.55}.qr-check-page{text-align:center;background:linear-gradient(#effaf8,#fff 42%);padding-top:62px}.qr-check-page>.brand-mark{width:54px;height:54px;margin:0 auto 20px;font-size:27px}.qr-check-page h1{color:var(--navy);margin:4px 0 24px;font-size:30px}.qr-loading{color:var(--muted);justify-content:center;align-items:center;gap:9px;padding:30px;display:flex}.qr-status{text-align:left;color:#176e61;background:#eaf9f6;border:1px solid #bce7df;border-radius:16px;align-items:center;gap:13px;margin-bottom:15px;padding:15px;display:flex}.qr-status>svg{color:#fff;background:var(--teal-dark);border-radius:50%;width:42px;height:42px;padding:10px}.qr-status>span{flex-direction:column;display:flex}.qr-status small{opacity:.75;font-size:12px}.qr-status strong{font-size:18px}.qr-status.checked-in{color:#245e88;background:#edf7ff;border-color:#c6dff1}.qr-status.checked-in>svg{background:#2f83b8}.qr-appointment-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:18px;gap:17px;padding:20px;display:grid}.qr-appointment-card>div{align-items:center;gap:13px;display:flex}.qr-appointment-card svg{width:40px;height:40px;color:var(--teal-dark);background:#eaf7f5;border-radius:11px;padding:10px}.qr-appointment-card span{flex-direction:column;display:flex}.qr-appointment-card small{color:var(--muted);font-size:12px}.qr-appointment-card strong{color:var(--navy);font-size:16px}.qr-reference{color:var(--muted);margin:15px 0;font-size:14px}.qr-checkin-button{color:#fff;background:linear-gradient(135deg,var(--teal-dark),var(--teal));width:100%;box-shadow:0 9px 24px #349a9438}.qr-checked-message{color:#245e88;background:#edf7ff;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:15px;font-weight:700;display:flex}.qr-home-link{color:var(--teal-dark);margin-top:18px;font-weight:700;text-decoration:none;display:block}.admin-app{background:#f4f7fb;min-height:100vh;display:flex}.admin-app aside{color:#174c50;background:linear-gradient(#d7f5f1,#aee5de);border-right:1px solid #98d8d1;flex-direction:column;width:225px;padding:26px 17px 20px;display:flex;position:fixed;inset:0 auto 0 0}.admin-brand{align-items:center;gap:10px;margin:0 9px 35px;display:flex}.admin-brand>div:last-child{flex-direction:column;display:flex}.admin-brand small{letter-spacing:1.5px;opacity:.6;font-size:8px}.admin-app nav{gap:5px;display:grid}.admin-app nav button,.settings{color:#47787b;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;padding:11px 13px;font-size:12px;display:flex}.admin-app nav button.active{color:#153f45;background:linear-gradient(135deg,#61c9bf,#89ddd4);box-shadow:0 7px 20px #2a918929}.admin-app nav svg,.settings svg{width:18px}.settings{margin-top:auto}.dashboard{width:calc(100% - 225px);margin-left:225px;padding:85px 32px 35px}.dashboard>header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.dashboard header h1{margin:1px 0;font-size:25px}.dashboard header p{color:var(--muted);margin:0;font-size:12px}.header-actions{align-items:center;gap:12px;display:flex}.header-actions button{border:1px solid var(--line);width:38px;height:38px;color:var(--navy);background:#fff;border-radius:11px}.header-actions svg{width:18px}.avatar{width:38px;height:38px;color:var(--blue);background:#dfeeff;border-radius:11px;place-items:center;font-size:11px;font-weight:800;display:grid}.stats{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.stats article{background:#fff;border:1px solid #e6edf5;border-radius:15px;grid-template-columns:auto 1fr;gap:10px;min-width:0;padding:15px;display:grid;position:relative}.stats article>span{border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.stats article svg{width:20px}.stats .blue{color:#1264e9;background:#e7f1ff}.stats .green{color:#1aa873;background:#e9f9f2}.stats .amber{color:#d99a16;background:#fff5dd}.stats .purple{color:#7559da;background:#f1eaff}.stats article>div{grid-template-columns:auto 1fr;align-items:end;column-gap:4px;display:grid}.stats article small{color:var(--muted);grid-column:1/3;font-size:9px}.stats article strong{font-size:23px;line-height:1}.stats article p{color:var(--muted);margin:0;font-size:10px}.stats article em{color:var(--green);grid-column:1/3;margin-top:3px;font-size:8px;font-style:normal}.dashboard-grid{grid-template-columns:minmax(580px,2fr) minmax(255px,1fr);gap:15px;margin-top:15px;display:grid}.panel{background:#fff;border:1px solid #e6edf5;border-radius:15px;padding:18px}.panel-title{justify-content:space-between;align-items:center;display:flex}.panel-title h2{margin:0;font-size:15px}.panel-title p{color:var(--muted);margin:2px 0 0;font-size:9px}.panel-title>button{color:var(--blue);background:0 0;align-items:center;gap:3px;font-size:9px;display:flex}.panel-title>button svg{width:14px}.search{border:1px solid var(--line);border-radius:9px;align-items:center;gap:7px;margin:14px 0 7px;padding:7px 10px;display:flex}.search svg{color:#9aa7b8;width:15px}.search input{border:0;outline:0;width:100%;font-size:10px}.table-head,.table-row{grid-template-columns:65px 1.1fr 1.6fr 85px 25px;align-items:center;column-gap:8px;display:grid}.table-head{color:#9aa7b8;padding:8px 4px;font-size:8px}.table-row{border-top:1px solid #edf1f5;min-height:58px;padding:8px 4px;font-size:10px}.table-row>span:not(.status){flex-direction:column;display:flex}.table-row small{color:var(--muted);font-size:8px}.table-row>button{color:#8a98ab;background:0 0;border:0}.appointment-row{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;font-family:inherit}.appointment-row:hover{background:#f0fbf9}.row-more{color:#8a98ab;text-align:center}.calendar-view-switch{background:#eef8f7;border-radius:11px;gap:4px;padding:4px;display:flex}.calendar-view-switch button{color:#628082;background:0 0;border:0;border-radius:8px;padding:7px 10px;font-weight:700}.calendar-view-switch button.active{color:#17494c;background:#fff;box-shadow:0 3px 10px #2b827b1f}.detail-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#12373c47;justify-content:flex-end;display:flex;position:fixed;inset:0}.admin-app .appointment-detail{width:min(440px,100%);height:100vh;color:var(--ink);background:linear-gradient(#effbf9,#fff 24%);border:0;padding:25px;position:relative;inset:auto;overflow:auto;box-shadow:-20px 0 60px #164a4c2e}.appointment-detail header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:18px;display:flex}.appointment-detail header p{color:var(--muted);margin:0;font-size:13px}.appointment-detail header h2{margin:2px 0 0;font-size:25px}.appointment-detail header button{color:#477477;background:#def3f0;border:0;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.appointment-detail header svg{width:19px}.detail-status{justify-content:space-between;align-items:center;margin:18px 0;display:flex}.detail-status small{color:var(--muted)}.appointment-detail section{border:1px solid var(--line);background:#fff;border-radius:17px;gap:7px;padding:19px;display:grid;box-shadow:0 8px 28px #276e690f}.appointment-detail section label{color:var(--muted);margin-top:12px;font-size:12px}.appointment-detail section label:first-child{margin-top:0}.appointment-detail section strong{align-items:center;gap:9px;font-size:16px;display:flex}.appointment-detail section strong svg{width:18px;color:var(--teal-dark)}.appointment-detail section small{color:var(--muted);margin-left:27px;font-size:13px}.admin-permission-note{color:#235e60;background:#e5f7f4;border:1px solid #c4eae5;border-radius:14px;gap:10px;margin-top:15px;padding:14px;display:flex}.admin-permission-note>svg{flex:none;width:21px}.admin-permission-note span{flex-direction:column;gap:3px;display:flex}.admin-permission-note small{line-height:1.5}.appointment-detail footer{grid-template-columns:1fr 1fr;gap:9px;margin-top:18px;display:grid}.appointment-detail footer button,.appointment-detail footer a{border:1px solid var(--line);color:#235b5d;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:47px;font-weight:700;text-decoration:none;display:flex}.appointment-detail footer button svg,.appointment-detail footer a svg{width:17px}.appointment-detail footer .wide{grid-column:1/3}.appointment-detail footer .cancel-action{color:#ae3333;background:#fff7f7;border-color:#efcaca}.status{border-radius:20px;justify-self:start;padding:4px 7px;font-size:8px}.status.ยืนยันแล้ว{color:#168b5f;background:#e8faf2}.status.รอชำระ{color:#b6780c;background:#fff5dc}.status.รอยืนยัน{color:#376bc4;background:#eaf2ff}.status.เสร็จสิ้น{color:#67768b;background:#eef0f4}.side-panels{align-content:start;gap:15px;display:grid}.mini-calendar .panel-title>div{gap:5px;display:flex}.week{text-align:center;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:13px;font-size:9px;display:grid}.week b{color:#9aa7b8;font-size:8px}.week span{aspect-ratio:1;border-radius:50%;place-items:center;display:grid;position:relative}.week span.today{background:var(--blue);color:#fff;font-weight:700}.week span.busy:after{content:"";background:var(--blue);border-radius:50%;width:3px;height:3px;position:absolute;bottom:2px}.reminders>div:not(.panel-title){border-top:1px solid #edf1f5;align-items:center;gap:9px;padding:11px 0;display:flex}.reminders>div>span{background:#f1f6fc;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.reminders p{flex-direction:column;flex:1;margin:0;font-size:10px;display:flex}.reminders small{color:var(--muted);font-size:8px}.reminders svg{width:15px;color:var(--green)}.line-workflow{background:radial-gradient(circle at 15% 12%,#e4f7ff 0,#0000 30%),linear-gradient(145deg,#f9fcff,#eef6ff);min-height:100vh;padding:100px 5vw 55px}.line-entry-panel{background:#fffffff0;border:1px solid #cfe7e4;border-radius:20px;max-width:1080px;margin:0 auto 24px;padding:24px;box-shadow:0 14px 40px #18505614}.line-entry-panel h2{color:var(--navy);margin:2px 0 4px}.line-entry-panel>div:first-child>p:last-child{color:var(--muted);margin:0 0 18px;font-size:13px}.line-entry-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.line-entry-grid label{color:#557477;gap:5px;font-size:12px;font-weight:700;display:grid}.line-entry-grid input,.line-entry-grid select{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:11px;padding:9px 11px}.line-entry-panel>.workflow-primary{width:100%;margin-top:14px}.workflow-heading{text-align:center;max-width:760px;margin:0 auto 28px}.workflow-heading h1{color:var(--navy);margin:2px 0 8px;font-size:36px;line-height:1.22}.workflow-heading>p:last-child{color:var(--muted);font-size:13px}.workflow-grid{grid-template-columns:360px 1fr;align-items:start;gap:24px;max-width:1080px;margin:auto;display:grid}.phone-chat{background:#d8e5f4;border:9px solid #12243e;border-radius:38px;flex-direction:column;height:650px;display:flex;overflow:hidden;box-shadow:0 25px 55px #0c2e5c33}.phone-chat>header{background:#fff;border-bottom:1px solid #e4eaf2;flex:none;align-items:center;gap:9px;height:65px;padding:0 13px;display:flex}.phone-chat>header svg{width:18px}.phone-chat>header>span{flex-direction:column;flex:1;font-size:12px;display:flex}.phone-chat>header small{color:var(--muted);font-size:8px}.chat-avatar{background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.chat-body{background:linear-gradient(#d9e8f6,#cbdced);flex-direction:column;flex:1;gap:10px;padding:15px 12px;display:flex;overflow:auto}.chat-date{color:#728198;background:#ffffff73;border-radius:20px;align-self:center;padding:3px 8px;font-size:8px}.bubble{border-radius:14px;max-width:82%;padding:10px 12px;font-size:11px;line-height:1.55;box-shadow:0 2px 6px #1432500d}.bubble.clinic{background:#fff;border-top-left-radius:4px;align-self:flex-start}.bubble.customer{background:#83e86f;border-top-right-radius:4px;align-self:flex-end}.slot-message{background:#fff;border-radius:4px 15px 15px;align-self:flex-start;width:88%;padding:12px}.slot-title{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding-bottom:8px;display:flex}.slot-title svg{width:27px;height:27px;color:var(--blue);background:#edf5ff;border-radius:7px;padding:5px}.slot-title span{flex-direction:column;font-size:10px;display:flex}.slot-title small{color:var(--muted);font-size:8px}.slot-message p{color:var(--muted);font-size:9px;line-height:1.7}.slot-message>span{text-align:center;border-radius:8px;padding:6px;font-size:9px;font-weight:700;display:block}.slot-waiting{color:#a46b05;background:#fff5dc}.slot-confirmed{color:#15885e;background:#e6faf2}.phone-chat footer{background:#fff;align-items:center;gap:8px;height:58px;padding:9px;display:flex}.phone-chat footer input{border:1px solid var(--line);border-radius:20px;outline:none;flex:1;min-width:0;padding:8px 12px;font-size:9px}.phone-chat footer button{color:#fff;background:var(--green);border:0;border-radius:50%;place-items:center;width:35px;height:35px;display:grid}.phone-chat footer button:disabled{opacity:.4}.automation-flow{gap:10px;display:grid}.flow-card{color:#8b98aa;background:#ffffffd4;border:1px solid #e2eaf3;border-radius:15px;grid-template-columns:28px 38px 1fr 22px;align-items:center;gap:10px;min-height:75px;padding:13px 15px;transition:all .25s;display:grid}.flow-card>span{background:#edf1f6;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-weight:800;display:grid}.flow-card>svg{width:24px}.flow-card>div{flex-direction:column;display:flex}.flow-card small{margin-top:2px;font-size:9px}.flow-card.active{color:var(--blue);background:#fff;border-color:#83b7ff;box-shadow:0 9px 25px #1264e91a}.flow-card.active>span{background:var(--blue);color:#fff}.flow-card.done{color:var(--ink)}.flow-card.done>span{background:var(--green);color:#fff}.flow-card.done>svg:last-child{color:var(--green)}.workflow-primary{color:#fff;background:var(--blue);border:0;border-radius:12px;min-height:49px;margin-top:3px;font-weight:700}.checking-box,.central-success{background:#fff;border:1px solid #dbe7f3;border-radius:15px;align-items:center;gap:12px;padding:16px;display:flex;box-shadow:0 10px 30px #113a6914}.checking-box>div,.central-success>span{flex-direction:column;flex:1;font-size:12px;display:flex}.checking-box small,.central-success small{color:var(--muted);font-size:9px}.checking-box button,.central-success button{color:var(--blue);background:#edf5ff;border:0;border-radius:8px;padding:8px 11px;font-size:9px;font-weight:700}.loader{border:3px solid #d9e9ff;border-top-color:var(--blue);border-radius:50%;width:27px;height:27px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.doctor-approval{background:#fff;border:1px solid #b7d4ff;border-radius:16px;padding:17px;box-shadow:0 14px 35px #1264e91f}.doctor-head{align-items:center;gap:9px;display:flex}.doctor-avatar{width:40px;height:40px;color:var(--blue);background:#e5f1ff;border-radius:12px;place-items:center;font-weight:800;display:grid}.doctor-head>div:nth-child(2){flex-direction:column;flex:1;font-size:12px;display:flex}.doctor-head small{color:var(--muted);font-size:8px}.doctor-head>span{color:#b4770d;background:#fff5dd;border-radius:20px;padding:5px 8px;font-size:8px}.approval-detail{grid-template-columns:1fr 1fr;gap:9px;margin:14px 0;display:grid}.approval-detail>div{background:#f6f9fc;border-radius:10px;align-items:center;gap:8px;padding:10px;font-size:10px;display:flex}.approval-detail svg{width:17px;color:var(--blue)}.approval-detail span{flex-direction:column;display:flex}.approval-detail small{color:var(--muted);font-size:8px}.doctor-approval label{flex-direction:column;gap:5px;font-size:9px;font-weight:700;display:flex}.doctor-approval input{border:1px solid var(--line);border-radius:9px;padding:10px;font-size:9px}.approval-actions{grid-template-columns:1fr 1.4fr;gap:8px;margin-top:12px;display:grid}.approval-actions button{border:1px solid var(--line);min-height:42px;color:var(--navy);background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:5px;font-size:10px;font-weight:700;display:flex}.approval-actions button:last-child{background:var(--blue);color:#fff;border-color:var(--blue)}.approval-actions svg{width:15px}.central-success>div{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.central-success svg{width:20px}.doctor-app{background-color:#eefaf9;background-image:radial-gradient(at 12% 8%,#b0ebe494 0,#0000 34%),radial-gradient(at 88% 5%,#c6e2f480 0,#0000 31%),radial-gradient(at 72% 88%,#d6f3eb8c 0,#0000 38%),linear-gradient(145deg,#f7fdfc 0%,#eaf8f7 48%,#f5fbfd 100%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;min-height:100vh}.doctor-rail{color:#17484c;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:4;background-color:#d8f7f3d6;background-image:radial-gradient(circle at 15% 5%,#fffc,#0000 31%),linear-gradient(165deg,#e2faf7e0,#b8ebe6c7);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-right:1px solid #89d2cbb8;flex-direction:column;width:242px;padding:30px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand-lockup{align-items:center;gap:11px;margin:0 10px 30px;display:flex}.brand-lockup>span{letter-spacing:1px;flex-direction:column;display:flex}.brand-lockup strong{letter-spacing:3px;font-family:Noto Sans,Noto Sans Thai,sans-serif;font-size:22px}.brand-lockup small{letter-spacing:2px;opacity:.7;font-size:7px}.doctor-profile{background:#ffffff61;border:1px solid #ffffffb3;border-radius:17px;flex-direction:column;align-items:center;margin-bottom:22px;padding:20px 8px;display:flex}.doctor-profile>div{color:#72551a;background:linear-gradient(135deg,#f6e9c8,#d7ad58);border-radius:50%;place-items:center;width:54px;height:54px;margin-bottom:9px;font-weight:800;display:grid;box-shadow:0 8px 25px #0000002e}.doctor-profile small{opacity:.6;font-size:9px}.doctor-rail nav{gap:6px;display:grid}.doctor-rail nav button{color:#47797a;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:12px;font-size:11px;display:flex}.doctor-rail nav button.active{color:#174247;box-shadow:inset 3px 0 var(--gold),0 6px 18px #39918917;background:#ffffff94}.doctor-rail nav svg{width:17px}.doctor-rail nav b{background:var(--gold);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;margin-left:auto;font-size:8px;display:grid}.doctor-main{margin-left:242px;padding:88px 34px 40px}.doctor-topbar{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.doctor-topbar h1{letter-spacing:-.4px;color:#113a3c;margin:1px 0;font-family:Noto Sans Thai,Noto Sans,sans-serif;font-size:29px;font-weight:700}.doctor-topbar p{color:var(--muted);margin:0;font-size:11px}.doctor-topbar>div:last-child{gap:9px;display:flex}.ghost-button,.insert-button{border:1px solid var(--line);border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:42px;font-weight:700;display:flex}.ghost-button{width:42px;color:var(--teal);background:#fff}.ghost-button svg{width:18px}.insert-button{color:#fff;border-color:var(--teal);background:linear-gradient(135deg,var(--teal-dark),var(--teal));padding:0 16px;font-size:11px;box-shadow:0 9px 24px #087b7033}.insert-button svg{width:17px}.success-banner{color:#126c59;background:#e8f8f2;border:1px solid #bfe8d9;border-radius:12px;align-items:center;gap:10px;margin:-7px 0 16px;padding:12px 14px;font-size:10px;display:flex}.success-banner>svg{width:18px}.success-banner span{flex:1}.success-banner button{color:inherit;background:0 0;border:0}.success-banner button svg{width:15px}.doctor-stats{grid-template-columns:repeat(4,1fr);gap:13px;display:grid}.doctor-stats article{background:#ffffffdb;border:1px solid #e0ebe8;border-radius:15px;align-items:center;gap:11px;min-width:0;padding:16px;display:flex;box-shadow:0 8px 25px #1949460a}.doctor-stats article>span{width:41px;height:41px;color:var(--teal);background:#e9f7f4;border-radius:12px;place-items:center;display:grid}.doctor-stats svg{width:20px}.doctor-stats article>div{flex-direction:column;display:flex}.doctor-stats small{color:var(--muted);font-size:8px}.doctor-stats strong{color:#123d40;font-family:Noto Sans,Noto Sans Thai,sans-serif;font-size:24px}.doctor-stats em{color:var(--muted);font-family:Noto Sans Thai,Noto Sans,sans-serif;font-size:8px;font-style:normal;font-weight:400}.doctor-stats .gold-stat{background:linear-gradient(135deg,#fffdf8,#faf4e5);border-color:#ead9b5}.doctor-stats .gold-stat>span{color:#9e762a;background:#f5e8c9}.doctor-layout{grid-template-columns:minmax(560px,1.7fr) minmax(270px,.8fr);gap:15px;margin-top:15px;display:grid}.luxe-panel{background:#ffffffed;border:1px solid #e0ebe8;border-radius:17px;box-shadow:0 12px 35px #1446430b}.day-schedule{padding:20px}.luxe-title{justify-content:space-between;align-items:center;display:flex}.luxe-title h2{color:#173c3e;margin:0;font-family:Noto Sans Thai,Noto Sans,sans-serif;font-size:17px;font-weight:700}.luxe-title p{color:var(--muted);margin:2px 0 0;font-size:8px}.legend{color:var(--muted);gap:10px;font-size:8px;display:flex}.legend span:before{content:"";border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.consult-dot:before{background:#188d78}.procedure-dot:before{background:#294f78}.insert-dot:before{background:var(--gold)}.timeline{margin-top:18px}.timeline-row{grid-template-columns:50px 18px 1fr;align-items:start;min-height:63px;display:grid}.timeline-row time{color:#537371;padding-top:12px;font-size:10px;font-weight:700}.timeline-line{background:#1b8e79;border:2px solid #d9f0eb;border-radius:50%;width:9px;height:9px;margin-top:15px;position:relative}.timeline-line:after{content:"";background:#dce9e6;width:1px;height:54px;position:absolute;top:9px;left:2px}.timeline-row:last-child .timeline-line:after{display:none}.timeline-card{background:#f6faf9;border-left:3px solid #188d78;border-radius:11px;align-items:center;gap:10px;min-height:50px;padding:10px 12px;display:flex}.timeline-card>div{flex-direction:column;flex:1;display:flex}.timeline-card small{color:var(--muted);font-size:8px}.timeline-card em{color:#627775;font-size:8px;font-style:normal}.timeline-card b{color:#83601e;white-space:nowrap;background:#f5e7c7;border-radius:20px;padding:4px 7px;font-size:7px}.timeline-row.procedure .timeline-line{background:#294f78;border-color:#dde8f2}.timeline-row.procedure .timeline-card{background:#f5f8fb;border-color:#294f78}.timeline-row.break .timeline-line{background:#a9b8b5;border-color:#edf1f0}.timeline-row.break .timeline-card{color:#84918f;background:#fafafa;border-color:#a9b8b5;border-left-style:dashed}.timeline-row.insert .timeline-line{background:var(--gold);border-color:#f4ead2}.timeline-row.insert .timeline-card{border-color:var(--gold);background:#fffbf1}.doctor-side{align-content:start;gap:15px;display:grid}.approval-queue{padding:17px}.approval-queue .luxe-title>span{color:#87631f;background:#f4e5c4;border-radius:50%;place-items:center;width:25px;height:25px;font-size:9px;font-weight:800;display:grid}.approval-queue article{border-top:1px solid #edf2f1;align-items:center;gap:9px;padding:12px 0;display:flex}.approval-queue article:first-of-type{margin-top:10px}.mini-avatar{color:#fff;background:linear-gradient(135deg,#116d66,#2d9d8a);border-radius:10px;place-items:center;width:33px;height:33px;font-size:10px;font-weight:700;display:grid}.approval-queue{scroll-margin-top:20px}.approval-queue:focus{outline-offset:4px;outline:3px solid #3db2a833}.approval-queue article>div:nth-child(2){flex-direction:column;flex:1;font-size:9px;display:flex}.approval-queue article small{color:var(--muted);font-size:7px}.approval-queue .appointment-decision-buttons{gap:7px;display:flex}.approval-queue article button{white-space:nowrap;border:0;border-radius:9px;align-items:center;gap:5px;min-height:36px;padding:0 11px;font-weight:800;display:flex}.approval-queue article button.reject{color:#a44b4b;background:#fff0f0}.approval-queue article button.approve{color:#fff;background:var(--teal-dark)}.approval-queue article svg{width:14px}.sync-card{align-items:center;gap:10px;padding:15px;display:flex}.sync-icon{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:35px;height:35px;display:grid}.sync-icon svg{width:17px}.sync-card>div:last-child{flex-direction:column;font-size:9px;display:flex}.sync-card small{color:var(--muted);font-size:7px}.member-approval-queue{padding:16px}.member-approval-queue article{border-top:1px solid var(--line);gap:10px;padding:13px 0;display:grid}.member-approval-queue article>div{flex-direction:column;display:flex}.member-approval-queue article small{color:var(--muted);font-size:11px}.member-approval-queue article>div:last-child{flex-direction:row;gap:7px}.member-approval-queue button{border:1px solid var(--line);color:#557174;background:#fff;border-radius:9px;align-items:center;gap:4px;min-height:36px;padding:0 10px;font-weight:700;display:flex}.member-approval-queue button:last-child{color:#fff;border-color:var(--teal-dark);background:var(--teal-dark)}.member-approval-queue button svg{width:14px}.empty-member-requests{color:var(--muted);margin:12px 0 0;font-size:12px}.line-quick-card{scroll-margin-top:18px}.line-quick-card:focus{outline-offset:4px;outline:3px solid #3db2a838}.line-quick-form{grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;display:grid}.line-quick-form label{color:#45696b;gap:5px;font-size:10px;font-weight:800;display:grid}.line-quick-form input{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:10px;padding:9px 10px}.line-quick-form .wide{grid-column:1/3}.line-search-button,.line-link-button{color:#fff;background:linear-gradient(135deg,var(--teal-dark),var(--teal));border:0;border-radius:11px;min-height:42px;font-weight:800}.line-search-button:disabled,.line-link-button:disabled{opacity:.55;cursor:not-allowed}.line-candidate-list{gap:7px;margin-top:10px;display:grid}.line-candidate{background:#f5fcfb;border:1px solid #c8e8e4;border-radius:11px;align-items:flex-start;gap:8px;padding:10px;display:flex}.line-candidate input{margin-top:3px}.line-candidate span{gap:3px;min-width:0;display:grid}.line-candidate strong{color:#1c6063;font-size:10px}.line-candidate small{color:#58787a;word-break:break-word;font-size:10px;line-height:1.45}.line-link-button{background:linear-gradient(135deg,#0f5f57,#2aa596);justify-content:center;align-items:center;gap:7px;width:100%;margin-top:10px;display:flex}.line-link-button svg{width:15px}.quick-status{color:#805e22;background:#fff7e5;border-radius:10px;margin:10px 0 0;padding:9px 10px;font-size:11px;font-weight:700;line-height:1.5}.quick-status.success{color:#176e61;background:#e9f8f4}.line-quick-note{color:var(--muted);margin-top:9px;font-size:10px;line-height:1.55;display:block}.line-link-page{background:linear-gradient(145deg,#eefaf8,#fff);min-height:100vh;padding:82px 18px 38px}.line-link-panel{background:#ffffffeb;border:1px solid #cfe7e4;border-radius:26px;width:min(980px,100%);margin:0 auto;padding:clamp(22px,4vw,40px);box-shadow:0 18px 58px #1850561a}.line-link-panel header h1{color:var(--navy);margin:0;font-size:clamp(32px,5vw,56px);line-height:1.12}.line-link-panel header p{color:var(--muted);margin:8px 0 0;font-size:16px;line-height:1.65}.line-link-search{grid-template-columns:1fr auto;gap:10px;margin-top:24px;display:grid}.line-link-search input{min-height:58px;color:var(--ink);background:#fff;border:1.5px solid #a9dcd6;border-radius:16px;padding:0 18px;font-size:18px;font-weight:700}.line-link-search button,.line-link-confirm button{color:#fff;background:linear-gradient(135deg,var(--teal-dark),var(--teal));border:0;border-radius:16px;min-height:58px;padding:0 24px;font-weight:900}.line-link-results{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}.line-link-results section,.line-link-confirm{border:1px solid var(--line);background:#fbfefe;border-radius:20px;padding:18px}.line-link-results h2,.line-link-confirm h2{color:var(--navy);margin:0 0 12px;font-size:20px}.system-record,.line-message-record{text-align:left;width:100%;min-height:82px;color:var(--ink);background:#fff;border:1px solid #d8ece9;border-radius:15px;gap:4px;margin-top:9px;padding:14px;display:grid}.system-record.selected,.line-message-record.selected{border-color:var(--teal-dark);background:#eaf9f6;box-shadow:0 8px 22px #2a91891a}.system-record strong,.line-message-record strong{color:var(--navy);font-size:16px}.system-record span,.line-message-record span{color:#45696b;font-size:14px;line-height:1.5}.system-record small,.line-message-record small{color:var(--muted);font-size:12px}.add-record-empty{gap:10px;display:grid}.add-record-empty p{margin:0}.create-system-record{color:#fff;background:linear-gradient(135deg,var(--teal-dark),var(--teal));border:0;border-radius:13px;min-height:46px;padding:0 14px;font-weight:900}.line-link-confirm{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.line-link-confirm h2,.line-link-confirm button{grid-column:1/-1}.line-link-confirm label{color:#45696b;gap:6px;font-size:13px;font-weight:800;display:grid}.line-link-confirm input{border:1px solid var(--line);min-height:50px;color:var(--ink);background:#fff;border-radius:13px;padding:0 14px}@media (width<=720px){.line-link-search,.line-link-results,.line-link-confirm{grid-template-columns:1fr}.line-link-search button{width:100%}.line-link-panel{border-radius:20px;padding:22px 14px}}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#041c2094;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.notification-bell{position:relative}.notification-bell.has-pending{animation:1.8s ease-in-out infinite pending-pulse;color:#c72525!important;background:#fff3f3!important;border-color:#e33b3b!important}.notification-bell b{color:#fff;background:#d92727;border-radius:999px;place-items:center;min-width:23px;height:23px;padding:0 6px;font-size:12px;display:grid;position:absolute;top:-8px;right:-8px;box-shadow:0 0 0 3px #fff}.pending-confirmation-banner{color:#951d1d;background:#fff0f0;border:2px solid #e33b3b;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:0 0 18px;padding:15px 18px;display:grid;box-shadow:0 10px 25px #aa19191f}.pending-confirmation-banner>svg{width:25px;height:25px}.pending-confirmation-banner div{gap:2px;display:grid}.pending-confirmation-banner strong{font-size:17px}.pending-confirmation-banner span{color:#874646;font-size:13px}.pending-confirmation-banner button{color:#fff;cursor:pointer;background:#cf2929;border:0;border-radius:11px;min-height:43px;padding:0 17px;font-weight:900}.pending-alert-backdrop{z-index:80;background:#360505a3}.pending-alert-modal{text-align:center;background:#fff;border:2px solid #e23a3a;border-radius:24px;width:min(100%,520px);padding:30px;box-shadow:0 32px 90px #5100006b}.pending-alert-icon{color:#fff;background:#d82d2d;border-radius:50%;place-items:center;width:66px;height:66px;margin:0 auto 13px;display:grid;box-shadow:0 0 0 10px #ffe7e7}.pending-alert-icon svg{width:30px;height:30px}.pending-alert-modal>small{color:#bd2929;letter-spacing:1.4px;margin-top:20px;font-size:11px;font-weight:900;display:block}.pending-alert-modal h2{color:#6e1111;margin:7px 0;font-size:28px}.pending-alert-modal p{color:#704545;max-width:420px;margin:0 auto 22px;line-height:1.65}.pending-alert-modal>div:last-child{grid-template-columns:1fr 1.4fr;gap:10px;display:grid}.pending-alert-modal button{cursor:pointer;border-radius:12px;min-height:48px;font-weight:900}.pending-alert-modal .later{color:#785555;background:#fff;border:1px solid #e3c7c7}.pending-alert-modal .review{color:#fff;background:#cf2929;border:0}.pending-alert-modal .pending-alert-actions{grid-template-columns:.8fr .8fr 1.4fr}.pending-alert-modal .reject{color:#b52222;background:#fff1f1;border:1px solid #d72e2e}.pending-alert-modal button:disabled{opacity:.55;cursor:wait}.booking-quick-menu-button,.booking-quick-menu{display:none}.calendar-sync-state{margin-top:5px;font-size:12px;font-weight:800;line-height:1.35;display:block}.calendar-sync-state.synced{color:#23846f}.calendar-sync-state.waiting{color:#a66c22}@keyframes pending-pulse{50%{box-shadow:0 0 0 7px #da2d2d1f}}@media (width<=640px){.pending-confirmation-banner{grid-template-columns:auto 1fr}.pending-confirmation-banner button{grid-column:1/-1}.pending-alert-modal{padding:24px 18px}.pending-alert-modal h2{font-size:24px}.pending-alert-modal>div:last-child{grid-template-columns:1fr}}.insert-modal{background:#fff;border-radius:21px;width:min(100%,600px);max-height:calc(100vh - 30px);overflow:auto;box-shadow:0 30px 90px #0000004d}.insert-modal>header{border-bottom:1px solid var(--line);align-items:flex-start;padding:22px 23px 16px;display:flex}.insert-modal header>div{flex:1}.insert-modal header h2{color:#173c3e;margin:1px 0;font-family:Noto Sans Thai,Noto Sans,sans-serif;font-size:22px;font-weight:700}.insert-modal header p{color:var(--muted);margin:2px 0;font-size:9px}.insert-modal header button{color:#446764;background:#f1f5f4;border:0;border-radius:9px;width:32px;height:32px}.insert-modal header button svg{width:16px}.warning-strip{color:#176e62;background:#eef8f6;border-radius:10px;align-items:center;gap:8px;margin:15px 23px 0;padding:10px 11px;font-size:9px;display:flex}.warning-strip svg{width:17px}.insert-form{grid-template-columns:1fr 1fr;gap:12px;padding:18px 23px;display:grid}.insert-form label{color:#284a4b;flex-direction:column;gap:5px;font-size:9px;font-weight:700;display:flex}.insert-form .wide{grid-column:1/3}.insert-form input,.insert-form select,.insert-form textarea{width:100%;color:var(--ink);font:inherit;background:#fbfdfd;border:1px solid #dce7e5;border-radius:10px;outline:none;padding:10px 11px}.insert-form textarea{resize:vertical;min-height:70px}.insert-form input:focus,.insert-form select:focus,.insert-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #087b7014}.conflict-warning{color:#7f5e1d;background:#fff8e9;border:1px solid #f0dfb7;border-radius:10px;align-items:center;gap:9px;margin:0 23px 17px;padding:11px;display:flex}.conflict-warning svg{width:18px}.conflict-warning>div{flex-direction:column;font-size:9px;display:flex}.conflict-warning small{opacity:.8;font-size:8px}.insert-modal>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:14px 23px 20px;display:flex}.insert-modal footer button{border:1px solid var(--line);min-height:41px;color:var(--ink);background:#fff;border-radius:10px;padding:0 16px;font-size:10px;font-weight:700}.insert-modal footer button:last-child{color:#fff;background:linear-gradient(135deg,var(--teal-dark),var(--teal));border-color:var(--teal);align-items:center;gap:6px;display:flex}.insert-modal footer svg{width:15px}@media (width<=900px){.admin-app aside{width:72px;padding:25px 10px}.admin-brand>div:last-child,.admin-app nav button:not(.active),.admin-app nav button.active{font-size:0}.admin-app nav button,.settings{justify-content:center}.settings{font-size:0}.dashboard{width:calc(100% - 72px);margin-left:72px;padding:82px 18px 30px}.stats{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.workflow-grid{grid-template-columns:330px 1fr;gap:15px}.doctor-rail{width:75px;padding:25px 10px}.doctor-rail .brand-lockup>span,.doctor-profile strong,.doctor-profile small,.doctor-rail nav button{font-size:0}.doctor-rail .brand-lockup{margin:0 auto 25px}.doctor-profile{padding:12px 5px}.doctor-profile>div{width:42px;height:42px;margin:0}.doctor-rail nav button{justify-content:center}.doctor-rail nav b{margin:0 0 22px 22px;position:absolute}.doctor-main{margin-left:75px;padding:85px 18px 30px}.doctor-stats{grid-template-columns:1fr 1fr}.doctor-layout{grid-template-columns:1fr}}@media (width<=600px){.admin-app aside{display:none}.dashboard{width:100%;margin:0;padding:80px 13px 25px}.stats{gap:8px}.stats article{padding:11px}.stats article>span{width:34px;height:34px}.stats article strong{font-size:19px}.dashboard-grid{display:block}.side-panels{margin-top:12px}.table-head{display:none}.table-row{grid-template-columns:50px 1fr 75px 15px}.table-row>span:nth-child(3){display:none}.mode-switch{width:calc(100% - 20px)}.mode-switch button{flex:1;justify-content:center;padding:8px 5px;font-size:10px}.line-workflow{padding:86px 13px 30px}.workflow-heading h1{font-size:27px}.workflow-grid{grid-template-columns:1fr}.phone-chat{width:min(100%,360px);margin:auto}.approval-detail{grid-template-columns:1fr}.doctor-rail{display:none}.doctor-main{margin:0;padding:24px 12px 88px}.doctor-topbar{align-items:flex-start}.doctor-topbar h1{font-size:23px}.doctor-topbar>div:last-child{flex-direction:column}.ghost-button{display:none}.insert-button{padding:0 11px;font-size:9px}.doctor-stats{gap:7px}.doctor-stats article{gap:8px;padding:11px}.doctor-stats article>span{width:34px;height:34px}.doctor-stats strong{font-size:19px}.doctor-layout{display:block}.doctor-side{margin-top:11px}.day-schedule{padding:14px}.legend{display:none}.timeline-row{grid-template-columns:42px 15px 1fr}.timeline-card b{display:none}.insert-form{grid-template-columns:1fr;padding:16px}.insert-form .wide{grid-column:1}.insert-modal>header{padding:18px 16px 13px}.warning-strip,.conflict-warning{margin-left:16px;margin-right:16px}.insert-modal>footer{padding:13px 16px 17px}}@media (width<=720px){.booking-quick-menu-button{z-index:72;right:18px;bottom:max(20px,env(safe-area-inset-bottom));color:#fff;background:linear-gradient(145deg,#147d78,#48bbb1);border:0;border-radius:50%;place-items:center;width:58px;height:58px;display:grid;position:fixed;box-shadow:0 14px 35px #105c5852}.booking-quick-menu-button svg{width:25px;height:25px}.booking-quick-menu-button b{color:#fff;background:#d72828;border-radius:99px;place-items:center;min-width:24px;height:24px;padding:0 6px;font-size:12px;display:grid;position:absolute;top:-5px;right:-4px;box-shadow:0 0 0 3px #fff}.booking-quick-menu-button.has-pending{box-shadow:0 0 0 7px #d7282824,0 14px 35px #105c5852}.booking-quick-menu{z-index:71;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff7;border:1px solid #b8dfdbe6;border-radius:18px;gap:7px;width:min(310px,100vw - 32px);padding:10px;display:grid;position:fixed;bottom:88px;right:16px;box-shadow:0 20px 55px #14494b3d}.booking-quick-menu a{color:#315d60;border-radius:12px;align-items:center;gap:10px;min-height:50px;padding:10px 13px;font-weight:800;text-decoration:none;display:flex}.booking-quick-menu a.active{color:#fff;background:linear-gradient(135deg,#287f7b,#51bdb3)}.booking-quick-menu svg{width:20px;height:20px}}.ipad-appointment-dashboard .doctor-rail nav button:not(.active){display:none}.ipad-appointment-dashboard .doctor-topbar h1{font-size:clamp(32px,4vw,52px)}.ipad-appointment-dashboard .doctor-layout{grid-template-columns:1fr;margin-top:0}.ipad-appointment-dashboard .day-schedule{min-height:58vh;padding:clamp(24px,3vw,38px)}.ipad-appointment-dashboard .day-schedule .luxe-title h2{font-size:clamp(30px,3.5vw,46px);font-weight:700}.ipad-appointment-dashboard .day-schedule .luxe-title p{font-size:15px}.ipad-appointment-dashboard .timeline{margin-top:28px}.ipad-appointment-dashboard .timeline-row{grid-template-columns:66px 22px 1fr;min-height:88px}.ipad-appointment-dashboard .timeline-row time{padding-top:15px;font-size:17px}.ipad-appointment-dashboard .timeline-line{margin-top:18px}.ipad-appointment-dashboard .timeline-line:after{height:78px}.ipad-appointment-dashboard .timeline-card{border-left-width:5px;border-radius:15px;min-height:66px;padding:13px 16px}.ipad-appointment-dashboard .timeline-card strong,.ipad-appointment-dashboard .patient-name-button{font-size:17px;line-height:1.35}.ipad-appointment-dashboard .timeline-card em,.ipad-appointment-dashboard .timeline-card b,.ipad-appointment-dashboard .timeline-card .status{font-size:12px}.ipad-daily-summary{margin-top:18px;padding:22px}.ipad-daily-summary .doctor-stats{margin-top:15px}.ipad-appointment-dashboard .doctor-stats article{min-height:112px}.ipad-appointment-dashboard .timeline-card{align-items:center}.ipad-case-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.ipad-case-actions button{color:#fff;min-height:46px;font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:13px;padding:0 17px;font-weight:850}.ipad-case-actions button:disabled{opacity:.55;cursor:wait}.ipad-case-actions .confirm,.ipad-case-actions .checkin{background:linear-gradient(135deg,#078b86,#26aaa3)}.ipad-appointment-dashboard.schedule-density-compact .timeline{margin-top:20px}.ipad-appointment-dashboard.schedule-density-compact .timeline-row{grid-template-columns:60px 20px 1fr;min-height:74px}.ipad-appointment-dashboard.schedule-density-compact .timeline-row time{padding-top:12px;font-size:15px}.ipad-appointment-dashboard.schedule-density-compact .timeline-line{margin-top:15px}.ipad-appointment-dashboard.schedule-density-compact .timeline-line:after{height:66px}.ipad-appointment-dashboard.schedule-density-compact .timeline-card{gap:8px;min-height:56px;padding:10px 13px}.ipad-appointment-dashboard.schedule-density-compact .timeline-card strong,.ipad-appointment-dashboard.schedule-density-compact .patient-name-button{font-size:15px}.ipad-appointment-dashboard.schedule-density-compact .timeline-card em,.ipad-appointment-dashboard.schedule-density-compact .timeline-card b,.ipad-appointment-dashboard.schedule-density-compact .timeline-card .status{font-size:11px}.ipad-appointment-dashboard.schedule-density-compact .ipad-case-actions button{min-height:40px;padding:0 12px;font-size:13px}.ipad-appointment-dashboard.schedule-density-dense .day-schedule{padding:20px 24px}.ipad-appointment-dashboard.schedule-density-dense .timeline{margin-top:16px}.ipad-appointment-dashboard.schedule-density-dense .timeline-row{grid-template-columns:56px 18px 1fr;min-height:64px}.ipad-appointment-dashboard.schedule-density-dense .timeline-row time{padding-top:10px;font-size:14px}.ipad-appointment-dashboard.schedule-density-dense .timeline-line{margin-top:13px}.ipad-appointment-dashboard.schedule-density-dense .timeline-line:after{height:57px}.ipad-appointment-dashboard.schedule-density-dense .timeline-card{gap:7px;min-height:50px;padding:8px 11px}.ipad-appointment-dashboard.schedule-density-dense .timeline-card strong,.ipad-appointment-dashboard.schedule-density-dense .patient-name-button{font-size:14px}.ipad-appointment-dashboard.schedule-density-dense .timeline-card em,.ipad-appointment-dashboard.schedule-density-dense .timeline-card b,.ipad-appointment-dashboard.schedule-density-dense .timeline-card .status{font-size:10px}.ipad-appointment-dashboard.schedule-density-dense .ipad-case-actions button{min-height:38px;padding:0 10px;font-size:12px}.ipad-case-actions .danger{color:#a32323;background:#fff0f0;border:1px solid #e7a0a0}.ipad-case-actions .case-done{color:#147f65;align-items:center;gap:6px;font-weight:850;display:flex}.ipad-case-actions .case-done svg{width:18px;height:18px}.ipad-clickable-case{cursor:pointer;transition:transform .16s,box-shadow .16s}.ipad-clickable-case:hover{transform:translateY(-1px);box-shadow:0 10px 25px #174a521f}.patient-name-button{color:#176c72;font:inherit;text-align:left;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:4px 0 0;padding:0;font-weight:850;text-decoration:underline;text-decoration-thickness:1px;display:block}.staff-appointment-button{color:#176c72;background:#fff;border:1px solid #8bcac6;border-radius:12px;align-items:center;gap:7px;min-height:42px;padding:0 15px;font-weight:800;display:inline-flex}.staff-appointment-button svg,.appointment-pencil svg{width:17px;height:17px}.appointment-pencil{color:#176c72;cursor:pointer;background:#fff;border:1px solid #b7d9d6;border-radius:50%;place-items:center;width:38px;height:38px;display:inline-grid}.case-header-actions{gap:8px;display:flex}.case-header-actions button{flex:none}.appointment-editor-modal .warning-strip{margin-top:16px}.staff-patient-picker{background:#f7fbfa;border:1px solid #cfe3e1;border-radius:16px;padding:16px}.staff-patient-picker>div:first-child{flex-direction:column;gap:2px;margin-bottom:11px;display:flex}.staff-patient-picker>div:first-child strong{color:var(--ink);font-size:17px}.staff-patient-picker>div:first-child span{color:#708181;font-size:13px}.staff-patient-search{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.staff-patient-search input{min-height:50px;color:var(--ink);background:#fff;border:1px solid #c9dcda;border-radius:12px;padding:0 14px}.staff-patient-search button,.staff-new-patient,.staff-selected-patient button{color:#176c72;min-height:46px;font:inherit;cursor:pointer;background:#fff;border:1px solid #8bcac6;border-radius:12px;padding:0 16px;font-weight:850}.staff-patient-search button{color:#fff;background:#138f89;border-color:#138f89;align-items:center;gap:6px;display:inline-flex}.staff-patient-search button:disabled{opacity:.55;cursor:wait}.staff-patient-search svg{width:17px;height:17px}.staff-patient-status{color:#356d6d;background:#edf8f6;border-radius:10px;margin:9px 0 0;padding:10px 12px;font-size:13px;font-weight:700}.staff-patient-status.error{color:#a72b32;background:#fff1f1;border:1px solid #efb9bd}.staff-patient-results{gap:7px;max-height:230px;margin-top:9px;display:grid;overflow:auto}.staff-patient-results button{color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:1px solid #d8e7e5;border-radius:12px;padding:11px 13px}.staff-patient-results button:hover{background:#eff9f7;border-color:#64bbb5}.staff-patient-results strong,.staff-patient-results span{display:block}.staff-patient-results span{color:#6e7e7f;margin-top:2px;font-size:12px}.staff-new-patient{border-style:dashed;width:100%;margin-top:10px}.staff-selected-patient{background:#effaf8;border:1px solid #8fd0ca;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px;display:grid}.staff-selected-patient>svg{color:#138f89;width:26px;height:26px}.staff-selected-patient div{flex-direction:column;min-width:0;display:flex}.staff-selected-patient small,.staff-selected-patient span{color:#627a7b;font-size:12px}.staff-selected-patient strong{color:var(--ink);font-size:17px}.staff-booking-confirmation-backdrop{z-index:110}.staff-booking-confirmation-modal{background:#fff;border-radius:28px;width:min(100% - 28px,760px);padding:0;overflow:hidden;box-shadow:0 34px 100px #03182261}.staff-booking-confirmation-modal>header{background:linear-gradient(135deg,#f3fbfa,#fffaf1);border-bottom:1px solid #dcebea;justify-content:space-between;align-items:flex-start;gap:20px;padding:25px 28px 21px;display:flex}.staff-booking-confirmation-modal>header h2,.staff-booking-confirmation-modal>header p{margin:0}.staff-booking-confirmation-modal>header h2{color:var(--ink);font-size:30px}.staff-booking-confirmation-modal>header p:last-child{color:var(--muted)}.staff-booking-confirmation-modal>header button{color:#52696a;cursor:pointer;background:#eef3f2;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.staff-booking-confirmation-body{grid-template-columns:minmax(0,1fr) 290px;gap:24px;padding:26px 28px;display:grid}.staff-booking-confirmation-detail{align-content:center;gap:12px;display:grid}.staff-booking-confirmation-detail>div{background:#f8fbfa;border:1px solid #dce9e7;border-radius:14px;align-items:center;gap:12px;padding:13px 14px;display:flex}.staff-booking-confirmation-detail svg{color:#148d87;flex:none;width:23px;height:23px}.staff-booking-confirmation-detail span{flex-direction:column;min-width:0;display:flex}.staff-booking-confirmation-detail small{color:#758788;font-size:12px}.staff-booking-confirmation-detail strong{color:var(--ink);overflow-wrap:anywhere;font-size:17px}.staff-booking-confirmation-qr{text-align:center;flex-direction:column;align-items:center;display:flex}.staff-booking-confirmation-qr img{aspect-ratio:1;background:#fff;border:1px solid #d8e6e4;border-radius:18px;width:min(100%,260px);box-shadow:0 10px 24px #184a4e14}.staff-booking-confirmation-qr strong{color:var(--ink);margin-top:10px;font-size:18px}.staff-booking-confirmation-qr span{color:#6e8081;font-size:12px;line-height:1.5}.staff-booking-confirmation-error{color:#a32323;background:#fff2f2;border:1px solid #efb2b2;border-radius:12px;margin:0 28px 14px;padding:11px 14px;font-size:13px;font-weight:700}.staff-booking-confirmation-modal>footer{border-top:1px solid #e1ecea;justify-content:flex-end;gap:10px;padding:18px 28px 24px;display:flex}.staff-booking-confirmation-modal>footer a,.staff-booking-confirmation-modal>footer button{min-height:48px;font:inherit;cursor:pointer;border:1px solid #8bcac6;border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:0 19px;font-weight:850;text-decoration:none;display:inline-flex}.staff-booking-confirmation-modal>footer a{color:#176c72;background:#fff}.staff-booking-confirmation-modal>footer button{color:#fff;background:linear-gradient(135deg,#138f89,#38b6ae);border-color:#138f89}.staff-booking-confirmation-modal>footer button:disabled{opacity:.55;cursor:wait}@media (width<=680px){.staff-booking-confirmation-body{grid-template-columns:1fr;padding:20px}.staff-booking-confirmation-modal>header{padding:21px 20px}.staff-booking-confirmation-modal>header h2{font-size:25px}.staff-booking-confirmation-modal>footer{grid-template-columns:1fr;padding:16px 20px 21px;display:grid}.staff-booking-confirmation-qr img{width:min(100%,240px)}}.case-action-backdrop{z-index:90;background:#091f2b94}.case-action-modal{background:#fff;border-radius:26px;width:min(100% - 30px,650px);padding:26px;box-shadow:0 34px 100px #03182261}.case-action-modal>header{border-bottom:1px solid #e1ecea;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;display:flex}.case-action-modal>header small{color:#a87827;letter-spacing:1.2px;text-transform:uppercase;font-size:12px;font-weight:900}.case-action-modal>header h2{color:var(--ink);margin:5px 0 2px;font-size:30px}.case-action-modal>header p{color:var(--muted);margin:0}.case-action-modal>header button{color:#5f6872;cursor:pointer;background:#f3f1ed;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.case-current-status{color:#49696a;background:#f2f8f7;border-radius:14px;justify-content:space-between;align-items:center;margin:18px 0;padding:13px 16px;display:flex}.case-current-status strong{color:var(--ink);font-size:17px}.case-work-section{background:linear-gradient(145deg,#f7fbfa,#fffaf2);border:1px solid #d9e8e6;border-radius:18px;margin:0 0 20px;padding:17px}.case-work-section>div:first-child{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:12px;display:flex}.case-work-section h3,.case-work-section p{margin:0}.case-work-section h3{color:var(--ink);font-size:19px}.case-work-section p{color:#6f8182;font-size:13px}.case-work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.case-work-grid a{min-height:92px;color:var(--ink);background:#fff;border:1px solid #d7e4e2;border-radius:14px;align-items:flex-start;gap:9px;padding:13px 11px;text-decoration:none;display:flex;box-shadow:0 5px 14px #184a4e0f}.case-work-grid a svg{flex:none;width:24px;height:24px;margin-top:2px}.case-work-grid a span{flex-direction:column;gap:3px;display:flex}.case-work-grid a b{font-size:15px;line-height:1.3}.case-work-grid a small{color:#6e7d7d;font-size:11.5px;line-height:1.45}.case-work-grid .scan{color:#116f6b;background:#effaf8;border-color:#acd9d5}.case-work-grid .sale{color:#895f1a;background:#fff9eb;border-color:#ecd5ab}.case-work-grid .course{color:#21527f;background:#f2f7fc;border-color:#bfd2e7}.case-status-title{color:var(--ink);margin:0 0 10px;font-size:16px}.case-action-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.case-action-grid button{min-height:58px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border:1px solid #d7e6e4;border-radius:15px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:850;display:flex}.case-action-grid button svg{width:20px;height:20px}.case-action-grid .confirm,.case-action-grid .arrived,.case-action-grid .complete{color:#fff;background:linear-gradient(135deg,#12837e,#28aaa3);border-color:#158d88}.case-action-grid .late{color:#8c641d;background:#fff8e8;border-color:#ead19f}.case-action-grid .no-show{color:#a72b2b;background:#fff2f2;border-color:#efbaba}.case-action-grid .awaiting-reschedule{color:#7b5a16;background:#fff9e9;border-color:#ead39c}.case-action-grid .reschedule{color:#174f83;background:#f1f8ff;border-color:#b8d3ed}.case-action-grid .case-locked{color:#147f65;background:#edf8f4;border-radius:15px;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;min-height:62px;font-weight:850;display:flex}.case-action-note{color:#78898a;text-align:center;margin:16px 0 0;font-size:13px}@media (width<=620px){.case-action-grid,.case-work-grid{grid-template-columns:1fr}.case-work-section>div:first-child{display:block}.case-work-section p{margin-top:3px}.case-work-grid a{min-height:72px}.case-action-modal{padding:20px}.case-action-modal>header h2{font-size:25px}.staff-patient-search{grid-template-columns:1fr}.staff-selected-patient{grid-template-columns:auto 1fr}.staff-selected-patient button{grid-column:1/-1;width:100%}}@media (width>=700px) and (width<=1180px){.ipad-appointment-dashboard{grid-template-columns:190px minmax(0,1fr)}.ipad-appointment-dashboard .doctor-main{padding:26px 24px 48px}.ipad-appointment-dashboard .doctor-layout{grid-template-columns:1fr}.ipad-appointment-dashboard .timeline-card{flex-wrap:wrap}.ipad-case-actions{justify-content:flex-end;width:100%;margin-top:10px}}body{-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65}button,input,select,textarea{font-family:inherit;font-size:15px;line-height:1.45}.mode-switch button{min-height:46px;font-size:15px}.eyebrow{letter-spacing:.04em;font-size:15px}.welcome h1,.success-page h1{font-size:38px;line-height:1.18}.welcome p,.muted{font-size:16px;line-height:1.65}.stepper>div,.section-title small{font-size:14px}.section-title h2{font-size:28px;line-height:1.3}.section-title>span{font-size:14px}.service-card{gap:15px;padding:17px}.service-card strong{font-size:17px;line-height:1.45}.service-card small{margin-top:3px;font-size:14px;line-height:1.5}.subheading{font-size:19px}.date-row button{min-height:66px;font-size:17px}.date-row small{font-size:13px}.time-grid button{min-height:62px;font-size:17px}.time-grid button small{font-size:12px}.primary,.secondary{min-height:54px;font-size:16px}.summary-top strong{font-size:17px}.summary-top small,.summary-grid small{font-size:13px}.summary-top p,.summary-grid>div{font-size:15px}.summary-top button{font-size:14px}.field{font-size:15px}.field input{min-height:50px;font-size:16px}.consent{font-size:13px;line-height:1.6}.approval-notice span{font-size:15px;line-height:1.45}.approval-notice small{font-size:13px}.confirmation-card span{font-size:17px}.confirmation-card small{font-size:13px}.reminder-note{font-size:14px;line-height:1.55}.dashboard header h1{font-size:34px;line-height:1.25}.dashboard header p{font-size:15px}.admin-app nav button,.settings{min-height:46px;font-size:15px}.stats article small{font-size:13px}.stats article strong{font-size:30px}.stats article p{font-size:13px}.stats article em{font-size:12px}.panel-title h2{font-size:21px}.panel-title p,.panel-title>button{font-size:13px}.search{min-height:44px}.search input{font-size:15px}.table-head{font-size:12px}.table-row{min-height:72px;font-size:15px}.table-row small{font-size:12px}.status{padding:6px 10px;font-size:12px}.week{font-size:13px}.week b{font-size:12px}.reminders p{font-size:14px}.reminders small{font-size:12px}.workflow-heading h1{font-size:44px;line-height:1.18}.workflow-heading>p:last-child{font-size:16px}.phone-chat>header>span{font-size:15px}.phone-chat>header small{font-size:12px}.chat-date{font-size:11px}.bubble{font-size:14px;line-height:1.65}.slot-title span{font-size:14px}.slot-title small{font-size:11px}.slot-message p,.slot-message>span{font-size:12px}.phone-chat footer input{font-size:13px}.flow-card strong{font-size:16px}.flow-card small{font-size:13px;line-height:1.5}.flow-card>span{font-size:13px}.workflow-primary{font-size:16px}.checking-box>div,.central-success>span,.doctor-head>div:nth-child(2){font-size:15px}.checking-box small,.central-success small,.doctor-head small{font-size:12px}.checking-box button,.central-success button{font-size:13px}.doctor-head>span{font-size:12px}.approval-detail>div{font-size:14px}.approval-detail small{font-size:12px}.doctor-approval label,.doctor-approval input{font-size:13px}.approval-actions button{font-size:14px}.doctor-profile strong{font-size:16px}.doctor-profile small{font-size:12px}.doctor-rail nav button{font-size:14px}.doctor-topbar h1{font-size:38px;line-height:1.2}.doctor-topbar p,.insert-button,.success-banner{font-size:14px}.doctor-stats small{font-size:12px}.doctor-stats strong{font-size:31px}.doctor-stats em{font-size:11px}.luxe-title h2{font-size:23px}.luxe-title p,.legend{font-size:12px}.timeline-row time{font-size:14px}.timeline-card strong{font-size:15px}.timeline-card small,.timeline-card em{font-size:12px}.timeline-card b{font-size:10px}.approval-queue .luxe-title>span{font-size:13px}.approval-queue article>div:nth-child(2){font-size:14px}.approval-queue article small{font-size:11px}.sync-card>div:last-child{font-size:14px}.sync-card small{font-size:11px}.insert-modal header h2{font-size:28px}.insert-modal header p,.warning-strip,.insert-form label,.conflict-warning>div{font-size:13px}.conflict-warning small{font-size:12px}.insert-modal footer button{font-size:14px}@media (width<=600px){.mode-switch button{min-height:44px;font-size:12px}.welcome h1,.success-page h1{font-size:34px}.section-title h2{font-size:25px}.dashboard header h1{font-size:30px}.workflow-heading h1{font-size:34px}.doctor-topbar h1{font-size:30px}.table-row{grid-template-columns:54px 1fr 90px 18px;font-size:14px}.stats article strong,.doctor-stats strong{font-size:26px}.booking-home-luxe{background-image:linear-gradient(90deg,#ffffff4a 0%,#ffffff3b 42%,#ffffff0a 100%),linear-gradient(#ffffff05 0%,#ffffff12 24%,#ffffff4d 44%),url(/images/kps-booking-hero-v1.webp);background-position:100% 0;background-size:auto 360px;border-radius:0;width:100%;padding:76px 22px 32px}.booking-home-luxe .mobile-header{margin-bottom:50px}.booking-home-luxe .welcome{padding-bottom:28px}.booking-home-luxe .welcome .eyebrow{font-size:16px}.booking-home-luxe .welcome h1{font-size:38px}.booking-home-luxe .welcome>p:last-child{font-size:15px}.booking-home-luxe .stepper{margin-bottom:32px}.booking-home-luxe section{border-radius:18px;padding:20px 14px 22px}.booking-home-luxe .service-card{min-height:82px;padding:14px}.booking-home-luxe .home-service-icon{width:50px;height:50px}.booking-home-luxe .service-card strong{font-size:17px}.booking-home-luxe .service-card small{font-size:12px}.booking-shell.booking-step-2{padding-bottom:118px}.booking-step-2 .booking-step-actions{z-index:18;left:50%;bottom:max(12px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #d1e7e4eb;border-radius:16px;width:min(100% - 28px,432px);margin:0;padding:10px;position:fixed;transform:translate(-50%);box-shadow:0 12px 36px #16494e33}.booking-error{margin:14px 0 0}.booking-qr-card{text-align:center;flex-direction:column}.booking-qr-card img{width:190px;height:190px}}.time-grid button.full-slot{color:#b42323;opacity:1;background:#fff0f0;border-color:#ef9a9a;text-decoration:none}.time-grid button.full-slot small{color:#d52222;font-weight:800;text-decoration:none}.close-slot-button{color:#b42323;background:#fff2f2;border:1px solid #e29a9a;border-radius:11px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:0 14px;font-size:14px;font-weight:800;display:flex}.close-slot-button svg{width:16px}.insert-modal footer button.danger-confirm{color:#fff;background:linear-gradient(135deg,#a91e1e,#d73737);border-color:#b42323}.staff-switch a{color:#506580;border-radius:12px;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-weight:750;text-decoration:none;display:flex}.staff-switch a svg{width:21px}.staff-gate{text-align:center;background:linear-gradient(145deg,#f3fcfa,#fff);border:1px solid #d4e8e5;border-radius:30px;flex-direction:column;justify-content:center;align-items:center;width:min(620px,100% - 32px);min-height:420px;margin:70px auto;padding:58px 42px;display:flex;box-shadow:0 24px 70px #194d4f1f}.staff-gate>svg{width:64px;height:64px;color:var(--teal)}.staff-gate h1{color:var(--ink);margin:18px 0 8px;font-size:34px}.staff-gate p{max-width:470px;color:var(--muted);margin:0;font-size:17px;line-height:1.7}.staff-gate .eyebrow{color:var(--teal);letter-spacing:1.4px;font-size:13px;font-weight:850}.staff-gate a{color:#fff;background:var(--teal);border-radius:13px;margin-top:25px;padding:13px 22px;font-weight:800;text-decoration:none}.staff-gate-actions{gap:10px;width:min(100%,390px);margin-top:25px;display:grid}.staff-gate .staff-gate-actions a{justify-content:center;align-items:center;gap:8px;min-height:54px;margin:0;display:flex}.staff-gate .staff-gate-actions svg{width:20px;height:20px}.staff-gate .staff-login-button{background:linear-gradient(135deg,#0c3f71,#176c9f);box-shadow:0 10px 24px #0e4b7a2e}.staff-gate .staff-customer-link{color:var(--teal-dark);background:#fff;border:1px solid #b8ddd9}.staff-gate.denied>svg{color:#bd8322}@media (width<=600px){.line-entry-grid{grid-template-columns:1fr}.line-entry-panel{padding:18px}.close-slot-button{padding:0 11px;font-size:12px}.staff-gate{border-radius:22px;min-height:360px;margin:28px auto;padding:36px 22px}.staff-gate h1{font-size:27px}.staff-gate p{font-size:15px}}.morning-job-banner{color:#174c4a;background:#effaf7;border:1px solid #bfe1dc;border-radius:14px;align-items:center;gap:12px;margin:12px 0;padding:13px 15px;display:flex}.morning-job-banner>div{flex-direction:column;flex:1;gap:3px;display:flex}.morning-job-banner span{color:#55787a;font-size:12px}.morning-job-banner button{color:#fff;background:#158c82;border:0;border-radius:10px;min-height:40px;padding:0 14px;font-weight:800}.morning-job-banner button:disabled{background:#a7c9c5}
