:root{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#382c34;background:#fff8fa;font-size:16px}*{box-sizing:border-box}body{margin:0}.banner{padding:10px 24px;background:#f7e5ed;color:#8b3b5d;font-size:12px;letter-spacing:.06em}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #ead7e1;background:white;border-radius:9px;padding:10px 16px;color:#63384b;min-height:43px}button:hover{background:#faeaf1}button.primary{background:#9e3f64;color:white;border:0}button:disabled{opacity:.45;cursor:default}input,select{width:100%;padding:11px;border:1px solid #e6d6de;border-radius:8px;min-height:44px;background:white}label{display:grid;gap:8px;font-size:14px;color:#765c69}h1{font-size:28px;margin:0 0 10px}h2{font-size:20px}h3{font-size:16px;margin:0 0 6px}p{line-height:1.6}.sub{font-size:13px;color:#87717b}.card{padding:24px;background:white;border:1px solid #eddce5;border-radius:16px;margin:16px 0}.login{max-width:460px;margin:65px auto;padding:0 18px}.login label{margin:20px 0}.layout{display:grid;grid-template-columns:205px 1fr;min-height:calc(100vh - 35px);max-width:1440px;margin:auto}aside{padding:26px 16px;background:white;border-right:1px solid #eddce5}aside strong{display:block;margin:0 10px 28px;font-size:21px}nav{display:grid;gap:8px}nav button{text-align:left;border:0}nav .on{background:#f8e5ee;font-weight:600}main{padding:28px;min-width:0}.top,.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.top{margin-bottom:28px;color:#806674}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.full{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;flex-wrap:wrap}.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-height:340px;overflow:auto;margin:16px 0}.slots button.on{background:#f8dfeb;border-color:#a6446c}.slots small{display:block}.notice{padding:14px 17px;border-radius:9px;background:#eff6ef;color:#31583b;margin:14px 0}.error{background:#fff0ee;color:#96393b}.appointment{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:16px;border-bottom:1px solid #eedee6;padding:18px 0}.appointment:last-child{border:0}.time{font-size:19px}.pill{font-size:12px;border-radius:6px;background:#f8e7ef;padding:5px 9px;display:inline-block}.results button{width:100%;text-align:left;border:0;border-bottom:1px solid #eee;display:flex;justify-content:space-between}.stats{display:flex;gap:12px;flex-wrap:wrap}.stat{flex:1;background:white;border:1px solid #eddae4;border-radius:12px;padding:20px;min-width:150px}.stat strong{display:block;font-size:24px;color:#963e61}.hidden{display:none!important}:focus-visible{outline:3px solid #bd7192;outline-offset:2px}@media(max-width:760px){.layout{grid-template-columns:1fr}aside{padding:15px}aside strong{margin:0 0 12px}nav{display:flex;flex-wrap:wrap}main{padding:20px 14px}.fields{grid-template-columns:1fr}.slots{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment{grid-template-columns:60px 1fr}.appointment>button{grid-column:2}.card{padding:17px}}

body.dialog-open{overflow:hidden}.customer-dialog{width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #eddce5;border-radius:16px;color:#382c34;background:#fff;box-shadow:0 20px 65px #382c3433}.customer-dialog::backdrop{background:rgba(56,44,52,.4)}.customer-dialog h2{margin:0}.customer-dialog .fields{grid-template-columns:1fr}.customer-dialog .actions{margin-top:24px}

.date-picker{cursor:pointer;padding-right:44px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238b3b5d' stroke-width='1.7'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v5M16 3v5'/%3E%3C/svg%3E") no-repeat right 12px center}.date-picker:disabled{cursor:default;opacity:.6}.calendar-dialog{width:min(410px,calc(100% - 28px))}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 16px;gap:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.calendar-grid>span{font-size:13px;color:#806674;padding:8px 0}.calendar-grid button{padding:7px 0;min-width:0}.calendar-grid button[aria-pressed=true]{background:#9e3f64;color:#fff}.calendar-grid button[aria-current=date]{border:2px solid #9e3f64}.calendar-grid button:disabled{background:#f7f3f5;opacity:.4}

.appointment-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:760px){.appointment-actions{grid-column:2;justify-content:flex-start}}

.finance-dialog{width:min(560px,calc(100% - 28px))}.addon-line{border-bottom:1px solid #eddce5;padding:18px 0;margin-bottom:16px}.check-label{display:flex;align-items:flex-start;gap:10px;margin:18px 0;line-height:1.5}.check-label input{width:20px;min-height:20px;margin:2px 0;flex-shrink:0}details{padding:16px;background:#fff8fa;border-radius:10px;margin:18px 0}summary{cursor:pointer;color:#963e61}details form{margin-top:16px}.finance-rate{padding:16px 0;border-bottom:1px solid #eddce5}.finance-rate input{max-width:180px}#finance-matches{display:grid;gap:8px;margin:12px 0}
.customer-record{padding:18px 0;border-bottom:1px solid #eddce5}.customer-record:last-of-type{border-bottom:0}.customer-record details{margin:10px 0}.customer-record h3{margin:0}
textarea{font:inherit;width:100%;padding:12px;border:1px solid #e6d6de;border-radius:8px;resize:vertical;background:white;color:#382c34}.care-dialog{width:min(650px,calc(100% - 28px))}.care-section{border-top:1px solid #eddce5;padding:22px 0}.care-section label,.intake-page label{margin:14px 0}.care-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.care-photos figure{margin:0}.care-photos img{display:block;width:100%;height:160px;object-fit:cover;border-radius:10px}.care-photos figcaption{margin:8px 0}.intake-open{display:inline-block;padding:12px 18px;background:#9e3f64;color:#fff;border-radius:8px;text-decoration:none}.intake-page{max-width:660px;margin:24px auto;padding:20px}.care-section p{white-space:pre-wrap;overflow-wrap:anywhere}
.calendar-grid button.leave-mark{background:#f7dbe8;border-color:#b45d83}
.calendar-grid button.leave-pending{background:#fff0d8;border-color:#aa6c1c}
.calendar-leaves{padding:12px;border-radius:12px;background:#fff8fb;margin-top:10px}
fieldset{border:1px solid #ead5e0;border-radius:12px;margin:16px 0}
#customer-line-code{overflow-wrap:anywhere}

.appointment-menu{position:relative;margin:0;padding:0;background:transparent;justify-self:end;border-radius:9px}
.appointment-menu>summary{list-style:none;min-height:44px;padding:11px 16px;border:1px solid #ead7e1;border-radius:9px;background:#fff;color:#63384b;white-space:nowrap}
.appointment-menu>summary::-webkit-details-marker{display:none}
.appointment-menu>summary::after{content:'▾';margin-left:18px}
.appointment-menu[open]>summary{background:#faeaf1}
.appointment-menu-items{position:absolute;right:0;top:calc(100% + 6px);z-index:10;min-width:180px;padding:6px;border:1px solid #ead7e1;border-radius:12px;background:#fff;box-shadow:0 8px 24px #63384b22;max-height:300px;overflow:auto}
.appointment-menu-items button{display:block;width:100%;border:0;text-align:left;white-space:nowrap}
@media(max-width:760px){.appointment-menu{grid-column:2;justify-self:start}.appointment-menu-items{right:auto;left:0}}

.intake-dialog{width:min(900px,calc(100% - 24px));height:90dvh;max-height:calc(100dvh - 24px);padding:12px;border:1px solid #ead7e1;border-radius:16px;background:#fff8fa}.intake-dialog[open]{display:flex;flex-direction:column}.intake-dialog>.actions{margin:0 0 8px}.intake-dialog iframe{width:100%;flex:1;min-height:0;border:0;border-radius:10px}.intake-dialog::backdrop{background:#382c3480}
