/* CTL Customer Portal — front-end styles. Matches the suite navy/teal look. */
.ctlp{
  --navy:#0f2942;--teal:#1f9e8f;--teal-d:#178074;--bg:#f4f6f9;--card:#fff;
  --line:#e3e8ef;--ink:#1c2733;--muted:#66788c;--good:#1f9e8f;--good-bg:#e6f6f3;
  --accent:#c6551f;--danger:#b3261e;--danger-bg:#fbeaea;--blue:#3b62b8;--blue-bg:#e7eefb;
  --shadow:0 1px 3px rgba(16,40,66,.08),0 4px 16px rgba(16,40,66,.06);
  max-width:820px;margin:0 auto;padding:8px 4px;color:var(--ink);line-height:1.6;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.ctlp *{box-sizing:border-box}

.ctlp-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding:2px}
.ctlp-nav-links{display:flex;gap:6px}
.ctlp-nav-links a{color:var(--muted);font-weight:600;font-size:14px;text-decoration:none;padding:7px 13px;border-radius:9px;line-height:1.3}
.ctlp-nav-links a:hover{background:#eef1f5;color:var(--ink)}
.ctlp-nav-links a.on{background:var(--navy);color:#fff}
.ctlp-nav-who{font-size:13px;color:var(--muted);line-height:1.4}
.ctlp-nav-who a{color:var(--teal-d);font-weight:600;text-decoration:none}
.ctlp-nav-who a:hover{text-decoration:underline}

.ctlp-card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:24px 26px;margin-bottom:16px}
.ctlp-card h2{margin:0 0 8px;font-size:20px;color:var(--navy);line-height:1.3}
.ctlp-card h3{margin:0 0 12px;font-size:15px;color:var(--navy);line-height:1.35}
.ctlp-center{text-align:center}
.ctlp-muted{color:var(--muted);font-size:14px;line-height:1.65;margin:0 0 4px}
.ctlp-ey{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;margin-bottom:4px}
.ctlp-fine{font-size:12px;color:var(--muted);line-height:1.6;margin-top:16px}
.ctlp-err{background:var(--danger-bg);color:var(--danger);padding:11px 14px;border-radius:9px;font-size:13.5px;line-height:1.5;margin:10px 0}
.ctlp-flash{background:var(--good-bg);color:var(--teal-d);padding:12px 16px;border-radius:10px;font-size:14px;font-weight:600;margin-bottom:16px;line-height:1.5}

.ctlp label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin:14px 0 5px}
.ctlp input,.ctlp textarea{width:100%;font-family:inherit;font-size:14px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:#fff;line-height:1.5}
.ctlp input:focus,.ctlp textarea:focus{outline:none;border-color:var(--teal)}
.ctlp input:disabled{background:#f7f9fb;color:var(--muted)}
.ctlp textarea{resize:vertical}
.ctlp-chk{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:500;color:var(--ink);margin:0 0 10px;line-height:1.5}
.ctlp-chk input{width:auto;margin:0;padding:0}

.ctlp-btn{display:inline-block;margin-top:16px;background:var(--teal);color:#fff;border:0;padding:12px 22px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;line-height:1.2}
.ctlp-btn:hover{background:var(--teal-d)}
.ctlp-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}
.ctlp-ghost:hover{background:var(--bg)}
.ctlp-approve{background:var(--teal)}
.ctlp-decline{background:#eef1f5;color:var(--ink);margin-left:8px}
.ctlp-decline:hover{background:#e3e8ef}
.ctlp-link{color:var(--teal-d);font-weight:600;text-decoration:none}
.ctlp-link:hover{text-decoration:underline}

.ctlp-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.ctlp-grid2{grid-template-columns:1fr}}

.ctlp-quote-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:2px solid var(--line);padding-bottom:16px;margin-bottom:16px}
.ctlp-amount{font-size:30px;font-weight:800;color:var(--teal-d);white-space:nowrap;line-height:1.1}
.ctlp-decide{margin-top:16px}

.ctlp-check{width:58px;height:58px;border-radius:50%;background:var(--good-bg);color:var(--teal-d);font-size:30px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:6px auto 12px}

.ctlp-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}
.ctlp-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:9px 8px;border-bottom:1px solid var(--line);font-weight:700}
.ctlp-table td{padding:12px 8px;border-bottom:1px solid #eef1f5;vertical-align:middle;line-height:1.5}
.ctlp-num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.ctlp-pill{display:inline-block;padding:4px 11px;border-radius:20px;font-size:11.5px;font-weight:700;background:var(--good-bg);color:var(--teal-d);line-height:1.3}

.ctlp-track{display:flex;flex-wrap:wrap;margin:14px 0 4px}
.ctlp-step{flex:1;min-width:66px;text-align:center;position:relative;padding-top:24px}
.ctlp-step:before{content:"";position:absolute;top:8px;left:50%;width:100%;height:2px;background:var(--line)}
.ctlp-step:last-child:before{display:none}
.ctlp-dot{position:absolute;top:1px;left:50%;transform:translateX(-50%);width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--line);z-index:1}
.ctlp-step.done .ctlp-dot{background:var(--teal);border-color:var(--teal)}
.ctlp-step.done:before{background:var(--teal)}
.ctlp-step.now .ctlp-dot{background:#fff;border-color:var(--teal);box-shadow:0 0 0 4px var(--good-bg)}
.ctlp-slbl{font-size:11px;color:var(--muted);font-weight:600;line-height:1.35;display:block;padding:0 3px}
.ctlp-step.now .ctlp-slbl,.ctlp-step.done .ctlp-slbl{color:var(--navy)}

.ctlp-files{list-style:none;padding:0;margin:16px 0 0;font-size:13px}
.ctlp-files li{padding:9px 0;border-top:1px solid #eef1f5;line-height:1.5}
.ctlp-files a{color:var(--teal-d);font-weight:600;text-decoration:none}
.ctlp-files .ctlp-muted{font-size:11.5px;margin-left:8px;display:inline}


/* ---- Launch polish: headings, signup spacing, quote table ---- */
.ctlp-card h2 { line-height: 1.25 !important; margin: 0.25em 0 0.4em; }
.ctlp-card h3 { line-height: 1.3 !important; margin: 0.3em 0 0.5em; }
.ctlp-ey { line-height: 1.3; margin-bottom: 4px; }
.ctlp-quote-head { align-items: flex-start; gap: 14px; }
.ctlp-quote-head h2 { line-height: 1.25 !important; }
.ctlp-muted { line-height: 1.5; }
.ctlp-fine { line-height: 1.45; }

.ctlp-qt { width: 100%; border-collapse: collapse; margin: 16px 0 6px; font-size: 14px; }
.ctlp-qt th, .ctlp-qt td { padding: 9px 10px; border-bottom: 1px solid #e5eaf0; text-align: center; line-height: 1.4; }
.ctlp-qt thead th { font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color: #5b6b7c; border-bottom: 2px solid #d9e1ea; }
.ctlp-qt tfoot td { border-bottom: 0; padding-top: 12px; }
.ctlp-qt .ctlp-qt-l { text-align: left; }
.ctlp-qt .ctlp-qt-r { text-align: right; }
.ctlp-quote-lines { margin: 6px 0 10px; }

.ctlp-signup label { display: block; margin: 16px 0 6px; font-weight: 600; line-height: 1.35; }
.ctlp-signup input[type="email"], .ctlp-signup input[type="password"], .ctlp-signup input[type="text"] { width: 100%; padding: 10px 12px; border: 1px solid #cfd8e3; border-radius: 8px; box-sizing: border-box; line-height: 1.4; }
.ctlp-signup .ctlp-fine { margin: 6px 0 0; }
.ctlp-signup button, .ctlp-signup .ctlp-btn { margin-top: 18px; }
.ctlp-center h2 { line-height: 1.25 !important; margin: 0.3em 0 0.45em; }
.ctlp-check { line-height: 1; margin-bottom: 6px; }

/* Phone: the quote table scrolls inside its card instead of pushing the page wide. */
.ctlp-quote-lines { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 480px) {
	.ctlp-qt { font-size: 12.5px; }
	.ctlp-qt th, .ctlp-qt td { padding: 7px 6px; }
}
