:root{--cream:#f7f2e8;--card:#fffdf8;--green:#173f35;--green2:#2e6858;--mint:#e4eee8;--coral:#df6b5a;--ink:#27332e;--muted:#79817d;--line:#e8ded1;--wa:#1faf48;--danger:#c5453c;--shadow:0 8px 24px rgba(23,63,53,.06)}
*{box-sizing:border-box}html{background:var(--cream)}body{margin:0;color:var(--ink);background:var(--cream);font-family:Manrope,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:264px minmax(0,1fr)}
.sidebar{position:fixed;inset:0 auto 0 0;width:264px;padding:26px 18px 18px;display:flex;flex-direction:column;color:#fff;background:radial-gradient(circle at 18% 10%,#245c4e 0,transparent 31%),linear-gradient(155deg,#184c3f,#0e3d32 74%,#113b32);z-index:40}.brand{height:70px;display:flex;align-items:center;gap:11px;padding:0 10px 22px}.brand>span{width:43px;height:43px;display:grid;place-items:center;border:2px solid #eab85c;border-radius:14px;color:#eab85c;font-size:28px;transform:rotate(-12deg)}.brand>div{display:grid}.brand strong{font-size:20px;letter-spacing:-.02em}.brand small{color:#eab85c;letter-spacing:.25em;font-size:9px;margin-top:2px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{min-height:50px;border:0;border-radius:12px;background:transparent;color:#d7e9e2;padding:0 16px;display:flex;align-items:center;gap:14px;text-align:left;font-weight:600;transition:.16s ease}.sidebar nav button i{width:23px;text-align:center;font-style:normal;font-size:21px}.sidebar nav button:hover{color:#fff;background:rgba(255,255,255,.07)}.sidebar nav button.active{background:linear-gradient(105deg,#f2f8f4,#dceae2);color:var(--green);box-shadow:0 8px 22px rgba(0,0,0,.12)}.sidebar>footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.2);padding:18px 4px 0;display:flex;align-items:center;gap:10px}.sidebar>footer .avatar{width:43px;height:43px;border-radius:50%;background:#f4dfbd;display:grid;place-items:center;font-size:24px}.sidebar>footer>span{display:grid;flex:1}.sidebar>footer strong{font-size:13px}.sidebar>footer small{color:#b9d0c6;margin-top:3px}.sidebar>footer a{text-decoration:none;font-size:21px;color:#d2e3dc}.workspace{grid-column:2;width:100%;max-width:1600px;margin:auto;padding:23px 29px 30px;min-width:0}.topbar{min-height:66px;display:flex;align-items:center;gap:18px;margin-bottom:17px}.page-heading{margin-right:auto}.page-heading h1{margin:0;font-size:28px;line-height:1.1;letter-spacing:-.035em}.page-heading p{margin:7px 0 0;color:var(--muted);font-size:12px}.search{width:min(370px,32vw);height:48px;border:1px solid #dacdb9;border-radius:12px;background:rgba(255,253,248,.8);display:flex;align-items:center;gap:9px;padding:0 14px;transition:.16s}.search:focus-within{border-color:var(--green2);box-shadow:0 0 0 3px rgba(46,104,88,.12);background:#fff}.search span{font-size:23px;color:var(--muted)}.search input{width:100%;border:0;outline:0;background:transparent}.btn{min-height:42px;border:1px solid transparent;border-radius:10px;padding:0 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.primary{min-height:48px;background:linear-gradient(135deg,#e87663,#dc5d4c);color:#fff;box-shadow:0 8px 20px rgba(222,93,76,.2)}.btn.primary:hover{transform:translateY(-1px)}.btn.secondary{border-color:var(--green2);background:var(--green2);color:#fff}.btn.ghost{border-color:var(--line);background:#fffdfa}.btn.danger{border-color:#f0cdc8;background:#fff1ef;color:var(--danger)}.btn.small{min-height:32px;padding:0 10px;font-size:11px}.icon-btn,.menu-btn{width:43px;height:43px;border:1px solid var(--line);border-radius:11px;background:#fffdfa;font-size:20px}.menu-btn{display:none}.page-content{min-height:400px}.loading{min-height:300px;display:grid;place-items:center;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:15px}.kpi{min-height:120px;border:1px solid var(--line);border-radius:16px;background:rgba(255,253,248,.94);padding:19px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow)}.kpi-icon{width:50px;height:50px;flex:0 0 50px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green2);font-size:24px}.kpi>span:last-child{display:grid;grid-template-columns:auto auto;align-items:end;gap:4px 9px}.kpi small{grid-column:1/-1;color:var(--muted)}.kpi strong{font-size:27px;line-height:1;color:#194c3e;letter-spacing:-.035em}.kpi em{grid-column:1/-1;color:#14804e;font-style:normal;font-size:11px;font-weight:700}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.9fr);gap:15px}.panel{border:1px solid var(--line);border-radius:16px;background:rgba(255,253,248,.95);box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:18px 20px 11px;display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-head h2{margin:0;font-size:18px;letter-spacing:-.025em}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.panel-head .link{border:0;background:transparent;color:var(--green2);font-size:11px;font-weight:800}.today-list{padding:0 20px 14px}.appointment-row{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;display:grid;grid-template-columns:54px 12px 44px minmax(120px,1fr) minmax(120px,.85fr) auto;gap:10px;align-items:center;padding:17px 0;text-align:left}.appointment-row:last-child{border:0}.appointment-row>time{font-size:15px;font-weight:800}.dot{width:9px;height:9px;border-radius:50%;background:var(--green2);box-shadow:0 0 0 4px #e8f0ec}.pet-avatar{width:43px;height:43px;border-radius:50%;background:#f1e2c9;border:1px solid #ead6b4;display:grid;place-items:center;font-size:24px}.pet-meta{display:grid}.pet-meta strong{font-size:15px}.pet-meta small{color:var(--muted);margin-top:2px}.pet-meta em{color:var(--green2);font-style:normal;font-size:10px;margin-top:3px}.service-name{font-size:11px;color:#5d6661}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 9px;border-radius:9px;font-size:10px;font-weight:800;white-space:nowrap}.badge.ok,.badge.Tamamlandı{color:#25604d;background:#e4f0e8}.badge.warn,.badge.İşlemde{color:#96600c;background:#ffeac7}.badge.wait,.badge.Bekliyor{color:#bd4b3a;background:#ffe0da}.badge.İptal,.badge.Gelmedi{color:#aa3b3b;background:#f5dcdc}.side-stack{display:grid;gap:11px;align-content:start}.reminder-list{padding:0 13px;display:grid;gap:6px}.reminder-row{min-height:45px;border:1px solid var(--line);border-radius:9px;background:#fffdfa;padding:5px 7px;display:flex;align-items:center;gap:8px}.wa{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--wa);color:#fff;font-weight:900}.reminder-row>span:nth-child(2){display:grid;flex:1}.reminder-row small{font-size:10px;color:var(--muted);margin-top:2px}.finance-summary{padding:2px 18px 17px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.finance-summary span{display:grid;gap:5px}.finance-summary small{color:var(--muted);font-size:10px}.finance-summary strong{color:var(--green2);font-size:16px}.finance-summary strong.expense{color:var(--coral)}.care-list{padding:0 13px 10px;display:grid;gap:5px}.care-row{border:1px solid var(--line);border-radius:9px;background:#fffdfa;min-height:41px;padding:5px 8px;display:flex;align-items:center;gap:8px}.care-row .pet-avatar{width:31px;height:31px;font-size:17px}.care-row>span:nth-child(2){display:grid;flex:1}.care-row small{font-size:10px;color:var(--muted)}.care-row time{font-size:10px;color:var(--muted)}.empty{padding:35px 20px;text-align:center;color:var(--muted)}
.page-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:13px}.page-toolbar h2{margin:0 auto 0 0;font-size:21px;letter-spacing:-.025em}.filter-select{min-height:42px;border:1px solid var(--line);border-radius:10px;background:#fffdfa;padding:0 12px}.data-panel{border:1px solid var(--line);border-radius:16px;background:#fffdfa;box-shadow:var(--shadow);overflow:hidden}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:820px}.data-table th{padding:13px 15px;text-align:left;background:#f3eee4;color:#65706a;font-size:10px;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.data-table td{padding:13px 15px;border-top:1px solid var(--line);vertical-align:middle}.data-table tbody tr:hover{background:#fff}.data-table strong{font-size:13px}.data-table small{display:block;color:var(--muted);margin-top:3px}.row-actions{display:flex;gap:5px;justify-content:flex-end}.row-actions button{min-height:30px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 8px;font-size:10px;font-weight:700}.row-actions button:hover{border-color:var(--green2);color:var(--green2)}.row-actions button.delete:hover{border-color:#d36a60;color:#c04439}.money.income{color:#178151;font-weight:800}.money.expense{color:var(--coral);font-weight:800}.pet-cell{display:flex;align-items:center;gap:9px}.pet-cell .pet-avatar{width:36px;height:36px;font-size:20px}.due-soon{color:#bd4b3a;font-weight:800}.search-results{position:absolute;right:95px;top:76px;width:min(440px,calc(100vw - 30px));background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 16px 45px rgba(23,63,53,.17);z-index:30;overflow:hidden}.search-result{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:12px 14px;display:flex;align-items:center;text-align:left;gap:10px}.search-result:last-child{border:0}.search-result:hover{background:#f7f3eb}.search-result span{display:grid}.search-result small{color:var(--muted);margin-top:2px}
.modal{position:fixed;inset:0;display:none;place-items:center;background:rgba(12,37,30,.52);z-index:100;padding:18px}.modal.open{display:grid}.modal-card{width:min(760px,100%);max-height:92vh;overflow:auto;border-radius:18px;background:#fffdfa;box-shadow:0 24px 70px rgba(0,0,0,.25)}.modal-card>header{position:sticky;top:0;background:#fffdfa;z-index:2;padding:19px 22px 13px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-card h2{margin:0;font-size:21px}.modal-card header p{margin:4px 0 0;color:var(--muted);font-size:11px}.modal-card header button{border:0;background:transparent;font-size:28px;color:var(--muted)}.modal-card form{padding:18px 22px 22px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#5d6762}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:43px;border:1px solid #ddd2c2;border-radius:9px;background:#fff;padding:9px 11px;outline:0;font-weight:500}.form-grid textarea{min-height:80px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(46,104,88,.1)}.modal-card form>footer{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.toast{position:fixed;right:22px;bottom:22px;z-index:150;display:none;padding:13px 17px;border-radius:11px;background:var(--green);color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.2);font-size:12px;font-weight:700}.toast.show{display:block;animation:toastIn .18s ease-out}.toast.error{background:var(--danger)}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}}.scrim{display:none}
.sound-toggle{display:inline-grid;place-items:center;position:relative}.sound-toggle::after{content:'';position:absolute;right:5px;top:5px;width:7px;height:7px;border-radius:50%;background:#28a66c;box-shadow:0 0 0 3px rgba(40,166,108,.12)}.sound-toggle.off{filter:grayscale(1);opacity:.65}.sound-toggle.off::after{background:#b0aaa0;box-shadow:none}.appointment-alert{position:fixed;z-index:145;right:22px;top:95px;width:min(460px,calc(100vw - 30px));padding:17px;border:1px solid #e7bf70;border-radius:17px;background:linear-gradient(135deg,#173f35,#0f322a);color:#fff;box-shadow:0 22px 55px rgba(10,43,35,.32);display:grid;grid-template-columns:54px 1fr auto;gap:13px;align-items:center;animation:appointmentAlertIn .32s ease-out}.appointment-alert[hidden]{display:none}.appointment-alert::before{content:'';position:absolute;inset:-1px;border:1px solid rgba(234,184,92,.32);border-radius:inherit;animation:appointmentAlertPulse 2s ease-out infinite;pointer-events:none}.appointment-alert-icon{width:54px;height:54px;border-radius:16px;background:#eab85c;color:#173f35;display:grid;place-items:center;font-size:26px}.appointment-alert-copy{min-width:0;display:grid}.appointment-alert-copy small{color:#eecb84;font-size:8px;font-weight:900;letter-spacing:.15em}.appointment-alert-copy strong{margin-top:5px;font-size:15px}.appointment-alert-copy span{margin-top:4px;color:#c9d9d2;font-size:10px;line-height:1.45}.appointment-alert-actions{display:flex;align-items:center;gap:6px}.appointment-alert-actions button{min-height:36px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;padding:0 10px;font-size:9px;font-weight:800}.appointment-alert-actions button:first-child{background:#eab85c;border-color:#eab85c;color:#173f35;white-space:nowrap}.appointment-alert-actions button:last-child{width:36px;padding:0;font-size:20px}@keyframes appointmentAlertIn{from{opacity:0;transform:translateY(-12px) scale(.98)}}@keyframes appointmentAlertPulse{0%,100%{opacity:0;transform:scale(1)}50%{opacity:1;transform:scale(1.025)}}
.auth-body{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 20% 10%,#2c6857 0,transparent 30%),linear-gradient(145deg,#113e34,#f7f2e8 120%)}.auth-card,.install-card{width:min(440px,100%);border:1px solid rgba(255,255,255,.5);border-radius:21px;background:rgba(255,253,248,.98);padding:28px;box-shadow:0 26px 80px rgba(10,43,35,.25)}.install-card{width:min(820px,100%)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.auth-brand>span{width:48px;height:48px;border:2px solid #d49d43;border-radius:15px;color:#d49d43;font-size:30px;display:grid;place-items:center;transform:rotate(-12deg)}.auth-brand>div{display:grid}.auth-brand strong{font-size:20px}.auth-brand small{color:var(--muted);margin-top:3px}.auth-card h1,.install-card h1{margin:0 0 7px;font-size:27px}.auth-card>p,.install-card>p{margin:0 0 22px;color:var(--muted)}.auth-form,.install-form{display:grid;gap:14px}.auth-form label,.install-form label{display:grid;gap:6px;font-size:11px;font-weight:800}.auth-form input,.install-form input{height:45px;border:1px solid #d9cebd;border-radius:10px;background:#fff;padding:0 12px;outline:0}.auth-form input:focus,.install-form input:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(46,104,88,.11)}.auth-card footer{border-top:1px solid var(--line);margin-top:25px;padding-top:17px;text-align:center;color:var(--muted);font-size:11px}.notice{border-radius:10px;padding:11px 13px;margin:0 0 15px;font-size:12px;font-weight:600}.notice.error{background:#ffe8e4;color:#a13c33}.notice.success{background:#e5f1e9;color:#1f694d}.install-form{grid-template-columns:1fr 1fr}.install-form fieldset{border:1px solid var(--line);border-radius:13px;padding:16px;display:grid;gap:12px}.install-form legend{padding:0 7px;font-weight:800;color:var(--green2)}.install-form>.btn{grid-column:1/-1}
@media(max-width:1150px){.workspace{padding:19px}.dashboard-grid{grid-template-columns:1fr}.side-stack{grid-template-columns:1fr 1fr}.side-stack .panel:last-child{grid-column:1/-1}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.app-shell{display:block}.sidebar{transform:translateX(-105%);transition:.22s;width:min(290px,86vw)}.sidebar.open{transform:none}.workspace{padding:13px}.topbar{min-height:50px;gap:8px;margin-bottom:12px}.page-heading{display:none}.menu-btn{display:block}.search{width:auto;flex:1}.topbar>.btn.primary{min-height:43px;padding:0 11px;font-size:0}.topbar>.btn.primary::after{content:"＋";font-size:20px}.icon-btn{display:none}.icon-btn.sound-toggle{display:inline-grid;flex:0 0 43px}.kpi-grid{gap:8px}.kpi{min-height:100px;padding:12px;display:block}.kpi-icon{width:39px;height:39px;font-size:18px;margin-bottom:9px}.kpi strong{font-size:20px}.side-stack{grid-template-columns:1fr}.side-stack .panel:last-child{grid-column:auto}.appointment-row{grid-template-columns:44px 8px 39px 1fr auto;gap:7px;padding:14px 0}.appointment-row .service-name{display:none}.pet-avatar{width:39px;height:39px;font-size:21px}.today-list{padding:0 13px}.panel-head{padding:15px 14px 8px}.scrim.open{display:block;position:fixed;inset:0;background:rgba(12,37,30,.48);z-index:35}.page-toolbar{flex-wrap:wrap}.page-toolbar h2{width:100%;margin-bottom:3px}.data-panel{margin:0 -13px;border-radius:0;border-left:0;border-right:0}.modal{padding:8px}.modal-card{max-height:97vh;border-radius:15px}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.search-results{left:13px;right:13px;top:66px;width:auto}.appointment-alert{left:10px;right:10px;top:72px;width:auto;grid-template-columns:46px 1fr}.appointment-alert-icon{width:46px;height:46px}.appointment-alert-actions{grid-column:1/-1}.appointment-alert-actions button:first-child{flex:1}.toast{left:13px;right:13px;bottom:13px;text-align:center}.install-form{grid-template-columns:1fr}.install-form>.btn{grid-column:auto}}
@media(max-width:430px){.kpi strong{font-size:18px}.appointment-row{grid-template-columns:40px 6px 36px 1fr}.appointment-row .badge{grid-column:4;width:max-content;margin-top:-7px}.finance-summary{gap:6px}.finance-summary strong{font-size:13px}.auth-card,.install-card{padding:21px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.booking-body{min-height:100vh;padding:32px;background:radial-gradient(circle at 12% 9%,#2e6858 0,transparent 27%),linear-gradient(135deg,#123d33 0,#1b5143 39%,#f7f2e8 39%)}.booking-card{width:min(1080px,100%);min-height:680px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;border-radius:24px;overflow:hidden;background:#fffdfa;box-shadow:0 30px 90px rgba(12,46,38,.28)}.booking-intro{padding:50px 46px;color:#fff;background:linear-gradient(155deg,#173f35,#0e352c);display:flex;flex-direction:column}.booking-intro .auth-brand{margin-bottom:70px}.booking-intro .auth-brand small{color:#bdd2c9}.eyebrow{color:#e4b65b;font-size:10px;font-weight:900;letter-spacing:.22em}.booking-intro h1{margin:12px 0 15px;font-size:38px;line-height:1.08;letter-spacing:-.04em}.booking-intro>p{color:#c7d9d2;line-height:1.7}.booking-intro ul{list-style:none;margin:22px 0;padding:0;display:grid;gap:11px;color:#e7f0ec}.booking-intro li::before{content:'✓';color:#e5b359;margin-right:9px}.booking-intro>a{margin-top:auto;color:#d4e2dc;text-decoration:none;font-size:12px}.booking-form-wrap{padding:45px}.booking-form-wrap h2{margin:0;font-size:26px}.booking-form-wrap>p{color:var(--muted);margin:7px 0 22px}.public-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.public-form label{display:grid;gap:6px;font-size:11px;font-weight:800}.public-form label.full,.public-form .full{grid-column:1/-1}.public-form input,.public-form select,.public-form textarea{min-height:44px;border:1px solid #ddd2c2;border-radius:9px;background:#fff;padding:9px 11px;outline:0}.public-form textarea{min-height:83px;resize:vertical}.public-form input:focus,.public-form select:focus,.public-form textarea:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(46,104,88,.11)}.trap{position:absolute!important;left:-9999px}.booking-success{min-height:540px;display:grid;place-items:center;align-content:center;text-align:center}.booking-success>span{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green2);font-size:34px;font-weight:900}.booking-success h2{margin:18px 0 5px}.booking-success p{max-width:390px;color:var(--muted);line-height:1.6}.booking-success a{text-decoration:none;margin-top:12px}
@media(max-width:780px){.booking-body{padding:10px;background:var(--cream)}.booking-card{display:block;min-height:0;border-radius:16px}.booking-intro{padding:28px 24px}.booking-intro .auth-brand{margin-bottom:36px}.booking-intro h1{font-size:31px}.booking-intro ul{margin-bottom:28px}.booking-form-wrap{padding:28px 22px}.public-form{grid-template-columns:1fr}.public-form label.full,.public-form .full{grid-column:auto}}

/* Luxury Fur marka ve doluluk takvimi */
.brand>img{width:52px;height:58px;object-fit:contain;filter:drop-shadow(0 3px 8px rgba(0,0,0,.18))}.brand{height:82px;padding-bottom:16px}.auth-brand>img{width:68px;height:76px;object-fit:contain;flex:0 0 auto}.auth-brand.brand-on-dark>img{width:132px;height:auto}.booking-intro .auth-brand{align-items:flex-start}.booking-card{width:min(1240px,100%);grid-template-columns:minmax(310px,.72fr) minmax(620px,1.35fr)}.booking-form-wrap{padding:38px 42px}.booking-form-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}.booking-form-heading h2{margin:0}.booking-form-heading p{margin:6px 0 0;color:var(--muted)}.booking-mobile-logo{display:none;width:56px;height:63px;object-fit:contain}.booking-picker{border:1px solid #dfd3c2;border-radius:16px;background:#fbf7ef;padding:17px}.calendar-toolbar{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px}.calendar-toolbar strong{text-align:center;font-size:17px;text-transform:capitalize;color:var(--green)}.calendar-toolbar button{height:38px;border:1px solid #ded2c1;border-radius:10px;background:#fffdfa;color:var(--green);font-size:25px;line-height:1}.calendar-toolbar button:disabled{opacity:.32;cursor:not-allowed}.calendar-legend{display:flex;justify-content:center;gap:15px;margin:13px 0 10px;color:#6c756f;font-size:10px;font-weight:700}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:8px;height:8px;border-radius:50%;background:#75b692}.calendar-legend i.medium{background:#efb451}.calendar-legend i.full{background:#d97869}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays span{text-align:center;color:#87908b;font-size:9px;font-weight:900;text-transform:uppercase}.calendar-grid{min-height:300px}.calendar-placeholder{grid-column:1/-1;min-height:260px;margin:0;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:12px}.calendar-placeholder.error,.slots-loading.error,.selected-appointment.error{color:var(--danger)}.calendar-day{position:relative;min-width:0;min-height:70px;border:1px solid #dbe7df;border-radius:10px;background:#f7fcf9;padding:8px 6px 7px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;transition:.15s ease}.calendar-day:hover:not(:disabled){border-color:var(--green2);transform:translateY(-1px);box-shadow:0 5px 13px rgba(23,63,53,.1)}.calendar-day strong{font-size:15px;color:var(--green)}.calendar-day small{font-size:8px;color:#56806e;font-weight:800;white-space:nowrap}.calendar-day>i{width:100%;height:4px;margin-top:auto;border-radius:5px;background:#dfebe4;overflow:hidden}.calendar-day>i span{display:block;height:100%;background:#69a987;border-radius:inherit}.calendar-day.medium{border-color:#f1ddae;background:#fffbf1}.calendar-day.medium>i span{background:#eab452}.calendar-day.medium small{color:#9a6d17}.calendar-day.busy{border-color:#efc7bd;background:#fff5f2}.calendar-day.busy>i span,.calendar-day.full>i span{background:#d97869}.calendar-day.busy small,.calendar-day.full small{color:#b25042}.calendar-day.full,.calendar-day:disabled{opacity:.53;cursor:not-allowed;background:#f3f0eb;border-color:#e4ddd3}.calendar-day.selected{outline:3px solid rgba(46,104,88,.16);border-color:var(--green2);background:#e9f3ed}.slot-panel{margin-top:15px;padding-top:15px;border-top:1px solid #e4d9ca}.slot-panel>div:first-child{display:flex;justify-content:space-between;align-items:end;gap:10px}.slot-panel>div:first-child strong{font-size:14px;text-transform:capitalize}.slot-panel>div:first-child small{color:var(--muted);font-size:9px}.time-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:10px}.time-slot{min-height:47px;border:1px solid #d8cec0;border-radius:9px;background:#fff;padding:6px;display:grid;place-items:center;color:var(--green)}.time-slot:hover{border-color:var(--green2);background:#f2f8f4}.time-slot strong{font-size:13px}.time-slot small{font-size:8px;color:var(--muted)}.time-slot.selected{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 5px 12px rgba(23,63,53,.2)}.time-slot.selected small{color:#cfe1d9}.slots-loading{grid-column:1/-1;padding:18px;text-align:center;color:var(--muted);font-size:11px}.selected-appointment{margin-top:13px;padding:11px 12px;border-radius:10px;background:#e8f1eb;color:#315e4f;text-align:center;font-size:11px}.booking-assurance{margin:0;text-align:center;color:var(--muted);font-size:9px;line-height:1.5}.booking-success>img{width:84px;height:94px;object-fit:contain;margin-bottom:13px}.booking-success>span{width:58px;height:58px;font-size:27px}.embed-mode{padding:0;background:transparent}.embed-mode .booking-card{width:100%;min-height:0;display:block;border-radius:18px;box-shadow:none;border:1px solid #eadfce}.embed-mode .booking-intro{display:none}.embed-mode .booking-form-wrap{padding:30px}.embed-mode .booking-mobile-logo{display:block}
@media(max-width:900px){.booking-card{grid-template-columns:1fr}.booking-intro{display:none}.booking-mobile-logo{display:block}.booking-body{background:var(--cream)}.booking-form-wrap{padding:30px}.time-slots{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.booking-body{padding:0}.booking-card,.embed-mode .booking-card{border-radius:0;border:0}.booking-form-wrap,.embed-mode .booking-form-wrap{padding:20px 14px}.booking-form-heading{margin-bottom:17px}.booking-form-heading h2{font-size:22px}.booking-mobile-logo{width:48px;height:54px}.booking-picker{padding:12px 8px}.calendar-weekdays,.calendar-grid{gap:3px}.calendar-day{min-height:59px;border-radius:7px;padding:6px 3px}.calendar-day strong{font-size:13px}.calendar-day small{font-size:7px}.calendar-day>i{height:3px}.calendar-legend{gap:8px}.time-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-assurance{font-size:8px}}
.embed-mode{min-height:0}
.calendar-legend i.has-booking{background:#cf4f45}.calendar-day.has-booking{border-color:#e8a7a0;background:#fff1ef}.calendar-day.has-booking small{color:#b8443b}.calendar-day.has-booking>i span{background:#cf4f45}.calendar-day.has-booking::after{content:'';position:absolute;right:7px;top:7px;width:7px;height:7px;border-radius:50%;background:#cf4f45;box-shadow:0 0 0 3px rgba(207,79,69,.12)}.calendar-day.has-booking.selected{background:#ffe9e6;border-color:#b9443b;outline-color:rgba(207,79,69,.18)}.time-slot.occupied,.time-slot.occupied:hover{border-color:#edb4ae;background:#fff0ee;color:#b43d35;cursor:not-allowed;opacity:1;box-shadow:none}.time-slot.occupied small{color:#b43d35;font-weight:900}
