:root {
  --deep: #0e3035;
  --cream: #f7f3ec;
  --paper: #fffdf9;
  --coral: #a94835;
  --muted: #596a6d;
  --line: #dedbd2;
  --card-radius: 14px;
  --card-border: #d8e1dc;
  --card-shadow: 0 8px 28px rgba(14, 48, 53, 0.08);
  --card-shadow-hover: 0 16px 38px rgba(14, 48, 53, 0.13);
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--cream);
  color: var(--deep);
  font-family: Inter, Arial, sans-serif;
}
.auth {
  min-height: 100vh;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  gap:clamp(42px,8vw,130px);
  align-items:center;
  padding:38px max(6vw,28px);
  background:radial-gradient(circle at 12% 15%,#e6f0ea 0,transparent 28%),linear-gradient(135deg,#f8f5ef 0%,#edf3ef 100%);
}
.brand {
  display: flex;
  gap: 10px;
  align-items: center;
  color: var(--deep);
  text-decoration: none;
  font:
    700 24px Georgia,
    serif;
}
.brand i {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid var(--coral);
  border-radius: 50%;
  color: var(--coral);
}
.card {
  width: min(520px, 100%);
  margin:72px 0 20px;
  background: var(--paper);
  padding: 52px;
  border:1px solid var(--card-border);
  border-radius:18px;
  box-shadow:0 20px 55px rgba(14,48,53,.14);
}
.eyebrow {
  color: var(--coral);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 10px;
  font-weight: 800;
}
.card h1 {
  font:
    500 54px Georgia,
    serif;
  margin: 14px 0;
}
.card > p {
  color: var(--muted);
  line-height: 1.6;
}
label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  margin: 18px 0;
}
input,
textarea,
select {
  display: block;
  width: 100%;
  margin-top: 7px;
  padding: 13px;
  border: 1px solid var(--line);
  background: white;
}
button {
  border: 0;
  background: var(--coral);
  color: white;
  padding: 14px 20px;
  font-weight: 750;
  cursor: pointer;
  min-height: 44px;
}
form > button {
  width: 100%;
  margin-top: 10px;
}
.link {
  background: transparent;
  color: var(--coral);
  width: 100%;
}
.skip-link{position:fixed;top:8px;left:8px;z-index:10000;display:flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:6px;background:#fff;color:var(--deep);font-weight:800;transform:translateY(-160%)}.skip-link:focus{transform:none;outline:3px solid var(--coral);outline-offset:2px}.auth-help,.guide-help{font-size:13px;line-height:1.5}.auth-help a,.guide-help a{font-weight:800}.password-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.password-controls .password-toggle{width:auto;min-height:44px;padding:8px 0}.caps-lock-status{color:#8c3c2d;font-size:13px;font-weight:800}.guide-privacy,.ai-provider-disclosure{display:grid;gap:7px;margin-top:22px;padding:17px 19px;border-left:4px solid #4f827a;background:#eaf5f0;line-height:1.5}.guide-privacy span,.ai-provider-disclosure span{color:#405c59}.guide-authority{min-height:44px}.guide-complete blockquote{margin:24px 0;padding:18px 20px;border-left:4px solid #4f827a;background:#fff;white-space:pre-wrap;overflow-wrap:anywhere}.workspace-utility-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 12px;border:1px solid var(--line);border-top:0;background:#fbfcfa}.workspace-utility-nav button,.workspace-utility-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:0;background:transparent;color:#285f59;font-size:13px;font-weight:800;text-decoration:underline}.ai-provider-disclosure{margin:0 34px 20px}.ai-composer-disclosure{margin:0;padding-right:88px;color:var(--muted);font-size:12px;line-height:1.45}
.card:before{color:#a94835!important}
.timeline-open,.contact-card footer button,.document-preview-actions a,.document-card footer button,.document-card footer .document-open,.voice-card footer button,.voice-card footer .voice-download,.calendar-event button{min-height:44px!important}
#message {
  color: #9f4635;
}
.dash {
  width: min(1100px, 92vw);
  margin: auto;
}
.top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 25px 0;
  border-bottom: 1px solid var(--line);
}
.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 35px 0;
}
.panel {
  background: var(--paper);
  border:1px solid var(--card-border);
  border-radius:var(--card-radius);
  padding: 24px;
  box-shadow:var(--card-shadow);
}
.panel h2 {
  font:
    500 24px Georgia,
    serif;
}
.auth .brand { position:absolute; top:38px; }
.auth-intro{max-width:590px;padding:92px 0 36px}.auth-intro h2{margin:14px 0 18px;font:500 clamp(42px,5vw,70px)/1.04 Georgia,serif;letter-spacing:-.03em}.auth-intro>p:not(.eyebrow){max-width:52ch;color:#49615f;font-size:18px;line-height:1.65}.auth-intro ul{display:grid;gap:14px;list-style:none;margin:32px 0;padding:0}.auth-intro li{display:grid;grid-template-columns:1fr;gap:3px;padding:15px 18px;border-left:3px solid #d96d55;background:#ffffffa8}.auth-intro li b{font-size:15px}.auth-intro li span{color:var(--muted);font-size:14px;line-height:1.45}.auth-boundary{margin-top:28px!important;font-size:13px!important;color:#637573!important}.card:before{content:"A calm next step";display:block;color:#c65f4a;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
@media(max-width:850px){.auth{display:block;padding:26px 20px}.auth .brand{position:static}.auth-intro{padding:44px 0 12px}.auth-intro h2{font-size:42px}.auth-intro ul{display:none}.card{margin:28px auto 42px;padding:30px 26px}}
.guide-shell{max-width:920px;margin:38px auto 84px;padding:0 18px}.guide-card{position:relative;overflow:hidden;padding:clamp(34px,6vw,72px);border:1px solid #d5e1db;border-radius:22px;background:linear-gradient(145deg,#fffdf9 0%,#f5faf6 100%);box-shadow:0 24px 60px rgba(14,48,53,.11)}.guide-card:before{content:"";position:absolute;inset:0 0 auto;height:10px;background:linear-gradient(90deg,#d96d55,#eab087,#5f9287)}.guide-card h1{max-width:18ch;font:500 clamp(42px,6vw,68px)/1.02 Georgia,serif;margin:18px 0 20px;letter-spacing:-.035em}.guide-card h1:focus{outline:0}.guide-intro{max-width:60ch;color:#48615e;font-size:18px;line-height:1.7}.guide-card fieldset{border:0;padding:0;margin:38px 0}.guide-card legend{font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}.guide-card fieldset>label,.guide-choices label{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:14px;padding:20px;border:1px solid #cddbd4;border-radius:13px;background:#fff;box-shadow:0 4px 12px rgba(14,48,53,.035);transition:.18s ease}.guide-card fieldset>label:hover,.guide-choices label:hover{transform:translateY(-2px);border-color:#4f827a;box-shadow:0 10px 20px rgba(14,48,53,.09)}.guide-card fieldset input,.guide-choices input{width:auto;margin:4px 0 0;accent-color:#c65f4a}.guide-card small{display:block;color:var(--muted);font-weight:400;line-height:1.5;margin-top:5px}.guide-choices{display:grid;gap:12px;margin-top:28px}.guide-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.guide-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:38px;padding-top:24px;border-top:1px solid #dfe8e2}.guide-actions button{width:auto;border-radius:7px;box-shadow:0 6px 12px rgba(169,72,53,.18)}.guide-actions .secondary,.guide-skip{background:#edf4f1;color:var(--deep);border:1px solid #9ab9b1;box-shadow:none}.guide-skip{display:block;margin:22px auto 0;padding:8px 12px;background:transparent;border:0;text-decoration:underline}.guide-ai{margin-top:26px;padding:22px;border-left:4px solid #4f827a;border-radius:0 12px 12px 0;background:#eaf5f0}.guide-ai h2{margin-top:0}.guide-ai p,.guide-ai span{color:#48615e;line-height:1.55}.optional{color:var(--muted);font-weight:400}
.guide-account{margin-top:24px;padding:16px;border:1px solid var(--card-border);border-radius:10px;background:#f7faf8}.guide-account summary{cursor:pointer;font-weight:800}.guide-account p{color:var(--muted);line-height:1.5}
.guide-card-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);gap:clamp(28px,4vw,58px);align-items:stretch}.guide-card-visual .guide-content{min-width:0}.guide-card-visual .guide-photo{min-height:100%;margin:0;border-radius:16px;overflow:hidden;background:#e7ece7}.guide-card-visual .guide-photo img{display:block;width:100%;height:100%;min-height:530px;object-fit:cover;object-position:68% center}.guide-card fieldset>label{grid-template-columns:22px 40px minmax(0,1fr);grid-template-areas:"choice icon title" "choice icon detail";min-height:84px;padding:18px 20px}.guide-card fieldset>label input{grid-area:choice;margin:5px 0 0}.guide-choice-icon{grid-area:icon;display:grid;place-items:center;width:34px;height:34px;margin-top:1px;border-radius:50%;background:#eaf4f0;color:#2f6d65}.guide-choice-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.guide-card fieldset>label strong{grid-area:title;align-self:end;font-size:16px}.guide-card fieldset>label small{grid-area:detail;align-self:start;margin-top:5px}@media(max-width:760px){.guide-card-visual{display:block}.guide-card-visual .guide-photo{display:none}.guide-card fieldset>label{grid-template-columns:22px 36px minmax(0,1fr);padding:16px}}
.next-steps-board{display:grid;gap:16px}.next-step-group h2{margin-top:0}.next-step-group{display:grid;gap:8px}.next-step-item{display:grid;gap:4px;width:100%;padding:15px;text-align:left;background:#fff;color:var(--deep);border:1px solid var(--card-border);border-left:4px solid #4f827a}.next-step-item:hover{background:#f2f7f5}.next-step-item span{color:#47716a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.next-step-item small{color:var(--muted)}
.starting-point-bridge{display:grid;gap:8px;margin-top:20px;padding:16px 18px;border-left:4px solid #4f827a;border-radius:0 10px 10px 0;background:#eef6f2}.starting-point-bridge strong{font-size:16px}.starting-point-bridge p{margin:0;color:#48615e;line-height:1.5}.starting-point-bridge button{justify-self:start}
.timeline-panel {
  display: grid;
  gap: 14px;
}
.timeline-item {
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: 1px solid var(--card-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(14, 48, 53, 0.06);
}
.timeline-rail {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 8px;
  padding: 18px 26px 0;
  background: transparent;
}
.timeline-rail time {
  color: #637773;
  font-size: 12px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.timeline-type {
  display: inline-flex;
  width: max-content;
  max-width: none;
  padding: 6px 9px;
  border-radius: 999px;
  background: #edf4f1;
  color: #25625a;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}
.timeline-type.appointment { background: #eef3f2; color: #195553; }
.timeline-type.communication { background: #fff0eb; color: #a3462e; }
.timeline-type.document { background: #f0eafa; color: #624585; }
.timeline-type.contact { background: #edf4f1; color: #25625a; }
.timeline-type.voice_memo { background: #fff4e8; color: #986132; }
.timeline-body {
  min-width: 0;
  padding: 10px 26px 23px;
}
.timeline-body header h3 {
  margin: 0;
  color: var(--deep);
  font: 700 23px/1.2 Georgia, serif;
}
.timeline-meta {
  margin: 6px 0 0;
  color: #61716f;
  font-size: 13px;
  line-height: 1.45;
}
.timeline-summary {
  margin: 15px 0 0;
  color: #294945;
  font-size: 15px;
  line-height: 1.55;
}
.timeline-details {
  display: grid;
  gap: 10px;
  margin-top: 17px;
}
.timeline-detail {
  padding: 13px 15px;
  border: 1px solid #e4e9e5;
  border-left: 4px solid #4f827a;
  border-radius: 9px;
  background: #f5f9f7;
}
.timeline-detail.concern { border-color: #ed735b; background: #fff5f2; }
.timeline-detail.commitment { border-left-color: #a77834; background: #fff9ee; }
.timeline-detail b {
  display: block;
  color: #294945;
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.timeline-detail p {
  margin: 6px 0 0;
  color: #294945;
  font-size: 14px;
  line-height: 1.5;
}
.timeline-body footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #e6e9e5;
}
.timeline-follow-up {
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 2px 8px;
  color: #5d4b23;
}
.timeline-follow-up span {
  grid-row: 1 / span 2;
  padding: 6px 9px;
  border-radius: 999px;
  background: #fff0c9;
  color: #765c1b;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.timeline-follow-up strong { font-size: 13px; }
.timeline-follow-up small { color: #6d726e; font-size: 11px; text-transform: capitalize; }
.timeline-open {
  min-width: 148px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--coral);
  border-radius: 8px;
  background: var(--coral);
  color: #fff;
}
.timeline-open:hover,
.timeline-open:focus-visible {
  background: #d85f49;
  outline: 2px solid #6f9f95;
  outline-offset: 2px;
}
.panel form {
  display: grid;
  gap: 8px;
}
.list {
  margin-top: 18px;
}
.item {
  padding:16px;
  border:1px solid var(--card-border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 15px rgba(14,48,53,.055);
  margin-top:12px;
  font-size: 13px;
}
.contact-list { display:grid; gap:14px; }
.contact-list>.contact-card { padding:18px; border:1px solid var(--card-border); border-radius:12px; background:#fff; box-shadow:0 5px 18px rgba(14,48,53,.06); }
.contact-card header { display:flex; align-items:center; gap:12px; padding-bottom:14px; border-bottom:1px solid #e4e9e5; }
.contact-card header>div { min-width:0; }
.contact-card h2 { margin:0; font:800 15px/1.3 Inter,Arial,sans-serif; color:var(--deep); }
.contact-card header p { margin:3px 0 0; color:var(--muted); font-size:11px; font-weight:600; }
.contact-avatar { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:50%; background:#dfeee8; color:#28645e; font-size:13px; font-weight:900; }
.contact-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:14px 0 0; }
.contact-card dl>div { min-width:0; padding:12px 14px; border:1px solid #e1e7e3; border-radius:8px; background:#fafbf9; }
.contact-card dt,.contact-card section>span { color:#74827f; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.contact-card dd { margin:5px 0 0; color:#274946; font-size:12px; font-weight:700; overflow-wrap:anywhere; }
.contact-card section { margin-top:10px; padding:13px 14px; border-left:4px solid #477c73; border-radius:0 8px 8px 0; background:#f1f7f4; }
.contact-card section p { margin:5px 0 0; color:#4f6260; font-size:12px; line-height:1.5; }
.contact-card footer { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; margin-top:14px; padding-top:13px; border-top:1px solid #e4e9e5; }
.contact-card footer button { min-height:40px; padding:8px 13px; border:1px solid #b8c7c1; border-radius:6px; background:#fff; color:var(--deep); font-size:11px; }
.contact-card footer button:hover,.contact-card footer button:focus-visible { border-color:#477c73; background:#edf5f1; outline:2px solid var(--coral); outline-offset:2px; }
.contact-card footer .danger { border-color:transparent; background:transparent; color:#963b33; }
.contact-card footer .danger:hover,.contact-card footer .danger:focus-visible { border-color:#d9a8a3; background:#fff0ee; color:#7b2d27; }
.document-list { display:grid; gap:14px; }
.document-artifact-preview { display:grid; gap:14px; }
.document-artifact-preview h2 { margin:0; color:var(--deep); }
.document-artifact-preview>div>p:last-child { margin-bottom:0; color:var(--muted); }
.document-artifact-preview iframe { width:100%; height:min(68vh,720px); border:1px solid #cbd8d3; border-radius:10px; background:#fff; }
.document-preview-actions { display:flex; gap:10px; flex-wrap:wrap; }
.document-preview-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 14px; border:1px solid #173f3e; border-radius:7px; background:#173f3e; color:#fff; font-weight:750; text-decoration:none; }
.document-preview-actions a:last-child { background:#fff; color:#173f3e; }
.document-preview-actions a:hover,.document-preview-actions a:focus-visible { outline:2px solid var(--coral); outline-offset:2px; }
.document-list>.document-card { padding:18px; border:1px solid var(--card-border); border-radius:12px; background:#fff; box-shadow:0 5px 18px rgba(14,48,53,.06); }
.document-card header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding-bottom:14px; border-bottom:1px solid #e4e9e5; }
.document-card header>div { min-width:0; }
.document-card h2 { overflow:hidden; margin:0; font:800 14px/1.3 Inter,Arial,sans-serif; color:var(--deep); text-overflow:ellipsis; white-space:nowrap; }
.document-card header p { margin:3px 0 0; color:var(--muted); font-size:11px; font-weight:600; }
.document-icon { display:grid; place-items:center; width:38px; height:38px; border:1px solid #bfd4cc; border-radius:8px; background:#edf6f2; color:#347068; font-size:8px; font-weight:900; letter-spacing:.06em; }
.document-status { width:max-content; max-width:180px; padding:5px 9px; border-radius:999px; background:#dff3e8; color:#24604e; font-size:9px; font-weight:900; line-height:1.3; text-align:center; text-transform:uppercase; }
.document-card dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0 0; }
.document-card dl>div { min-width:0; padding:12px 14px; border:1px solid #e1e7e3; border-radius:8px; background:#fafbf9; }
.document-card dt,.document-card section>span { color:#74827f; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.document-card dd { margin:5px 0 0; color:#274946; font-size:12px; font-weight:700; overflow-wrap:anywhere; }
.document-card section { margin-top:10px; padding:13px 14px; border-left:4px solid #5c7f9b; border-radius:0 8px 8px 0; background:#f1f6f9; }
.document-card section p { margin:5px 0 0; color:#4f6260; font-size:12px; line-height:1.5; }
.document-card footer { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; margin-top:14px; padding-top:13px; border-top:1px solid #e4e9e5; }
.document-card footer button,.document-card footer .document-open { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 13px; border:1px solid #b8c7c1; border-radius:6px; background:#fff; color:var(--deep); font-size:11px; font-weight:750; text-decoration:none; }
.document-card footer button:hover,.document-card footer button:focus-visible,.document-card footer .document-open:hover,.document-card footer .document-open:focus-visible { border-color:#477c73; background:#edf5f1; outline:2px solid var(--coral); outline-offset:2px; }
.document-card footer .document-open { margin-right:auto; border-color:#173f3e; background:#173f3e; color:#fff; }
.document-card footer .danger { border-color:transparent; background:transparent; color:#963b33; }
.document-card footer .danger:hover,.document-card footer .danger:focus-visible { border-color:#d9a8a3; background:#fff0ee; color:#7b2d27; }
.voice-list { display:grid; gap:14px; }
.voice-list>h2 { margin-bottom:0; }
.voice-list>.voice-card { padding:18px; border:1px solid var(--card-border); border-radius:12px; background:#fff; box-shadow:0 5px 18px rgba(14,48,53,.06); }
.voice-card header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding-bottom:14px; border-bottom:1px solid #e4e9e5; }
.voice-card header>div { min-width:0; }
.voice-card h3 { margin:0; font-size:14px; line-height:1.3; }
.voice-card header p { margin:3px 0 0; color:var(--muted); font-size:11px; font-weight:600; }
.voice-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#f4e8dc; color:#a75538; font-size:11px; }
.voice-duration { padding:5px 9px; border-radius:999px; background:#edf1ef; color:#405e5a; font-size:10px; font-weight:900; font-variant-numeric:tabular-nums; }
.voice-card .voice-player { margin-top:14px; padding:13px 14px; border:1px solid #e1e7e3; border-radius:9px; background:#fafbf9; }
.voice-card .voice-player>span,.voice-card section>span { display:block; color:#74827f; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.voice-card .voice-player audio { display:block; width:100%; height:40px; margin:9px 0 5px; }
.voice-card .voice-player small { color:#687875; font-size:10px; }
.voice-card section { margin-top:10px; padding:13px 14px; border-left:4px solid #b67251; border-radius:0 8px 8px 0; background:#fff6ed; }
.voice-card section p { margin:5px 0 0; color:#4f6260; font-size:12px; line-height:1.5; }
.voice-card footer { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; margin-top:14px; padding-top:13px; border-top:1px solid #e4e9e5; }
.voice-card footer button,.voice-card footer .voice-download { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 13px; border:1px solid #b8c7c1; border-radius:6px; background:#fff; color:var(--deep); font-size:11px; font-weight:750; text-decoration:none; }
.voice-card footer button:hover,.voice-card footer button:focus-visible,.voice-card footer .voice-download:hover,.voice-card footer .voice-download:focus-visible { border-color:#477c73; background:#edf5f1; outline:2px solid var(--coral); outline-offset:2px; }
.voice-card footer .voice-download { margin-right:auto; border-color:#173f3e; background:#173f3e; color:#fff; }
.voice-card footer .danger { border-color:transparent; background:transparent; color:#963b33; }
.voice-card footer .danger:hover,.voice-card footer .danger:focus-visible { border-color:#d9a8a3; background:#fff0ee; color:#7b2d27; }
@media (max-width: 700px) {
  .card {
    padding: 30px;
  }
  .grid {
    grid-template-columns: 1fr;
  }
  .timeline-rail {
    padding: 14px 16px;
  }
  .timeline-body {
    padding: 18px 16px;
  }
  .timeline-body header h3 {
    font-size: 20px;
  }
  .timeline-body footer,
  .timeline-open {
    width: 100%;
  }
  .card h1 {
    font-size: 42px;
  }
  .contact-card dl { grid-template-columns:1fr; }
  .contact-card footer { justify-content:stretch; }
  .contact-card footer button { flex:1 1 145px; }
  .document-card header { grid-template-columns:auto minmax(0,1fr); }
  .document-card header .document-status { grid-column:2; }
  .document-card dl { grid-template-columns:1fr; }
  .document-card footer { justify-content:stretch; }
  .document-card footer button,.document-card footer .document-open { flex:1 1 145px; margin-right:0; }
  .document-artifact-preview iframe { height:58vh; min-height:420px; }
  .document-preview-actions a { flex:1 1 145px; }
  .voice-card header { grid-template-columns:auto minmax(0,1fr); }
  .voice-card header .voice-duration { grid-column:2; width:max-content; }
  .voice-card footer { justify-content:stretch; }
  .voice-card footer button,.voice-card footer .voice-download { flex:1 1 145px; margin-right:0; }
}
dialog {
  border: 0;
  border-radius: 18px;
  box-shadow: 0 24px 80px #102f3040;
  max-width: 560px;
  width: min(92vw, 560px);
  padding: 24px;
}
dialog::backdrop {
  background: #102f3077;
}
dialog form {
  display: grid;
  gap: 14px;
}
dialog label {
  display: grid;
  gap: 6px;
  font-weight: 700;
}
dialog textarea {
  min-height: 120px;
}
.dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
#global-error {
  position: fixed;
  z-index: 9999;
  right: 18px;
  bottom: 18px;
  max-width: min(440px, calc(100vw - 36px));
  background: #7a2020;
  color: #fff;
  padding: 14px 18px;
  border-radius: 12px;
  box-shadow: 0 12px 40px #0004;
}
#global-error[hidden] {
  display: none;
}
html {
  overflow-x: hidden;
}
body {
  overflow-wrap: anywhere;
}
.auth {
  min-height: 100svh;
  padding-inline: max(18px, 6vw);
}
.card {
  width: min(500px, 100%);
  padding: clamp(26px, 6vw, 52px);
  margin: clamp(36px, 10vh, 96px) auto;
}
.card h1 {
  font-size: clamp(40px, 8vw, 54px);
  line-height: 1.05;
}
.dash {
  width: min(1100px, calc(100% - 40px));
}
.brand {
  white-space: nowrap;
}
.brand i {
  flex: 0 0 32px;
}
input,
textarea,
select {
  max-width: 100%;
  font: inherit;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
textarea,
select {
  min-height: 44px;
}
input[type="checkbox"],
input[type="radio"] {
  display: inline-block;
  width: auto;
  margin: 0 8px 0 0;
  padding: 0;
  vertical-align: middle;
  accent-color: var(--coral);
}
button,
.action,
.return-link {
  min-height: 44px;
  font: inherit;
  font-size: 13px;
}
.top {
  gap: 16px;
  flex-wrap: wrap;
}
.top > div {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.account-menu{gap:12px!important}.account-summary{display:grid;justify-items:end;gap:1px;line-height:1.2;text-align:right}.account-summary .account-category{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#5d756f}.account-summary strong{font-size:13px;font-weight:700;color:var(--deep)}.account-summary small{font-size:12px;color:var(--muted)}
.billing-upgrade{display:grid;gap:9px;margin:22px 0;padding:18px 20px;border-left:4px solid #4f827a;border-radius:0 12px 12px 0;background:#eaf5f0}.billing-upgrade span{color:var(--muted);line-height:1.5}.billing-upgrade button{justify-self:start;width:auto}
.grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.panel,
.item,
.item > div {
  min-width: 0;
}
.panel {
  margin-bottom: 18px;
}
.item > div:last-child {
  flex-shrink: 0;
}
dialog {
  width: min(calc(100% - 28px), 560px);
  max-height: calc(100dvh - 28px);
  overflow: auto;
}
dialog label {
  margin: 0;
}
.calendar-controls,
.calendar-navigation,
.calendar-filter,
.calendar-modes,
.calendar-actions,
.form-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.calendar-controls { justify-content: space-between; }
.calendar-modes .active { background: var(--deep); color: #fff; }
.calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); border: 1px solid #ccd8d2; }
.calendar-day { min-height: 150px; padding: 9px; border-right: 1px solid #dce4df; border-bottom: 1px solid #dce4df; }
.calendar-day h3 { margin: 0 0 8px; font-size: 14px; }
.calendar-day.today { background: #edf8f4; box-shadow: inset 0 0 0 2px var(--coral); }
.calendar-event { display:grid; gap:4px; margin:7px 0; padding:10px; border:1px solid #dce5df; border-left:4px solid #477c73; border-radius:8px; background:#f8faf8; box-shadow:0 3px 10px rgba(14,48,53,.055); }
.calendar-event.communication { border-color: #d76b50; }
.calendar-event.followup { border-color: #927029; }
.calendar-event.overdue { border-color: #a2342c; background: #fff0ee; }
.calendar-event.status-cancelled,.calendar-event.status-rescheduled { opacity: .68; }
.calendar-event time,.calendar-event span,.calendar-event small { font-size: 12px; }
.calendar-event p { margin: 3px 0; }
.calendar-event button { min-height: 34px; padding: 5px 8px; }
.calendar-agenda section { margin-bottom: 24px; }
.calendar-agenda .calendar-event { grid-template-columns: minmax(130px,.35fr) 1fr; }
.appointment-editor[hidden] { display: none; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.form-grid label { display: grid; gap: 5px; }
.form-grid .wide { grid-column: 1/-1; }
.form-grid .check { display: flex; align-items: center; }
.form-intro { margin: 0 0 14px; color: #48615c; }
.form-disclosure { margin-top: 14px; border-top: 1px solid #dce4df; padding-top: 12px; }
.form-disclosure > summary { cursor: pointer; font-weight: 700; color: var(--deep); }
.form-disclosure .form-grid { margin-top: 12px; }
.form-actions { margin-top: 16px; }
.calendar-results { overflow-x: auto; }
.dialog-actions {
  flex-wrap: wrap;
}
.dialog-actions button {
  min-width: 100px;
}
@media (max-width: 700px) {
  .auth {
    padding: 24px 18px;
  }
  .dash {
    width: min(calc(100% - 28px), 1100px);
  }
  .card {
    box-shadow: 8px 8px 0 #dce6e0;
  }
  .panel {
    padding: 18px;
  }
  .top {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 12px;
  }
  .top > .workspace-picker {
    grid-column: 1/-1;
    grid-row: 2;
    width: 100%;
  }
  .top > .workspace-picker select {
    max-width: none;
  }
  .top > #new-care-record {
    grid-column: 1/-1;
  }
  .top > div {
    font-size: 12px;
  }
  .top .account-category {
    width: 100%;
  }
  .account-summary{justify-items:end}
  .calendar-controls,.calendar-navigation,.calendar-filter { align-items: stretch; }
  .calendar-filter > * { flex: 1 1 100%; }
  .calendar-grid { min-width: 720px; }
  .calendar-agenda .calendar-event,.form-grid { grid-template-columns: 1fr; }
  .form-grid .wide { grid-column: auto; }
}
@media (max-width: 420px) {
  .top {
    grid-template-columns: 1fr;
  }
  .top > div {
    justify-content: flex-start;
    text-align: left;
  }
  .account-summary{justify-items:start;text-align:left}
  .brand {
    font-size: 20px;
  }
  .dialog-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .dialog-actions button {
    min-width: 0;
  }
  .card {
    padding: 24px 20px;
  }
  .panel {
    padding: 16px;
  }
}
/* Email conversations keep the original text easy to read before a user adds notes. */
.email-review,
.source-email {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid var(--line, #d7e1de);
  border-radius: 0.8rem;
  background: #f6faf8;
}
.email-review dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.75rem;
}
.email-review dt { font-weight: 700; color: #365851; }
.email-review dd { margin: 0.2rem 0 0; overflow-wrap: anywhere; }
.email-review pre,
.source-email pre {
  max-height: 28rem;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  padding: 0.9rem;
  border-radius: 0.6rem;
  background: #fff;
  color: #173d37;
  font: inherit;
  line-height: 1.55;
}
.email-review fieldset { margin-top: 1rem; }
.recognized-text-dialog { width: min(52rem, calc(100vw - 2rem)); }
.recognized-text-dialog h2 { margin-top: 0; }
.recognized-text-dialog pre { max-height: 60vh; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; padding: 0.9rem; border-radius: 0.6rem; background: #f6faf8; color: #173d37; font: inherit; line-height: 1.55; }
.email-review fieldset label { display: block; margin: 0.6rem 0; }
.email-review-expiry {
  margin: 0.8rem 0 0;
  padding: 0.7rem 0.8rem;
  border-left: 3px solid #b8793d;
  background: #fff8e9;
  color: #664c2d;
  line-height: 1.45;
}
.field-help { color: #58706a; margin-top: 0; }
.email-import-panel {
  max-width: 900px;
}
.email-import-panel form > label {
  display: grid;
  gap: 0.45rem;
  font-weight: 700;
}
.email-import-panel input[type="file"] {
  padding: 0.75rem;
  border: 1px dashed #91aaa1;
  border-radius: 0.65rem;
  background: #fbfdfb;
}
.email-source-divider {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0.85rem 0;
  color: #6a7e79;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.email-source-divider::before,
.email-source-divider::after {
  content: "";
  height: 1px;
  flex: 1;
  background: var(--line, #d7e1de);
}
#email-file-guidance {
  margin: 0.6rem 0;
  line-height: 1.55;
}
.email-conversation-list {
  display: grid;
  gap: 1rem;
}
.email-conversation-message > header {
  padding-bottom: 0.8rem;
  border-bottom: 1px solid var(--line, #d7e1de);
}
.email-conversation-message > header h2 {
  margin: 0.2rem 0;
}
.source-email > h3 {
  margin: 0 0 0.65rem;
}
.source-email .email-attachments {
  margin-bottom: 0;
}
.email-quoted-history,
.email-signature,
.email-full-original {
  margin-top: 0.75rem;
  border-top: 1px solid #d7e1de;
  padding-top: 0.75rem;
}
.email-quoted-history summary,
.email-signature summary,
.email-full-original summary {
  cursor: pointer;
  color: #315d55;
  font-weight: 750;
}
.email-quoted-history p,
.email-signature p,
.email-full-original p {
  margin: 0.65rem 0 0;
  color: #526c67;
  line-height: 1.5;
}
#email-file-guidance strong {
  color: #274f49;
}
.email-file-summary {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin: 0.75rem 0;
  padding: 0.9rem 1rem;
  border: 1px solid #b8cfc6;
  border-radius: 0.7rem;
  background: #edf7f3;
}
.email-file-summary[hidden] {
  display: none;
}
.email-file-summary > span:last-child {
  min-width: 0;
}
.email-file-summary strong,
.email-file-summary small {
  overflow-wrap: anywhere;
}
.email-file-summary small {
  color: #4d6b65;
}
.email-file-icon,
.email-attachment-icon {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 2.5rem;
  min-height: 2.5rem;
  border-radius: 0.55rem;
  background: #d9ebe4;
  color: #28584f;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.05em;
}
.email-file-rules {
  margin: 0.85rem 0 1rem;
  padding: 0.8rem 0.95rem;
  border: 1px solid var(--line, #d7e1de);
  border-radius: 0.65rem;
  background: #fbfcfa;
}
.email-file-rules summary {
  cursor: pointer;
  color: #315d55;
  font-weight: 750;
}
.email-file-rules p {
  margin: 0.7rem 0 0;
  color: #526c67;
  line-height: 1.55;
}
.email-import-panel .privacy-note {
  margin: 1rem 0;
  line-height: 1.55;
}
.email-import-panel .privacy-note strong {
  display: block;
  margin-bottom: 0.2rem;
  color: #315c54;
}
.email-import-panel button:disabled {
  cursor: wait;
  opacity: 0.65;
}
.email-upload-progress {
  display: grid;
  grid-template-columns: minmax(10rem, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  margin: 0.8rem 0;
  padding: 0.75rem 0.9rem;
  border-radius: 0.65rem;
  background: #edf5f0;
  color: #315b54;
  font-size: 0.85rem;
  font-weight: 700;
}
.email-upload-progress[hidden] {
  display: none;
}
.email-upload-progress progress {
  width: 100%;
  accent-color: #4f827a;
}
#email-import-message {
  min-height: 1.25rem;
  color: #8b372d;
}
.email-attachments {
  margin: 1rem 0;
  padding: 0.9rem;
  border: 1px solid #cbdad4;
  border-radius: 0.7rem;
  background: #fff;
}
.email-attachments-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.65rem;
}
.email-attachments-head h3 {
  margin: 0;
  font-size: 1rem;
}
.email-attachments-head > span {
  color: #5b726d;
  font-size: 0.78rem;
  font-weight: 750;
}
.email-attachments ul {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.email-attachments li {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
  padding: 0.65rem;
  border-radius: 0.55rem;
  background: #f5f9f7;
}
.email-attachments li > span:last-child {
  min-width: 0;
}
.email-attachments b,
.email-attachments a,
.email-attachments small {
  overflow-wrap: anywhere;
}
.email-attachments a {
  color: #245d55;
  font-weight: 750;
}
.email-attachments small {
  color: #58706a;
}
.email-attachments-empty {
  margin: 0;
  color: #60746f;
}
.document-recognition-detail {
  margin: 0.85rem 0;
  padding: 0.7rem 0.8rem;
  border-left: 3px solid #789c95;
  background: #f5f9f7;
  color: #476560;
  line-height: 1.45;
}
@media (max-width: 600px) {
  .email-upload-progress {
    grid-template-columns: 1fr;
  }
  .email-upload-progress span {
    text-align: left;
  }
}
.ai-access-panel{max-width:850px}.ai-access-panel h2{margin-top:0}.ai-access-scope{margin:24px 0;padding:20px 22px;border:1px solid #cddbd4;border-radius:12px;background:#f5faf7}.ai-access-scope h3{margin:0 0 10px}.ai-access-scope ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0 0 14px;padding-left:20px}.ai-access-scope p,.ai-access-meta{color:var(--muted);line-height:1.55}.ai-access-panel form{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;padding-top:22px;border-top:1px solid var(--card-border)}.ai-access-panel form>label{flex-basis:100%;font-weight:700}.ai-access-panel form p{flex-basis:100%;margin:0}@media(max-width:620px){.ai-access-scope ul{grid-template-columns:1fr}.ai-access-panel form button{width:100%}}
.ai-access-head{max-width:860px}.ai-access-panel{max-width:950px;padding:0;overflow:hidden}.ai-access-status{display:flex;gap:18px;padding:30px 34px;background:linear-gradient(135deg,#fbf5e9,#fffdf8)}.ai-access-status.enabled{background:linear-gradient(135deg,#e6f3ed,#f8fcf9)}.ai-access-status h2{margin:3px 0 9px;font:500 clamp(28px,4vw,42px)/1.08 Georgia,serif}.ai-access-status p:last-child{max-width:64ch;margin:0;color:#48615e;line-height:1.6}.ai-access-status-dot{flex:0 0 auto;width:13px;height:13px;margin-top:9px;border-radius:50%;background:#aa8061;box-shadow:0 0 0 6px #f1e5d5}.ai-access-status.enabled .ai-access-status-dot{background:#2f7569;box-shadow:0 0 0 6px #cfe6dc}.ai-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:26px 34px}.ai-access-panel .ai-access-scope,.ai-access-benefits{margin:0;padding:22px;border:1px solid #cddbd4;border-radius:14px;background:#f8fbf9}.ai-access-benefits{background:#fffaf1;border-color:#e5dac4}.ai-access-scope h3,.ai-access-benefits h3{margin:0 0 12px;font-size:18px}.ai-access-scope ul,.ai-access-benefits ul{display:grid;gap:9px;margin:0;padding-left:20px;color:#365653;line-height:1.4}.ai-access-scope p{margin:16px 0 0;color:var(--muted);line-height:1.55}.ai-access-assurance{display:grid;gap:7px;margin:0 34px;padding:18px 20px;border-left:4px solid #4f827a;border-radius:0 12px 12px 0;background:#eaf5f0}.ai-access-assurance span,.ai-access-meta,.ai-access-footnote{color:var(--muted);line-height:1.55}.ai-access-meta{margin:0;padding:0 34px 8px}.ai-access-consent{display:grid!important;gap:16px;margin:24px 34px 0!important;padding:24px 0 0;border-top:1px solid var(--card-border)}.ai-access-consent label{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start}.ai-access-consent input{width:auto;margin-top:5px;accent-color:#c65f4a}.ai-access-consent small{display:block;margin-top:5px;color:var(--muted);font-weight:400;line-height:1.55}.ai-access-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.ai-access-actions button{width:auto}.ai-access-actions-enabled{padding:18px 34px 30px}.ai-access-actions p{margin:0;flex-basis:100%}.ai-access-footnote{margin:24px 34px 30px;font-size:13px}.ai-access-panel>.readonly-note{margin:0 34px 30px}@media(max-width:620px){.ai-access-status{padding:25px 22px}.ai-access-grid{grid-template-columns:1fr;padding:20px 22px}.ai-access-assurance{margin:0 22px}.ai-access-consent{margin:20px 22px 0!important}.ai-access-actions,.ai-access-actions button{width:100%}.ai-access-actions button{justify-content:center}.ai-access-actions-enabled{padding:18px 22px 24px}.ai-access-meta{padding:0 22px 8px}.ai-access-footnote,.ai-access-panel>.readonly-note{margin-left:22px;margin-right:22px}}
.ai-conversations-head{max-width:760px}.ai-workspace{display:grid;grid-template-columns:minmax(220px,.32fr) minmax(0,1fr);gap:18px}.ai-workspace-new{display:block;max-width:760px}.ai-conversation-list{padding:12px}.ai-conversation-list h2{padding:0 8px}.ai-conversation-list button{width:100%;display:grid;gap:5px;text-align:left;border:0;border-radius:10px;background:transparent;padding:12px}.ai-conversation-list button.selected,.ai-conversation-list button:hover{background:#eaf3ef}.ai-conversation-list small{color:var(--muted)}.ai-thread{min-height:0}.ai-thread-new{padding:28px}.ai-thread-head{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--card-border);padding-bottom:14px}.ai-thread-head h2{margin:0}.ai-thread-head p{max-width:58ch;margin:6px 0 0;color:var(--muted);line-height:1.5}.ai-messages{display:grid;gap:14px;margin:20px 0}.ai-message{padding:14px 16px;border-radius:12px;max-width:90%}.ai-message header{display:flex;gap:10px;justify-content:space-between}.ai-message header small{color:var(--muted)}.ai-message p{white-space:pre-wrap;line-height:1.55}.ai-message.user{margin-left:auto;background:#e9f2ef}.ai-message.assistant{background:#f7f4eb;border:1px solid #e3dac7}.ai-message-thinking{display:flex;align-items:center;gap:10px;color:#395c56}.ai-message-thinking p{display:flex;align-items:center;gap:9px;margin:0}.ai-thinking-dots{display:inline-flex;gap:4px}.ai-thinking-dots i{width:6px;height:6px;border-radius:50%;background:#4f827a;animation:ai-thinking 1.1s infinite ease-in-out}.ai-thinking-dots i:nth-child(2){animation-delay:.15s}.ai-thinking-dots i:nth-child(3){animation-delay:.3s}@keyframes ai-thinking{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-4px);opacity:1}}.ai-request-error{margin:0 0 12px;padding:10px 12px;border-left:3px solid #b5503b;background:#fff1ec;color:#702b20}.ai-source-badges{display:flex;flex-wrap:wrap;gap:7px}.ai-source-badges button{font-size:12px;padding:5px 8px;background:#fff;border:1px solid #b9cfc5}.ai-reviewed{margin-top:12px;padding-top:10px;border-top:1px solid #dfd8c8}.ai-reviewed article{margin:10px 0;padding:10px;background:#fff;border-radius:8px}.ai-reviewed article p{font-size:14px}.ai-question{display:grid;gap:12px;border-top:1px solid var(--card-border);padding-top:18px}.ai-thread-new .ai-question{border-top:0;padding-top:22px}.ai-question label{display:grid;gap:8px;font-weight:700}.ai-question textarea{min-height:104px;resize:vertical}.ai-question>button{justify-self:start}.ai-question-examples{display:flex;flex-wrap:wrap;gap:8px}.ai-question-examples button{padding:7px 10px;background:#f6faf8;border:1px solid #b9cfc5;color:#204d49;font-size:13px}.ai-empty{color:var(--muted);padding:24px 0}@media(max-width:760px){.ai-workspace{grid-template-columns:1fr}.ai-conversation-list{display:flex;overflow-x:auto;gap:6px}.ai-conversation-list h2{display:none}.ai-conversation-list button{min-width:185px}.ai-thread-head{align-items:flex-start;flex-direction:column}.ai-thread-new{padding:22px}.ai-message{max-width:100%}.ai-question>button{width:100%}}

/* Familiar chat layout: the conversation remains central and supporting controls stay quiet. */
.ai-conversations-head{display:flex;align-items:center;max-width:1080px;margin:0 auto 14px}.ai-conversations-head .eyebrow{display:none}.ai-conversations-head h1{margin:0;font:500 clamp(28px,4vw,42px)/1.1 Georgia,serif}.ai-workspace{grid-template-columns:minmax(0,1fr) 250px;align-items:start;max-width:1080px;margin:0 auto}.ai-thread{padding:0;overflow:hidden;background:#fff}.ai-thread-new{padding:0}.ai-thread-head{min-height:64px;align-items:center;padding:16px 22px}.ai-thread-head h2{font:600 17px/1.3 system-ui,sans-serif}.ai-thread-head p{font-size:14px}.ai-messages{min-height:330px;max-height:58vh;overflow-y:auto;gap:16px;margin:0;padding:24px 22px;background:#fcfdfc}.ai-message{max-width:min(88%,720px);padding:15px 17px;box-shadow:none}.ai-message header{font-size:13px}.ai-message.user{border-radius:16px 16px 3px 16px}.ai-message.assistant{border-radius:16px 16px 16px 3px}.ai-reviewed{font-size:13px}.ai-reviewed summary{cursor:pointer;color:#476b65}.ai-question{position:relative;gap:10px;padding:15px 18px 18px;background:#fff}.ai-composer-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.ai-question textarea{min-height:76px;padding:13px 14px;border-radius:12px;background:#fffdf9}.ai-question>button{position:absolute;right:30px;bottom:32px;width:auto;margin:0;padding:9px 14px;border-radius:8px}.ai-question-examples{padding-right:78px}.ai-conversation-list{position:sticky;top:18px;padding:10px;background:#f8faf8}.ai-conversation-list h2{margin:14px 8px 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#627773}.ai-conversation-list button{min-width:0;padding:11px 12px;font-size:13px;color:var(--deep)}.ai-conversation-list .ai-new-chat{display:block;background:#e9f2ef;border:1px solid #b8cfc6;font-weight:700}.ai-list-empty{padding:10px 8px;color:var(--muted);font-size:13px;line-height:1.45}@media(max-width:760px){.ai-conversations-head{margin:0 0 10px}.ai-workspace{display:flex;flex-direction:column;gap:10px}.ai-thread{order:1;width:100%}.ai-conversation-list{position:static;order:2;display:flex;align-items:stretch;width:100%;overflow-x:auto;padding:8px;gap:8px}.ai-conversation-list h2,.ai-list-empty{display:none}.ai-conversation-list button{flex:0 0 170px;min-width:170px}.ai-conversation-list .ai-new-chat{flex-basis:148px;min-width:148px}.ai-messages{min-height:280px;max-height:none;padding:18px 16px}.ai-thread-head{padding:14px 16px}.ai-question{padding:13px 14px 16px}.ai-question>button{right:24px;bottom:30px}.ai-question-examples{padding-right:0}.ai-question-examples button{font-size:12px}.ai-message{max-width:94%}}
.ai-freshness-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 22px 0;padding:12px 14px;border-left:4px solid #aa8061;border-radius:0 10px 10px 0;background:#fff7e8;color:#57442c}.ai-freshness-note button{flex:0 0 auto}.ai-answer-summary h3{margin:8px 0 5px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#526b66}.ai-answer-summary p{margin:0}.ai-response-details{display:grid;gap:8px;margin-top:13px;padding:12px;border-radius:9px;background:#fffdf8}.ai-response-details p{margin:0;font-size:14px}.ai-citation-status{display:inline-block;margin:5px 0 0;padding:3px 7px;border-radius:999px;background:#e8f3ed;color:#276451;font-size:11px;font-weight:700}.ai-citation-status--processing{background:#fff2d9;color:#76501a}.ai-citation-status--unreadable,.ai-citation-status--unavailable{background:#fbe9e4;color:#8b3828}@media(max-width:760px){.ai-freshness-note{align-items:flex-start;flex-direction:column;margin:12px 16px 0}.ai-freshness-note button{width:100%}}

/* Proactive care navigation stays source-grounded and user-controlled. */
.saved-review-completion,.home-proactive-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;border-color:#b9d3c9;background:linear-gradient(135deg,#f2f8f5,#fffdf8)}
.saved-review-completion{flex-wrap:wrap}
.saved-review-completion h2,.home-proactive-entry h2{margin:4px 0 7px}.saved-review-completion p,.home-proactive-entry p{max-width:62ch;margin:0;color:#4b6661;line-height:1.55}.saved-review-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:10px}.saved-review-feedback{flex-basis:100%;max-width:none!important;color:#365f58!important}.home-proactive-entry{margin:0 0 20px;padding:22px 24px;border:1px solid #b9d3c9;border-radius:14px}.home-proactive-entry>button{flex:0 0 auto}
@media(min-width:761px){.saved-review-completion>div:first-child{flex:1 1 420px;min-width:0}}
.proactive-progress{display:flex;align-items:center;gap:14px;margin:16px 22px 0;padding:15px 16px;border:1px solid #cadbd4;border-radius:12px;background:#f3f8f5}.proactive-progress>div{min-width:0;flex:1}.proactive-progress p{margin:4px 0 0;color:#536c67;line-height:1.45}.proactive-progress-mark{width:12px;height:12px;flex:0 0 auto;border:3px solid #abc9bf;border-top-color:#346e65;border-radius:50%;animation:proactive-spin .9s linear infinite}.proactive-progress--failed{border-color:#e3b5a9;background:#fff4f0}.proactive-progress--failed .proactive-progress-mark{display:none}@keyframes proactive-spin{to{transform:rotate(360deg)}}
.proactive-progress>.proactive-progress-actions{display:flex;flex:0 0 auto;gap:8px}
.proactive-goal{margin:16px 22px 0;padding:20px;border:1px solid #c7d9d2;border-radius:13px;background:#f7faf8}.proactive-goal h3{margin:5px 0 8px;font:500 24px/1.2 Georgia,serif}.proactive-goal>p:not(.eyebrow){margin:0;color:#536c67}.proactive-goal-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.proactive-goal-choices button{min-height:48px;text-align:left;background:#fff;color:#234f49;border-color:#adc9c0}.proactive-goal form{display:grid;gap:7px;margin-top:16px;padding-top:16px;border-top:1px solid #d4e0dc}.proactive-goal form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.proactive-goal-feedback{min-height:1.4em;margin:12px 0 0!important;color:#7a372b!important}
.proactive-goal>.quiet-action{margin-top:10px}
.proactive-current-goal{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:14px 22px 0;padding:14px 16px;border:1px solid #c7d9d2;border-radius:12px;background:#f7faf8}.proactive-current-goal h3{margin:3px 0 4px;font:500 20px/1.3 Georgia,serif}.proactive-current-goal p{margin:0;color:#536c67}.proactive-current-goal>[role="alert"]{grid-column:1/-1;color:#7a372b}.proactive-goal-dialog .proactive-goal-choices{margin:10px 0}.proactive-goal-dialog .proactive-goal-choices button{text-align:left;background:#f7faf8;color:#234f49;border-color:#adc9c0}
.proactive-suggestions{display:grid;gap:12px;margin-top:14px}.proactive-suggestion{padding:15px;border:1px solid #cfddd7;border-radius:11px;background:#fff}.proactive-suggestion header{display:grid;justify-content:stretch;gap:4px}.proactive-suggestion header span{color:#55706a;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.proactive-suggestion header strong{font-size:17px;line-height:1.35}.proactive-suggestion>p{margin:9px 0}.proactive-suggestion-notes{padding:9px 10px;border-radius:8px;background:#f7f8f5;color:#4d625d;font-size:14px}.proactive-suggestion>small{display:block;color:#536c67}.proactive-suggestion-source{display:flex;align-items:center;gap:9px;margin-top:11px;color:#58706b;font-size:12px}.proactive-suggestion-source button{padding:6px 9px}.proactive-suggestion-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.proactive-suggestion-actions button{padding:8px 11px}.proactive-suggestion-feedback{margin:9px 0 0!important;color:#7a372b;font-size:13px}.proactive-suggestion--dismissed,.proactive-suggestion--snoozed,.proactive-suggestion--later{background:#f7f7f4;opacity:.82}.proactive-suggestion--accepted{border-color:#9bc3b5;background:#f0f8f4}.proactive-standalone{width:min(94%,720px)}
.proactive-suggestion--expired{border-style:dashed;background:#f5f5f2;color:#5b6663}.proactive-suggestion--expired header span{color:#765f42}
.proactive-suggestion-dialog{width:min(620px,calc(100vw - 30px));border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px #173b3540}.proactive-suggestion-dialog::backdrop{background:#173b3566}.proactive-suggestion-dialog form{display:grid;gap:9px;padding:26px}.proactive-suggestion-dialog h2{margin:0}.proactive-suggestion-dialog p{margin:0 0 8px;color:#536c67}.proactive-suggestion-dialog textarea{min-height:110px}.proactive-suggestion-dialog .dialog-actions{margin-top:10px}
.proactive-later-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 8px}.proactive-later-options button{min-height:44px}.proactive-later-dialog input[type="date"]{min-height:44px}
@media(max-width:760px){.saved-review-completion,.home-proactive-entry,.proactive-progress{align-items:stretch;flex-direction:column}.saved-review-actions,.saved-review-actions button,.home-proactive-entry>button,.proactive-progress-actions,.proactive-progress-actions button{width:100%}.proactive-progress-actions{flex-direction:column}.proactive-goal{margin:12px 16px 0;padding:17px}.proactive-goal-choices{grid-template-columns:1fr}.proactive-goal form>div{grid-template-columns:1fr}.proactive-goal form button{width:100%}.proactive-current-goal{grid-template-columns:1fr;margin:12px 16px 0}.proactive-current-goal>button{width:100%}.proactive-suggestion-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.proactive-suggestion-actions button{width:100%}.proactive-suggestion-source{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.proactive-progress-mark,.ai-thinking-dots i{animation:none}.proactive-progress-mark{border-color:#346e65}.focused-record{scroll-behavior:auto}}

/* Registration starts with the form; consent stays explicit and unchecked. */
.auth.auth-registration { display:block; padding-top:28px; }
.auth-registration .brand { position:static; justify-content:center; }
.auth-registration .auth-intro { display:none; }
.auth-registration .card { width:min(620px,100%); margin:24px auto; padding:28px; }
.auth-registration .card:before { display:none; }
.auth-registration .card h1 { font-size:clamp(30px,5vw,40px); }
.auth-registration .card>p { line-height:1.45; }
.auth-registration label { margin:12px 0; }
.auth-registration .return-link { background:transparent; color:var(--deep); box-shadow:none; text-decoration:underline; margin-top:8px; }
.registration-consents { border:0; padding:0; margin:18px 0; min-width:0; }
.registration-consents legend { font-weight:800; }
.registration-consents label { font-size:13px; line-height:1.45; font-weight:400; }
.registration-consents input { float:left; margin:3px 8px 0 0; }
.registration-ai-details,.role-explanation { font-size:14px; line-height:1.5; }
.registration-ai-details summary,.ai-provider-disclosure summary { cursor:pointer; min-height:44px; display:list-item; padding:10px 0; font-weight:700; }
.role-explanation { padding:12px 16px; border-left:3px solid var(--coral); background:#f5f8f5; overflow-wrap:anywhere; }
@media(max-width:520px) { .auth.auth-registration { padding:20px 14px; } .auth-registration .card { padding:20px; margin:18px auto; } }
