@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
:root { --ink:#183833; --muted:#71847f; --line:#dfe5dc; --paper:#f7f8f3; --white:#fff; --pine:#1c5e56; --pine-dark:#124a43; --sage:#e3eee9; --gold:#f4b661; --coral:#ec8069; --shadow:0 12px 32px rgba(20, 60, 52, .08); }
* { box-sizing:border-box; } body { margin:0; background:var(--paper); color:var(--ink); font-family:'DM Sans',sans-serif; font-size:15px; } button,input,select,textarea { font:inherit; } button { cursor:pointer; } .app-shell { min-height:100vh; display:grid; grid-template-columns:244px 1fr; } .sidebar { background:var(--pine-dark); color:#eaf3ed; display:flex; flex-direction:column; padding:26px 16px 18px; position:fixed; inset:0 auto 0 0; width:244px; } .brand { color:white; text-decoration:none; font-family:Fraunces,serif; font-size:26px; font-weight:700; display:flex; align-items:center; gap:10px; letter-spacing:-1px; } .brand span span { color:var(--gold); } .brand-mark { color:var(--pine-dark); background:var(--gold); height:32px; width:32px; display:grid; place-items:center; border-radius:10px; font-size:21px; } .practice-name { margin:34px 12px 16px; font-size:12px; color:#a7c3b9; text-transform:uppercase; letter-spacing:1.2px; } .nav { display:grid; gap:3px; } .nav-item { border:0; border-radius:8px; text-align:left; color:#c9ddd4; background:transparent; padding:11px 12px; font-weight:600; font-size:14px; } .nav-item span { width:24px; display:inline-block; color:#a7c3b9; font-size:17px; } .nav-item:hover,.nav-item.active { background:rgba(255,255,255,.11); color:#fff; } .nav-item.active span { color:var(--gold); } .sync-status { margin-top:auto; margin-left:12px; color:#bcd5ca; font-size:12px; display:flex; align-items:center; gap:8px; } .status-dot { width:7px; height:7px; border-radius:50%; background:#81d1a4; box-shadow:0 0 0 3px rgba(129,209,164,.16); }.sidebar .text-button { color:#a7c3b9; text-align:left; margin:15px 5px 0; }
.main-content { grid-column:2; padding:33px clamp(24px,5vw,76px) 60px; max-width:1600px; width:100%; } .topbar,.view-heading,.panel-header { display:flex; justify-content:space-between; align-items:center; gap:20px; } .eyebrow { color:var(--muted); letter-spacing:1.25px; font-weight:700; font-size:10px; margin:0 0 7px; } h1,h2,h3,p { margin-top:0; } h1,h2 { font-family:Fraunces,serif; letter-spacing:-.7px; } h1 { font-size:32px; margin-bottom:28px; } h2 { font-size:23px; margin-bottom:0; } h3 { font-size:15px; margin-bottom:3px; } .topbar-actions { display:flex; align-items:center; gap:12px; align-self:flex-start; } .offline-badge { color:var(--pine); background:var(--sage); border-radius:100px; padding:7px 11px; font-size:12px; font-weight:700; }.offline-badge.is-offline { color:#9e502f; background:#ffeadc; }.primary-button,.secondary-button,.light-button,.text-button,.row-action { border:0; border-radius:8px; font-weight:700; padding:10px 14px; font-size:13px; }.primary-button { background:var(--pine); color:#fff; box-shadow:0 3px 6px rgba(28,94,86,.15); }.primary-button:hover { background:var(--pine-dark); }.secondary-button { background:#eef2ec; color:var(--pine); }.light-button { background:#fff; color:var(--pine); }.text-button,.row-action { background:transparent; color:var(--pine); padding:7px; }.row-action:hover,.text-button:hover { text-decoration:underline; }
.dashboard-grid { display:grid; gap:20px; }.hero-card { background:var(--pine); color:white; border-radius:16px; padding:29px 32px; display:flex; align-items:center; justify-content:space-between; gap:20px; overflow:hidden; position:relative; }.hero-card:after { content:'✦'; position:absolute; right:30%; top:-50px; font-size:190px; opacity:.07; }.hero-card .eyebrow { color:#b8d4c8; }.hero-card h2 { color:white; font-size:26px; }.hero-card p:not(.eyebrow) { margin-bottom:0; color:#d6e6dc; }.metric-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.metric,.panel,.data-table-wrap { background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:0 5px 18px rgba(25,58,48,.035); }.metric { padding:21px 23px; }.metric p { color:var(--muted); font-size:13px; margin-bottom:9px; }.metric strong { font-family:Fraunces,serif; font-size:27px; display:block; letter-spacing:-1px; }.metric span { font-size:12px; color:var(--muted); display:block; margin-top:4px; }.metric.emphasis { background:#e8f1ed; border-color:#d2e4da; }.panel { padding:24px; }.panel-header { margin-bottom:18px; }.schedule-list { display:grid; gap:1px; }.visit-card { display:grid; grid-template-columns:64px 38px minmax(150px,1fr) auto auto; gap:13px; align-items:center; border-top:1px solid var(--line); padding:15px 0; }.visit-card time { font-weight:700; font-size:13px; }.avatar,.animal-avatar { width:34px; height:34px; border-radius:50%; display:inline-grid; place-items:center; background:#dcece5; color:var(--pine); font-size:12px; font-weight:700; }.animal-avatar { font-size:19px; background:#f8edda; }.visit-main h3 span,.visit-main p { color:var(--muted); font-size:12px; font-weight:400; }.visit-main p { margin:0; }.visit-actions { min-width:180px; display:flex; justify-content:flex-end; gap:7px; }.done-mark { color:var(--pine); font-weight:700; font-size:13px; }.chip { text-transform:capitalize; font-weight:700; font-size:11px; border-radius:100px; padding:5px 9px; display:inline-block; background:#eef1ee; color:#65746f; }.chip.scheduled { background:#e3edf8; color:#34688d; }.chip.arrived { background:#fff1ce; color:#9a6a00; }.chip.completed,.chip.paid { background:#e2f1e9; color:#267047; }.chip.partial { background:#f8e5d8; color:#a55a2d; }.chip.sent { background:#ebe8f9; color:#6452a7; }.chip.draft { background:#edf0ed; color:#6f7d77; }.quick-actions { display:grid; grid-template-columns:repeat(4,1fr); gap:11px; }.quick-actions button { border:1px solid var(--line); padding:18px 10px; background:#fbfcf9; border-radius:10px; color:var(--ink); font-weight:700; }.quick-actions button:hover { border-color:#b9d5c9; background:#f2f8f4; }.quick-actions span { color:var(--pine); display:block; font-size:20px; margin-bottom:7px; }
.view-heading { margin-bottom:21px; }.view-heading p { color:var(--muted); margin:0; }.data-table-wrap { overflow:auto; }.data-table-wrap table { width:100%; border-collapse:collapse; min-width:700px; }.data-table-wrap th { text-align:left; color:var(--muted); background:#fbfcf9; text-transform:uppercase; letter-spacing:.9px; font-size:10px; padding:13px 19px; }.data-table-wrap td { padding:14px 19px; border-top:1px solid var(--line); vertical-align:middle; }.data-table-wrap small { display:block; color:var(--muted); font-size:12px; margin-top:3px; }.cell-name { display:flex; align-items:center; gap:10px; }.amount-due { color:#b35939; }.muted { color:var(--muted); }.empty-cell { text-align:center; color:var(--muted); padding:45px!important; }.income-bars { height:200px; display:flex; align-items:flex-end; gap:28px; padding:0 18px 6px; }.income-bars>div { display:flex; flex-direction:column; align-items:center; gap:9px; }.bar { min-width:54px; border-radius:8px 8px 3px 3px; background:var(--pine); position:relative; }.bar span { position:absolute; top:-23px; font-size:11px; color:var(--muted); white-space:nowrap; left:50%; transform:translateX(-50%); }.income-bars small { color:var(--muted); }.accounting-overview { display:grid; gap:20px; }.accounting-note { border-radius:12px; background:#fff2dc; color:#805d27; display:flex; align-items:flex-start; gap:12px; padding:18px 20px; }.accounting-note p { margin:0; font-size:13px; }.accounting-note span { font-size:19px; }.empty-state { background:#fff; border:1px dashed #cbd8d0; border-radius:14px; text-align:center; padding:55px 25px; color:var(--muted); }.empty-state h3 { color:var(--ink); margin-top:9px; }.empty-icon { color:var(--pine); font-size:27px; }.empty-state .primary-button { margin-top:8px; }
.modal-backdrop { position:fixed; inset:0; background:rgba(12,35,30,.54); display:grid; place-items:center; padding:18px; z-index:10; }.modal { width:min(570px,100%); max-height:90vh; overflow:auto; background:#fff; border-radius:16px; padding:28px; position:relative; box-shadow:var(--shadow); }.modal h2 { padding-right:25px; }.modal-close { position:absolute; top:15px; right:15px; border:0; background:#f0f3f0; border-radius:50%; width:28px; height:28px; color:var(--ink); font-size:20px; line-height:20px; }.modal form { margin-top:22px; }.form-grid,.detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }.modal label { display:grid; gap:6px; color:#445b54; font-size:12px; font-weight:700; }.modal input,.modal select,.modal textarea { width:100%; border:1px solid #ccd7d0; border-radius:7px; padding:10px; color:var(--ink); background:#fff; outline:none; }.modal textarea { resize:vertical; }.modal input:focus,.modal select:focus,.modal textarea:focus { border-color:var(--pine); box-shadow:0 0 0 3px rgba(28,94,86,.12); }.modal form>label { margin-top:14px; }.modal-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:24px; }.detail-grid div { background:#f6f9f6; padding:12px; border-radius:8px; }.detail-grid .full { grid-column:1/-1; }.detail-grid span { display:block; color:var(--muted); font-size:11px; margin-bottom:3px; }.detail-grid strong { font-size:13px; }.modal hr { border:0; border-top:1px solid var(--line); margin:20px 0; }.pill-list { display:flex; flex-wrap:wrap; gap:8px; }.pill-list span { background:var(--sage); color:var(--pine); padding:7px 10px; border-radius:100px; font-size:12px; font-weight:600; }.detail-balance { background:#fff4e8; color:#9b5831; padding:12px; border-radius:8px; margin-top:17px; display:flex; justify-content:space-between; }.toast-root { position:fixed; right:20px; bottom:24px; z-index:20; display:grid; gap:8px; }.toast { color:white; background:#203d37; padding:12px 15px; border-radius:8px; box-shadow:var(--shadow); font-size:13px; animation:in .22s ease-out; } @keyframes in { from { transform:translateY(12px); opacity:0; } }
.auth-required { background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); max-width:600px; margin:42px auto; padding:52px 42px; border-radius:16px; text-align:center; }.auth-required h2 { font-size:29px; margin:10px 0; }.auth-required p:not(.eyebrow) { color:var(--muted); max-width:390px; margin:0 auto 22px; line-height:1.55; }.setup-list { color:var(--ink); padding-left:20px; line-height:1.75; margin:10px 0 16px; }.form-message { margin:12px 0 0; font-size:12px; }.form-error { color:#b34835; }.auth-switch { color:var(--muted); margin:15px 0 0; font-size:12px; }.inline-button { border:0; background:transparent; color:var(--pine); padding:0; font-weight:700; text-decoration:underline; }.note-summary { background:#f6f9f6; border-radius:9px; padding:14px; }.note-summary strong { display:block; font-size:12px; color:var(--pine); margin-top:10px; }.note-summary strong:first-child { margin-top:0; }.note-summary p { white-space:pre-wrap; color:#40554f; font-size:13px; line-height:1.5; margin:4px 0; }.note-summary small { color:var(--muted); display:block; margin-top:12px; }.document-button { margin-top:17px; }
.clinical-hero { background:var(--pine); color:#fff; border-radius:16px; padding:28px 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; }.clinical-hero .eyebrow { color:#b8d4c8; }.clinical-hero h2 { color:#fff; font-size:26px; }.clinical-hero p:not(.eyebrow) { color:#d6e6dc; margin:8px 0 0; max-width:620px; }.clinical-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin:18px 0; }.clinical-summary article { background:#fff; border:1px solid var(--line); border-radius:12px; padding:18px 20px; }.clinical-summary strong { font:700 27px Fraunces,serif; display:block; color:var(--pine); }.clinical-summary span { color:var(--muted); font-size:12px; display:block; margin-top:5px; }.form-builder-note { margin-bottom:18px; background:#eef6f2; border-color:#d3e4dc; }.form-builder-note h2 { font-size:20px; }.form-builder-note p:last-child { color:var(--muted); margin:8px 0 0; line-height:1.5; }.clinical-form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); gap:15px; }.clinical-form-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:20px; box-shadow:0 5px 18px rgba(25,58,48,.035); }.clinical-form-card h2 { font-size:20px; margin-bottom:7px; }.clinical-form-card>p:not(.eyebrow) { color:var(--muted); font-size:12px; margin-bottom:15px; }.clinical-form-question-list { display:flex; flex-wrap:wrap; gap:6px; min-height:54px; margin-bottom:17px; }.clinical-form-question-list span { background:#edf5f1; border-radius:100px; color:var(--pine); font-size:11px; font-weight:600; padding:5px 8px; }.unconfigured-services { margin-top:18px; }.unconfigured-services p:last-child { color:#9b5831; margin:0; }.form-question-manager { margin-top:22px; display:flex; align-items:center; justify-content:space-between; gap:16px; }.form-question-manager h3 { margin:0; }.form-question-list { display:grid; gap:1px; border:1px solid var(--line); border-radius:9px; overflow:hidden; margin-top:12px; }.form-question-list article { padding:10px 12px; background:#fbfcf9; display:flex; gap:12px; justify-content:space-between; align-items:center; }.form-question-list article+article { border-top:1px solid var(--line); }.form-question-list strong { display:block; font-size:13px; }.form-question-list small { color:var(--muted); display:block; font-size:11px; margin-top:3px; }.modal { width:min(860px,100%); }.anatomy-editor { border:1px solid #cfe0d8; background:#f7fbf8; border-radius:12px; padding:17px; margin:18px 0; }.anatomy-editor-heading { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }.anatomy-editor h3 { font-family:Fraunces,serif; font-size:19px; margin:0 0 14px; }.anatomy-count { background:#e2f1e9; color:#267047; border-radius:100px; padding:5px 9px; font-size:11px; font-weight:700; white-space:nowrap; }.compact-grid { margin-bottom:12px; }.matrix-help { color:var(--muted); font-size:12px; margin:0 0 10px; }.assessment-matrix { display:grid; gap:7px; max-height:440px; overflow:auto; padding-right:3px; }.assessment-matrix-row { display:grid; grid-template-columns:132px 1fr; gap:12px; padding:10px; background:#fff; border:1px solid #dce8e1; border-radius:8px; }.matrix-fields { display:grid; gap:8px; min-width:0; }.matrix-target strong { display:block; font-size:13px; }.matrix-target small { color:var(--muted); display:block; font-size:11px; margin-top:2px; }.matrix-question { display:grid; grid-template-columns:135px 1fr; gap:9px; align-items:center; }.matrix-question>span,.matrix-text-question { color:#445b54; font-size:11px; font-weight:700; }.assessment-pills { display:flex; flex-wrap:wrap; gap:5px; }.assessment-pill { border:1px solid #cddbd4; color:#35534b; background:#fff; border-radius:100px; padding:5px 8px; font-size:11px; font-weight:700; }.assessment-pill:hover { border-color:var(--pine); background:#eff7f3; }.assessment-pill.selected { color:#fff; background:var(--pine); border-color:var(--pine); }.matrix-text-question { display:grid; grid-template-columns:135px 1fr; align-items:center; gap:9px; }.matrix-text-question input { border:1px solid #ccd7d0; border-radius:7px; padding:7px; color:var(--ink); }.assessment-list { display:grid; gap:7px; margin-top:15px; }.assessment-list article { display:flex; align-items:center; gap:10px; padding:10px; background:#fff; border:1px solid #dce8e1; border-radius:8px; }.assessment-list article>div { flex:1; min-width:0; }.assessment-list strong { display:block; font-size:13px; }.assessment-list small { color:var(--muted); font-size:11px; display:block; line-height:1.45; margin-top:2px; }.finding-badge { width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:var(--coral); color:#fff; font-size:11px; font-weight:700; }.report-preview { margin-top:15px; padding:12px 14px; border-radius:8px; background:#e9f2ed; border-left:4px solid var(--pine); }.report-preview .eyebrow { margin-bottom:5px; }.report-preview strong { font-size:13px; }.report-preview p:last-child { font-size:12px; color:#51645d; margin:4px 0 0; }.checkbox-row { display:flex; flex-wrap:wrap; gap:18px; margin-top:15px; }.checkbox-row label { display:flex; align-items:center; gap:7px; }.checkbox-row input { width:auto; }.danger-button { border:0; background:transparent; color:#a44335; padding:8px 0; font-weight:700; margin-top:14px; }.visit-finding-summary { display:grid; gap:7px; margin:7px 0 10px; }.visit-finding-summary div { background:#fff; border:1px solid #dce8e1; padding:8px 9px; border-radius:7px; }.visit-finding-summary b { display:block; font-size:12px; color:var(--ink); }.visit-finding-summary span { color:var(--muted); display:block; font-size:11px; margin-top:3px; }
.mobile-nav { display:none; } @media (max-width:900px) { .app-shell { grid-template-columns:1fr; }.sidebar { display:none; }.main-content { grid-column:1; padding:24px 18px 94px; }.mobile-nav { display:flex; justify-content:space-around; position:fixed; z-index:8; bottom:0; left:0; right:0; background:#fff; border-top:1px solid var(--line); padding:8px 3px calc(8px + env(safe-area-inset-bottom)); }.mobile-nav button { border:0; background:transparent; color:#789088; display:grid; place-items:center; gap:3px; font-size:17px; min-width:54px; }.mobile-nav span { font-size:9px; font-weight:700; }.mobile-nav button.active { color:var(--pine); }.hero-card { padding:24px; }.visit-card { grid-template-columns:47px 34px minmax(120px,1fr) auto; }.visit-card .visit-actions { grid-column:3 / -1; min-width:0; justify-content:flex-start; margin-top:-5px; }.quick-actions { grid-template-columns:repeat(2,1fr); }.topbar h1 { margin-bottom:18px; }.topbar { align-items:flex-start; }.topbar-actions { flex-direction:column; align-items:flex-end; }.metric-grid { gap:10px; }.metric { padding:15px; }.metric strong { font-size:21px; }.metric span { font-size:10px; }.panel { padding:17px; } }
@media (max-width:560px) { h1 { font-size:25px; }.topbar-actions .primary-button { padding:9px 10px; font-size:12px; }.offline-badge { font-size:10px; padding:5px 8px; }.hero-card,.clinical-hero { display:block; }.hero-card .light-button,.clinical-hero .light-button { margin-top:18px; }.metric-grid,.clinical-summary { grid-template-columns:1fr; }.metric { display:grid; grid-template-columns:1fr auto; align-items:center; }.metric p { margin:0; }.metric strong { grid-column:2; grid-row:1; }.metric span { grid-column:1 / -1; }.visit-card { grid-template-columns:45px 32px 1fr; gap:8px; }.visit-card .chip { grid-column:3; justify-self:start; }.visit-card .visit-actions { grid-column:3; }.visit-main p { line-height:1.35; }.form-grid,.detail-grid,.assessment-questions,.assessment-matrix-row,.matrix-question,.matrix-text-question { grid-template-columns:1fr; }.detail-grid .full { grid-column:auto; }.modal { padding:23px 18px; }.view-heading { align-items:flex-start; }.view-heading .primary-button { white-space:nowrap; }.income-bars { gap:20px; padding-left:0; }.bar { min-width:44px; }.toast-root { right:12px; left:12px; bottom:82px; }.toast { text-align:center; } }
/* Calendar workspace */
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.calendar-navigation,.calendar-toolbar-actions,.calendar-view-switcher{display:flex;align-items:center;gap:7px}.calendar-navigation h2{margin:0 0 0 7px;font-size:22px}.calendar-navigation .secondary-button{font-size:22px;line-height:18px;padding:7px 12px}.calendar-view-switcher{padding:3px;background:#e9efea;border-radius:9px}.calendar-view-switcher button{border:0;border-radius:6px;background:transparent;color:#587068;font-size:12px;font-weight:700;padding:7px 9px}.calendar-view-switcher button.active{color:var(--pine);background:#fff;box-shadow:0 1px 3px rgba(25,58,48,.1)}.calendar-month,.calendar-timed,.calendar-list{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 18px rgba(25,58,48,.035)}.calendar-month{overflow-x:auto}.calendar-weekdays,.calendar-month-grid{min-width:700px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#fbfcf9;border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.8px;text-align:center;text-transform:uppercase}.calendar-weekdays div{padding:11px 4px}.calendar-month-grid{grid-auto-rows:minmax(126px,1fr)}.calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:7px}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day.outside{background:#fbfcf9}.calendar-day.outside .calendar-date-button{color:#a6b5ae}.calendar-day.today{background:#f0f8f4}.calendar-date-button{border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:12px;font-weight:700;height:27px;width:27px;padding:0}.calendar-day.today .calendar-date-button{color:#fff;background:var(--pine)}.calendar-date-button:hover,.calendar-time-day-label:hover{color:var(--pine);background:#e0eee7}.calendar-day-events{display:grid;gap:4px;margin-top:5px}.calendar-event{border:0;border-left:3px solid #487fa3;border-radius:5px;background:#e3edf8;color:#214e70;display:grid;gap:1px;padding:5px 7px;text-align:left;width:100%;overflow:hidden}.calendar-event:hover{filter:brightness(.96)}.calendar-event:focus-visible,.calendar-date-button:focus-visible,.calendar-slot:focus-visible,.calendar-time-day-label:focus-visible{outline:3px solid rgba(28,94,86,.32);outline-offset:1px}.calendar-event time{font-size:10px;font-weight:700}.calendar-event span{font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event small{font-size:10px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event.compact{display:flex;align-items:center;gap:4px;min-height:23px;padding:4px 5px}.calendar-event.compact span{font-size:10px}.calendar-event.arrived{background:#fff1ce;border-color:#d29919;color:#805b09}.calendar-event.completed{background:#e2f1e9;border-color:#3b8c5d;color:#246842}.calendar-event.cancelled{background:#f2eeee;border-color:#8a7777;color:#665555;text-decoration:line-through}.calendar-more{border:0;background:transparent;color:var(--pine);font-size:10px;font-weight:700;padding:2px 4px;text-align:left}
.calendar-timed{display:grid;grid-template-columns:70px minmax(850px,1fr);overflow:auto}.calendar-time-gutter{padding-top:47px;background:#fbfcf9;border-right:1px solid var(--line)}.calendar-time-gutter div{height:48px;border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;padding:3px 7px 0 0;text-align:right}.calendar-time-days{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr))}.calendar-time-day{min-width:0;border-right:1px solid var(--line)}.calendar-time-day:last-child{border-right:0}.calendar-time-day.today{background:linear-gradient(90deg,rgba(230,245,237,.68),rgba(230,245,237,.28))}.calendar-time-day-label{align-items:center;background:#fbfcf9;border:0;border-bottom:1px solid var(--line);color:var(--muted);display:flex;gap:7px;height:47px;justify-content:center;padding:0;width:100%}.calendar-time-day-label span{font-size:10px;font-weight:700;text-transform:uppercase}.calendar-time-day-label strong{border-radius:50%;color:var(--ink);display:grid;font-size:13px;height:28px;place-items:center;width:28px}.calendar-time-day.today .calendar-time-day-label strong{background:var(--pine);color:#fff}.calendar-time-slots{height:1344px;position:relative}.calendar-slot{background:transparent;border:0;border-bottom:1px solid var(--line);display:block;height:48px;padding:0;width:100%}.calendar-slot:hover{background:rgba(221,239,231,.65)}.calendar-timed-event-wrap{height:var(--event-height);left:3px;position:absolute;right:3px;top:var(--event-top);z-index:2}.calendar-timed-event-wrap .calendar-event{height:100%;justify-content:center}.calendar-timed-event-wrap .calendar-event small{display:none}.calendar-timed.single-day{grid-template-columns:70px minmax(320px,1fr)}.calendar-timed.single-day .calendar-time-days{grid-template-columns:minmax(320px,1fr)}.calendar-list{display:grid;gap:0;overflow:hidden}.calendar-list>section+section{border-top:1px solid var(--line)}.calendar-list-date{align-items:center;background:#fbfcf9;display:flex;justify-content:space-between;padding:12px 17px}.calendar-list-date strong{font-size:13px}.calendar-list-events{display:grid;gap:7px;padding:10px 14px 14px}.calendar-list-events .calendar-event{border-left-width:4px;display:grid;grid-template-columns:67px 1fr;min-height:48px}.calendar-list-events .calendar-event time{grid-row:1/span 2;align-self:center;min-width:67px}.calendar-list-events .calendar-event small{grid-column:2}
@media (max-width:700px){.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-toolbar-actions{justify-content:space-between}.calendar-navigation h2{font-size:19px}.calendar-timed{grid-template-columns:55px minmax(850px,1fr)}.calendar-time-gutter div{font-size:9px}.calendar-month-grid{grid-auto-rows:minmax(105px,1fr)}}
.calendar-month{overflow:hidden}.calendar-weekdays,.calendar-month-grid{min-width:0}.calendar-timed{grid-template-columns:50px minmax(0,1fr);overflow:hidden}.calendar-time-days{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.calendar-time-day{overflow:hidden}.calendar-timed.single-day{grid-template-columns:50px minmax(0,1fr)}@media (max-width:700px){.calendar-timed{grid-template-columns:44px minmax(0,1fr)}.calendar-timed.single-day{grid-template-columns:44px minmax(0,1fr)}.calendar-time-gutter div{padding-right:4px}.calendar-event{padding:4px}.calendar-event span{font-size:10px}.calendar-event time{font-size:9px}}
.service-selector{border:1px solid var(--line);border-radius:9px;margin:15px 0 0;padding:12px}.service-selector legend{color:var(--ink);font-size:12px;font-weight:700;padding:0 4px}.service-selector>p{color:var(--muted);font-size:11px;margin:0 0 10px}.service-selector>div{display:grid;gap:7px}.service-selector label{align-items:center;background:#f7faf7;border:1px solid #dbe6df;border-radius:7px;display:grid!important;gap:8px;grid-template-columns:auto minmax(0,1fr) auto;padding:8px 9px}.service-selector input{width:auto!important}.service-selector label span{font-size:12px}.service-selector label small{color:var(--muted);font-size:10px;white-space:nowrap}@media (max-width:560px){.service-selector label{grid-template-columns:auto 1fr}.service-selector label small{grid-column:2}}
.appointment-lifecycle{background:#f5faf7;border:1px solid #d7e6de;border-radius:9px;margin:0 0 16px;padding:12px}.appointment-lifecycle .eyebrow{margin-bottom:8px}.appointment-lifecycle>div{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.appointment-lifecycle .primary-button,.appointment-lifecycle .secondary-button,.appointment-lifecycle .text-button{padding:7px 9px;font-size:11px}.appointment-lifecycle .text-button{color:#9b5831}
.assessment-matrix{max-height:none;overflow:visible}
