:root{font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#19243a;background:#f4f6fa;--accent:#3059cb;--line:#e0e6f0}
*{box-sizing:border-box}body{margin:0;display:grid;grid-template-columns:224px 1fr;min-height:100vh}aside{background:#16233b;color:#edf3ff;padding:26px 17px;display:flex;flex-direction:column;gap:28px}.logo{display:flex;align-items:center;gap:12px;font-weight:750}.logo b{border-radius:11px;background:#7395ff;color:#142044;padding:6px 12px;font-size:20px}.logo small{display:block;color:#b7c6e5;font-size:11px;font-weight:500}.account{margin-top:auto;padding:10px;font-size:14px}nav{display:grid;gap:5px}nav a{color:#d9e3fa;padding:10px 13px;border-radius:8px;text-decoration:none}nav a:hover,nav .active{background:#283b62;color:white}
main{width:min(100%,1000px);padding:36px clamp(16px,4vw,52px);min-width:0}main.login{grid-column:1/-1;width:min(100%,460px);margin:8vh auto}header{margin-bottom:24px}.eyebrow,.meta,.due,.intro{color:#546580}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.08em}h1{font-size:clamp(30px,5vw,43px);letter-spacing:-.04em;line-height:1.12;margin:6px 0}h2{font-size:20px;margin:3px 0 10px}h3{margin:0 0 8px}p{margin:7px 0 12px}.card,.empty{display:block;background:white;border:1px solid var(--line);border-radius:12px;padding:18px 21px;margin:0 0 12px}.empty{color:#546580;border-style:dashed}.row{display:flex;justify-content:space-between;gap:12px;color:inherit;text-decoration:none}.row span{overflow-wrap:anywhere}.row:hover[href]{border-color:#839ce1}.meta,.due{font-size:13px}.meta a,.back,a{color:#234aa7}.back{display:inline-block;margin-bottom:13px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tabs a{padding:7px 12px;text-decoration:none;border-radius:8px;color:#425474}.tabs .selected{background:#e3ebff;color:#183b94;font-weight:700}.alert{background:#fff6df;border-color:#edd49a}.alert a{display:block}.red{color:#a42b39}.note{white-space:pre-wrap;overflow-wrap:anywhere}
form{margin:10px 0 0}label{display:block;margin:0 0 11px;font-size:13px;font-weight:650}input:not([type=checkbox]),select,textarea{display:block;width:100%;font:inherit;font-weight:400;color:inherit;background:#fbfcff;border:1px solid #cbd5e5;border-radius:7px;padding:8px;margin-top:4px}textarea{resize:vertical}.check{display:flex;align-items:flex-start;gap:7px;font-weight:500}.check input{accent-color:var(--accent)}button{cursor:pointer;font:inherit;font-size:14px;font-weight:700;border:0;border-radius:7px;padding:8px 14px;background:var(--accent);color:white}.secondary{color:#234aa7;background:#e8efff}.quiet{padding:0;color:#d4def6;background:none}.actions{display:flex;gap:8px;flex-wrap:wrap}summary{cursor:pointer;color:#234aa7;font-weight:700}details+details{margin-top:12px}details[open]>summary{margin-bottom:10px}
@media(max-width:650px){body{display:block}aside{padding:12px 16px;gap:8px}nav{display:flex;flex-wrap:wrap}nav a{padding:6px 9px}.account{display:flex;gap:12px;padding:0}.account form{margin:0}main{padding:23px 14px}.card{padding:14px}}

.steps{padding-left:24px;margin:16px 0}.steps li{margin:8px 0}.steps small{color:#546580;font-weight:500}
.client-services{display:block;color:#546580;margin-top:4px;font-size:12px}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
@media(max-width:560px){.contact-grid{grid-template-columns:1fr}}
.service-group{margin:14px 0}.service-group h3{font-size:14px;margin:0 0 8px}
.service-options{display:flex;flex-wrap:wrap;gap:7px}
.service-options form,.service-option{margin:0}
.service-choice,.service-option{border:1px solid #cbd6e7;background:white;color:#293957;border-radius:8px;padding:7px 10px;font-size:13px;cursor:pointer}
.service-choice[aria-pressed="true"],.service-option:has(input:checked){background:#e8efff;border-color:#7695e6;color:#203e92}
.service-option{display:flex;align-items:center;gap:6px}.service-option input{margin:0;accent-color:#315ac4}
.save-status{font-size:13px;margin:6px 0}.save-status.success{color:#246444}
.client-page{overflow-anchor:none}
.client-page summary{list-style:none;display:flex;align-items:baseline;gap:8px}
.client-page summary::-webkit-details-marker{display:none}
.client-page summary::before{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);flex:none}
.client-page details[open]>summary::before{transform:rotate(45deg)}
.client-page .save-status{display:inline-block;margin:0 0 0 10px;color:#246444}
.client-page .save-status.red{color:#a42b39}
.service-options form{position:relative}
.service-feedback{position:absolute;left:0;top:100%;z-index:1;background:white;color:#246444;border:1px solid var(--line);border-radius:6px;padding:3px 6px;font-size:12px;white-space:nowrap;pointer-events:none}
.service-feedback.red{color:#a42b39;white-space:normal;min-width:180px}
.client-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px 18px;margin:0}
.client-overview dt,.client-notes strong{color:#546580;font-size:12px;font-weight:650}
.client-overview dd{margin:4px 0 0;overflow-wrap:anywhere}
.client-notes{margin-top:14px}.client-notes p{margin:4px 0 0}
.client-editor{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.selected-services{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.selected-services li{background:#e8efff;color:#203e92;border-radius:7px;padding:5px 9px;font-size:13px}
.danger{background:#a42b39}
.client-actions{margin:0 0 14px}
dialog{width:min(560px,calc(100% - 28px));max-height:calc(100dvh - 40px);padding:20px 22px;border:1px solid var(--line);border-radius:14px;color:#19243a;background:white;box-shadow:0 18px 55px #15243a38}
dialog::backdrop{background:#18263e70}
.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.dialog-head h2{margin:0}.dialog-close{font-size:23px;line-height:1;background:#eef2f9;color:#344564;padding:5px 9px}
html:has(dialog[open]){overflow:hidden}
.client-page [data-save-message]{display:block;margin:0 0 10px}
.repeat-days{margin:0 0 12px;border:1px solid var(--line);border-radius:7px;padding:8px 10px}
.repeat-days legend{font-size:13px;font-weight:650}.repeat-days label{display:inline-flex;margin:0 8px 0 0;align-items:center}
.task-list{list-style:none;margin:0;padding:0;background:white;border:1px solid var(--line);border-radius:12px}
.task-list li+li{border-top:1px solid var(--line)}
.task-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:8px 13px;text-align:left;background:transparent;color:#19243a;border-radius:0}
.task-row:hover,.task-row:focus-visible{background:#eef4ff}
.task-label,.task-timing{min-width:0;line-height:1.3}.task-label strong{display:block;overflow-wrap:anywhere}
.task-row small{display:block;font-size:12px;font-weight:400;color:#546580;margin-top:2px}
.task-timing{text-align:right;white-space:nowrap;font-size:12px;font-weight:600}
.task-list-item{display:flex;align-items:center}
.task-list-item>.task-row{flex:1;min-width:0}
.task-list-item>form{margin:0 10px 0 0}
.task-list-item>form button{padding:6px 9px;font-size:12px}
.task-kind{display:inline-block;background:#edf1f8;color:#334968;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:700;vertical-align:1px}
.task-kind.is-checklist{background:#e8efff;color:#203e92}
.task-files{padding-left:20px;overflow-wrap:anywhere}
.task-list-item>form .task-checkbox{display:block;width:20px;height:20px;padding:0;border:1.5px solid #8b98aa;border-radius:5px;background:white}
.task-list-item>form .task-checkbox:hover,.task-list-item>form .task-checkbox:focus-visible{border-color:var(--accent);background:#eef4ff}
.task-filters{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin:0 0 12px}.task-filters label{margin:0}.task-filters button{margin-bottom:1px}
.tabs small{margin-left:3px;color:#536683}.resume-fields{background:#f4f6fa;border-radius:8px;padding:10px;margin:10px 0}
.task-quick{display:flex;align-items:center;gap:6px;padding-right:10px}.task-quick form{margin:0}
.task-quick button{padding:5px 7px;font-size:12px;white-space:nowrap}
.task-quick .task-checkbox{display:block;width:19px;height:19px;padding:0;border:1.5px solid #8b98aa;border-radius:5px;background:white}
.task-quick .task-checkbox:hover{border-color:var(--accent);background:#eef4ff}
.task-more{background:transparent;color:#405678}.task-primary{margin-top:12px}
@media(max-width:560px){.task-list-item{flex-wrap:wrap}.task-list-item>.task-row{flex-basis:100%}.task-quick{padding:0 10px 8px;margin-left:auto}}
.task-setting{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:#536683}
.create-task-actions{margin:12px 0}.task-setting .task-more,.create-task-actions .task-more{padding:6px 8px}
[data-form-panel]:not([hidden]){margin:8px 0 12px}
.task-notice{margin:0 0 10px;color:#246444;font-size:13px}.task-resume-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-tools{display:flex;flex-wrap:wrap;gap:4px 12px;border-top:1px solid var(--line);margin-top:12px;padding-top:7px}
.task-tools button{background:transparent;color:#315384;padding:6px 0;font-size:13px;text-align:left}
.task-tools button:hover,.task-tools button[aria-expanded="true"]{color:var(--accent);text-decoration:underline}
.task-delete{background:transparent;color:#a42b39;padding:6px 0;font-size:13px}
.task-delete:hover{text-decoration:underline}
