:root{color-scheme:light;--ink:#172e36;--muted:#52656c;--teal:#0b535e;--teal-dark:#073a43;--accent:#e9ba62;--line:#dce5e8;--surface:#fff;--background:#f0f5f7;--soft:#e7f2f4;--radius:14px;font-family:Segoe UI,Inter,Arial,sans-serif;font-size:16px;color:var(--ink);background:var(--background)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button,input,select,textarea{outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b47415}button:disabled{cursor:default}h1,h2,h3,p{margin-top:0}button{transition:background .15s,border-color .15s}button:hover{filter:brightness(.97)}
.app-header{height:88px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:var(--teal-dark);color:white;gap:20px}.brand{display:flex;gap:14px;align-items:center}.brand-icon{height:46px;width:46px;border:1px solid #6f949c;border-radius:12px;display:grid;place-items:center;font-family:Georgia,serif;font-size:30px;color:var(--accent)}.brand strong{display:block;letter-spacing:.02em;font-size:19px}.brand div>span{display:block;font-size:14px;color:#c5dfe4;margin-top:3px}.demo-badge{font-size:14px;border:1px solid #668c94;padding:8px 12px;border-radius:30px;color:#e7f2f4}
.workspace{max-width:1560px;margin:0 auto;padding:36px 4% 22px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:18px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:700;color:var(--muted);display:block;margin-bottom:8px}.page-heading h1{font-family:Georgia,Cambria,serif;font-size:clamp(26px,2.6vw,38px);font-weight:400;margin:0;line-height:1.2}.button{border-radius:8px;padding:10px 17px;border:1px solid transparent;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px}.primary{background:var(--teal);color:white}.secondary{border-color:var(--line);background:white;color:var(--ink)}.button.primary>span:first-child{font-size:20px;line-height:1}
.filter-panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:grid;grid-template-columns:1.6fr repeat(5,minmax(110px,1fr));gap:13px}.filter-panel label,.form-grid label{display:flex;flex-direction:column;gap:7px;min-width:0}.filter-panel label>span,.form-grid label>span{font-size:14px;color:var(--muted);font-weight:600}input,select,textarea{width:100%;background:white;border:1px solid #c8d6dc;border-radius:7px;min-height:42px;padding:9px 10px;color:var(--ink);font-size:14px}textarea{resize:vertical;font-size:16px;line-height:1.6}.search-input{position:relative}.search-input>span{position:absolute;left:12px;top:5px;font-size:27px;line-height:1;color:var(--muted)}.search-input input{padding-left:37px}.filter-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:14px 0 24px;font-size:14px}.quick-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.quick-filters>span{color:var(--muted);margin-right:3px}.chip{border:1px solid #c7d8dd;background:transparent;border-radius:25px;padding:7px 12px;color:var(--ink);font-size:14px}.chip[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:white}.text-button{background:none;border:0;color:var(--teal);font-size:14px;padding:7px;white-space:nowrap}.text-button:hover{text-decoration:underline}
.split-view{display:grid;grid-template-columns:315px minmax(0,1fr);gap:22px;align-items:start}.client-list-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.list-heading{padding:20px 18px;display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.list-heading h2{font-size:15px;margin:0;font-weight:600}.list-heading>span{font-size:13px;color:var(--muted)}.client-row{width:100%;border:0;border-bottom:1px solid #edf1f3;background:white;padding:18px 15px;display:flex;gap:12px;text-align:left;align-items:flex-start;border-left:3px solid transparent;color:var(--ink)}.client-row:last-child{border-bottom:0}.client-row[aria-current=true]{background:var(--soft);border-left-color:var(--teal)}.client-row:hover{background:#f2f7f8}.avatar{width:40px;height:40px;flex-shrink:0;border-radius:11px;background:#edf2f4;display:grid;place-items:center;font-size:14px;font-weight:600;color:#344f5a}.client-row[aria-current=true] .avatar{background:#cde3e7;color:var(--teal-dark)}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.row-copy{min-width:0;flex:1}.row-copy strong{display:block;font-size:15px;margin:2px 0 7px;overflow-wrap:anywhere}.row-type{font-size:13px;color:var(--muted);display:block;margin-bottom:7px}.row-event{font-size:12px;color:var(--muted);display:block}.no-results{padding:30px 22px;color:var(--muted);line-height:1.6}.no-results strong{display:block;color:var(--ink);margin-bottom:7px}
.client-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-top{padding:28px 28px 24px;display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);align-items:flex-start}.card-title{display:flex;gap:17px;align-items:center;min-width:0}.card-title .avatar{height:62px;width:62px;font-size:21px;background:var(--teal-dark);color:white;border-radius:15px}.card-title h2{font-family:Georgia,Cambria,serif;font-weight:400;margin:0 0 8px;font-size:29px;line-height:1.2;overflow-wrap:anywhere}.card-title p{font-size:14px;color:var(--muted);margin:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.status-pill{background:#edf2f4;color:#3d535c;font-size:12px;border:1px solid #d2dfe4;padding:3px 9px;border-radius:15px}.status-pill.active{background:#e5f3f3;color:#134d56;border-color:#c2dedf}.card-body{padding:26px 28px}.design-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:27px}.summary-tile{background:#f1f7f8;border:1px solid #d7e6e9;border-radius:9px;padding:14px 15px;min-width:0}.summary-tile:first-child{background:#fff7e6;border-color:#eddbb5}.summary-tile span{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.summary-tile strong{font-size:17px;font-weight:600;overflow-wrap:anywhere}.card-columns{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:28px}.section-block{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #e7edef}.section-block:last-child{margin-bottom:0}.section-block h3,.chart-column h3{font-size:16px;font-weight:600;margin:0 0 17px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin:0}.detail-grid>div{min-width:0}.detail-grid .full{grid-column:1/-1}.detail-grid dt{font-size:12px;color:var(--muted);margin-bottom:5px}.detail-grid dd{margin:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.empty-value{color:#6b7c83;font-size:14px!important}.chart-column{border-left:1px solid #e7edef;padding-left:22px}.chart-box{min-height:260px;border:1px dashed #b6ced5;background:#f7fafb;border-radius:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:18px;text-align:center;margin-bottom:12px;overflow:hidden}.chart-box svg{width:40px;height:40px;stroke:#7696a0;fill:none;stroke-width:1.2}.chart-box>span{font-size:14px;color:var(--muted)}.chart-box img{width:100%;height:auto;max-height:400px;object-fit:contain}.chart-column .button{width:100%;font-size:13px;padding:9px 7px}.image-hint{font-size:12px;color:var(--muted);line-height:1.5;margin:9px 0 23px}.photo-section{margin-top:25px}.photo-preview{display:block;width:100%;height:140px;object-fit:cover;border-radius:9px;margin-bottom:10px}.general-note{font-size:16px;line-height:1.7;white-space:pre-wrap;margin:0;overflow-wrap:anywhere}.history-section{padding-top:24px;border-top:1px solid var(--line);margin-top:2px}.history-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.history-heading h3{font-size:16px;margin:0}.timeline{margin:0;list-style:none;padding:0}.timeline li{position:relative;margin:0 0 20px;padding-left:23px;border-left:1px solid #d7e2e6}.timeline li:before{content:'';position:absolute;left:-5px;top:6px;width:9px;height:9px;border-radius:50%;background:#83a9b3;border:2px solid white}.event-top{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin-bottom:7px}.event-top strong{font-size:14px}.event-top time{font-size:13px;color:var(--muted);white-space:nowrap}.timeline p{font-size:14px;color:var(--muted);line-height:1.7;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.demo-note{font-size:13px;line-height:1.6;color:var(--muted);margin:18px 0 0}.card-empty{padding:50px 24px;text-align:center;line-height:1.7;color:var(--muted)}
dialog{border:1px solid var(--line);border-radius:16px;padding:0;width:min(850px,calc(100% - 32px));max-height:85vh;box-shadow:0 25px 100px #0b333a44;color:var(--ink)}dialog::backdrop{background:#132e3c77;backdrop-filter:blur(3px)}.editor-dialog form{padding:27px}.editor-dialog.compact{max-width:580px}.dialog-heading{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:24px}.dialog-heading h2{margin:0;font-size:24px;font-family:Georgia,Cambria,serif;font-weight:400}.close-button{height:35px;width:35px;font-size:26px;border:0;background:#eef4f6;border-radius:8px;flex-shrink:0;color:var(--ink)}.form-section-title{font-size:16px;border-top:1px solid var(--line);padding-top:19px;margin:24px 0 15px}.form-section-title:first-child{border-top:0;padding-top:0;margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}.full{grid-column:1/-1}.dialog-footer{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:var(--teal-dark);color:white;padding:14px 20px;border-radius:10px;box-shadow:0 8px 30px #0002;font-size:14px;z-index:10}
@media(min-width:1350px){.split-view{grid-template-columns:345px minmax(0,1fr)}.card-columns{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:1150px){.filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.split-view{grid-template-columns:275px minmax(0,1fr)}.card-columns{grid-template-columns:minmax(0,1fr)}.chart-column{border-left:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.chart-box{min-height:160px}.card-title h2{font-size:25px}.card-title .avatar{display:none}.card-body,.card-top{padding:23px}.photo-section{margin:0}}
@media(max-width:760px){.app-header{padding:14px 5%;height:auto;min-height:80px;flex-wrap:wrap}.demo-badge{font-size:12px;padding:6px 10px}.brand strong{font-size:17px}.workspace{padding:25px 5%}.page-heading{align-items:start}.page-heading .button{padding:10px 12px}.filter-panel{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:12px}.filter-panel .search-label{grid-column:1/-1}.filter-footer{align-items:start;flex-wrap:wrap}.split-view{grid-template-columns:1fr}.client-list-panel #client-list{max-height:250px;overflow:auto}.client-row{padding:13px 14px}.row-event{display:none}.row-type{margin:0}.list-heading{padding:15px}.design-summary{gap:8px}.summary-tile{padding:12px 10px}.summary-tile strong{font-size:15px}.card-top{flex-wrap:wrap}.card-top>.button{margin-left:auto}.card-title h2{font-size:27px}.detail-grid{gap:16px}.card-body{padding:22px 18px}.chart-column{gap:18px}.chart-box{padding:12px}.chart-column .button{font-size:12px}.history-heading .button{padding:9px 11px}.event-top{flex-wrap:wrap;gap:5px}.form-grid{grid-template-columns:1fr}.editor-dialog form{padding:22px}.demo-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Keep regularly used labels readable, including on narrow screens. */
.detail-grid dt,.summary-tile span,.row-type,.chart-column .button{font-size:14px}
[hidden]{display:none!important}
.app-tabs{display:flex;align-self:stretch;align-items:stretch;gap:8px;margin-left:auto;margin-right:auto}.app-tabs button{color:#c8e0e4;background:none;border:0;border-bottom:3px solid transparent;padding:0 20px;font-size:15px;font-weight:600}.app-tabs button[aria-selected=true]{color:white;border-bottom-color:var(--accent)}.app-tabs button:hover{background:#ffffff09}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}.month-navigation{display:flex;align-items:center;gap:15px}.month-navigation h2{font-size:24px;font-family:Georgia,Cambria,serif;font-weight:400;margin:0;min-width:180px;text-align:center}.month-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #c9dbe1;border-radius:8px;background:white;color:var(--teal);font-size:26px}.calendar-surface{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.calendar-table{width:100%;border-collapse:collapse;table-layout:fixed}.calendar-table th{background:#f5f9fa;padding:13px 8px;font-size:14px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line)}.calendar-table td{height:135px;padding:9px;vertical-align:top;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-table td:last-child{border-right:0}.calendar-table tr:last-child td{border-bottom:0}.calendar-table td.outside-month{background:#f7fafb}.calendar-table td.today-cell{background:#f2f9fa}.day-number{display:grid;place-items:center;background:none;border:0;border-radius:50%;height:30px;width:30px;margin-bottom:6px;color:var(--ink);font-size:14px}.outside-month .day-number{color:#85969e}.day-number[aria-current=date]{background:var(--teal);color:white;font-weight:700}.day-number:hover{background:#e2edf0}.calendar-event{display:block;width:100%;padding:8px 9px;margin-bottom:7px;border:1px solid #d2e2e7;border-left:3px solid var(--teal);border-radius:6px;text-align:left;color:var(--ink);background:#eaf3f5;line-height:1.35;font-size:14px;overflow-wrap:anywhere}.calendar-event time{font-size:12px;color:var(--muted);display:block;margin-bottom:3px}.calendar-event strong{font-size:14px;font-weight:600;display:block}.calendar-event .event-kind{display:block;font-size:12px;color:var(--muted);margin-top:3px}.calendar-event.kind-workshop,.calendar-event.kind-meetup,.calendar-event.kind-talk{background:#fff7e7;border-color:#eee0c2;border-left-color:#c28a2d}.calendar-event:hover{filter:brightness(.96)}.calendar-agenda{display:none}.event-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.event-meta .text-button{font-size:13px;padding:2px 4px}.appointment-count{font-size:14px;color:var(--muted);margin:15px 0 0}
@media(max-width:1050px){.app-tabs button{padding:0 13px}.calendar-table td{height:120px;padding:6px}.calendar-event{padding:6px;font-size:13px}.calendar-event strong{font-size:13px}}
@media(max-width:760px){.app-header{gap:13px}.app-tabs{order:3;flex-basis:100%;margin:0;min-height:43px}.app-tabs button{flex:1;padding:9px 12px}.calendar-surface{display:none}.calendar-agenda{display:block}.month-navigation{gap:8px}.month-navigation h2{font-size:22px;min-width:145px}.calendar-toolbar{gap:10px}.calendar-toolbar .button{padding:8px 12px}.agenda-day{background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:15px;padding:16px}.agenda-day h3{font-size:15px;margin-bottom:13px}.agenda-day .calendar-event{padding:10px 12px;margin-bottom:9px}.agenda-day .calendar-event:last-child{margin-bottom:0}.agenda-day .calendar-event strong{font-size:15px}.calendar-empty{background:white;border:1px solid var(--line);border-radius:12px;padding:28px;color:var(--muted);text-align:center}.event-meta .text-button{font-size:14px}}

/* Private login and persistent save feedback. */
.auth-panel{min-height:calc(100vh - 88px);display:grid;place-items:center;padding:40px 20px}.login-card{width:min(440px,100%);padding:38px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 15px 60px #1238420b}.login-card h1{font:400 32px Georgia,Cambria,serif;margin:0 0 17px}.login-card p{font-size:15px;color:var(--muted);line-height:1.7}.login-card form{display:grid;gap:19px}.login-card label{display:grid;gap:8px;font-size:14px;font-weight:600}.login-card input{min-height:46px}.login-card .button{margin-top:6px;min-height:46px}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.header-button{background:transparent;border:1px solid #668c94;border-radius:8px;color:white;padding:8px 11px;font-size:14px}.form-error{border:1px solid #e4b7a8;background:#fff3ec;border-radius:9px;color:#793d2a!important;padding:13px 16px;font-size:14px;line-height:1.65;margin:18px 0 0}.workspace>.form-error{margin:0 0 24px}button:disabled{opacity:.65}.app-header:has(#app-tabs[hidden]) .header-actions{margin-left:auto}@media(max-width:760px){.login-card{padding:28px}.header-actions{gap:7px}.header-button{font-size:13px}.demo-badge{font-size:12px}}
