/* Shared surfaces; calendar geometry remains in calendar-view.css. */
:root{--ink:#183749;--muted:#526876;--line:#dce6eb;--accent:#176e83}
body{line-height:1.5;background:#f4f7f9;color:var(--ink)}
main{max-width:1180px;padding:28px}
header{padding:0 0 18px;border-bottom:2px solid var(--accent)}
section{border-color:var(--line);border-radius:16px;box-shadow:0 3px 14px #18374905}
h2{font-size:23px;line-height:1.3}h3{font-size:18px;line-height:1.4}
button,.actions a{border-radius:9px;line-height:1.35;font-weight:550;transition:background .15s,border-color .15s}
button:not(:disabled):hover,.actions a:hover{background:#ddecf1;border-color:var(--accent)}
input,select,textarea{border-color:#a8bac4;border-radius:9px;min-height:44px}textarea{min-height:110px;resize:vertical}
#rows>article:not([class]),.cash-account-card,.cash-history-card{margin:14px 0;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}
#rows>article>button,#historyRows>button{margin:8px 8px 0 0;vertical-align:top}
#rows>article p{margin:10px 0;color:var(--muted);line-height:1.6}
#rows>article h3{margin:0 0 12px}
.cash-account-card{border-left:4px solid var(--accent);background:#f2f8fa}
.cash-account-card>strong{display:block;font-size:21px;font-variant-numeric:tabular-nums}
.cash-history-card>strong{font-variant-numeric:tabular-nums}
.cash-history-card.is-corrected{background:#f6f8f9;border-style:dashed}
.cash-history-card.is-corrected>strong{color:#526876}
.today-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));align-items:start;margin:18px 0}
.today-grid>article{min-width:0;background:#fff;box-shadow:0 3px 12px #18374906}
.today-grid h3{margin:0 0 12px}.today-grid p{overflow-wrap:anywhere}
.today-next{border:1px solid #c9dfe6;border-left:4px solid var(--accent)}
.document-tile{box-sizing:border-box}.document-tile button{white-space:normal}
#fields>p[role=status]{padding:14px;background:#eef6fa;border:1px solid #ccdee7;border-radius:10px;font-weight:600}
#fields>label{margin:18px 0}#editForm>button{margin:8px 8px 0 0}
#navigation details[open]{border-radius:12px}#navigation details button{max-width:100%;white-space:normal}
@media(max-width:600px){main{padding:12px}section{padding:16px;border-radius:12px}h2{font-size:21px}
 #rows>article:not([class]),.cash-account-card,.cash-history-card{padding:16px}
 #rows>article>button{display:block;width:100%;margin:10px 0 0;text-align:left}
 .cash-account-card>strong{font-size:19px}.today-grid{gap:12px}
 #navigation details button{width:100%;margin:6px 0}#globalClientSearch{align-items:stretch}#globalClientSearch button{flex:1 1 auto}
 .visit-contact-grid,#visitPrimaryActions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){button,.actions a{transition:none}}
#historyRows:empty{display:none}
#navigation button[aria-current=page]:hover{background:#12586a;color:#fff}
@media(max-width:600px){.account label{flex:1 1 100%;width:100%;margin-bottom:2px}.account{gap:8px}.account #logout{margin-left:auto}#globalClientSearch input{flex:1 1 100%;min-width:100%}#globalClientSearch button{width:100%;flex:1 1 100%}}
/* Keep long forms usable on a narrow screen and when the keyboard reduces height. */
dialog{overflow:hidden;padding:16px;max-height:90vh;max-height:90dvh}
#editForm{display:flex;flex-direction:column;max-height:calc(90vh - 34px);max-height:calc(90dvh - 34px);min-width:0}
#formTitle{flex:none;margin:4px 0 14px;overflow-wrap:anywhere}
#fields{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:0 4px 4px}
#fields label{min-width:0}#fields input,#fields select,#fields textarea{min-width:0}
#editForm>.actions{flex:none;position:relative;padding-top:12px;border-top:1px solid var(--line);margin-top:12px;background:#fff}
body:has(dialog[open]){overflow:hidden}
#dialogFeedback:not(:empty){flex:none;max-height:20vh;overflow:auto;padding:10px;background:#fff0ed;border:1px solid #c57b6c;border-radius:8px}
@media(max-width:600px){#rows>.actions>label{flex:1 1 140px;min-width:0}#editForm>.actions>button{flex:1 1 40%}}
.section-hint{padding:12px 16px;border-left:4px solid #176e83;background:#edf6f9;border-radius:6px;line-height:1.55}
.quick-guide li{margin:12px 0}.visit-summary{text-align:left;max-width:none}.visit-state{font-size:19px;padding:10px 14px;border-radius:8px;background:#e8eff3}.visit-address{font-size:18px;font-weight:700}
.asset-briefing:empty{display:none}
#navigation button{min-height:44px}#navigation button[data-page=calendar],#navigation button[data-page=clients]{font-weight:750}
@media(max-width:600px){#navigation{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}#navigation button{font-size:13px;padding:8px 5px;min-height:48px;overflow-wrap:anywhere}.visit-summary{padding:14px}.visit-address{font-size:17px}}

/* Primary call action in reminders and saved contact dates. */
a.reminder-call-tile{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:52px;min-width:150px;padding:14px 22px;margin:6px 6px 6px 0;border:1px solid #176044;border-radius:12px;background:#176044;color:#fff;font-weight:700;text-decoration:none;text-align:center;line-height:1.3}
a.reminder-call-tile:hover{background:#114a34}
a.reminder-call-tile:focus-visible{outline:3px solid #176e83;outline-offset:3px}

/* Reminder workspace: date range, progress and readable customer cards. */
.reminder-hero{padding:22px;border-radius:18px;background:#eef6f4;border:1px solid #d1e4dd;margin-bottom:18px}.reminder-hero h2{margin:0 0 8px}.reminder-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0}.reminder-filters label{display:grid;gap:6px;flex:1 1 170px;font-weight:600}.reminder-filters input{width:100%;box-sizing:border-box;min-height:46px}.reminder-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.reminder-summary button{min-height:65px;font-weight:700;border-radius:14px}.reminder-summary button[aria-pressed=true]{background:#176044;color:white;border-color:#176044}.reminder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;align-items:start}.reminder-client-card{padding:20px!important;border:1px solid #d6e2df!important;border-radius:18px!important;background:white;box-shadow:0 4px 16px #17382b09;min-width:0;overflow-wrap:anywhere}.reminder-client-card h3{font-size:1.2rem;margin:16px 0 10px}.reminder-client-card p{margin:10px 0}.reminder-badge{display:inline-block;padding:7px 11px;border-radius:9px;background:#f1f3f5;color:#414d58;font-size:.9rem}.reminder-state-ready,.reminder-state-called{background:#fff0cf;color:#744c00}.reminder-state-sent{background:#dff3e9;color:#145b3b}.reminder-client-card .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.reminder-client-card .actions>*{margin:0}.reminder-message{margin:16px 0}.reminder-message textarea{box-sizing:border-box;width:100%;margin-top:10px}.reminder-sms{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;background:#eef3fb;border:1px solid #bccfe8;border-radius:12px;font-weight:700;text-decoration:none;color:#164475}.reminder-hint{font-size:.9rem;color:#53636a}.reminder-settings{margin-top:24px;padding:16px;border:1px solid #d6e2df;border-radius:14px} .reminder-client-card summary,.reminder-settings summary{cursor:pointer;padding:8px 0;font-weight:600}
@media(max-width:600px){.reminder-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.reminder-hero{padding:16px}.reminder-client-card{padding:16px!important}.reminder-client-card .actions>*{flex:1 1 140px;text-align:center}.reminder-filters>button{width:100%}}

/* Tentative slots stay legible; service colors do not imply confirmation. */
.cv-event[data-status="tentative"],.cv-month-event[data-status="tentative"]{background:#f0f1f3!important;color:#29323d!important;border:2px dashed #77818d!important;--cv-color:#66717f;--cv-bg:#f0f1f3}
.cv-event[data-status="tentative"] .cv-status,.cv-month-event[data-status="tentative"] .cv-status{background:#dce1e7;color:#29323d}
.area-entry,.area-plans{margin:18px 0;padding:16px;background:#f6f8fa;border:1px solid #dbe3eb;border-radius:12px}
.area-plan-person,.area-hold{padding:14px 0;border-bottom:1px solid #dbe3eb}.area-plan-person small{display:block}.area-hold{margin:10px 0}.area-entry input[type=checkbox],.reminder-client-card input[type=checkbox],.reminder-hero input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:8px}.area-entry .actions,.area-plans .actions{display:flex;flex-wrap:wrap;gap:8px}
