body.public-request-page {
    background: #f3f5f7;
    color: #162536;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.public-request-page .public-shell {
    width: min(1160px, calc(100% - 48px));
}

.public-request-page .public-header {
    min-height: 72px;
    padding: 0;
}

.public-request-page .brand {
    color: #162536;
    font-family: inherit;
    font-size: 1.06rem;
    font-weight: 760;
    letter-spacing: .08em;
}

.public-request-page .brand-subtitle {
    color: #64748b;
    font-size: .8rem;
    margin-top: 2px;
}

.public-request-page .header-link {
    background: #fff;
    border: 1px solid #d9e1e8;
    border-radius: 6px;
    color: #425466;
    font-size: .9rem;
    font-weight: 650;
    padding: 9px 13px;
}

.public-request-page main.public-shell {
    border-top: 1px solid #d9e1e8;
    padding: 0 0 64px;
}

.public-request-header {
    padding: 44px 0 22px;
}

.public-request-eyebrow {
    color: #185d85;
    font-size: .78rem;
    font-weight: 760;
    letter-spacing: .09em;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.public-request-header h1 {
    color: #162536;
    font-size: clamp(2rem, 4vw, 3.25rem);
    letter-spacing: -.045em;
    line-height: 1.05;
    margin: 0 0 12px;
}

.public-request-header p:last-child {
    color: #516477;
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
    max-width: 680px;
}

.public-request-page .page-section {
    margin-top: 20px;
}

.public-request-page .panel-card {
    background: #fff;
    border: 1px solid #d9e1e8;
    border-radius: 10px;
    box-shadow: none;
    padding: 26px;
}

.public-request-page .panel-card h2,
.public-request-page .panel-card h3,
.public-request-page .panel-card h4 {
    color: #162536;
    font-family: inherit;
    font-size: 1.15rem;
    letter-spacing: -.015em;
    margin-bottom: 8px;
}

.public-request-page .muted,
.public-request-page .hint {
    color: #64748b;
}

.public-request-page .grid-form {
    gap: 20px;
}

.public-request-page .field-grid {
    gap: 18px;
}

.public-request-page label,
.public-request-page legend {
    color: #33475b;
    font-size: .9rem;
    font-weight: 680;
}

.public-request-page input,
.public-request-page select,
.public-request-page textarea {
    background: #fff;
    border: 1px solid #bcc9d4;
    border-radius: 6px;
    color: #162536;
    padding: 12px 13px;
}

.public-request-page textarea {
    min-height: 92px;
}

.public-request-page input:focus,
.public-request-page select:focus,
.public-request-page textarea:focus {
    border-color: #185d85;
    outline: 3px solid rgba(24, 93, 133, .2);
    outline-offset: 0;
}

.public-request-page .shape-parameters {
    border-left: 2px solid #d9e1e8;
    gap: 14px;
    padding-left: 16px;
}

.public-request-page .action-row {
    gap: 10px;
}

.public-request-page .button-primary,
.public-request-page .button-secondary,
.public-request-page .button-danger,
.public-request-page .button-link {
    border-radius: 6px;
    font-weight: 700;
    padding: 12px 16px;
}

.public-request-page .button-primary {
    background: #185d85;
    color: #fff;
}

.public-request-page .button-primary:hover {
    background: #104968;
}

.public-request-page .button-secondary {
    background: #fff;
    border: 1px solid #bcc9d4;
    color: #425466;
}

.public-request-page .button-link {
    color: #185d85;
}

.public-request-page .status-message {
    background: #f8fafb;
    border: 1px solid #d9e1e8;
    border-radius: 6px;
    color: #425466;
    padding: 14px 16px;
}

.public-request-page .client-calculation-result:not([hidden]) {
    border-left: 3px solid #185d85;
}

.public-request-page .request-items {
    gap: 10px;
}

.public-request-page .request-item {
    background: #f8fafb;
    border: 1px solid #d9e1e8;
    border-radius: 6px;
    padding: 16px;
}

.public-request-page .summary-lines {
    border-top: 1px solid #d9e1e8;
    padding-top: 2px;
}

.public-request-page .summary-line {
    border-color: #e4e9ee;
}

.public-request-page .public-request-final {
    border-top: 3px solid #185d85;
}

.public-request-page :focus-visible {
    outline: 3px solid rgba(24, 93, 133, .3);
    outline-offset: 3px;
}

@media (max-width: 760px) {
    .public-request-page .public-shell {
        width: min(100% - 32px, 100%);
    }

    .public-request-page .public-header {
        align-items: center;
        flex-direction: row;
        min-height: 64px;
    }

    .public-request-page .brand-subtitle {
        display: none;
    }

    .public-request-header {
        padding: 32px 0 16px;
    }

    .public-request-page .panel-card {
        padding: 20px;
    }

    .public-request-page .field-grid {
        grid-template-columns: 1fr;
    }

    .public-request-page .action-row .button-primary,
    .public-request-page .action-row .button-secondary {
        width: 100%;
    }

    .public-request-page .request-item-header,
    .public-request-page .summary-line {
        align-items: flex-start;
    }
}
