/* Shared commercial-administration layout: catalogue summaries and editor panels. */
.commercial-admin-filters,
.commercial-admin-toolbar,
.commercial-admin-editor {
    margin-block-end: var(--space-6, 24px);
}

.commercial-admin-grid {
    --card-min: 320px;
    --card-max: 420px;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--card-min)), var(--card-max)));
    align-items: stretch;
    justify-content: start;
    gap: var(--space-6, 24px);
}

.commercial-admin-grid > .edu-card {
    align-self: stretch;
    min-inline-size: 0;
    block-size: auto;
    overflow-wrap: normal;
    word-break: normal;
}

.commercial-admin-grid--compact > .edu-card {
    align-content: start;
    display: flex;
    flex-direction: column;
    gap: var(--space-3, 12px);
}

.commercial-admin-grid--catalogue {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--space-4, 16px);
}

.commercial-admin-grid--catalogue > .edu-card.edu-card--module:not(.edu-card--with-section-header):not(:has(>.edu-card__link,>.edu-card__button)) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(52px, 1fr) auto;
    align-content: start;
    align-items: stretch;
    align-self: stretch;
    gap: var(--space-3, 12px);
    inline-size: 100%;
    min-inline-size: 0;
    padding: var(--space-4, 16px);
}

.commercial-admin-card--catalogue .commercial-admin-card__hero {
    position: relative;
    display: grid;
    grid-template-rows: 120px minmax(2.7em, auto);
    justify-items: center;
    gap: var(--space-2, 8px);
    min-inline-size: 0;
    padding-block-start: var(--space-1, 4px);
}

.commercial-admin-card--catalogue .commercial-admin-card__hero > .visual-artwork {
    --artwork-size: 120px;
    filter: drop-shadow(0 6px 10px color-mix(in srgb, var(--control-text) 14%, transparent));
}

.commercial-admin-card__badge {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
}

.commercial-admin-card__title {
    display: grid;
    align-items: start;
    margin: 0;
    max-inline-size: 100%;
    /* Control text is theme-resolved; --shell-text is a legacy light-shell token. */
    color: var(--control-text);
    font-size: var(--font-size-lg, 1.0625rem);
    line-height: 1.35;
    overflow-wrap: normal;
    text-align: center;
}

.commercial-admin-card__summary {
    display: grid;
    justify-items: center;
    align-content: start;
    gap: var(--space-3, 12px);
    margin: 0;
}

.commercial-admin-card__content {
    display: grid;
    align-content: start;
    gap: var(--space-2, 8px);
    min-block-size: 52px;
}

.commercial-admin-card__category {
    display: inline-flex;
    align-items: center;
    min-block-size: 24px;
    padding-inline: 8px;
    border: 1px solid var(--control-border);
    border-radius: 999px;
    background: var(--control-surface, transparent);
    color: var(--control-text);
    font-size: var(--font-size-sm, .875rem);
    font-weight: 700;
    white-space: nowrap;
}

.commercial-admin-card__code,
.commercial-admin-card__prerequisites {
    margin: 0;
    color: var(--card-muted);
    font-size: var(--font-size-sm, .875rem);
    line-height: 1.35;
    text-align: center;
}

.commercial-admin-card__prerequisites {
    color: var(--control-text);
}

.commercial-admin-grid--catalogue .commercial-admin-card__actions {
    margin: 0;
    padding-block-start: var(--space-3, 12px);
    border-block-start: 1px solid var(--control-border);
}

.commercial-admin-card .edu-card__section-header {
    inline-size: 100%;
    margin-block-end: var(--space-2, 8px);
}

.commercial-admin-card .edu-card__section-heading > .visual-artwork {
    --artwork-size: 48px;
}

.commercial-admin-card .edu-card__content strong {
    overflow-wrap: normal;
    word-break: normal;
}

.commercial-admin-grid--compact > .edu-card > .commercial-admin-card__metadata,
.commercial-admin-grid--compact > .edu-card > .commercial-admin-card__prerequisites,
.commercial-admin-grid--compact > .edu-card > .commercial-admin-card__actions {
    grid-column: 1 / -1;
    min-inline-size: 0;
}

.commercial-admin-card__metadata {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-2, 8px) var(--space-3, 12px);
    margin-block: var(--space-3, 12px);
}

.commercial-admin-card__metadata p {
    display: grid;
    gap: 2px;
    margin: 0;
    min-inline-size: 0;
}

.commercial-admin-card__metadata p > span {
    color: var(--card-muted);
    font-size: var(--font-size-sm, .875rem);
}

.commercial-admin-card__metadata p:last-child {
    grid-column: 1 / -1;
}

.commercial-admin-card__prerequisites {
    margin-block: var(--space-3, 12px);
}

.commercial-admin-chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2, 8px);
    margin: var(--space-2, 8px) 0 0;
    padding: 0;
    list-style: none;
}

.commercial-admin-chips li {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2, 8px);
    max-inline-size: 100%;
    padding: 4px 8px;
    border: 1px solid var(--control-border);
    border-radius: 999px;
}

.commercial-module-relations,.commercial-module-lifecycle{display:grid;gap:var(--space-6,24px)}.commercial-module-relations>section,.commercial-module-lifecycle{min-inline-size:0}.commercial-module-relations__header,.commercial-module-lifecycle>header{display:grid;gap:4px}.commercial-module-relations__header h2,.commercial-module-lifecycle h2,.commercial-module-lifecycle-control h2{margin:0;color:var(--control-text)}.commercial-module-relations__header p,.commercial-module-lifecycle>header p,.commercial-module-lifecycle-control p{margin:0;color:var(--control-muted)}.commercial-module-relation-list{display:grid;gap:10px;margin:0}.commercial-module-relation-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--control-border);border-radius:12px;background:var(--control-soft)}.commercial-module-relation-list dt,.commercial-module-relation-list dd{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-inline-size:0;margin:0}.commercial-module-relation-list dt{display:grid;gap:3px}.commercial-module-relation-list dt span{color:var(--control-muted);font-size:var(--font-size-sm,.875rem)}.commercial-module-relation-list__type{color:var(--control-muted);font-size:var(--font-size-sm,.875rem);font-weight:700}.commercial-module-lifecycle__events{display:grid;gap:10px;margin:0;padding:0;list-style:none}.commercial-module-lifecycle__events li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px;border-inline-start:3px solid var(--brand-action);border-radius:0 12px 12px 0;background:var(--control-soft)}.commercial-module-lifecycle__events li :is(span,time,small){color:var(--control-muted);font-size:var(--font-size-sm,.875rem)}.commercial-module-lifecycle-control{display:grid;gap:8px;margin-block-start:var(--space-6,24px);padding-block-start:var(--space-5,20px);border-block-start:1px solid var(--control-border)}

@media(max-width:700px){.commercial-module-relation-list>div,.commercial-module-lifecycle__events li{grid-template-columns:1fr}.commercial-module-relation-list dd{align-items:stretch}.commercial-module-relation-list dd form,.commercial-module-relation-list dd .edu-button{inline-size:100%}}

.commercial-admin-card__actions.edu-action-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: var(--space-2, 8px);
    inline-size: 100%;
    margin-block-start: 0;
}

.commercial-admin-card__actions > * {
    min-inline-size: 0;
}

.commercial-admin-card__actions .edu-button,
.commercial-admin-card__archive,
.commercial-admin-card__archive .edu-button {
    inline-size: 100%;
    max-inline-size: none;
}

.commercial-admin-editor {
    scroll-margin-block-start: var(--sticky-header-offset, 88px);
}

.commercial-admin-editor .edu-card {
    inline-size: 100%;
}

.commercial-admin-editor__header {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: space-between;
    gap: var(--space-4, 16px);
    margin-block-end: var(--space-5, 20px);
}

.commercial-admin-editor__header h2,
.commercial-admin-editor__header p {
    margin-block: 0;
}

.commercial-admin-editor__dependencies {
    margin-block-start: var(--space-5, 20px);
}

.commercial-admin-catalogue-group { margin-block: var(--space-7, 32px); }
.commercial-admin-catalogue-group > h2 { margin-block: 0 var(--space-4, 16px); color: var(--control-text); }
.commercial-module-page { display: grid; gap: var(--space-5, 20px); }
.commercial-module-page__header { align-items: center; }
.commercial-module-page__header .page-header__lead { align-items: center; }
.commercial-module-page__header .page-header__artwork > .visual-artwork { --artwork-size: 120px; }
.commercial-module-page__header h1,.commercial-module-page__header p { margin: 0; }
.commercial-module-page__statuses,.commercial-module-page__tabs { display: flex; flex-wrap: wrap; gap: var(--space-2, 8px); align-items: center; margin-block-start: var(--space-3, 12px); }
.commercial-module-page__panel { max-inline-size: 920px; }
.commercial-module-page__form { display: grid; gap: var(--space-5, 20px); }
.commercial-admin-editor__dependencies .commercial-admin-chips li {
    flex-wrap: wrap;
}

.commercial-admin-editor__dependencies form {
    margin: 0;
}

.commercial-subscription__section {
    margin-block: var(--space-7, 28px);
}

.commercial-subscription__section > h2,
.commercial-subscription__history h3,
.commercial-subscription__included-core h3 {
    margin-block: 0 var(--space-3, 12px);
}

.commercial-subscription__included-core,
.commercial-subscription__discount {
    margin-block: var(--space-5, 20px);
    padding: var(--space-4, 16px);
    border: 1px solid var(--control-border);
    border-radius: var(--radius-3, 12px);
}

.commercial-subscription__discount legend {
    padding-inline: var(--space-2, 8px);
    font-weight: 700;
}

.commercial-model-summary {
    margin: 0;
    padding: var(--space-3, 12px) var(--space-4, 16px);
    border-inline-start: 4px solid var(--brand-orange, #fc7303);
    border-radius: var(--radius-2, 8px);
    background: var(--control-soft, #f7fbff);
    color: var(--control-text, #092b55);
    font-weight: 700;
}

.commercial-subscription__core-details {
    margin-block-start: var(--space-5, 20px);
}

.commercial-subscription__core-details summary,
.commercial-subscription__discount summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3, 12px);
    cursor: pointer;
    color: var(--control-text, #092b55);
    font-weight: 800;
}

.commercial-subscription__core-details summary > span,
.commercial-subscription__core-details summary small {
    display: block;
}

.commercial-subscription__core-details summary small {
    margin-block-start: var(--space-1, 4px);
    color: var(--card-muted, #55718e);
    font-size: var(--font-size-sm, .875rem);
    font-weight: 500;
}

.commercial-subscription__core-details summary > b {
    flex: none;
    padding: .35rem .65rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffe36c, #ffc229);
    color: #092b55;
    font-size: .75rem;
}

.commercial-subscription__core-details .commercial-admin-chips,
.commercial-subscription__discount .edu-form-grid {
    margin-block-start: var(--space-4, 16px);
}

.commercial-offering-selector__dependencies,
.commercial-offering-selector__blocked {
    font-weight: 700;
}

.commercial-offering-selector__blocked {
    color: var(--status-warning-text, #8a3d00) !important;
}

.commercial-quote-addon:has(input:disabled) {
    opacity: .72;
}

.commercial-quote-addon:has(input:disabled) .commercial-quote-addon__select-surface,
.commercial-quote-addon:has(input:disabled) .commercial-quote-addon__check {
    cursor: not-allowed;
}

.commercial-subscription__dependency {
    margin-block: 0 var(--space-3, 12px);
}

.commercial-subscription__line-total {
    margin-block: var(--space-4, 16px) 0;
}

.commercial-subscription__module-card > .record-metadata,
.commercial-subscription__module-card > .commercial-subscription__line-total {
    grid-column: 1 / -1;
    min-inline-size: 0;
}

.commercial-subscription__breakdown {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: var(--space-3, 12px);
    margin: 0;
}

.commercial-subscription__breakdown > div {
    padding: var(--space-4, 16px);
    border: 1px solid var(--control-border);
    border-radius: var(--radius-3, 12px);
}

.commercial-subscription__breakdown dt {
    font-size: var(--font-size-sm, .875rem);
}

.commercial-subscription__breakdown dd {
    margin: var(--space-2, 8px) 0 0;
    font-weight: 700;
}

.commercial-subscription__history {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: var(--space-4, 16px);
    align-items: start;
}

.commercial-subscription__history > div:not(.commercial-history-grid),
.commercial-history-panel {
    min-inline-size: 0;
    padding: var(--space-4, 16px);
    border: 1px solid var(--control-border);
    border-radius: var(--radius-3, 12px);
}

.commercial-subscription__history ul {
    display: grid;
    gap: var(--space-2, 8px);
    margin: 0;
    padding-inline-start: var(--space-5, 20px);
}

.commercial-history-panel {
    align-self: start;
    background: var(--control-surface);
}

.commercial-history-panel--wide {
    grid-column: 1 / -1;
}

.commercial-subscription__history--audit {
    grid-template-columns: minmax(0, 1fr);
}

.commercial-history-grid {
    display: grid;
    align-items: start;
    gap: var(--space-3, 12px);
    min-inline-size: 0;
}

.commercial-history-grid--activity {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.commercial-history-grid--records {
    grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
}

.commercial-history-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3, 12px);
    margin-block-end: var(--space-3, 12px);
}

.commercial-history-panel__header h3 {
    margin: 0;
}

.commercial-history-panel__count {
    flex: none;
    min-inline-size: 28px;
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--control-soft);
    color: var(--card-muted);
    font-size: var(--font-size-xs, .75rem);
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.commercial-history-events {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    gap: var(--space-3, 12px);
    margin: 0;
    padding: 0;
    list-style: none;
}

.commercial-history-event {
    display: grid;
    align-content: start;
    gap: var(--space-2, 8px);
    min-inline-size: 0;
    padding: var(--space-3, 12px);
    border: 1px solid var(--control-border);
    border-radius: var(--radius-2, 10px);
    background: var(--control-soft);
}

.commercial-history-event header,
.commercial-history-event p {
    margin: 0;
}

.commercial-history-event__title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3, 12px);
}

.commercial-history-event__title strong {
    min-inline-size: 0;
    overflow-wrap: anywhere;
}

.commercial-history-event__title time {
    flex: none;
}

.commercial-history-event__summary {
    color: var(--card-muted);
}

.commercial-history-event time,
.commercial-history-list time {
    color: var(--card-muted);
    font-size: var(--font-size-xs, .75rem);
    line-height: 1.5;
}

.commercial-history-event p {
    line-height: 1.55;
}

.commercial-history-event__changes {
    display: grid;
    gap: var(--space-2, 8px);
}

.commercial-history-event__changes details {
    border-block-start: 1px solid var(--control-border);
}

.commercial-history-event__changes summary {
    min-block-size: 40px;
    padding-block: 10px 6px;
    color: var(--brand-action);
    font-weight: 700;
    cursor: pointer;
}

.commercial-history-event__changes summary:focus-visible {
    outline: 3px solid var(--action-focus, var(--brand-action));
    outline-offset: 2px;
}

.commercial-history-modules {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    gap: 6px !important;
    padding: 6px 0 2px !important;
    list-style: none;
}

.commercial-history-modules li {
    min-inline-size: 0;
    padding: 5px 7px;
    border: 1px solid var(--control-border);
    border-radius: var(--radius-2, 10px);
    background: var(--control-surface);
    font-size: var(--font-size-xs, .75rem);
}

.commercial-history-modules .visual-artwork {
    --artwork-size: 24px !important;
}

.commercial-history-list {
    display: grid !important;
    gap: 0 !important;
    padding: 0 !important;
    list-style: none;
}

.commercial-history-list > li {
    display: grid;
    gap: 4px;
    min-inline-size: 0;
    padding-block: var(--space-2, 8px);
}

.commercial-history-list > li + li {
    border-block-start: 1px solid var(--control-border);
}

.commercial-history-list--terms {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-2, 8px) !important;
}

.commercial-history-list--terms > li,
.commercial-history-list--terms > li + li {
    padding: var(--space-2, 8px);
    border: 1px solid var(--control-border);
    border-radius: var(--radius-2, 10px);
    background: var(--control-soft);
}

.commercial-history-list strong,
.commercial-history-list span {
    overflow-wrap: anywhere;
}

.commercial-history-empty {
    color: var(--card-muted);
}

@media (max-width: 900px) {
    .commercial-history-grid--activity {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .commercial-history-grid--records {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 600px) {
    .commercial-history-grid--activity,
    .commercial-history-list--terms {
        grid-template-columns: minmax(0, 1fr);
    }

    .commercial-history-panel--wide {
        grid-column: auto;
    }
}

@media (max-width: 900px) {
    .commercial-admin-grid {
        --card-min: 300px;
        grid-template-columns: repeat(2, minmax(min(100%, var(--card-min)), 1fr));
    }
}

@media (max-width: 1279px) {
    .commercial-admin-grid--catalogue {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .commercial-admin-card--catalogue .commercial-admin-card__hero > .visual-artwork {
        --artwork-size: 104px;
    }
}

@media (max-width: 1023px) {
    .commercial-admin-grid--catalogue {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 699px) {
    .commercial-admin-grid--catalogue {
        grid-template-columns: minmax(0, 1fr);
    }

    .commercial-admin-card--catalogue .commercial-admin-card__hero > .visual-artwork {
        --artwork-size: 108px;
    }
}

@media (max-width: 600px) {
    .commercial-admin-grid {
        grid-template-columns: minmax(0, 1fr);
        --card-min: 100%;
    }

    .commercial-admin-card__metadata,
    .commercial-admin-card__actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .commercial-admin-card__metadata p:last-child {
        grid-column: auto;
    }
}

@media (max-width: 699px) { .commercial-module-page__header .page-header__artwork { justify-self: center; } }

.commercial-admin-card__actions.edu-action-group:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }

/* Dedicated commercial module product information. */
/* The module identity header is a shared Page Header Surface, not a local white card. */
.commercial-module-page__header .page-header__artwork > .visual-artwork { --artwork-size: min(220px, 19vw); }
.commercial-module-page__panel { inline-size: 100%; max-inline-size: none; }
.commercial-module-overview { display: grid; gap: var(--space-6, 28px); }
.commercial-module-overview__summary { padding-block-end: var(--space-5, 20px); border-block-end: 1px solid var(--control-border); }
.commercial-module-overview__summary h2,.commercial-module-overview__summary p { margin-block: 0 var(--space-3, 12px); }
.module-information-strip { display:grid; gap:var(--space-3,12px); }
.module-information-strip__title { margin:0; font-size:var(--font-size-lg,1.125rem); }
.module-information-strip__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-4,16px); margin:0; }
.module-information-strip__card { position:relative; display:grid; align-content:start; gap:var(--space-2,8px); min-inline-size:0; padding:var(--space-4,16px); overflow:hidden; border:1px solid var(--control-border); border-radius:var(--radius-3,12px); background:var(--control-surface); box-shadow:var(--shadow-sm,0 1px 2px rgb(15 23 42 / .08)); }
.module-information-strip__card::before { position:absolute; inset-block:var(--space-3,12px); inset-inline-start:0; inline-size:3px; border-radius:0 var(--radius-1,4px) var(--radius-1,4px) 0; background:var(--edu-orange-accent,#ed681f); content:""; pointer-events:none; }
.module-information-strip__card dt { color:var(--card-muted); font-size:var(--font-size-sm,.875rem); font-weight:700; }
.module-information-strip__card dd { display:flex; align-items:center; min-inline-size:0; margin:0; color:var(--control-text); font-weight:700; }
.module-information-strip__card .technical-code { max-inline-size:100%; overflow-wrap:anywhere; }
.commercial-module-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-4,16px); }
.commercial-module-feature { display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--space-3,12px); min-inline-size:0; padding:var(--space-4,16px); border:1px solid var(--control-border); border-radius:var(--radius-3,12px); }.commercial-module-feature > div { min-inline-size:0; }.commercial-module-feature h3,.commercial-module-feature p { max-inline-size:100%; }
.commercial-module-feature svg { inline-size:28px; block-size:28px; color:var(--brand-orange, #fc7303); stroke:currentColor; fill:none; stroke-width:1.8; }
.commercial-module-feature h3,.commercial-module-feature p { margin:0; }.commercial-module-feature p { margin-block-start:var(--space-2,8px); color:var(--card-muted); }
.commercial-module-empty { padding:var(--space-6,28px); border:1px dashed var(--control-border); border-radius:var(--radius-3,12px); }
.commercial-module-feature-editor { display:grid; gap:var(--space-4,16px); }.commercial-module-feature-editor > header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-3,12px); }.commercial-module-feature-editor h2 { margin:0; }.commercial-module-feature-editor__rows { display:grid; gap:var(--space-4,16px); }.commercial-module-feature-editor__row { display:grid; gap:var(--space-4,16px); min-inline-size:0; padding:var(--space-4,16px); border:1px solid var(--control-border); border-radius:var(--radius-3,12px); }.commercial-module-feature-editor__operational { margin:0; }
.commercial-module-public-details { display:grid; gap:var(--space-4,16px); padding-block:var(--space-5,20px); border-block:1px solid var(--control-border); }.commercial-module-public-details h2,.commercial-module-public-details p { margin:0; }.commercial-public-module { display:grid; gap:var(--space-6,28px); max-inline-size:1080px; margin-inline:auto; min-inline-size:0; }.commercial-public-module__details { padding:var(--space-5,20px); border:1px solid var(--control-border); border-radius:var(--radius-3,12px); }.commercial-public-catalogue { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap:var(--space-3,12px); }.commercial-public-catalogue a { display:block; padding:var(--space-4,16px); border:1px solid var(--control-border); border-radius:var(--radius-3,12px); background:var(--control-surface); color:var(--control-text); text-decoration:none; }.commercial-public-catalogue a:hover,.commercial-public-catalogue a:focus-visible { border-color:var(--brand-orange); color:var(--brand-orange); }.ui-page[data-ui-page="public.modules.show"] .page-header__artwork > .visual-artwork { --artwork-size:160px; }
@media (max-width: 699px) { .commercial-module-page__header .page-header__artwork > .visual-artwork { --artwork-size:160px; } .module-information-strip__grid,.commercial-module-features,.commercial-module-feature-editor__row { grid-template-columns:minmax(0,1fr); } .ui-page[data-ui-page="public.modules.show"] .page-header--surface { justify-items:center; text-align:center; } .ui-page[data-ui-page="public.modules.show"] .page-header__artwork > .visual-artwork { --artwork-size:112px; } .ui-page[data-ui-page="public.modules.show"] .page-header__copy { inline-size:100%; min-inline-size:0; text-align:center; } .ui-page[data-ui-page="public.modules.show"] .page-header h1 { font-size:clamp(1.5rem,7vw,2rem); } .commercial-module-feature h3 { font-size:1rem; } }

/* Governed price-book tables and the non-persistent platform calculator. */
.pricing-book { display:grid; gap:var(--space-6,28px); min-inline-size:0; }
.pricing-book__header,.pricing-book__section-heading { display:flex; flex-wrap:wrap; align-items:start; justify-content:space-between; gap:var(--space-4,16px); }
.pricing-book__header h2,.pricing-book__header p,.pricing-book__section-heading h2,.pricing-book__section-heading p { margin:0; }
.pricing-book__header-status { display:grid; justify-items:end; gap:var(--space-2,8px); color:var(--card-muted); }
.pricing-book__summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--space-3,12px); margin:0; }
.pricing-book__summary > div,.pricing-book__totals { min-inline-size:0; padding:var(--space-4,16px); border:1px solid var(--control-border); border-radius:var(--radius-3,12px); background:var(--control-surface); box-shadow:var(--shadow-sm,0 1px 2px rgb(15 23 42 / .08)); }
.pricing-book__summary dt,.pricing-book__totals dt { color:var(--card-muted); font-size:var(--font-size-sm,.875rem); }
.pricing-book__summary dd { margin:var(--space-2,8px) 0 0; font-weight:700; }
.pricing-book__section { display:grid; gap:var(--space-4,16px); min-inline-size:0; }
.pricing-book__table-wrap { overflow-x:auto; border:1px solid var(--control-border); border-radius:var(--radius-3,12px); background:var(--control-surface); }
.pricing-book__table { inline-size:100%; min-inline-size:980px; border-collapse:collapse; font-size:var(--font-size-sm,.875rem); }
.pricing-book__table th,.pricing-book__table td { padding:var(--space-3,12px); border-block-end:1px solid var(--control-border); vertical-align:top; }
.pricing-book__table thead th { color:var(--card-muted); font-weight:700; white-space:nowrap; }
.pricing-book__table small { display:block; max-inline-size:28rem; margin-block-start:var(--space-2,8px); color:var(--card-muted); }
.pricing-book__group th { background:color-mix(in srgb,var(--brand-orange,#fc7303) 9%,var(--control-surface)); color:var(--control-text); }
.pricing-book__calculator { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,360px); gap:var(--space-5,20px); align-items:start; }
.pricing-book__inputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-4,16px); }
.pricing-book__calculator-actions { align-self:end; }
.pricing-book__calculator-actions .edu-form-action-bar__secondary,.pricing-book__calculator-actions .edu-form-action-bar__primary { align-items:end; }
.pricing-book__modules { grid-column:1 / -1; }
.pricing-book__totals { position:sticky; inset-block-start:var(--space-4,16px); }
.pricing-book__totals h3 { margin:0 0 var(--space-3,12px); }
.pricing-book__totals dl { display:grid; gap:var(--space-2,8px); margin:0; }
.pricing-book__totals dl > div { display:flex; justify-content:space-between; gap:var(--space-3,12px); }
.pricing-book__totals dd { margin:0; text-align:end; font-weight:700; }
.pricing-book__total { padding-block-start:var(--space-3,12px); border-block-start:1px solid var(--control-border); font-size:1.05em; }
.pricing-book__notice { margin:var(--space-4,16px) 0 0; padding:var(--space-3,12px); border-inline-start:3px solid var(--brand-orange,#fc7303); background:color-mix(in srgb,var(--brand-orange,#fc7303) 8%,transparent); }
.pricing-book__table .edu-choice-group { min-inline-size:7rem; margin:0; }
.pricing-book__table .edu-choice-group legend { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@media (max-width:1100px) { .pricing-book__summary { grid-template-columns:repeat(3,minmax(0,1fr)); } .pricing-book__calculator { grid-template-columns:minmax(0,1fr); } .pricing-book__totals { position:static; } }
@media (max-width:699px) { .pricing-book__header-status { justify-items:start; } .pricing-book__summary,.pricing-book__inputs { grid-template-columns:minmax(0,1fr); } .pricing-book__table { min-inline-size:760px; } .pricing-book__calculator-actions { align-items:stretch; } .pricing-book__calculator-actions .edu-form-action-bar__secondary,.pricing-book__calculator-actions .edu-form-action-bar__primary { inline-size:100%; } }

/* Pricing administration uses sections so calculation never competes with rate editing. */
.pricing-workspace { display:grid; gap:var(--space-5,20px); min-inline-size:0; }
.pricing-workspace__header,.pricing-workspace__panel-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--space-4,16px); align-items:start; }
.pricing-workspace__header h2,.pricing-workspace__header p,.pricing-workspace__panel h2,.pricing-workspace__panel h3 { margin:0; }
.pricing-workspace__tabs { display:flex; flex-wrap:wrap; gap:var(--space-2,8px); border-block-end:1px solid var(--control-border); padding-block-end:var(--space-3,12px); }
.pricing-workspace__tabs a { padding:var(--space-2,8px) var(--space-3,12px); border-radius:var(--radius-2,8px); color:var(--control-text); text-decoration:none; }
.pricing-workspace__tabs a.is-active,.pricing-workspace__tabs a:hover,.pricing-workspace__tabs a:focus-visible { background:var(--brand-action,#fc7303); color:var(--brand-action-text,#172033); }
.pricing-workspace__panel,.pricing-workspace__form,.pricing-workspace__totals { display:grid; gap:var(--space-4,16px); min-inline-size:0; padding:var(--space-5,20px); border:1px solid var(--control-border); border-radius:var(--radius-3,12px); background:var(--control-surface); }
.pricing-workspace__actions { display:flex; flex-wrap:wrap; gap:var(--space-2,8px); }
.pricing-workspace__summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-3,12px); margin:0; }
.pricing-workspace__summary > div { padding:var(--space-3,12px); border:1px solid var(--control-border); border-radius:var(--radius-2,8px); }
.pricing-workspace__summary dt { color:var(--card-muted); font-size:var(--font-size-sm,.875rem); }.pricing-workspace__summary dd { margin:var(--space-2,8px) 0 0; font-weight:700; }
.pricing-workspace__warning,.pricing-workspace__disabled { margin:0; padding:var(--space-3,12px); border-inline-start:3px solid var(--brand-orange,#fc7303); background:color-mix(in srgb,var(--brand-orange,#fc7303) 8%,transparent); }
.pricing-workspace__filters,.pricing-workspace__inputs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--space-3,12px); align-items:end; }
.pricing-workspace__table-wrap { overflow-x:auto; border:1px solid var(--control-border); border-radius:var(--radius-2,8px); }.pricing-workspace__table { inline-size:100%; min-inline-size:850px; border-collapse:collapse; }.pricing-workspace__table th,.pricing-workspace__table td { padding:var(--space-3,12px); border-block-end:1px solid var(--control-border); vertical-align:top; }.pricing-workspace__table th { color:var(--card-muted); }
.pricing-workspace__calculator { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,25rem); gap:var(--space-5,20px); align-items:start; }.pricing-workspace__selection { display:grid; gap:var(--space-2,8px); }.pricing-workspace__selection h3,.pricing-workspace__selection h4 { margin:var(--space-2,8px) 0; }.pricing-workspace__totals { position:sticky; inset-block-start:var(--space-4,16px); }.pricing-workspace__totals dl { display:grid; gap:var(--space-2,8px); margin:0; }.pricing-workspace__totals dl>div { display:flex; justify-content:space-between; gap:var(--space-3,12px); }.pricing-workspace__totals dd { margin:0; text-align:end; font-weight:700; }.pricing-workspace__total { padding-block-start:var(--space-3,12px); border-block-start:1px solid var(--control-border); }
.pricing-workspace__guide { max-inline-size:min(48rem,calc(100vw - 2rem)); max-block-size:min(80vh,48rem); overflow:auto; padding:var(--space-5,20px); color:var(--control-text); background:var(--control-surface); border:1px solid var(--control-border); border-radius:var(--radius-3,12px); }.pricing-workspace__guide::backdrop { background:rgb(0 0 0 / .45); }.pricing-workspace__guide header { display:flex; justify-content:space-between; gap:var(--space-3,12px); }.pricing-workspace__guide h2 { margin:0; }
@media (max-width:900px) { .pricing-workspace__summary,.pricing-workspace__filters,.pricing-workspace__inputs { grid-template-columns:repeat(2,minmax(0,1fr)); }.pricing-workspace__calculator { grid-template-columns:minmax(0,1fr); }.pricing-workspace__totals { position:static; } }
@media (max-width:699px) { .pricing-workspace__summary,.pricing-workspace__filters,.pricing-workspace__inputs { grid-template-columns:minmax(0,1fr); }.pricing-workspace__actions>* { inline-size:100%; }.pricing-workspace__guide { inline-size:100vw; max-inline-size:none; block-size:100vh; max-block-size:none; border-radius:0; }.pricing-workspace__table { min-inline-size:700px; } }

/* Platform Staff role capabilities use one shared, data-driven comparison. */
.crm-role-comparison__intro { margin-block:0 var(--space-4,16px); color:var(--card-muted,#697487); }
.crm-role-comparison { min-inline-size:0; overflow:hidden; border:1px solid var(--control-border,#e1e6ed); border-radius:var(--radius-3,12px); background:var(--control-surface,#fff); }
.crm-role-comparison table { inline-size:100%; table-layout:fixed; border-collapse:separate; border-spacing:0; text-align:start; }
.crm-role-comparison th,.crm-role-comparison td { padding:var(--space-4,16px); border:0; border-block-end:1px solid var(--control-border,#e7ebf0); text-align:start; vertical-align:top; }
.crm-role-comparison thead th { background:color-mix(in srgb,var(--brand-orange,#fc7303) 8%,var(--control-surface,#fff)); color:var(--control-text,#243148); font-size:var(--font-size-sm,.875rem); letter-spacing:0; }
.crm-role-comparison thead th:not(:first-child) { border-inline-start:1px solid var(--control-border,#e7ebf0); }
.crm-role-comparison__description { inline-size:34%; }
.crm-role-comparison tbody th { color:var(--control-text,#243148); font-size:var(--font-size-sm,.875rem); font-weight:700; }
.crm-role-comparison tbody td { color:var(--card-muted,#596578); font-size:var(--font-size-sm,.875rem); }
.crm-role-comparison tbody td:not(:first-child) { border-inline-start:1px solid var(--control-border,#e7ebf0); }
.crm-role-comparison tbody tr:last-child > * { border-block-end:0; }
.crm-role-comparison tbody tr { transition:background-color .16s ease; }
.crm-role-comparison tbody tr:hover { background:color-mix(in srgb,var(--brand-orange,#fc7303) 3%,var(--control-surface,#fff)); }
.crm-role-comparison__capability { display:flex; align-items:flex-start; gap:var(--space-2,8px); min-inline-size:0; line-height:1.55; }
.crm-role-comparison__check { flex:0 0 1.4rem; display:grid; place-items:center; inline-size:1.4rem; block-size:1.4rem; margin-block-start:.05rem; border-radius:50%; background:color-mix(in srgb,#188553 14%,transparent); color:#147447; font-size:.75rem; font-weight:800; }
.crm-role-comparison__actions { display:flex; flex-wrap:wrap; gap:var(--space-1,4px); min-inline-size:0; }
.crm-role-comparison__actions > span { padding:.12rem .48rem; border:1px solid color-mix(in srgb,var(--brand-orange,#fc7303) 18%,var(--control-border,#e1e6ed)); border-radius:999px; background:color-mix(in srgb,var(--brand-orange,#fc7303) 6%,var(--control-surface,#fff)); color:var(--control-text,#243148); font-size:.78rem; line-height:1.45; white-space:normal; overflow-wrap:anywhere; }
.crm-role-comparison__empty { display:inline-flex; align-items:center; gap:var(--space-1,4px); color:var(--card-muted,#8791a1); font-style:italic; }
html[data-theme="dark"] .crm-role-comparison { background:var(--control-surface,#182235); }
html[data-theme="dark"] .crm-role-comparison__check { background:rgb(52 211 153 / .16); color:#6ee7b7; }
html[data-theme="dark"] .crm-role-comparison__actions > span { border-color:rgb(251 146 60 / .25); background:rgb(251 146 60 / .09); color:var(--control-text,#edf1f7); }

@media (max-width:699px) {
    .crm-role-comparison { border:0; background:transparent; overflow:visible; }
    .crm-role-comparison table,.crm-role-comparison tbody,.crm-role-comparison tr { display:block; inline-size:100%; }
    .crm-role-comparison thead { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
    .crm-role-comparison tbody { display:grid; gap:var(--space-3,12px); }
    .crm-role-comparison tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:hidden; border:1px solid var(--control-border,#e1e6ed); border-radius:var(--radius-3,12px); background:var(--control-surface,#fff); }
    .crm-role-comparison tbody th { grid-column:1 / -1; padding:var(--space-3,12px) var(--space-4,16px); background:color-mix(in srgb,var(--brand-orange,#fc7303) 8%,var(--control-surface,#fff)); }
    .crm-role-comparison tbody td { display:block; min-inline-size:0; padding:var(--space-3,12px); border-block-end:0; }
    .crm-role-comparison tbody td::before { display:block; margin-block-end:var(--space-2,8px); color:var(--control-text,#243148); content:attr(data-label); font-size:.72rem; font-weight:800; line-height:1.3; }
    .crm-role-comparison tbody td:not(:first-child) { border-inline-start:0; }
    .crm-role-comparison tbody td + td { border-inline-start:1px solid var(--control-border,#e7ebf0); }
    .crm-role-comparison__capability { gap:6px; font-size:.78rem; overflow-wrap:anywhere; }
    .crm-role-comparison__actions { gap:4px; }
    .crm-role-comparison__actions > span { padding:.1rem .4rem; font-size:.72rem; }
    .crm-role-comparison__check { flex-basis:1.25rem; inline-size:1.25rem; block-size:1.25rem; }
    html[data-theme="dark"] .crm-role-comparison tbody tr { background:var(--control-surface,#182235); }
}

/* Compact Platform Staff directory: identity, account, access, security and actions. */
.platform-staff-directory { display:grid; gap:var(--space-4,16px); min-inline-size:0; }
.platform-staff-directory__header { display:flex; align-items:start; justify-content:space-between; gap:var(--space-4,16px); }
.platform-staff-directory__header h2,.platform-staff-directory__header p { margin:0; }
.platform-staff-directory__header > div p { margin-block-start:var(--space-1,4px); color:var(--card-muted,#697487); }
.platform-staff-directory__security { max-inline-size:34rem; padding:var(--space-2,8px) var(--space-3,12px); border-inline-start:3px solid var(--brand-orange,#fc7303); border-radius:var(--radius-2,8px); background:color-mix(in srgb,var(--brand-orange,#fc7303) 7%,var(--control-surface,#fff)); color:var(--card-muted,#697487); font-size:var(--font-size-sm,.875rem); }
.platform-staff-grid { display:grid; gap:var(--space-3,12px); min-inline-size:0; }
.platform-staff-card { display:grid; grid-template-columns:minmax(17rem,.9fr) minmax(30rem,2fr) minmax(28rem,1.75fr); grid-template-areas:'identity account email' 'actions account email'; align-items:start; gap:var(--space-4,16px); min-inline-size:0; padding:var(--space-4,16px); border:1px solid var(--control-border,#e1e6ed); border-radius:var(--radius-3,12px); background:var(--control-surface,#fff); box-shadow:var(--shadow-sm,0 1px 2px rgb(15 23 42 / .08)); }
.platform-staff-card__identity { grid-area:identity; display:grid; grid-template-columns:2.75rem minmax(0,1fr); align-items:center; gap:var(--space-3,12px); min-inline-size:0; }
.platform-staff-card__avatar { display:grid; place-items:center; inline-size:2.75rem; block-size:2.75rem; border-radius:50%; background:color-mix(in srgb,var(--brand-orange,#fc7303) 14%,var(--control-surface,#fff)); color:var(--brand-orange,#d85c12); font-size:.82rem; font-weight:800; }
.platform-staff-card__identity h3,.platform-staff-card__identity p { min-inline-size:0; margin:0; overflow-wrap:anywhere; }
.platform-staff-card__identity h3 { font-size:1rem; }
.platform-staff-card__identity p { margin-block-start:2px; color:var(--card-muted,#697487); font-size:var(--font-size-sm,.875rem); }
.platform-staff-card__facts { display:grid; grid-template-columns:.8fr 1.2fr 1.1fr 1.25fr; gap:var(--space-3,12px); min-inline-size:0; margin:0; }
.platform-staff-card > .platform-staff-card__facts { grid-area:account; grid-template-columns:repeat(3,minmax(0,1fr)); }
.platform-staff-card__email { grid-area:email; min-inline-size:0; }
.platform-staff-card__email .platform-staff-card__facts { grid-template-columns:repeat(2,minmax(11rem,1fr)); }
.platform-staff-card__facts > div { min-inline-size:0; }
.platform-staff-card__facts dt { margin-block-end:var(--space-1,4px); color:var(--card-muted,#697487); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.035em; }
.platform-staff-card__facts dd { min-inline-size:0; margin:0; color:var(--control-text,#243148); font-size:var(--font-size-sm,.875rem); overflow-wrap:anywhere; }
.platform-staff-card__facts dd small { display:block; margin-block-start:var(--space-1,4px); color:var(--card-muted,#697487); }
.platform-staff-card__roles { display:flex; flex-wrap:wrap; gap:var(--space-1,4px); }
.platform-staff-card__roles > span { padding:.16rem .5rem; border:1px solid var(--control-border,#e1e6ed); border-radius:999px; background:var(--control-soft,#f7f8fa); }
.platform-staff-card__actions { grid-area:actions; display:flex; align-items:center; justify-content:start; flex-wrap:wrap; gap:var(--space-2,8px); }
.platform-staff-card__actions form { margin:0; }
.platform-staff-card__actions :is(.button,summary) { min-block-size:44px; }
.platform-staff-card__manage { position:relative; }
.platform-staff-card__manage > summary { display:flex; align-items:center; padding:0 var(--space-4,16px); border:1px solid var(--control-border,#d9dee7); border-radius:var(--radius-2,8px); background:var(--control-surface,#fff); color:var(--control-text,#243148); cursor:pointer; font-weight:700; list-style:none; }
.platform-staff-card__manage > summary::-webkit-details-marker { display:none; }
.platform-staff-card__manage > summary::after { margin-inline-start:var(--space-2,8px); content:'⌄'; }
.platform-staff-card__manage[open] > summary,.platform-staff-card__manage > summary:hover { border-color:var(--brand-orange,#fc7303); }
.platform-staff-card__manage > summary:focus-visible { outline:3px solid color-mix(in srgb,var(--brand-orange,#fc7303) 35%,transparent); outline-offset:2px; }
.platform-staff-card__manage-panel { position:absolute; z-index:20; inset-block-start:calc(100% + var(--space-2,8px)); inset-inline-start:0; inset-inline-end:auto; display:grid; gap:var(--space-3,12px); inline-size:min(24rem,calc(100vw - 2rem)); max-block-size:min(38rem,calc(100dvh - 4rem)); overflow:auto; overscroll-behavior:contain; padding:var(--space-4,16px); border:1px solid var(--control-border,#d9dee7); border-radius:var(--radius-3,12px); background:var(--control-surface,#fff); box-shadow:0 18px 44px rgb(15 23 42 / .18); }
.platform-staff-card__manage-panel > form { display:grid; gap:var(--space-3,12px); }
.platform-staff-card__manage-panel > form + form { padding-block-start:var(--space-3,12px); border-block-start:1px solid var(--control-border,#e1e6ed); }
.platform-staff-card__invitation-actions { display:flex; flex-wrap:wrap; gap:var(--space-2,8px); padding-block-start:var(--space-3,12px); border-block-start:1px solid var(--control-border,#e1e6ed); }
.platform-staff-directory__empty { margin:0; padding:var(--space-6,28px); border:1px dashed var(--control-border,#e1e6ed); border-radius:var(--radius-3,12px); text-align:center; color:var(--card-muted,#697487); }
html[data-theme="dark"] .platform-staff-card,html[data-theme="dark"] .platform-staff-card__manage > summary,html[data-theme="dark"] .platform-staff-card__manage-panel { background:var(--control-surface,#182235); }
@media (max-width:1320px) { .platform-staff-card { grid-template-columns:minmax(17rem,.8fr) minmax(0,2fr); grid-template-areas:'identity account' 'actions account' 'email email'; } }
@media (max-width:820px) { .platform-staff-directory__header { display:grid; } .platform-staff-directory__security { max-inline-size:none; } .platform-staff-card { grid-template-columns:minmax(0,1fr); grid-template-areas:'identity' 'account' 'email' 'actions'; } .platform-staff-card__facts,.platform-staff-card__email .platform-staff-card__facts { grid-template-columns:repeat(2,minmax(0,1fr)); } .platform-staff-card__manage-panel { position:static; max-block-size:none; margin-block-start:var(--space-2,8px); } }
@media (max-width:480px) { .platform-staff-card { padding:var(--space-3,12px); } .platform-staff-card__facts,.platform-staff-card__email .platform-staff-card__facts { grid-template-columns:minmax(0,1fr); } .platform-staff-card__actions,.platform-staff-card__actions > form,.platform-staff-card__actions .button,.platform-staff-card__manage,.platform-staff-card__manage > summary { inline-size:100%; } .platform-staff-card__manage > summary,.platform-staff-card__actions .button { justify-content:center; } .platform-staff-card__manage-panel { inline-size:100%; } }

/* Shared commercial quotation configurator: public pricing flow with governed staff actions. */
.commercial-quote-configurator { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(19rem,.78fr); gap:var(--space-5,20px); align-items:start; min-inline-size:0; }
.commercial-quote-configurator__builder,.commercial-quote-configurator__summary { min-inline-size:0; border:1px solid var(--control-border,#c9dced); border-radius:var(--radius-4,18px); box-shadow:0 1rem 2.5rem rgb(15 45 77 / .09); }
.commercial-quote-configurator__builder { padding:clamp(1.15rem,2.4vw,2rem); background:var(--control-surface,#fff); }
.commercial-quote-configurator__context { display:grid; gap:var(--space-4,16px); }
.commercial-quote-configurator__context header h2,.commercial-quote-configurator__context header p { margin:0; }
.commercial-quote-configurator__context header h2 { margin-block-start:var(--space-1,4px); color:var(--control-text,#092b55); font-size:clamp(1.25rem,2vw,1.65rem); }
.commercial-quote-configurator__eyebrow { margin:0; color:#9d3d08; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.commercial-quote-configurator__step { min-inline-size:0; margin:var(--space-5,20px) 0 0; padding:var(--space-5,20px) 0 0; border:0; border-block-start:1px solid var(--control-border,#e4edf6); }
.commercial-quote-configurator__step legend { padding:0 var(--space-2,8px) 0 0; color:var(--control-text,#092b55); font-size:1.05rem; font-weight:800; }
.commercial-quote-configurator__step > legend > span[aria-hidden="true"]:first-child { display:inline-grid; place-items:center; inline-size:1.8rem; block-size:1.8rem; margin-inline-end:var(--space-2,8px); border-radius:.65rem; background:linear-gradient(135deg,#ffd447,#ff6d1c); color:#092b55; font-size:.72rem; }
.commercial-quote-configurator__hint { margin:var(--space-2,8px) 0 var(--space-4,16px); color:var(--card-muted,#55718e); font-size:var(--font-size-sm,.875rem); }
.commercial-quote-configurator__numbers { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); gap:var(--space-3,12px); }
.commercial-quote-number { min-inline-size:0; }
.commercial-quote-number__control { display:grid; grid-template-columns:2.5rem minmax(0,1fr) 2.5rem; align-items:center; margin-block-start:var(--space-2,8px); overflow:hidden; border:1px solid var(--control-border,#b9d0e7); border-radius:var(--radius-2,8px); background:var(--control-soft,#f7fbff); }
.commercial-quote-number__control:focus-within { border-color:var(--brand-orange,#fc7303); box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-orange,#fc7303) 20%,transparent); }
.commercial-quote-number__control input { min-inline-size:0; block-size:2.75rem; padding:0 var(--space-2,8px); border:0; outline:0; appearance:textfield; background:transparent; color:var(--control-text,#092b55); font:inherit; font-size:1.05rem; font-weight:800; text-align:center; }
.commercial-quote-number__control input::-webkit-inner-spin-button,.commercial-quote-number__control input::-webkit-outer-spin-button { appearance:none; margin:0; }
.commercial-quote-number__control button { display:grid; place-items:center; inline-size:2rem; block-size:2rem; margin:auto; padding:0; border:1px solid var(--control-border,#d7e4ef); border-radius:50%; background:var(--control-surface,#fff); color:var(--card-muted,#315a83); cursor:pointer; font:700 1.05rem/1 Arial,sans-serif; }
.commercial-quote-number__control button:hover,.commercial-quote-number__control button:focus-visible { border-color:var(--brand-orange,#fc7303); outline:2px solid color-mix(in srgb,var(--brand-orange,#fc7303) 25%,transparent); color:#a94508; }
.commercial-quote-configurator__presets { display:flex; flex-wrap:wrap; gap:var(--space-2,8px); margin-block-start:var(--space-3,12px); }
.commercial-quote-configurator__presets button { min-block-size:2.35rem; padding:.4rem .75rem; border:1px solid #ffc77c; border-radius:999px; background:color-mix(in srgb,#fffaf0 80%,var(--control-surface)); color:#8e3508; cursor:pointer; font:inherit; font-size:.78rem; font-weight:800; }
.commercial-quote-configurator__presets button:hover,.commercial-quote-configurator__presets button:focus-visible { background:#b94d0c; color:#fff; outline:2px solid color-mix(in srgb,var(--brand-orange,#fc7303) 30%,transparent); outline-offset:2px; }
.commercial-quote-configurator__core { overflow:hidden; padding:var(--space-4,16px); border:1px solid #b8d7ee; border-radius:var(--radius-3,12px); background:radial-gradient(circle at 96% 0%,rgb(255 191 57 / .28),transparent 15rem),linear-gradient(135deg,color-mix(in srgb,#edf7ff 82%,var(--control-surface)),color-mix(in srgb,#dceeff 74%,var(--control-surface))); color:#082d59; }
.commercial-quote-configurator__core-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--space-3,12px); }
.commercial-quote-configurator__core-heading strong { font-size:1.05rem; }.commercial-quote-configurator__core-heading p { margin:.25rem 0 0; color:#466887; font-size:var(--font-size-sm,.875rem); }
.commercial-quote-configurator__core-heading > span { padding:.35rem .65rem; border-radius:999px; background:linear-gradient(135deg,#ffe36c,#ffc229); color:#092b55; font-size:.75rem; font-weight:800; white-space:nowrap; }
.commercial-quote-configurator__core-modules { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5rem),1fr)); gap:var(--space-3,12px); margin-block-start:var(--space-4,16px); }
.commercial-quote-configurator__core-modules a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-2,8px); min-block-size:7.5rem; padding:var(--space-3,12px); border:1px solid #c9dfef; border-radius:var(--radius-3,12px); background:var(--control-surface,#fff); box-shadow:0 .35rem .8rem rgb(13 53 94 / .08); color:#082d59; text-align:center; text-decoration:none; }
.commercial-quote-configurator__core-modules a:hover,.commercial-quote-configurator__core-modules a:focus-visible { border-color:#ffad45; outline:3px solid rgb(255 173 69 / .25); background:linear-gradient(145deg,var(--control-surface,#fff),#fff4d8); }
.commercial-quote-configurator__core-modules .visual-artwork { --artwork-size:3.7rem; }.commercial-quote-configurator__core-modules img { inline-size:3.7rem; block-size:3.7rem; }.commercial-quote-configurator__core-modules small { max-inline-size:14ch; color:inherit; font-size:.76rem; font-weight:700; line-height:1.25; }
.commercial-quote-configurator__addons { container-name:commercial-offerings; container-type:inline-size; display:grid; gap:var(--space-4,16px); }
.commercial-quote-addon { position:relative; display:grid; grid-template-columns:2.25rem 5.25rem minmax(0,1fr) minmax(10rem,auto); grid-template-areas:"select artwork content price"; align-items:center; gap:var(--space-4,16px); min-inline-size:0; min-block-size:7.25rem; padding:var(--space-4,16px); border:1px solid var(--control-border,#cadeef); border-radius:var(--radius-3,12px); background:linear-gradient(135deg,var(--control-surface,#fff),color-mix(in srgb,#edf7ff 54%,var(--control-surface,#fff))); box-shadow:0 .45rem 1rem rgb(13 53 94 / .06); overflow:hidden; }
.commercial-quote-addon:has(input:checked) { border-color:#ff9a3d; background:linear-gradient(135deg,var(--control-surface,#fff),color-mix(in srgb,#fff2d9 72%,var(--control-surface,#fff))); box-shadow:0 .65rem 1.25rem rgb(255 112 25 / .13); }
.commercial-quote-addon input { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip-path:inset(50%); }
.commercial-quote-addon__select-surface { position:absolute; z-index:0; inset:0; cursor:pointer; }
.commercial-quote-addon__check { position:relative; z-index:2; grid-area:select; inline-size:1.75rem; block-size:1.75rem; border:1.5px solid #9fbad3; border-radius:.6rem; background:var(--control-surface,#fff); cursor:pointer; }
.commercial-quote-addon__check::after { position:absolute; inset-block-start:.34rem; inset-inline-start:.58rem; inline-size:.3rem; block-size:.58rem; border:solid #fff; border-width:0 2.5px 2.5px 0; content:''; opacity:0; transform:rotate(45deg); }
.commercial-quote-addon:has(input:checked) .commercial-quote-addon__check { border-color:#e86613; background:linear-gradient(135deg,#ffd94f,#e86613); }.commercial-quote-addon:has(input:checked) .commercial-quote-addon__check::after { opacity:1; }
.commercial-quote-addon:has(input:focus-visible) { outline:3px solid rgb(255 161 65 / .4); outline-offset:2px; }
.commercial-quote-addon__art { position:relative; z-index:1; grid-area:artwork; display:grid; place-items:center; inline-size:4.8rem; block-size:4.8rem; overflow:hidden; border:1px solid var(--control-border,#d7e8f5); border-radius:var(--radius-3,12px); background:var(--control-surface,#fff); }.commercial-quote-addon__art .visual-artwork,.commercial-quote-addon__art img { inline-size:3.5rem; block-size:3.5rem; max-inline-size:100%; max-block-size:100%; object-fit:contain; }
.commercial-quote-addon__content { position:relative; z-index:1; grid-area:content; display:grid; align-content:center; gap:var(--space-1,4px); min-inline-size:0; }.commercial-quote-addon__content strong,.commercial-quote-addon__content small { display:block; }.commercial-quote-addon__content strong { color:var(--control-text,#082c59); font-size:1rem; overflow-wrap:anywhere; }.commercial-quote-addon__content small { color:var(--card-muted,#647b94); font-size:.82rem; line-height:1.5; overflow-wrap:anywhere; }
.commercial-quote-addon__details { position:relative; z-index:2; justify-self:start; inline-size:max-content; max-inline-size:100%; margin-block-start:var(--space-1,4px); color:var(--control-link,#8e3508); font-size:.76rem; font-weight:800; text-decoration:none; pointer-events:auto; }.commercial-quote-addon__details:hover,.commercial-quote-addon__details:focus-visible { color:var(--control-text,#082c59); text-decoration:underline; }
.commercial-quote-addon__price { position:relative; z-index:1; grid-area:price; display:grid; gap:.2rem; min-inline-size:10rem; padding-inline-start:var(--space-4,16px); border-inline-start:1px solid var(--control-border,#dce8f2); text-align:end; pointer-events:none; }.commercial-quote-addon__price em { color:var(--card-muted,#678099); font-size:.68rem; font-style:normal; font-weight:800; text-transform:uppercase; }.commercial-quote-addon__price b { color:var(--control-text,#0b3b70); }.commercial-quote-addon__price small { color:var(--card-muted,#6d849b); font-size:.7rem; line-height:1.35; }
.commercial-quote-configurator__refresh { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.commercial-quote-configurator__summary { position:sticky; inset-block-start:var(--space-5,20px); padding:var(--space-5,20px); background:linear-gradient(160deg,#0a2a52,#123f6b); color:#fff; }
.commercial-quote-configurator__summary .commercial-quote-configurator__eyebrow { color:#ffd447; }.commercial-quote-configurator__summary h2 { margin:.35rem 0 var(--space-4,16px); color:#fff; font-size:clamp(1.5rem,2.4vw,2rem); }
.commercial-quote-configurator__summary dl { margin:0; border-block-start:1px solid rgb(255 255 255 / .18); }.commercial-quote-configurator__summary dl > div { display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-2,8px); padding:var(--space-3,12px) 0; border-block-end:1px solid rgb(255 255 255 / .14); }.commercial-quote-configurator__summary dt { color:#dbe9f7; font-size:.86rem; }.commercial-quote-configurator__summary dd { margin:0; font-weight:800; text-align:end; white-space:nowrap; }.commercial-quote-configurator__schedule dd { min-inline-size:0; white-space:normal; overflow-wrap:anywhere; }
.commercial-quote-configurator__summary .commercial-quote-configurator__addons-heading { padding-block-end:var(--space-1,4px); border-block-end:0; }.commercial-quote-configurator__addons-heading dt { color:#ffd447; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.commercial-quote-configurator__addon-summary dt { max-inline-size:15rem; }.commercial-quote-configurator__addon-summary dt small { display:block; margin-block-start:.2rem; color:#b8cce1; font-size:.68rem; line-height:1.4; }.commercial-quote-configurator__total dt,.commercial-quote-configurator__total dd { color:#ffd447; font-size:1rem; }
.commercial-quote-configurator__quote { padding:var(--space-4,16px); border:1px solid rgb(255 211 75 / .4); border-radius:var(--radius-3,12px); background:rgb(255 255 255 / .1); }.commercial-quote-configurator__quote strong { color:#ffd447; }.commercial-quote-configurator__quote p,.commercial-quote-configurator__note { color:#d4e4f5; font-size:.84rem; line-height:1.55; }.commercial-quote-configurator__quote p { margin-block-end:0; }.commercial-quote-configurator__note { margin:var(--space-4,16px) 0 0; padding-block-start:var(--space-4,16px); border-block-start:1px solid rgb(255 255 255 / .14); }
.commercial-quote-configurator__actions { display:grid; gap:var(--space-2,8px); margin-block-start:var(--space-4,16px); padding:0; border:0; }.commercial-quote-configurator__actions .edu-form-action-bar__secondary,.commercial-quote-configurator__actions .edu-form-action-bar__primary { display:grid; grid-template-columns:repeat(auto-fit,minmax(8rem,1fr)); gap:var(--space-2,8px); inline-size:100%; }.commercial-quote-configurator__actions .edu-button { justify-content:center; inline-size:100%; }.commercial-quote-configurator__summary .edu-button.ghost { border-color:rgb(255 255 255 / .5); color:#fff; background:rgb(255 255 255 / .08); }
.commercial-quote-configurator__owner-warning { margin:var(--space-4,16px) 0 0; padding:var(--space-3,12px); border:1px solid #fbbf24; border-radius:var(--radius-2,8px); color:#1e293b; background:#fef3c7; font-weight:700; line-height:1.5; }
html[data-theme="dark"] .commercial-quote-configurator__core { color:#dcecff; background:radial-gradient(circle at 96% 0%,rgb(255 191 57 / .15),transparent 15rem),linear-gradient(135deg,#142a3e,#183752); } html[data-theme="dark"] .commercial-quote-configurator__core-heading p { color:#b9cde0; } html[data-theme="dark"] .commercial-quote-configurator__core-modules a { color:#e8f2fc; background:#17283c; }
html[data-theme="dark"] .commercial-quote-addon { background:linear-gradient(135deg,#182438,#24354a); } html[data-theme="dark"] .commercial-quote-addon:has(input:checked) { background:linear-gradient(135deg,#182438,#3a2b23); }
@media (prefers-color-scheme:dark) { html[data-theme="system"] .commercial-quote-configurator__core { color:#dcecff; background:radial-gradient(circle at 96% 0%,rgb(255 191 57 / .15),transparent 15rem),linear-gradient(135deg,#142a3e,#183752); } html[data-theme="system"] .commercial-quote-configurator__core-heading p { color:#b9cde0; } html[data-theme="system"] .commercial-quote-configurator__core-modules a { color:#e8f2fc; background:#17283c; } html[data-theme="system"] .commercial-quote-addon { background:linear-gradient(135deg,#182438,#24354a); } html[data-theme="system"] .commercial-quote-addon:has(input:checked) { background:linear-gradient(135deg,#182438,#3a2b23); } }
@media (max-width:1100px) { .commercial-quote-configurator { grid-template-columns:minmax(0,1fr); }.commercial-quote-configurator__summary { position:static; } }
@media (max-width:720px) { .commercial-quote-addon { grid-template-columns:2rem 4.4rem minmax(0,1fr); grid-template-areas:"select artwork content" ". price price"; gap:var(--space-3,12px); padding:var(--space-3,12px); }.commercial-quote-addon__art { inline-size:4rem; block-size:4rem; }.commercial-quote-addon__art .visual-artwork,.commercial-quote-addon__art img { inline-size:3.25rem; block-size:3.25rem; }.commercial-quote-addon__price { min-inline-size:0; padding:var(--space-3,12px) 0 0; border-block-start:1px solid var(--control-border,#dce8f2); border-inline-start:0; text-align:start; } }
@container commercial-offerings (max-width:720px) { .commercial-quote-addon { grid-template-columns:2rem 4.4rem minmax(0,1fr); grid-template-areas:"select artwork content" ". price price"; gap:var(--space-3,12px); padding:var(--space-3,12px); }.commercial-quote-addon__art { inline-size:4rem; block-size:4rem; }.commercial-quote-addon__art .visual-artwork,.commercial-quote-addon__art img { inline-size:3.25rem; block-size:3.25rem; }.commercial-quote-addon__price { min-inline-size:0; padding:var(--space-3,12px) 0 0; border-block-start:1px solid var(--control-border,#dce8f2); border-inline-start:0; text-align:start; } }
@media (max-width:520px) { .commercial-quote-configurator__builder,.commercial-quote-configurator__summary { padding:var(--space-4,16px); border-radius:var(--radius-3,12px); }.commercial-quote-configurator__core-heading { align-items:start; }.commercial-quote-configurator__core-modules { grid-template-columns:repeat(auto-fit,minmax(6.25rem,1fr)); }.commercial-quote-configurator__actions .edu-form-action-bar__secondary,.commercial-quote-configurator__actions .edu-form-action-bar__primary { grid-template-columns:minmax(0,1fr); } }
[dir="rtl"] .commercial-quote-configurator__step legend { padding:0 0 0 var(--space-2,8px); }
@media (prefers-reduced-motion:reduce) { .commercial-quote-addon,.commercial-quote-configurator__presets button { transition:none; transform:none; } }
