:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#2e3c52;background:#f4f7fa;font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:#1589b7;text-decoration:none}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:12px 18px;background:#2099cd;color:#fff;font-weight:600;cursor:pointer;line-height:1.3}button:disabled{opacity:.55;cursor:wait}.secondary{background:#edf6fb;color:#167a9f;border-color:#dbeaf2}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid #2199cc;outline-offset:3px}.portal-header{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1280px;margin:20px auto;padding:18px 26px;background:white;border:1px solid #e4ebf2;border-radius:16px}.portal-brand{font-size:27px;font-weight:750;color:#3f4b5b}.portal-brand>span{color:#2099cd}.portal-brand small{display:block;font-size:12px;font-weight:500;letter-spacing:1px;color:#75859a}.portal-account{display:flex;align-items:center;gap:20px;font-size:14px}.portal-account small{display:block;color:#77869a;margin-top:4px}.portal-main{max-width:1280px;margin:36px auto;padding:0 12px}.portal-card{background:#fff;border:1px solid #e1e9f0;border-radius:16px;padding:26px;margin-bottom:24px;min-width:0}.login-card{max-width:460px;margin:70px auto}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1px;color:#168cb9}h1{font-size:30px;line-height:1.25;letter-spacing:-.6px;margin:12px 0}h2{font-size:19px;margin:0 0 22px}p{line-height:1.7;color:#708095}.stack{display:grid;gap:18px;margin-top:24px}label{display:grid;gap:8px;font-size:14px;color:#42536b}input,select,textarea{width:100%;min-width:0;padding:12px;border:1px solid #d9e4ed;border-radius:9px;background:#f9fbfd;color:#2e3c52}small,.muted{font-size:13px;font-weight:400;color:#75869a;line-height:1.6}td small{display:block;margin-top:5px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.page-heading p{margin:8px 0}.filters{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr auto;gap:14px;align-items:end}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;white-space:nowrap;color:#78889b;font-weight:500;padding:14px 12px;background:#f8fafc}td{padding:18px 12px;border-top:1px solid #edf1f6;line-height:1.5;min-width:110px}.status{display:inline-block;white-space:nowrap;font-size:12px;font-weight:600;border-radius:8px;padding:6px 10px;background:#eef2f6;color:#617082}.status-created{background:#e6f5ed;color:#22794c}.status-unreachable{background:#fff4dc;color:#976806}.status-invalid{background:#fceeed;color:#a94d47}.status-pending{background:#eaf4fc;color:#217ca5}.notice{padding:14px 18px;border:1px solid #d4e5f0;border-radius:10px;background:#eff7fc;color:#356e90;margin:16px 0}.notice.error{background:#fff3f1;border-color:#f4d7d1;color:#a34840}.notice.success{background:#eaf8f0;border-color:#cce9d9;color:#22764c}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:24px;font-size:14px}.empty{text-align:center;padding:30px;color:#8291a2}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.info-grid dt{font-size:13px;color:#8190a1;margin-bottom:8px}.info-grid dd{margin:0;line-height:1.6;overflow-wrap:anywhere}.history{list-style:none;padding:0;margin:0}.history li{padding:18px 0;border-bottom:1px solid #edf1f5}.history small{display:block;margin-top:6px}.history p{margin:8px 0 0}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.portal-footer{text-align:center;color:#8b98a6;font-size:12px;margin:35px}.back{display:inline-block;margin-bottom:20px}[hidden]{display:none!important}
.status-picker{border:0;padding:0;margin:0;min-width:0}.status-picker legend{font-size:14px;color:#42536b;padding:0;margin-bottom:12px}.status-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.status-option{position:relative;cursor:pointer;--choice-color:#217ca5;--choice-bg:#eef8fd}.status-option-created{--choice-color:#22794c;--choice-bg:#edf8f2}.status-option-invalid{--choice-color:#aa514b;--choice-bg:#fff4f2}.status-option-unreachable{--choice-color:#916408;--choice-bg:#fff8e9}.status-option input{position:absolute;width:1px;height:1px;opacity:0;padding:0;margin:0}.status-choice{display:flex;align-items:center;gap:10px;min-height:100px;padding:15px 12px;border:1px solid #dfe8f0;border-radius:13px;background:#fff;transition:background .18s,border-color .18s,box-shadow .18s}.status-choice-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:var(--choice-bg);color:var(--choice-color)}.status-choice-copy{flex:1;min-width:0}.status-choice-copy strong{display:block;font-size:14px;line-height:1.4;font-weight:650}.status-choice-copy small{display:block;font-size:12px;line-height:1.5;margin-top:5px}.status-choice-check{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border:1px solid #cedbe6;border-radius:50%;color:transparent}.status-option:hover .status-choice{border-color:var(--choice-color)}.status-option input:checked+.status-choice{background:var(--choice-bg);border-color:var(--choice-color);box-shadow:0 0 0 1px var(--choice-color)}.status-option input:checked+.status-choice .status-choice-check{background:var(--choice-color);border-color:var(--choice-color);color:white}.status-option input:focus-visible+.status-choice{outline:3px solid #2199cc;outline-offset:3px}@media(prefers-reduced-motion:reduce){.status-choice{transition:none}}
@media(max-width:1000px){.portal-header{margin:12px}.filters{grid-template-columns:1fr 1fr}.detail-layout{grid-template-columns:1fr}.portal-main{margin-top:24px}}@media(max-width:560px){.portal-header{padding:16px;align-items:flex-start}.portal-brand{font-size:23px}.portal-account{align-items:flex-end;flex-direction:column;gap:8px;text-align:right;font-size:12px}.portal-account button{padding:8px 12px}.portal-card{padding:20px 16px}.login-card{margin:35px auto}h1{font-size:25px}.filters{grid-template-columns:1fr}.page-heading{align-items:flex-start}.page-heading>.button{padding:10px}.info-grid{grid-template-columns:1fr}.pagination{justify-content:space-between;font-size:12px}.status-options{grid-template-columns:1fr}.status-choice{min-height:78px;padding:13px 15px}}
.confirmed-field{display:grid;gap:12px;min-width:0}.booking-datetime{border:1px solid #dce8f0;border-radius:15px;background:#fff;overflow:hidden}.booking-calendar{padding:16px}.booking-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.booking-calendar-head strong{font-size:15px;text-transform:capitalize}.booking-calendar-head button{width:36px;height:36px;padding:0;background:#edf7fc;color:#1686b3;font-size:25px;border-radius:10px}.booking-weekdays,.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.booking-weekdays{font-size:12px;color:#8291a2;margin-bottom:8px}.booking-days button{min-width:0;height:39px;padding:0;border-radius:10px;background:transparent;color:#42536b;font-size:14px;font-weight:500}.booking-days button:hover{background:#edf7fc;color:#1286b4}.booking-days button[aria-current=date]{border-color:#9acfe5;color:#138bb9}.booking-days button[aria-pressed=true]{background:#2099cd;border-color:#2099cd;color:#fff;box-shadow:0 3px 8px #2099cd25;font-weight:700}.booking-today{background:transparent;color:#1686b3;font-size:13px;padding:8px 10px;margin-top:10px}.booking-time{padding:18px;background:#f4f9fc;border-top:1px solid #e0edf4}.booking-time>strong{font-size:14px}.booking-time-row{display:flex;gap:14px;margin:12px 0 8px}.booking-time-row label{flex:1;max-width:130px;font-size:12px}.booking-time-row input{font-size:23px;font-weight:650;letter-spacing:1px;background:#fff;text-align:center;padding:10px}.booking-summary{margin:14px 0 0;font-size:14px;color:#167da5;font-weight:600}.booking-error{margin:10px 0 0;font-size:13px;color:#a34840}.booking-native-source{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;opacity:0;pointer-events:none}@media(max-width:380px){.booking-calendar{padding:12px}.booking-weekdays,.booking-days{gap:3px}.booking-days button{height:35px}}
/* Follow-up rows share the status palette; text labels remain visible. */
.followup-row{--row-bg:#f0f7fd;--row-hover:#e5f1fb;--row-accent:#429ac8}
.followup-row-created{--row-bg:#eef8f2;--row-hover:#e1f2e8;--row-accent:#44956b}
.followup-row-unreachable{--row-bg:#fff9ed;--row-hover:#fff2d8;--row-accent:#d4a33c}
.followup-row-invalid{--row-bg:#fff3f1;--row-hover:#fce7e3;--row-accent:#cb746a}
.followup-row>td{background:var(--row-bg);border-top:3px solid #fff}
.followup-row>td:first-child{box-shadow:inset 3px 0 var(--row-accent)}
.followup-row:hover>td,.followup-row:focus-within>td{background:var(--row-hover)}
.followup-row td small{color:#63758b}
.followup-row .button.secondary{background:#ffffffd9;border-color:#d5e3eb}
.followup-row .button.secondary:hover{background:#fff;border-color:var(--row-accent)}
.sms-confirm-dialog{position:fixed;inset:0;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;border:1px solid #dce8f1;border-radius:20px;padding:28px;background:#fff;color:#2e3c52;box-shadow:0 24px 90px #20354b40;z-index:100}.sms-confirm-dialog::backdrop{background:#20354b75;backdrop-filter:blur(3px)}.sms-confirm-dialog h2{margin:12px 0;font-size:23px}.sms-confirm-dialog blockquote{margin:20px 0;padding:20px;background:#eef7fc;border:1px solid #d6eaf5;border-radius:13px;color:#285875;font-size:15px;line-height:1.8}.sms-confirm-actions{display:flex;justify-content:flex-end;gap:12px}.sms-result-submitted{color:#22794c}.sms-result-queued,.sms-result-sending,.sms-result-unconfirmed{color:#a36c14}@media(max-width:560px){.sms-confirm-dialog{padding:22px}.sms-confirm-actions{flex-direction:column-reverse}.sms-confirm-actions button{width:100%}}
