/* CleanGrid Solar — deal form. Tokens lifted from the design system
   (colors_and_type.css); component styles are form-specific. */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --cg-blue:#2D5E8E; --cg-blue-700:#234B73; --cg-blue-500:#4A7AAA; --cg-blue-100:#D7E2EE; --cg-blue-50:#EDF2F7;
  --cg-green:#6B9252; --cg-green-700:#557540; --cg-green-100:#DCE7D2; --cg-green-50:#EEF3E8;
  --cg-sun:#D88B3F; --cg-sun-700:#B16E26; --cg-sun-100:#F2DBBE; --cg-sun-50:#F8EDDA;
  --ink-900:#0F1620; --ink-800:#1B2533; --ink-700:#2C3849; --ink-600:#4A5666;
  --ink-500:#6B7585; --ink-400:#9099A6; --ink-300:#C3C9D2; --ink-200:#DFE3E9; --ink-100:#ECEFF3; --ink-50:#F4F6F8;
  --canvas:#FAFAF7; --surface:#FFFFFF; --surface-warm:#F7F4ED; --border:#E6E3DA; --border-cool:#E2E6EC;
  --danger:#C2362B; --danger-bg:#FBEAE7;
  --font-display:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --radius-sm:6px; --radius-md:10px; --radius-lg:14px; --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(15,22,32,.05),0 1px 3px rgba(15,22,32,.06);
  --shadow-md:0 4px 8px -2px rgba(15,22,32,.06),0 2px 4px -2px rgba(15,22,32,.05);
  --shadow-lg:0 12px 24px -8px rgba(15,22,32,.10),0 4px 8px -4px rgba(15,22,32,.06);
  --ease:cubic-bezier(0.16,1,0.3,1);
}

* { box-sizing:border-box; }
html,body { margin:0; }
body {
  font-family:var(--font-body); color:var(--ink-900); background:var(--canvas);
  line-height:1.5; -webkit-font-smoothing:antialiased; padding:20px 16px 48px;
}
.wrap { max-width:640px; margin:0 auto; }

/* header */
.head { display:flex; align-items:center; gap:14px; margin:4px 0 18px; }
.head img, .head .logo { height:46px; width:auto; display:block; }
.head .titles { line-height:1.15; }
.head h1 { font-family:var(--font-display); font-weight:700; font-size:20px; margin:0; letter-spacing:-0.01em; }
.head .sub { color:var(--ink-500); font-size:13px; margin-top:2px; }

/* card / section */
.card { background:var(--surface); border:1px solid var(--border-cool); border-radius:var(--radius-lg);
  padding:20px; margin-bottom:14px; box-shadow:var(--shadow-sm); }
.card > .sec-title { font-family:var(--font-display); font-weight:700; font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--cg-sun-700); margin:0 0 14px; }

/* fields */
label { display:block; font-size:13px; font-weight:600; color:var(--ink-700); margin:12px 0 5px; }
label:first-child { margin-top:0; }
input[type=text],input[type=number],input[type=date],input[type=email],select,textarea {
  width:100%; padding:10px 12px; border:1px solid var(--ink-200); border-radius:var(--radius-sm);
  font-size:15px; font-family:inherit; background:var(--surface); color:var(--ink-900); transition:border-color .15s,box-shadow .15s; }
input:focus,select:focus,textarea:focus { outline:none; border-color:var(--cg-blue-500);
  box-shadow:0 0 0 3px var(--cg-blue-50); }
textarea { resize:vertical; min-height:64px; }
.row { display:flex; gap:12px; } .row>* { flex:1; min-width:0; }
.hint { font-size:12px; color:var(--ink-500); margin-top:5px; }
.mono { font-family:var(--font-mono); }

/* segmented toggle (channel, financing) */
.seg { display:flex; gap:8px; }
.seg button { flex:1; padding:12px 10px; border:1px solid var(--ink-200); background:var(--surface);
  border-radius:var(--radius-md); font-family:inherit; font-size:14px; font-weight:600; color:var(--ink-600);
  cursor:pointer; transition:all .15s var(--ease); }
.seg button .em { display:block; font-size:11px; font-weight:500; color:var(--ink-400); margin-top:2px; }
.seg button[aria-pressed=true] { border-color:var(--cg-blue); background:var(--cg-blue-50); color:var(--cg-blue-700); box-shadow:var(--shadow-sm); }
.seg button[aria-pressed=true] .em { color:var(--cg-blue-500); }
.seg.pills button { flex:none; padding:8px 16px; border-radius:var(--radius-pill); }

/* rep badge (GHL auto-detected) */
.rep-badge { display:flex; align-items:center; gap:10px; padding:12px 14px; background:var(--cg-green-50);
  border:1px solid var(--cg-green-100); border-radius:var(--radius-md); }
.rep-badge .dot { width:9px; height:9px; border-radius:50%; background:var(--cg-green); flex:none; }
.rep-badge b { color:var(--cg-green-700); }
.rep-badge a { margin-left:auto; font-size:12px; color:var(--cg-blue); cursor:pointer; text-decoration:underline; }

/* search results */
.search-box { position:relative; }
.results { border:1px solid var(--ink-200); border-radius:var(--radius-md); margin-top:8px; overflow:hidden; }
.results.empty { display:none; }
.result { padding:11px 14px; border-bottom:1px solid var(--ink-100); cursor:pointer; display:flex; gap:10px; align-items:baseline; }
.result:last-child { border-bottom:none; } .result:hover { background:var(--cg-blue-50); }
.result .nm { font-weight:600; font-size:14px; }
.result .ad { font-size:12px; color:var(--ink-500); }
.result .st { margin-left:auto; font-size:11px; padding:2px 8px; border-radius:var(--radius-pill); background:var(--ink-100); color:var(--ink-600); flex:none; }
.picked { display:flex; align-items:center; gap:10px; padding:12px 14px; background:var(--cg-blue-50);
  border:1px solid var(--cg-blue-100); border-radius:var(--radius-md); }
.picked .nm { font-weight:600; color:var(--cg-blue-700); } .picked .ad { font-size:12px; color:var(--ink-600); }
.picked a { margin-left:auto; font-size:12px; color:var(--cg-blue); cursor:pointer; text-decoration:underline; }
.linktext { color:var(--cg-blue); cursor:pointer; text-decoration:underline; font-size:13px; }

/* buttons */
.actions { margin-top:8px; display:flex; }
.btn { font-family:inherit; font-size:15px; font-weight:600; padding:13px 22px; border-radius:var(--radius-md);
  border:1px solid var(--ink-200); background:var(--surface); color:var(--ink-700); cursor:pointer; transition:all .15s; }
.btn.primary { background:var(--cg-blue); color:#fff; border-color:var(--cg-blue); width:100%; box-shadow:var(--shadow-md); }
.btn.primary:hover:not(:disabled) { background:var(--cg-blue-700); }
.btn:disabled { opacity:.5; cursor:not-allowed; }

/* banners */
.banner { padding:11px 14px; border-radius:var(--radius-sm); font-size:13px; margin-top:12px; }
.banner.warn { background:var(--cg-sun-50); border:1px solid var(--cg-sun-100); color:var(--cg-sun-700); }
.banner.error { background:var(--danger-bg); border:1px solid var(--danger); color:var(--danger); }
.hidden { display:none !important; }

/* success */
.success { text-align:center; padding:8px 4px; }
.success .check { width:56px; height:56px; border-radius:50%; background:var(--cg-green-50); border:2px solid var(--cg-green);
  color:var(--cg-green-700); display:grid; place-items:center; font-size:28px; margin:0 auto 12px; }
.success h2 { font-family:var(--font-display); margin:0 0 4px; }
.success .amt { font-family:var(--font-mono); font-size:34px; font-weight:600; color:var(--cg-green-700); margin:14px 0 4px; }
.success .amt-label { font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--ink-500); }
.success .meta { color:var(--ink-500); font-size:13px; margin-top:14px; }
