* { box-sizing: border-box; }
body { margin: 0; background: #f3f6f8; color: #17212b; font-family: Arial, sans-serif; line-height: 1.5; }
.page { min-height: 100vh; padding: 32px 16px; }
.quote-panel { width: min(920px, 100%); margin: 0 auto; background: #fff; border: 1px solid #d8e0e8; border-radius: 6px; padding: 28px; }
h1 { margin: 0 0 24px; font-size: 30px; font-weight: 700; }
.quote-form { display: grid; gap: 18px; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.field-grid:has(label:nth-child(3)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
label { display: grid; gap: 6px; font-weight: 700; }
input, textarea { width: 100%; border: 1px solid #aebccb; border-radius: 4px; padding: 10px 12px; color: #17212b; font: inherit; }
textarea { resize: vertical; }
.checkbox { display: flex; align-items: center; gap: 10px; }
.checkbox input { width: auto; }
button, .button-link { width: fit-content; border: 0; border-radius: 4px; background: #0b3a75; color: #fff; padding: 11px 18px; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.notice { border-left: 4px solid #0b3a75; background: #eef4fb; padding: 12px 14px; }
.notice p { margin: 0; }
.notice-error { border-left-color: #b42318; background: #fff1f0; }
.eyebrow { margin: 0 0 8px; color: #526171; font-size: 14px; font-weight: 700; text-transform: uppercase; }
.price { margin: 0 0 24px; font-size: 42px; font-weight: 700; }
.summary-list { display: grid; gap: 0; margin: 0 0 24px; border-top: 1px solid #d8e0e8; }
.summary-list div { display: grid; grid-template-columns: 180px 1fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid #d8e0e8; }
.summary-list dt { color: #526171; font-weight: 700; }
.summary-list dd { margin: 0; }
@media (max-width: 720px) { .quote-panel { padding: 20px; } .field-grid, .field-grid:has(label:nth-child(3)), .summary-list div { grid-template-columns: 1fr; } .summary-list div { gap: 4px; } }

.lede { margin: -12px 0 24px; color: #526171; max-width: 680px; }
.reference { margin: -16px 0 24px; color: #526171; font-weight: 700; }
.admin-panel { width: min(1180px, 100%); }
.admin-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.admin-header p { margin: 0; color: #526171; }
.table-wrap { overflow-x: auto; border: 1px solid #d8e0e8; border-radius: 6px; }
.admin-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.admin-table th, .admin-table td { padding: 10px 12px; border-bottom: 1px solid #d8e0e8; text-align: left; vertical-align: top; }
.admin-table th { background: #eef4fb; color: #34475c; font-weight: 700; white-space: nowrap; }
.admin-table tr:last-child td { border-bottom: 0; }
@media (max-width: 720px) { .admin-header { align-items: flex-start; flex-direction: column; } }
