:root{--ink:#203b3a;--muted:#516a68;--paper:#f6f4ef;--line:#d3ddd7;--accent:#285a50;--white:#fff;--danger:#922b32}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}a{color:#205d55;text-underline-offset:3px}header{display:flex;justify-content:space-between;align-items:center;padding:24px max(24px,calc((100vw - 1200px)/2));background:#fff;border-bottom:1px solid var(--line);gap:20px}.brand{font:bold 30px Georgia,serif;text-decoration:none}.brand span{font:14px system-ui;display:block;letter-spacing:.04em}header p{margin:6px 0 0;font-size:13px;color:var(--muted)}.header-links{display:flex;align-items:center;gap:20px}nav{display:flex;gap:6px;flex-wrap:wrap;max-width:1248px;margin:auto;padding:18px 24px}nav a{padding:9px 14px;text-decoration:none;border-radius:8px}nav a[aria-current]{background:var(--accent);color:white}main{max-width:1200px;margin:0 auto;padding:16px 24px 48px}h1{font:38px/1.2 Georgia,serif;margin:10px 0 20px}h2{font:25px/1.3 Georgia,serif}h3{font-size:18px}section,details{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:24px;margin:18px 0}section section{padding:14px}details{padding:16px}summary{cursor:pointer;font-weight:600}form{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin:16px 0}label{display:flex;flex-direction:column;gap:6px;flex:1 1 220px;font-size:14px;font-weight:600}input,textarea,select,button{font:inherit}input,textarea,select{padding:11px;border:1px solid #93a8a2;border-radius:6px;width:100%;background:#fff;color:var(--ink)}textarea{min-height:95px}button,.button{display:inline-block;border:0;border-radius:6px;background:var(--accent);color:#fff;padding:12px 18px;cursor:pointer;text-decoration:none;font-weight:600}button:hover,.button:hover{background:#173e37}.check{flex-direction:row;align-items:center;flex-basis:100%;font-weight:400}.check input{width:20px;min-width:20px;height:20px}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.metrics article{border:1px solid var(--line);border-radius:10px;background:white;padding:20px}.metrics span{display:block;color:var(--muted);font-size:13px}.metrics strong{font-size:28px}.notice,.error{padding:16px;border-radius:8px;background:#e6f2eb}.error{background:#fce7e7;color:#7e1b25}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th{background:#eef3ef;color:#3b5650;font-size:13px}td,th{padding:13px;border-bottom:1px solid var(--line);vertical-align:top}td form{margin:4px 0}td button{font-size:13px;padding:8px}.photos{display:flex;gap:12px;flex-wrap:wrap}.photos figure{margin:12px 0;width:180px}.photos img{width:180px;height:140px;object-fit:cover;border-radius:6px}figcaption{font-size:13px}dt{font-weight:bold;float:left;clear:left;min-width:150px}dd{margin-left:160px}footer{padding:24px;text-align:center;font-size:13px;color:var(--muted)}.login{max-width:580px;margin:50px auto}.login form{display:block}.login label{margin:18px 0}.skip{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:5}.skip:focus{top:10px}:focus-visible{outline:3px solid #bd710d;outline-offset:3px}.calendar-tools{display:flex;flex-wrap:wrap;gap:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-cell{min-height:110px;padding:8px;border:1px solid var(--line);overflow-wrap:anywhere;font-size:12px}.calendar-cell strong{display:block}.appointment{border-bottom:1px solid var(--line);padding:10px 0}.calendar-grid a{display:block;padding:3px;background:#e6f2eb;margin-top:5px}[hidden]{display:none!important}@media(max-width:700px){header{align-items:flex-start;padding:20px;flex-direction:column}.header-links{flex-wrap:wrap}main{padding:10px 14px}h1{font-size:30px}.heading{align-items:start;flex-direction:column}section{padding:16px}.calendar-grid{grid-template-columns:1fr}.calendar-cell{min-height:60px}nav{padding:12px}nav a{font-size:14px;padding:8px}}@media print{header,nav,footer,form,button,details,.calendar-tools,.notice,.error{display:none!important}body{background:white;color:black;font-size:11pt}main{max-width:none;padding:0}section{border:none;padding:0;break-inside:avoid}.table-wrap{overflow:visible}.metrics{display:flex}.metrics article{padding:10px}a{color:black;text-decoration:none}}
.measurements{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;flex-basis:100%;border:1px solid var(--line);border-radius:8px;padding:16px}.measurements legend{font-weight:600}.measurement-help{flex-basis:100%}

.calendar-grid a.shift{background:#e0ebfa}.calendar-grid a.unavailable{background:#fce7e7}.schedule-entry{border-left:4px solid #6489ad;padding-left:12px}
.calendar-grid.calendar-day{grid-template-columns:1fr}.calendar-nav{display:flex;gap:10px;margin-top:12px}@media print{.calendar-nav{display:none}}

dialog.service-editor{width:min(920px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:12px;padding:24px;background:var(--white);color:var(--ink)}dialog.service-editor:not([open]){display:none}dialog.service-editor::backdrop{background:rgba(15,30,40,.65)}dialog.service-editor .heading{align-items:flex-start}dialog.service-editor h2{margin:0;overflow-wrap:anywhere}dialog.service-editor form{margin-bottom:0}@media(max-width:700px){dialog.service-editor{padding:16px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}}@media print{dialog.service-editor{display:none!important}}

@media(max-width:700px){.calendar-padding{display:none}}

@media print{#service-catalog details.service-category:not([hidden]){display:block!important}#service-catalog summary{display:block;font-weight:bold;margin:12px 0}}

form label.appointment-notes{flex:1 1 100%}
