:root{--ink:#183c35;--muted:#687a74;--paper:#f5f7f5;--line:#e0e7e1;--request:#b16c21;--quote:#78519e;--job:#248665}body{font-size:15px}h1,h2,h3{font-family:system-ui,sans-serif;letter-spacing:-.035em}h1{font-size:clamp(30px,3vw,44px);font-weight:650;line-height:1.2}h2{font-size:24px;font-weight:600}h3{font-size:18px;font-weight:600}p{line-height:1.65}button,.button{border-radius:8px;font-size:14px;padding:11px 17px}input,select,textarea{border-radius:8px!important;padding:11px!important;background:#fff!important;max-width:100%}input[type=checkbox]{width:auto}label{font-size:14px;font-weight:500}textarea{min-height:90px}button:disabled{opacity:.5;cursor:wait}.lesson,.course{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px;box-shadow:0 3px 18px #183c3504}.lesson{margin:22px 0}.filter-grid{gap:18px;margin:18px 0}.page-heading,.welcome{display:flex;align-items:center;justify-content:space-between;gap:24px}.page-heading h1{margin-bottom:12px}.eyebrow{letter-spacing:1.5px;font-size:10px}.muted{font-size:13px}.close-button{font-size:28px;text-decoration:none;padding:8px}.pin-badge,.status-chip{display:inline-block;font-size:10px;letter-spacing:.05em;padding:6px 10px;border-radius:20px;background:#eef2ec;color:#365448}.pin-badge{float:right}.workspace-shell>header{margin:0 0 0 222px;max-width:none;height:72px;padding:14px 32px;background:#fff;gap:15px;justify-content:flex-end;position:sticky;top:0;z-index:20}.workspace-shell>header>.brand,.workspace-shell>header>nav,.workspace-shell>header>.pill{display:none}.workspace-shell>header #workspace-notifications{font-size:12px}.workspace-shell>header input{max-width:340px;font-size:13px}.workspace-shell>main{max-width:none;margin:0 0 0 222px;padding:32px 36px 60px;min-height:calc(100vh - 130px)}.workspace-shell>footer{margin-left:222px;font-size:11px;padding:20px 36px}#workspace-sidebar{position:fixed;inset:0 auto 0 0;width:222px;background:#eef1ec;border-right:1px solid #dce3dc;padding:24px 14px;z-index:30;overflow-y:auto}.shell-brand{display:flex;align-items:center;text-decoration:none;gap:10px;padding:0 8px 20px;font-size:21px;font-weight:700;letter-spacing:-.6px}.shell-brand small{display:block;font-size:8px;letter-spacing:1.3px;margin-top:5px;color:var(--muted)}.brand-mark{width:35px;height:39px;background:#1d4d3f;color:#fff;display:grid;place-items:center;border-radius:10px;font-size:28px}.create-menu{border:0;padding:0;margin:0 0 15px}.create-menu summary{background:#245746;color:#fff;border-radius:8px;padding:11px 15px;list-style:none}.create-menu div{background:#fff;padding:8px;border-radius:8px}.create-menu a{display:block;text-decoration:none;padding:10px}#workspace-sidebar nav{display:flex;flex-direction:column;gap:2px}#workspace-sidebar nav a{display:flex;align-items:center;gap:12px;padding:9px 12px;font-size:12px;border-radius:8px;color:#40574c}#workspace-sidebar nav a span{font-size:17px;width:20px;text-align:center}#workspace-sidebar nav a:hover,#workspace-sidebar nav a[aria-current=page]{background:#fff;color:#174d38;box-shadow:0 2px 5px #183c3508;font-weight:650}.shell-local{font-size:8px;letter-spacing:1.5px;color:var(--muted);display:block;padding:22px 12px}#mobile-nav{display:none}.welcome h1{margin:8px 0}.welcome p{margin:8px 0}.clock-card{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);padding:16px 20px;border-radius:12px}.clock-card span,.clock-card a{font-size:12px}.section-label{margin:32px 0 16px;font-size:17px}.workflow-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--line)}.workflow-card{text-decoration:none;display:flex;flex-direction:column;gap:11px;padding:22px 24px;border-right:1px solid var(--line);border-top:4px solid #4189a8}.workflow-card strong{font-size:34px;line-height:1.2}.workflow-card span{font-size:13px;font-weight:600}.workflow-card small{font-size:11px;color:var(--muted)}.workflow-card.type-request{border-top-color:var(--request)}.workflow-card.type-quote{border-top-color:var(--quote)}.workflow-card.type-job{border-top-color:var(--job)}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:24px;margin-top:10px}.study-refresher{margin:22px 0;padding:28px;background:#e6eee2;border-radius:14px}.study-refresher h2{line-height:1.3;margin-top:16px}.study-refresher p{font-size:14px}.study-refresher a{font-size:12px;font-weight:700}.empty-day{padding:38px 18px;text-align:center;color:var(--muted)}.empty-day>span{font-size:42px;color:#95a992}.empty-day h3{color:var(--ink)}.health-link,.ai-link{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);padding:22px;border-radius:12px;text-decoration:none;margin:15px 0;font-size:13px}.ai-link{background:#1e493d;color:#fff}.appointment-row{display:flex;flex-direction:column;gap:8px;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none}.appointment-row span,.appointment-row small{font-size:12px;color:var(--muted)}.record-list{display:grid;gap:14px;margin:20px 0}.record-card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--quote);border-radius:12px;padding:24px;display:flex;justify-content:space-between;gap:20px}.record-card.type-request{border-left-color:var(--request)}.record-card p{font-size:13px;margin:8px 0}.record-card h2{margin:12px 0}.record-card .actions{align-content:center}.editor-actions{position:sticky;bottom:0;display:flex;gap:12px;flex-wrap:wrap;background:#f5f7f5ed;padding:16px 0;border-top:1px solid var(--line);z-index:10}.inline-form{display:flex;gap:18px;align-items:end;flex-wrap:wrap}.inline-form label{flex:1;min-width:180px}.stump-line{margin-left:30px;border-left:4px solid #b2c7a9}.quote-line h2{font-size:23px}.quote-line label{margin:12px 0}.photo-upload{border:1px dashed #b6c4b5;padding:15px;border-radius:10px;background:#f7f9f5}.estimate-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.estimate-photos img{height:160px;width:100%;object-fit:cover;border-radius:8px}.estimate-photos figure{margin:0}.estimate-photos figcaption{font-size:12px}.service-options{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 20px}.catalog-row{display:grid;grid-template-columns:1fr 2fr 100px 110px;gap:12px;align-items:center;margin-bottom:12px}.quote-total{background:#eef3eb;border-radius:10px;padding:22px}.quote-total p{margin:8px 0}.calendar-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:20px 0}.segmented{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.segmented button{border-radius:0;background:#fff;color:var(--ink);border:0}.segmented button[aria-pressed=true]{background:#e3eddf;font-weight:700}.calendar-legend{display:flex;gap:20px;font-size:12px}.calendar-legend .type-request{color:var(--request)}.calendar-legend .type-quote{color:var(--quote)}.calendar-legend .type-job{color:var(--job)}.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;align-items:start}.schedule-layout:not(:has(.schedule-queue)){grid-template-columns:1fr}.schedule-queue{background:#eef2ec;border-radius:12px;padding:18px;max-height:850px;overflow-y:auto}.schedule-queue h2{font-size:18px}.schedule-queue p{font-size:12px}.calendar-scroll{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;max-height:850px}.calendar-grid{display:grid}.week-grid,.month-grid{grid-template-columns:repeat(7,minmax(108px,1fr));min-width:780px}.day-grid{grid-template-columns:1fr;min-width:240px}.calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.calendar-day h3{font-size:11px;padding:15px 8px;margin:0;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.calendar-drop{min-height:120px;padding:5px}.time-slot{min-height:42px;border-bottom:1px solid #eef1ed;position:relative;padding:2px 4px}.time-slot>small{font-size:9px;color:#798780}.calendar-event{display:block;width:100%;text-align:left;border:0;border-left:3px solid var(--job);background:#e0efe7;color:#194433;border-radius:5px;margin:5px 0;padding:8px;font-size:11px;white-space:normal;overflow-wrap:anywhere}.calendar-event.type-request{background:#fff0dc;border-color:var(--request);color:#784514}.calendar-event.type-quote{background:#ede5f5;border-color:var(--quote);color:#573771}.calendar-event strong,.calendar-event span,.calendar-event small{display:block;line-height:1.45}.calendar-event span{font-size:9px;text-transform:capitalize}.calendar-event small{font-size:9px;opacity:.85}.duration-handle{width:100%;font-size:9px;background:#f1f4ef;color:#4a5f52;padding:3px;border:1px solid var(--line);cursor:ns-resize}.time-slot:focus-visible,.calendar-drop:focus-visible{outline:2px solid #396b4f;outline-offset:-2px}.check-label{display:flex;align-items:center;gap:8px}.estimate-document h1{font-size:35px}.estimate-document h2{font-size:25px}
@media(max-width:1100px){.workspace-shell>main{padding:24px}.clock-card{flex-wrap:wrap;max-width:260px}.dashboard-columns{grid-template-columns:1fr 300px}.schedule-layout{grid-template-columns:minmax(0,1fr) 210px}.workflow-card{padding:18px}.catalog-row{grid-template-columns:1fr 1fr}.workspace-shell>header{padding:12px 20px}}
@media(max-width:760px){#workspace-sidebar{display:none}.workspace-shell>header{margin:0;height:58px;padding:8px 15px;position:static}.workspace-shell>header input{display:none}.workspace-shell>header #workspace-notifications{display:none}.workspace-shell>header .account-controls{font-size:11px}.workspace-shell>main{margin:0;padding:20px 16px 95px}.workspace-shell>footer{margin:0;padding:16px 16px 90px}#mobile-nav{display:flex;position:fixed;inset:auto 0 0;background:#fff;border-top:1px solid var(--line);z-index:50;justify-content:space-around;padding:10px 4px max(10px,env(safe-area-inset-bottom));gap:0}#mobile-nav a{font-size:10px;text-decoration:none;text-align:center;display:flex;flex-direction:column;gap:3px;min-width:52px;padding:3px}#mobile-nav a span{font-size:21px}#mobile-nav a[aria-current=page]{color:#1b704c;font-weight:700}.welcome{display:flex;flex-direction:column;align-items:stretch;gap:12px}.welcome h1{font-size:30px}.welcome>div:first-child>p:last-child{display:none}.clock-card{max-width:none;justify-content:space-between;padding:12px;order:-1}.clock-card a{display:none}.workflow-cards{grid-template-columns:repeat(2,1fr)}.workflow-card{padding:15px}.workflow-card strong{font-size:28px}.dashboard-columns{display:block}.lesson{padding:19px}.section-top{flex-wrap:wrap}.page-heading{align-items:flex-start}.page-heading h1{font-size:30px}.record-card{display:block;padding:20px}.record-card .actions{margin-top:16px}.editor-actions{bottom:65px;padding:10px 0;gap:8px}.editor-actions button{font-size:12px}.stump-line{margin-left:12px}.filter-grid{grid-template-columns:1fr}.service-options{grid-template-columns:1fr}.calendar-toolbar{flex-wrap:wrap}.calendar-toolbar .actions{gap:8px}.schedule-layout{display:flex;flex-direction:column}.calendar-scroll{width:100%;max-height:650px}.schedule-queue{width:100%;max-height:350px;order:-1}.calendar-legend{gap:12px;font-size:10px}.catalog-row{grid-template-columns:1fr}.pin-badge{float:none;display:block;width:fit-content;margin-top:8px}.estimate-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-photos img{height:125px}.calendar-event{padding:9px}.calendar-grid.day-grid .calendar-event{font-size:13px}}
/* Timed appointments overlay fixed-height slots so every day's hours line up. */
.workspace-shell .section-top{padding:0;margin:0 0 15px;border:0}.workspace-shell main:focus{outline:none}.time-slot{height:42px;min-height:42px}.time-slot>.calendar-event{position:absolute;top:0;left:3px;width:calc(100% - 6px);margin:0;z-index:3;overflow:hidden}.time-slot>.duration-handle{position:absolute;left:3px;width:calc(100% - 6px);height:15px;z-index:4;line-height:1;padding:1px}.time-column{padding-bottom:16px}.calendar-event:focus-visible{z-index:5}.day-grid .calendar-event{max-width:600px}
@media print{#workspace-sidebar,#mobile-nav,.editor-actions{display:none!important}.workspace-shell>main{margin:0;padding:0}.workspace-shell>footer{display:none}.calendar-scroll{overflow:visible;max-height:none}}

.location-fields { border:1px solid var(--line,#d6dfd8); border-radius:16px; padding:18px; min-width:0; }
.location-fields label { display:block; margin:12px 0; }
.location-fields .actions { flex-direction:column; align-items:stretch; }
.location-fields button { white-space:normal; text-align:left; }
.work-zones { border:1px solid #d6dfd8; border-radius:16px; padding:20px; margin:20px 0; }
.work-zones .actions label { display:flex; align-items:center; gap:8px; padding:8px; }
.work-zones input { width:auto; }
