:root{--cv-navy:#17455e;--cv-blue:#2c9bd6;--cv-blue-dark:#1b7ab0;--cv-sky:#eaf4fa;--cv-ink:#1d2b36;--cv-ink-soft:#5b7284;--cv-line:#d5e3ec;--cv-paper:#f7fafc;--cv-white:#fff;--cv-good:#2e7d5b}*{box-sizing:border-box}body{background:var(--cv-paper);color:var(--cv-ink);margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}a{color:var(--cv-blue-dark);text-decoration:none}.topbar{background:var(--cv-navy);color:var(--cv-white);justify-content:space-between;align-items:center;padding:.7rem 1.25rem;display:flex}.brand{letter-spacing:.01em;color:var(--cv-white);align-items:baseline;gap:.45rem;font-size:1.15rem;font-weight:700;display:flex}.brand .pro{background:var(--cv-blue);color:var(--cv-white);letter-spacing:.08em;border-radius:999px;padding:.12rem .45rem;font-size:.68rem}.shell{max-width:1024px;margin:0 auto;padding:2rem 1.25rem 4rem}.hero{text-align:left;max-width:620px;padding:3.5rem 0 2rem}.hero h1{margin:0 0 .75rem;font-size:2.2rem;line-height:1.15}.hero p{color:var(--cv-ink-soft);margin:0 0 1.5rem;font-size:1.1rem}.btn{background:var(--cv-blue);color:var(--cv-white);cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:1rem;font-weight:600;display:inline-block}.btn:hover{background:var(--cv-blue-dark)}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:2rem;display:grid}.card{background:var(--cv-white);border:1px solid var(--cv-line);border-radius:10px;padding:1.1rem 1.25rem}.card h3{margin:0 0 .35rem;font-size:1rem}.card p{color:var(--cv-ink-soft);margin:0;font-size:.92rem}.badge-soon{letter-spacing:.06em;text-transform:uppercase;color:var(--cv-ink-soft);background:var(--cv-sky);border-radius:999px;margin-left:.4rem;padding:.1rem .5rem;font-size:.7rem;display:inline-block}.card-link{color:inherit;transition:border-color .15s;display:block}.card-link:hover{border-color:var(--cv-blue)}.lead-form{flex-direction:column;gap:.75rem;display:flex}.lead-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;display:grid}.lead-form input,.lead-form textarea{border:1px solid var(--cv-line);background:var(--cv-white);color:var(--cv-ink);border-radius:8px;padding:.5rem .7rem;font-family:inherit;font-size:.95rem}.lead-form input:focus,.lead-form textarea:focus{outline:2px solid var(--cv-blue);outline-offset:1px}.lead-list{flex-direction:column;gap:.6rem;margin-top:1.5rem;display:flex}.lead-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.lead-main{flex-direction:column;gap:.15rem;display:flex}.lead-meta{color:var(--cv-ink-soft);font-size:.88rem}.lead-notes{color:var(--cv-ink-soft);font-size:.88rem;font-style:italic}.lead-side{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pill{background:var(--cv-sky);color:var(--cv-navy);white-space:nowrap;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.pill-won{color:var(--cv-good);background:#e2f2e9}.pill-lost{color:#a3402e;background:#f3e4e1}.btn-small{padding:.35rem .7rem;font-size:.82rem}.btn-ghost{border:1px solid var(--cv-line);color:var(--cv-ink-soft);cursor:pointer;background:0 0;border-radius:8px;padding:.35rem .7rem;font-size:.82rem}.btn-ghost:hover{color:#a3402e;border-color:#a3402e}.lead-form select{border:1px solid var(--cv-line);background:var(--cv-white);color:var(--cv-ink);border-radius:8px;padding:.5rem .7rem;font-family:inherit;font-size:.95rem}.option-fieldset{border:1px solid var(--cv-line);border-radius:8px;flex-direction:column;gap:.6rem;margin:0;padding:.7rem .9rem .9rem;display:flex}.option-fieldset legend{color:var(--cv-ink-soft);padding:0 .3rem;font-size:.8rem}.option-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem;display:grid}.option-card h3{margin-bottom:0}.option-price{color:var(--cv-navy);margin:.2rem 0 .4rem;font-size:1.35rem;font-weight:700}.price{color:var(--cv-navy);white-space:nowrap;font-weight:600}.pill-approved{color:var(--cv-good);background:#e2f2e9}.pill-declined{color:#a3402e;background:#f3e4e1}.pill-scheduled{background:var(--cv-sky);color:var(--cv-navy)}.pill-in_progress{color:#8a5a12;background:#fdf1dc}.pill-needs_sign_off{color:#5b3a82;background:#f0e6f7}.pill-completed{color:var(--cv-good);background:#e2f2e9}.pill-canceled{color:var(--cv-ink-soft);background:#eceff1}input[type=datetime-local]{border:1px solid var(--cv-line);background:var(--cv-white);color:var(--cv-ink);border-radius:8px;padding:.45rem .7rem;font-family:inherit;font-size:.95rem}.cal-wrap{background:var(--cv-white);border:1px solid var(--cv-line);border-radius:10px;overflow:hidden}.cal-grid{grid-template-columns:repeat(7,1fr);display:grid}.cal-dow{letter-spacing:.05em;text-transform:uppercase;color:var(--cv-ink-soft);border-bottom:1px solid var(--cv-line);background:var(--cv-sky);padding:.5rem .6rem;font-size:.75rem;font-weight:600}.cal-cell{border-bottom:1px solid var(--cv-line);border-right:1px solid var(--cv-line);flex-direction:column;gap:.25rem;min-height:96px;padding:.35rem .4rem;display:flex}.cal-grid .cal-cell:nth-child(7n){border-right:none}.cal-blank{background:var(--cv-paper)}.cal-today{background:var(--cv-sky)}.cal-today .cal-daynum{background:var(--cv-blue);color:var(--cv-white)}.cal-daynum{color:var(--cv-ink-soft);border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.78rem;font-weight:600;display:flex}.cal-chip{background:var(--cv-sky);color:var(--cv-navy);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:.15rem .4rem;font-size:.72rem;font-weight:600;display:block;overflow:hidden}.cal-chip:hover{outline:1px solid var(--cv-blue)}.cal-chip-completed{color:var(--cv-good);background:#e2f2e9}.cal-chip-in_progress{color:#8a5a12;background:#fdf1dc}.cal-chip-needs_sign_off{color:#5b3a82;background:#f0e6f7}@media (max-width:700px){.cal-cell{min-height:64px}.cal-chip{font-size:.62rem}}.inv-table{border-collapse:collapse;width:100%;font-size:.95rem}.inv-table th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--cv-ink-soft);border-bottom:1px solid var(--cv-line);padding:.35rem .5rem;font-size:.75rem}.inv-table td{border-bottom:1px solid var(--cv-line);padding:.5rem}.inv-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.inv-table .inv-total td{color:var(--cv-navy);border-bottom:none;font-weight:700}.pill-paid{color:var(--cv-good);background:#e2f2e9}.pill-void{color:var(--cv-ink-soft);background:#eceff1}.table-wrap{overflow-x:auto}
