*{box-sizing:border-box}body{margin:0;background:#f4f5f7;color:#1f2937;font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif}.topbar{background:#111827;color:#fff;padding:14px 22px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.topbar a{color:#fff;text-decoration:none;margin-left:14px}.container{
    max-width:1650px;
    width:96%;
    margin:0 auto;
    padding:28px;
}h1,h2{margin-top:0}.card{
    background:#fff;
    border:1px solid #d1d5db;
    border-radius:18px;
    padding:24px;
    margin-bottom:24px;
    box-shadow:0 8px 22px rgba(0,0,0,.04);
}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 430px;
    gap:28px;
    align-items:start;
}

/* Stack the form cards on the left */
.quote-grid > .card:not(.sticky){
    grid-column:1;
}

/* Keep quote/result panel visible on the right */
.quote-grid > .sticky{
    grid-column:2;
    grid-row:1 / span 20;
    position:sticky;
    top:24px;
}.sticky{position:sticky;top:12px}@media(max-width:1150px){
    .quote-grid{
        grid-template-columns:1fr;
    }

    .quote-grid > .card:not(.sticky),
    .quote-grid > .sticky{
        grid-column:auto;
        grid-row:auto;
    }

    .sticky{
        position:static;
    }

.card{
    background:#fff;
    border:1px solid #d1d5db;
    border-radius:18px;
    padding:24px;
    margin-bottom:24px;
    box-shadow:0 8px 22px rgba(0,0,0,.04);
}

input,select,textarea{
    width:100%;
    padding:12px 14px;
    min-height:46px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    font:inherit;
    background:#fff;
}

}@media(max-width:700px){.grid.two{grid-template-columns:1fr}.topbar nav a{display:inline-block;margin:6px 10px 0 0}}label{display:block;font-weight:650;margin:12px 0 6px}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font:inherit;background:#fff}textarea{min-height:88px}.btn,button.btn,a.btn{display:inline-block;border:0;border-radius:10px;background:#e5e7eb;color:#111827;text-decoration:none;padding:10px 13px;font-weight:700;cursor:pointer}.btn.primary{background:#0f766e;color:#fff}.btn.full{width:100%;text-align:center;margin-top:12px}.muted{color:#6b7280}.alert{padding:12px;border-radius:12px;margin-bottom:14px}.alert.error{background:#fee2e2;color:#7f1d1d}.alert.success{background:#dcfce7;color:#14532d}.login-card{max-width:420px;margin:60px auto;background:#fff;border:1px solid #d1d5db;border-radius:18px;padding:28px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric{background:#fff;border:1px solid #d1d5db;border-radius:18px;padding:16px}.metric span{display:block;color:#6b7280}.metric strong{display:block;font-size:30px;margin-top:6px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left}.big-price{font-size:42px;font-weight:850;margin:10px 0}.pill{display:inline-block;border:1px solid #a7f3d0;background:#ecfdf5;color:#065f46;border-radius:999px;padding:4px 10px;font-size:14px}.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.checks label{font-weight:400;border:1px solid #d1d5db;background:#f9fafb;border-radius:10px;padding:10px;margin:0}.breakdown{width:100%;border-collapse:collapse;margin-top:12px}.breakdown td{padding:8px;border-bottom:1px solid #eee;vertical-align:top}.breakdown td:last-child{text-align:right;font-weight:800}.profit-box{background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;padding:10px;margin:12px 0}.message{white-space:pre-wrap;background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;padding:12px;overflow:auto}.json-editor{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-height:620px}#map{height:300px;border:1px solid #d1d5db;border-radius:14px;margin-top:10px;overflow:hidden}
