/* Cabo Health — Client Agreement app styles */
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@600&display=swap');
.cabo-agreement-app { --ink:#1E2A33; --deep:#0A4D68; --sea:#4F7785; --bronze:#B8956A; --mist:#E8F4F8; --paper:#FAFAF7; --border:#DCE7EC;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif; color:var(--ink); background:var(--paper); }
.ca-wrap { max-width:820px; margin:0 auto; padding:28px 20px 80px; }

.ca-head { text-align:center; padding:22px 0 18px; border-bottom:1px solid var(--border); margin-bottom:26px; }
.ca-brand { font-size:13px; letter-spacing:.32em; color:var(--deep); font-weight:600; }
.ca-head h1 { font-family:"Cormorant Garamond",Georgia,serif; font-weight:600; font-size:clamp(1.6rem,4vw,2.3rem); color:var(--deep); line-height:1.15; margin:10px 0 6px; }
.ca-place { color:var(--sea); font-size:.85rem; letter-spacing:.08em; margin:0; }

.ca-doc { background:#fff; border:1px solid var(--border); border-radius:12px; padding:26px 28px; margin-bottom:22px; box-shadow:0 8px 26px rgba(10,77,104,.04); }
.ca-doc .ca-h2:first-child, .ca-doc > *:first-child { margin-top:0; }
.ca-h2 { font-family:"Cormorant Garamond",Georgia,serif; font-size:1.45rem; font-weight:600; color:var(--deep); margin:24px 0 8px; }
.ca-h3 { font-size:.96rem; font-weight:600; color:var(--ink); margin:16px 0 5px; }
.ca-p { font-size:.92rem; line-height:1.6; margin:0 0 10px; color:#33424d; }
.ca-sub { font-size:.92rem; font-weight:600; margin:12px 0 6px; color:var(--ink); }
.ca-li { font-size:.92rem; line-height:1.55; margin:0 0 6px; padding-left:20px; position:relative; color:#33424d; }
.ca-li2 { padding-left:38px; }
.ca-bullet { position:absolute; left:4px; color:var(--bronze); }
.ca-li2 .ca-bullet { left:22px; }
.ca-li i { color:var(--bronze); }

/* Forms */
.ca-form { background:#fff; border:1px solid var(--border); border-radius:12px; padding:24px 28px; margin-bottom:22px; box-shadow:0 8px 26px rgba(10,77,104,.04); }
.ca-note { color:var(--sea); font-size:.82rem; margin:-2px 0 16px; }
.ca-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; }
.ca-field { display:flex; flex-direction:column; gap:6px; margin-bottom:4px; }
.ca-field.ca-mt { margin-top:14px; }
.ca-field > span { font-size:.82rem; font-weight:600; color:var(--deep); }
.ca-field > span i { color:#C0563A; font-style:normal; }
.ca-field input, .ca-field textarea { font-family:inherit; font-size:.95rem; color:var(--ink); background:var(--paper);
  border:1.5px solid var(--border); border-radius:8px; padding:11px 13px; width:100%; box-sizing:border-box; transition:border-color .2s; }
.ca-field input:focus, .ca-field textarea:focus { outline:none; border-color:var(--deep); background:#fff; }
.ca-field input.ca-bad { border-color:#D97757; }
.ca-field textarea { resize:vertical; }

.ca-checks { display:flex; flex-wrap:wrap; gap:9px; margin:6px 0 4px; }
.ca-chip { display:inline-flex; align-items:center; gap:8px; font-size:.88rem; padding:9px 14px; border:1.5px solid var(--border);
  border-radius:999px; cursor:pointer; background:var(--paper); transition:all .18s; user-select:none; }
.ca-chip:hover { border-color:var(--sea); }
.ca-chip.on { border-color:var(--deep); background:var(--mist); color:var(--deep); font-weight:600; }
.ca-chip input { accent-color:var(--deep); width:16px; height:16px; }
.ca-chip input:disabled { opacity:.4; }

.ca-ack { display:flex; gap:12px; align-items:flex-start; padding:11px 0; border-bottom:1px solid var(--border); cursor:pointer; }
.ca-ack:last-child { border-bottom:none; }
.ca-ack input { margin-top:3px; width:18px; height:18px; accent-color:var(--deep); flex:0 0 auto; }
.ca-ack span { font-size:.9rem; line-height:1.5; color:#33424d; }

/* Signature */
.ca-sigtabs { display:flex; gap:8px; margin-bottom:12px; }
.ca-sigtabs button { font-family:inherit; font-size:.85rem; font-weight:600; padding:8px 16px; border:1.5px solid var(--border);
  background:#fff; color:var(--sea); border-radius:8px; cursor:pointer; transition:all .18s; }
.ca-sigtabs button.on { background:var(--deep); color:#fff; border-color:var(--deep); }
.ca-sigbox { position:relative; }
.ca-canvas { width:100%; height:180px; background:var(--paper); border:1.5px dashed var(--sea); border-radius:10px; touch-action:none; display:block; cursor:crosshair; }
.ca-clear { position:absolute; top:10px; right:10px; font-size:.76rem; font-weight:600; color:var(--sea); background:#fff;
  border:1px solid var(--border); border-radius:6px; padding:5px 11px; cursor:pointer; }
.ca-typesig { font-family:"Dancing Script","Brush Script MT","Segoe Script",cursive; font-weight:600; font-size:2.1rem; color:#0A2E40; width:100%; box-sizing:border-box;
  border:1.5px solid var(--border); border-bottom:2px solid var(--deep); border-radius:10px; padding:14px 16px; background:var(--paper); }
.ca-typesig:focus { outline:none; background:#fff; }
.ca-place2 { font-size:.82rem; color:var(--sea); margin:14px 0 0; }

/* Action bar */
.ca-actionbar { text-align:center; padding:8px 0 0; }
.ca-submit { font-family:inherit; font-size:1.02rem; font-weight:600; letter-spacing:.02em; color:#fff;
  background:#B85C3C; border:none; border-radius:10px; padding:16px 40px; cursor:pointer; transition:all .2s; box-shadow:0 8px 22px rgba(184,92,60,.28); }
.ca-submit:hover:not([aria-disabled="true"]) { background:#A8512F; transform:translateY(-1px); }
.ca-submit[aria-disabled="true"] { background:#8FA3AC; color:#fff; cursor:not-allowed; box-shadow:none; }
.ca-fine { font-size:.8rem; color:var(--sea); margin:8px 0; }
.ca-disc { max-width:560px; margin:14px auto 0; line-height:1.5; }
.ca-err { color:#C0392B; font-size:.85rem; margin:8px auto; max-width:560px; }

/* Done */
.ca-done { background:#fff; border:1px solid var(--border); border-radius:14px; padding:48px 32px; text-align:center; box-shadow:0 12px 34px rgba(10,77,104,.07); }
.ca-done-check { width:64px; height:64px; line-height:64px; margin:0 auto 18px; border-radius:50%; background:var(--mist); color:var(--deep); font-size:32px; font-weight:700; }
.ca-done h2 { font-family:"Cormorant Garamond",Georgia,serif; font-size:1.9rem; color:var(--deep); margin:0 0 10px; }
.ca-done p { font-size:.95rem; color:#33424d; max-width:480px; margin:0 auto 10px; line-height:1.6; }
.ca-docid { font-size:1rem !important; }
.ca-docid strong { color:var(--deep); letter-spacing:.04em; }

@media (max-width:600px) {
  .ca-grid { grid-template-columns:1fr; }
  .ca-doc, .ca-form { padding:20px 18px; }
  .ca-wrap { padding:18px 14px 70px; }
  .ca-submit { width:100%; }
}
