.proposal-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.panellock-builder {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    align-items: start;
    gap: 16px;
    margin: 42px 0;
    padding: 16px;
    border-radius: 30px;
    background: linear-gradient(180deg, var(--surface-muted), transparent 340px);
}

.panellock-config-panel,
.panellock-config-stack {
    display: grid;
    gap: 16px;
}

.panellock-builder-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    padding: 8px;
}

.panellock-builder-heading h2,
.panellock-quote-panel h2 {
    margin-bottom: 8px;
}

.panellock-count-control {
    display: grid;
    grid-template-columns: 42px 58px 42px;
    flex: 0 0 auto;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--control-bg);
}

.panellock-count-control button,
.panellock-count-control output {
    display: grid;
    height: 42px;
    border: 0;
    place-items: center;
    background: transparent;
    color: var(--ink);
    font: inherit;
    font-weight: 900;
}

.panellock-count-control button {
    color: var(--green);
    cursor: pointer;
    font-size: 1.2rem;
}

.panellock-count-control button:disabled {
    cursor: not-allowed;
    opacity: 0.35;
}

.panellock-count-control output {
    border-right: 1px solid var(--line);
    border-left: 1px solid var(--line);
}

.panellock-config-card,
.panellock-quote-panel,
.portal-card,
.portal-panel,
.account-card {
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: var(--surface);
    box-shadow: var(--table-shadow);
}

.panellock-config-card {
    display: grid;
    gap: 18px;
}

.panellock-config-card > header,
.panellock-quote-panel dl div,
.panellock-quote-lines > div,
.panellock-total-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.panellock-config-card > header span {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.panellock-config-card > header > strong {
    color: var(--green);
}

.panellock-config-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.panellock-config-grid label {
    display: grid;
    gap: 7px;
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.panellock-config-grid select {
    width: 100%;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--control-bg);
    color: var(--ink);
    font: inherit;
}

.panellock-quote-panel {
    position: sticky;
    top: 18px;
    display: grid;
    gap: 16px;
    padding: 20px;
}

.panellock-quote-panel dl {
    display: grid;
    gap: 10px;
    margin: 0;
}

.panellock-quote-panel dd {
    margin: 0;
    font-weight: 900;
}

.panellock-quote-panel dt,
.panellock-quote-lines span,
.panellock-total-row span,
.panellock-quote-panel > p {
    color: var(--muted);
}

.panellock-quote-lines {
    display: grid;
    gap: 9px;
    padding: 14px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.panellock-total-row {
    align-items: end;
}

.panellock-total-row span {
    font-weight: 900;
}

.panellock-total-row strong {
    color: var(--green);
    font-size: 2.2rem;
    letter-spacing: -0.055em;
}

.panellock-quote-button {
    width: 100%;
}

.panellock-quote-panel > p {
    margin: 0;
    font-size: 0.86rem;
}

.ailab-builder.panellock-builder {
    margin: 42px 0;
}

.panellock-selector-shell {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
}

.panellock-selector-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
}

.panellock-selector-heading h3,
.panellock-config-heading h3 {
    margin: 0 0 6px;
}

.panellock-selector-heading p {
    margin: 0;
}

.panellock-config-card {
    grid-template-columns: minmax(0, 1fr);
    padding: 20px;
    border: 1px solid var(--line);
    background: var(--control-bg);
    box-shadow: none;
}

.panellock-config-heading {
    align-items: start;
}

.panellock-config-heading > strong {
    color: var(--green);
    font-size: 1.15rem;
}

.panellock-config-grid {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
}

.panellock-config-grid select {
    max-width: 100%;
    text-overflow: ellipsis;
}

.panellock-config-grid optgroup {
    color: var(--ink);
    font-weight: 900;
}

.panellock-config-grid option {
    font-weight: 500;
}

.panellock-spare-selector {
    display: grid;
    gap: 16px;
    margin-top: 6px;
    padding-top: 22px;
    border-top: 1px solid var(--line);
}

.panellock-spare-selector > header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 0.8fr);
    gap: 20px;
    align-items: end;
}

.panellock-spare-selector h3,
.panellock-spare-selector header p {
    margin-bottom: 0;
}

.panellock-spare-selector > header > p {
    color: var(--muted);
}

.panellock-spare-options {
    display: grid;
    gap: 10px;
}

.panellock-spare-option {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto auto minmax(74px, auto);
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--surface-strong);
}

.panellock-spare-index {
    color: var(--green);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.12em;
}

.panellock-spare-option h4,
.panellock-spare-option p {
    margin: 0;
}

.panellock-spare-option p {
    color: var(--muted);
    font-size: 0.78rem;
}

.panellock-spare-option > strong,
.panellock-spare-option > output {
    color: var(--green);
    font-weight: 900;
    text-align: right;
    white-space: nowrap;
}

.panellock-spare-option > output {
    min-width: 74px;
}

.panellock-protect-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 16px;
    border: 1px solid rgba(40, 116, 86, 0.34);
    border-radius: 16px;
    background: var(--surface-strong);
    cursor: pointer;
}

.panellock-source-attestation {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--surface-strong);
    cursor: pointer;
}

.panellock-source-attestation input {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    accent-color: var(--green);
}

.panellock-source-attestation span {
    display: grid;
    gap: 4px;
}

.panellock-source-attestation small {
    color: var(--muted);
    line-height: 1.45;
}

.panellock-source-attestation[data-disabled] {
    cursor: not-allowed;
    opacity: 0.5;
}

.panellock-proposal-details {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--surface-strong);
}

.panellock-proposal-details legend {
    padding: 0 6px;
    color: var(--ink);
    font-weight: 900;
}

.panellock-proposal-details label {
    display: grid;
    gap: 5px;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.panellock-proposal-details input {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 10px 11px;
    background: var(--surface-muted);
    color: var(--ink);
    font: inherit;
}

.panellock-proposal-details input:focus {
    border-color: var(--green);
    outline: 2px solid var(--green-soft);
}

.panellock-proposal-status {
    min-height: 1.35rem;
    margin: 0;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.panellock-proposal-status[data-error] {
    color: #b42318;
}

.ailab-proposal-button[aria-disabled="true"] {
    pointer-events: none;
    opacity: 0.45;
}

.panellock-proposal-actions {
    display: grid;
    gap: 10px;
}

.panellock-proposal-actions .button {
    width: 100%;
}

.panellock-proposal-actions button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.panellock-protect-option input {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    accent-color: var(--green);
}

.panellock-protect-option span {
    display: grid;
    gap: 4px;
}

.panellock-protect-option small {
    color: var(--muted);
    line-height: 1.45;
}

.panellock-protect-option > strong {
    color: var(--green);
    white-space: nowrap;
}

.panellock-protect-total {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: baseline;
}

.panellock-protect-total span {
    color: var(--muted);
    font-weight: 900;
}

.panellock-protect-total strong,
.panellock-protect-line strong {
    color: var(--green);
}

.stack-form label { display: grid; gap: 7px; color: var(--muted); font-size: 0.85rem; font-weight: 800; }
.stack-form input, .stack-form select, .stack-form textarea {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--control-bg);
    color: var(--ink);
    font: inherit;
}
.errorlist { margin: 0; padding: 0; color: #b42318; font-size: 0.82rem; list-style: none; }
.form-note, .proposal-exclusions { margin: 18px 0 0; color: var(--muted); font-size: 0.9rem; }

.panellock-boundary { margin: 56px 0; padding: clamp(30px, 6vw, 70px); border-radius: 28px; background: var(--code-bg); color: var(--code-ink); }
.panellock-boundary h2 { max-width: 680px; font-size: clamp(2rem, 5vw, 4rem); }
.panellock-boundary p:last-child { max-width: 760px; }

.panellock-specifications {
    display: grid;
    gap: 28px;
    margin: 64px 0 80px;
}

.panellock-specifications > header {
    max-width: 720px;
}

.panellock-specifications > header h2 {
    margin-bottom: 10px;
    font-size: clamp(2rem, 5vw, 3.7rem);
}

.panellock-spec-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.panellock-spec-group {
    display: grid;
    gap: 18px;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: var(--surface-muted);
}

.panellock-spec-group > div:first-child {
    display: flex;
    gap: 12px;
    align-items: baseline;
}

.panellock-spec-group > div:first-child span {
    color: var(--green);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.14em;
}

.panellock-spec-group h3 {
    margin: 0;
    font-size: 1.35rem;
}

.panellock-spec-stack {
    display: grid;
    gap: 10px;
}

.panellock-spec-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: var(--surface);
}

.panellock-spec-card summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 24px;
    gap: 12px;
    align-items: center;
    padding: 16px;
    cursor: pointer;
    list-style: none;
}

.panellock-spec-card summary::-webkit-details-marker {
    display: none;
}

.panellock-spec-card summary > strong {
    min-width: 0;
}

.panellock-spec-card summary > span {
    color: var(--green);
    font-weight: 900;
    white-space: nowrap;
}

.panellock-spec-card summary > i {
    color: var(--green);
    font-size: 1.35rem;
    font-style: normal;
    text-align: center;
    transition: transform 160ms ease;
}

.panellock-spec-card[open] summary > i {
    transform: rotate(45deg);
}

.panellock-spec-body {
    display: grid;
    gap: 14px;
    padding: 0 16px 16px;
    border-top: 1px solid var(--line);
}

.panellock-spec-body > p {
    margin: 14px 0 0;
    color: var(--muted);
}

.panellock-spec-body dl {
    display: grid;
    gap: 8px;
    margin: 0;
}

.panellock-spec-body dl > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--line);
}

.panellock-spec-body dt {
    color: var(--muted);
}

.panellock-spec-body dd {
    margin: 0;
    text-align: right;
    font-weight: 800;
}

.panellock-spec-body > a {
    color: var(--green);
    font-weight: 900;
}

.panellock-protect-page {
    display: grid;
    gap: 22px;
    margin: 42px 0 80px;
}

.panellock-protect-promise,
.panellock-protect-flow,
.panellock-agentlab-panel,
.panellock-assurance-grid > article,
.panellock-protect-boundary {
    border: 1px solid var(--line);
    border-radius: 28px;
}

.panellock-protect-promise,
.panellock-protect-flow,
.panellock-agentlab-panel,
.panellock-assurance-grid > article {
    background: var(--surface-strong);
    box-shadow: var(--table-shadow);
}

.panellock-protect-promise,
.panellock-protect-flow,
.panellock-agentlab-panel,
.panellock-assurance-grid > article,
.panellock-protect-boundary {
    padding: clamp(26px, 5vw, 52px);
}

.panellock-protect-heading {
    max-width: 760px;
}

.panellock-protect-heading h2,
.panellock-agentlab-panel h2,
.panellock-assurance-grid h2,
.panellock-protect-boundary h2 {
    font-size: clamp(2rem, 4.5vw, 3.6rem);
}

.panellock-protect-heading > p:last-child,
.panellock-agentlab-panel > div > p:last-child,
.panellock-assurance-grid article > p,
.panellock-protect-boundary > p:last-child {
    color: var(--muted);
}

.panellock-protect-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px;
}

.panellock-protect-grid article {
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: var(--surface-muted);
}

.panellock-protect-grid article > span,
.panellock-protect-flow li > span {
    color: var(--green);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.14em;
}

.panellock-protect-grid h3 {
    margin: 14px 0 8px;
}

.panellock-protect-grid p,
.panellock-protect-flow li p {
    margin: 0;
    color: var(--muted);
}

.panellock-protect-flow {
    background: linear-gradient(145deg, var(--surface-strong), var(--surface-muted));
}

.panellock-protect-flow ol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}

.panellock-protect-flow li {
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 0 20px;
    border-left: 1px solid var(--line);
}

.panellock-protect-flow li:first-child {
    padding-left: 0;
    border-left: 0;
}

.panellock-protect-flow li:last-child {
    padding-right: 0;
}

.panellock-protect-flow h3 {
    margin-bottom: 8px;
}

.panellock-agentlab-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 42px;
    align-items: start;
}

.panellock-agentlab-facts {
    display: grid;
    gap: 0;
}

.panellock-agentlab-facts p {
    display: grid;
    gap: 3px;
    margin: 0;
    padding: 13px 0;
    border-top: 1px solid var(--line);
}

.panellock-agentlab-facts span {
    color: var(--muted);
}

.panellock-agentlab-facts .button {
    justify-self: start;
    margin-top: 18px;
}

.panellock-assurance-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
    gap: 22px;
}

.panellock-protect-price {
    display: grid;
    align-content: start;
}

.panellock-protect-price > strong {
    color: var(--green);
    font-size: clamp(3.2rem, 7vw, 5.6rem);
    letter-spacing: -0.07em;
    line-height: 0.9;
}

.panellock-protect-price > span {
    margin: 7px 0 20px;
    color: var(--muted);
    font-weight: 900;
}

.panellock-protect-price .button {
    justify-self: start;
    margin-top: 12px;
}

.panellock-protect-boundary {
    background: var(--code-bg);
    color: var(--code-ink);
}

.panellock-protect-boundary .eyebrow {
    color: var(--accent-text);
}

.panellock-protect-boundary > p:last-child {
    max-width: 780px;
    color: rgba(255, 255, 255, 0.72);
}

.proposal-shell, .portal-shell, .account-shell { margin: 52px 0 80px; }
.proposal-header, .portal-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.proposal-status { padding: 9px 13px; border-radius: 999px; background: var(--warning-bg); font-weight: 900; white-space: nowrap; }
.proposal-alert { margin: 28px 0; padding: 18px 20px; border-left: 5px solid #d89a12; border-radius: 10px; background: var(--warning-bg); }
.proposal-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 20px; }
.proposal-grid > section { padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.proposal-facts div, .proposal-lines > div, .proposal-total { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.proposal-facts dt { color: var(--muted); }
.proposal-facts dd { margin: 0; text-align: right; font-weight: 800; }
.proposal-lines a { color: var(--green); font-size: 0.8rem; }
.proposal-total { margin-top: 10px; border: 0; font-size: 1.2rem; }
.proposal-total.annual { margin-top: 0; color: var(--green); }

.account-card { width: min(560px, 100%); margin: 0 auto; }
.stack-form { display: grid; gap: 16px; }
.stack-form p { margin: 0; }

.portal-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.portal-card { color: inherit; text-decoration: none; transition: transform 160ms ease, border-color 160ms ease; }
.portal-card:hover { transform: translateY(-4px); border-color: var(--green); }
.portal-card > span { color: var(--green); font-size: 0.78rem; font-weight: 900; text-transform: uppercase; }
.portal-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin: 28px 0; }
.portal-metrics article { display: grid; padding: 18px; border-radius: 16px; background: var(--green-soft); }
.portal-metrics strong { font-size: 2rem; }
.portal-metrics span { color: var(--muted); font-size: 0.85rem; }
.portal-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.portal-row { display: flex; justify-content: space-between; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.portal-row div { display: grid; }
.portal-row span { color: var(--muted); font-size: 0.84rem; }

.portal-inventory {
    margin-bottom: 18px;
}

.portal-inventory-heading {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: end;
    margin-bottom: 20px;
}

.portal-inventory-heading h2 {
    margin-bottom: 0;
}

.portal-inventory-heading > p {
    max-width: 520px;
    margin-bottom: 0;
    color: var(--muted);
}

.portal-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 16px;
}

.portal-table {
    width: 100%;
    min-width: 1050px;
    border-collapse: collapse;
    background: var(--surface-strong);
}

.portal-table th,
.portal-table td {
    padding: 14px 13px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}

.portal-table th {
    background: var(--surface-muted);
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.portal-table tbody tr:last-child td {
    border-bottom: 0;
}

.portal-project-cell {
    min-width: 220px;
}

.portal-project-cell strong,
.portal-project-cell small {
    display: block;
}

.portal-project-cell small,
.portal-muted {
    color: var(--muted);
}

.portal-update-warning {
    cursor: help;
}

.portal-release-flag {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    font-weight: 900;
    white-space: nowrap;
}

.portal-release-flag.due {
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--warning-bg);
    color: #9a6700;
    text-decoration: none;
}

.portal-release-flag.clean {
    color: var(--green);
}

.portal-release-flag.clean i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: currentColor;
}

.portal-table-link,
.portal-table-action {
    color: var(--green);
    font-weight: 900;
    white-space: nowrap;
}

.portal-project-cell .portal-table-action {
    display: inline-block;
    margin-top: 8px;
    font-size: 0.78rem;
}

.portal-certifications {
    display: flex;
    min-width: 180px;
    flex-wrap: wrap;
    gap: 6px;
}

.portal-certifications span {
    padding: 4px 7px;
    border-radius: 999px;
    background: var(--green-soft);
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

.portal-certifications .empty {
    background: var(--surface-muted);
    color: var(--muted);
}

.panellock-allowance-page {
    display: grid;
    gap: 24px;
}

.panellock-allowance-page > header {
    max-width: 760px;
}

.panellock-allowance-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.panellock-allowance-list article {
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: var(--surface-strong);
    box-shadow: var(--table-shadow);
}

.panellock-allowance-list article > span {
    color: var(--green);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.panellock-allowance-list h2 {
    margin-top: 10px;
}

.panellock-allowance-list p,
.gateway-upload-status {
    color: var(--muted);
}

.gateway-upload-shell .account-card {
    max-width: 760px;
}

.gateway-upload-status {
    min-height: 1.5em;
    margin-top: 18px;
    font-weight: 800;
}

.panel-connection-shell .account-card {
    max-width: 820px;
}

.connection-steps {
    display: grid;
    gap: 12px;
    margin: 28px 0;
    padding: 0;
    counter-reset: connection-step;
    list-style: none;
}

.connection-boundary {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    gap: 10px;
    align-items: center;
    margin: 26px 0;
}

.connection-boundary > div {
    display: grid;
    gap: 4px;
    min-height: 92px;
    align-content: center;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    text-align: center;
}

.connection-boundary > div.agentlab {
    border-color: var(--green);
    background: var(--green-soft);
}

.connection-boundary span {
    color: var(--muted);
    font-size: 0.8rem;
}

.connection-boundary b {
    color: var(--green);
    font-size: 1.4rem;
}

.connection-steps li {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 4px 14px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 14px;
    counter-increment: connection-step;
}

.connection-steps li::before {
    grid-row: span 2;
    content: counter(connection-step);
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: var(--green-soft);
    color: var(--green);
    font-weight: 900;
}

.connection-steps span,
.connection-command p {
    color: var(--muted);
}

.connection-command {
    display: grid;
    gap: 10px;
    margin: 24px 0 16px;
    padding: 20px;
    border-radius: 16px;
    background: var(--code-bg);
    color: var(--code-ink);
}

.connection-command > span {
    color: var(--accent-text);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.connection-command code {
    overflow-wrap: anywhere;
    color: inherit;
    font-size: 0.9rem;
}

.connection-command p {
    margin: 0;
}

.connection-command.preview {
    opacity: 0.82;
}

.connection-command-form {
    margin-bottom: 24px;
}

@media (max-width: 900px) {
    .panellock-builder, .proposal-grid, .portal-sections, .portal-card-grid { grid-template-columns: 1fr; }
    .panellock-builder .ailab-summary-card { position: static; }
    .panellock-spec-groups { grid-template-columns: 1fr; }
    .panellock-protect-grid,
    .panellock-protect-flow ol,
    .panellock-agentlab-panel,
    .panellock-assurance-grid { grid-template-columns: 1fr; }
    .panellock-protect-flow li { padding: 18px 0; border-top: 1px solid var(--line); border-left: 0; }
    .panellock-protect-flow li:first-child { padding-top: 0; border-top: 0; }
    .panellock-allowance-list { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
    .panellock-selector-heading { grid-template-columns: 1fr; }
    .panellock-selector-heading .ailab-package-controls { justify-items: start; text-align: left; }
    .panellock-protect-option { grid-template-columns: auto minmax(0, 1fr); }
    .panellock-protect-option > strong { grid-column: 2; }
    .panellock-spec-group { padding: 16px; }
    .portal-metrics { grid-template-columns: repeat(2, 1fr); }
    .proposal-header, .portal-heading { display: grid; }
    .portal-inventory-heading { display: grid; }
    .connection-boundary { grid-template-columns: 1fr; }
    .connection-boundary b { justify-self: center; transform: rotate(90deg); }
    .panellock-spare-selector > header { grid-template-columns: 1fr; }
    .panellock-spare-option { grid-template-columns: 32px minmax(0, 1fr) auto; }
    .panellock-spare-option > strong { text-align: right; }
    .panellock-spare-option .ailab-stepper { grid-column: 2; justify-self: start; }
    .panellock-spare-option > output { grid-column: 3; }
}
