.license-dashboard {
    --license-indigo: #5267c9;
    --license-indigo-soft: #eef1ff;
    --license-teal: #148477;
    --license-teal-soft: #e8f7f4;
    --license-amber: #a96516;
    --license-amber-soft: #fff7e8;
    --license-red: #b63d49;
    --license-red-soft: #fff0f2;
}

.license-dashboard input[type="number"] {
    appearance: textfield;
    -moz-appearance: textfield;
}
.license-dashboard input[type="number"]::-webkit-inner-spin-button,
.license-dashboard input[type="number"]::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.license-dashboard__page {
    display: grid;
    gap: 0.85rem;
}

.license-dashboard__header-icon {
    color: var(--license-indigo);
    background: var(--license-indigo-soft);
    border-color: #dce1fb;
}

.license-competence {
    display: grid;
    min-width: 10.5rem;
    grid-template-columns: auto 1fr;
    column-gap: 0.48rem;
    align-items: center;
    padding: 0.45rem 0.7rem;
    color: #47556a;
    background: #f7f9fc;
    border: 1px solid var(--proposal-border);
    border-radius: 0.55rem;
}

.license-competence > i {
    grid-row: 1 / 3;
    color: var(--license-indigo);
    font-size: 1.08rem;
}

.license-competence span {
    font-size: 0.62rem;
    line-height: 1;
    text-transform: uppercase;
}

.license-competence strong {
    color: var(--proposal-ink);
    font-size: 0.76rem;
    text-transform: capitalize;
}

.license-usage-window {
    display: grid;
    min-width: 13.5rem;
    grid-template-columns: auto 1fr;
    column-gap: 0.48rem;
    align-items: center;
    padding: 0.35rem 0.45rem 0.35rem 0.7rem;
    color: #47556a;
    background: #f7f9fc;
    border: 1px solid var(--proposal-border);
    border-radius: 0.55rem;
}

.license-usage-window > i {
    grid-row: 1 / 3;
    color: var(--license-teal);
    font-size: 1.08rem;
}

.license-usage-window > label {
    margin: 0;
    color: #687587;
    font-size: 0.58rem;
    font-weight: 650;
    line-height: 1;
}

.license-usage-window > div {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.license-usage-window input {
    width: 3.5rem;
    height: 1.55rem;
    padding: 0 0.32rem;
    color: var(--proposal-ink);
    background: #fff;
    border: 1px solid var(--proposal-border-strong);
    border-radius: 0.32rem;
    outline: 0;
    font: inherit;
    font-size: 0.7rem;
    font-weight: 750;
    text-align: center;
}

.license-usage-window input:focus { border-color: #7b9bd0; box-shadow: 0 0 0 0.16rem rgb(20 132 119 / 0.12); }
.license-usage-window > div > span { color: #617083; font-size: 0.64rem; }
.license-usage-window button {
    display: grid;
    width: 1.55rem;
    height: 1.55rem;
    margin-left: auto;
    place-items: center;
    color: #fff;
    background: var(--license-teal);
    border: 0;
    border-radius: 0.32rem;
}
.license-usage-window button:disabled { color: #8996a5; background: #e6ebef; cursor: default; }

.license-grouping-mode {
    display: grid;
    min-width: 13.6rem;
    gap: 0.24rem;
    padding: 0.34rem 0.42rem;
    color: #47556a;
    background: #f7f9fc;
    border: 1px solid var(--proposal-border);
    border-radius: 0.55rem;
}

.license-grouping-mode > span {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    padding-inline: 0.18rem;
    color: #687587;
    font-size: 0.58rem;
    font-weight: 650;
    line-height: 1;
}

.license-grouping-mode > span i { color: var(--license-indigo); font-size: 0.78rem; }
.license-grouping-mode > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0.12rem;
    background: #e9edf3;
    border-radius: 0.38rem;
}
.license-grouping-mode button {
    min-height: 1.5rem;
    padding: 0 0.48rem;
    color: #687587;
    background: transparent;
    border: 0;
    border-radius: 0.3rem;
    font-size: 0.62rem;
    font-weight: 720;
}
.license-grouping-mode button.is-active {
    color: #35498f;
    background: #fff;
    box-shadow: 0 0.08rem 0.24rem rgb(30 47 72 / 0.14);
}
.license-grouping-mode button:focus-visible { outline: 2px solid rgb(82 103 201 / 0.3); outline-offset: 0.08rem; }

.license-dashboard .is-spinning { animation: license-spin 800ms linear infinite; }

.license-error {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0.9rem;
    color: #812f35;
    background: #fff6f6;
    border: 1px solid #f1d4d6;
    border-radius: 0.65rem;
}

.license-error > i { font-size: 1.25rem; }
.license-error div { display: grid; flex: 1; gap: 0.1rem; }
.license-error strong { font-size: 0.78rem; }
.license-error span { font-size: 0.7rem; }
.license-error button,
.license-unavailable button {
    padding: 0.4rem 0.7rem;
    color: inherit;
    background: #fff;
    border: 1px solid currentColor;
    border-radius: 0.42rem;
    font-size: 0.7rem;
    font-weight: 700;
}

.license-overview {
    display: grid;
    grid-template-columns: repeat(6, minmax(9rem, 1fr));
    gap: 0.72rem;
}

.license-commercial-card,
.license-variance-card {
    min-height: 7.2rem;
    background: var(--proposal-surface);
    border: 1px solid var(--proposal-border);
    border-radius: 0.72rem;
    box-shadow: 0 0.24rem 0.9rem rgb(16 32 51 / 0.04);
}

.license-commercial-card small,
.license-variance-card small {
    color: var(--proposal-muted);
    font-size: 0.65rem;
}

.license-commercial-card,
.license-variance-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 0.3rem;
    padding: 0.88rem 1rem;
}

.license-commercial-card > span,
.license-variance-card__title {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--proposal-muted);
    font-size: 0.68rem;
    font-weight: 700;
}

.license-commercial-card > span i,
.license-variance-card__title i { color: var(--license-indigo); font-size: 1rem; }
.license-commercial-card.is-used > span i { color: var(--license-teal); }
.license-commercial-card.is-estimate > span i { color: var(--license-teal); }
.license-commercial-card.is-review > span i { color: var(--license-amber); }
.license-commercial-card strong { font-size: 1.25rem; letter-spacing: -0.025em; }
.license-commercial-card.is-contracted strong { color: var(--license-indigo); }
.license-commercial-card.is-used strong { color: var(--license-teal); }
.license-commercial-card.is-estimate strong { color: var(--license-teal); }
.license-commercial-card.is-review strong { color: var(--license-amber); }

.license-variance-card > div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.license-variance-card > div span {
    padding: 0.25rem 0.42rem;
    border-radius: 0.36rem;
    font-size: 0.66rem;
}

.is-over { color: var(--license-red) !important; }
.is-under { color: var(--license-amber) !important; }
.is-balanced { color: var(--license-teal) !important; }
.license-variance-card .is-over { background: var(--license-red-soft); }
.license-variance-card .is-under { background: var(--license-amber-soft); }

.license-section {
    background: var(--proposal-surface);
    border: 1px solid var(--proposal-border);
    border-radius: 0.72rem;
    box-shadow: 0 0.24rem 0.9rem rgb(16 32 51 / 0.035);
}

.license-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.78rem 0.9rem;
    border-bottom: 1px solid var(--proposal-border);
}

.license-section__header h2 {
    margin: 0.08rem 0 0;
    color: var(--proposal-ink);
    font-size: 0.92rem;
    font-weight: 720;
}

.license-section__header > small,
.license-result-count {
    color: var(--proposal-muted);
    font-size: 0.66rem;
}

.license-section__eyebrow {
    display: block;
    color: var(--license-indigo);
    font-size: 0.59rem;
    font-weight: 750;
    letter-spacing: 0.075em;
    line-height: 1;
    text-transform: uppercase;
}

.license-app-selector { overflow: hidden; }
.license-app-selector > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.68rem 0.82rem;
    background: #fbfcfe;
    border-bottom: 1px solid var(--proposal-border);
}
.license-app-selector > header > div { display: flex; min-width: 0; align-items: center; gap: 0.58rem; }
.license-app-selector__icon { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; color: var(--license-indigo); background: var(--license-indigo-soft); border-radius: 0.42rem; }
.license-app-selector h2 { margin: 0; color: var(--proposal-ink); font-size: 0.78rem; }
.license-app-selector p { margin: 0.08rem 0 0; color: #738091; font-size: 0.6rem; }
.license-app-selector nav { display: flex; flex: 0 0 auto; gap: 0.32rem; }
.license-app-selector nav button {
    padding: 0.3rem 0.48rem;
    color: #5b6879;
    background: #fff;
    border: 1px solid var(--proposal-border-strong);
    border-radius: 0.35rem;
    font-size: 0.58rem;
    font-weight: 700;
}
.license-app-selector__options { display: flex; gap: 0.4rem; padding: 0.55rem 0.65rem; overflow-x: auto; }
.license-app-option {
    display: grid;
    min-width: 9.4rem;
    flex: 1 0 9.4rem;
    grid-template-rows: auto auto;
    color: #667385;
    background: #f8fafc;
    border: 1px solid var(--proposal-border);
    border-radius: 0.5rem;
    text-align: left;
}
.license-app-option.is-selected { color: #334a91; background: var(--license-indigo-soft); border-color: #cbd3f5; }
.license-app-option__toggle { display: flex; min-width: 0; align-items: center; gap: 0.38rem; padding: 0.42rem 0.45rem 0.24rem; color: inherit; background: transparent; border: 0; text-align: left; }
.license-app-option__toggle strong { overflow: hidden; min-width: 0; color: inherit; font-size: 0.61rem; text-overflow: ellipsis; white-space: nowrap; }
.license-app-option__check { display: grid; width: 1.1rem; height: 1.1rem; flex: 0 0 auto; place-items: center; color: #fff; background: #fff; border: 1px solid #bcc7d3; border-radius: 0.28rem; font-size: 0.75rem; }
.license-app-option.is-selected .license-app-option__check { background: var(--license-indigo); border-color: var(--license-indigo); }
.license-app-option__price { display: grid; min-width: 0; gap: 0.12rem; margin: 0; padding: 0.15rem 0.45rem 0.42rem; }
.license-app-option__price > span { color: #758294; font-size: 0.49rem; font-weight: 700; text-transform: uppercase; }
.license-app-option__price > div { display: flex; height: 1.7rem; align-items: center; overflow: hidden; background: #fff; border: 1px solid var(--proposal-border-strong); border-radius: 0.34rem; }
.license-app-option__price > div > span { padding-left: 0.38rem; color: #7a8796; font-size: 0.55rem; }
.license-app-option__price input { width: 100%; min-width: 0; height: 100%; padding: 0 0.3rem; color: var(--proposal-ink); background: transparent; border: 0; outline: 0; font: inherit; font-size: 0.62rem; font-weight: 750; text-align: right; }
.license-app-option__price button { display: grid; width: 1.45rem; height: 100%; flex: 0 0 auto; place-items: center; padding: 0; color: var(--license-indigo); background: transparent; border: 0; border-left: 1px solid var(--proposal-border); font-size: 0.75rem; }
.license-app-option__price > div:focus-within { border-color: #8da0e2; box-shadow: 0 0 0 0.14rem rgb(82 103 201 / 0.1); }

.license-charts { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(18rem, 0.75fr); gap: 0.72rem; }
.license-chart-card { overflow: hidden; min-width: 0; background: #fff; border: 1px solid var(--proposal-border); border-radius: 0.72rem; box-shadow: 0 0.24rem 0.9rem rgb(16 32 51 / 0.035); }
.license-chart-card > header { display: flex; min-height: 4rem; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.72rem 0.86rem; border-bottom: 1px solid var(--proposal-border); }
.license-chart-card > header h2 { margin: 0.08rem 0 0; color: var(--proposal-ink); font-size: 0.88rem; }
.license-chart-card > header p { margin: 0.15rem 0 0; color: #778494; font-size: 0.59rem; }
.license-chart-card__badge { flex: 0 0 auto; padding: 0.26rem 0.42rem; color: #485d9e; background: var(--license-indigo-soft); border-radius: 999px; font-size: 0.56rem; font-weight: 700; }
.license-chart-card__canvas { min-height: 19rem; padding: 0.2rem 0.35rem 0.1rem; }
.license-chart-card--status .license-chart-card__canvas { min-height: 16.5rem; }
.license-chart-status-summary { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.55rem; padding: 0 0.6rem 0.75rem; }
.license-chart-status-summary span { font-size: 0.58rem; }
.license-chart-empty { display: grid; min-height: 18rem; place-items: center; padding: 1rem; color: #7d8998; font-size: 0.65rem; text-align: center; }

.license-filters {
    display: grid;
    grid-template-columns: minmax(16rem, 1.5fr) minmax(12rem, 0.9fr) auto;
    gap: 0.65rem;
    align-items: end;
    padding: 0.72rem 0.9rem;
    background: #fafbfd;
    border-bottom: 1px solid var(--proposal-border);
}

.license-filter { display: grid; gap: 0.25rem; margin: 0; }
.license-filter > span { color: #667385; font-size: 0.6rem; font-weight: 700; text-transform: uppercase; }
.license-filter--search > div { position: relative; }
.license-filter--search > div > i { position: absolute; top: 50%; left: 0.68rem; color: #8b97a6; transform: translateY(-50%); }

.license-filter--search input {
    width: 100%;
    height: 2.25rem;
    padding: 0 0.7rem;
    color: var(--proposal-ink);
    background: #fff;
    border: 1px solid var(--proposal-border-strong);
    border-radius: 0.45rem;
    outline: 0;
    font: inherit;
    font-size: 0.7rem;
}

.license-filter--search input { padding-left: 2rem; }
.license-filter--search input:focus { border-color: #8da0e2; box-shadow: 0 0 0 0.18rem rgb(82 103 201 / 0.12); }

.license-filter-clear {
    display: inline-flex;
    height: 2.25rem;
    align-items: center;
    gap: 0.3rem;
    padding: 0 0.72rem;
    color: #596678;
    background: #fff;
    border: 1px solid var(--proposal-border-strong);
    border-radius: 0.45rem;
    font-size: 0.68rem;
    font-weight: 700;
}

.license-filter-clear:disabled { cursor: default; opacity: 0.45; }

.license-table-wrap { max-height: 57vh; overflow: auto; }
.license-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.license-table th {
    position: sticky;
    z-index: 1;
    top: 0;
    padding: 0.55rem 0.62rem;
    color: #6d7989;
    background: #f7f9fb;
    border-bottom: 1px solid var(--proposal-border-strong);
    font-size: 0.59rem;
    font-weight: 750;
    letter-spacing: 0.035em;
    text-align: left;
    text-transform: uppercase;
}

.license-sort-button {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
    font: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    text-align: left;
    text-transform: inherit;
    white-space: nowrap;
}
.license-sort-button i { color: #9aa5b3; font-size: 0.78rem; }
.license-sort-button:hover,
.license-sort-button.is-active { color: var(--license-indigo); }
.license-sort-button.is-active i { color: currentColor; }
.license-sort-button:focus-visible { outline: 2px solid rgb(82 103 201 / 0.3); outline-offset: 0.18rem; border-radius: 0.15rem; }
.license-sort-pair { display: flex; align-items: center; gap: 0.25rem; }
.license-sort-pair > span { color: #a4adba; }

.license-table td {
    padding: 0.58rem 0.62rem;
    vertical-align: middle;
    border-bottom: 1px solid #edf1f5;
    font-size: 0.68rem;
}

.license-table__row { box-shadow: inset 0.16rem 0 transparent; }
.license-table__row.has-warning { box-shadow: inset 0.16rem 0 var(--license-amber); }
.license-table__row.has-critical { box-shadow: inset 0.16rem 0 var(--license-red); }
.license-table__row:hover,
.license-table__row.is-expanded { background: #fbfcff; }
.license-table__toggle { width: 5.85rem; text-align: center !important; }
.license-table__actions { display: flex; align-items: center; justify-content: center; gap: 0.25rem; }
.license-table__toggle button {
    display: grid;
    width: 1.75rem;
    height: 1.75rem;
    place-items: center;
    color: #607087;
    background: #f4f7fa;
    border: 1px solid var(--proposal-border);
    border-radius: 0.38rem;
}
.license-table__toggle button.is-active { color: var(--license-indigo); background: var(--license-indigo-soft); border-color: #cbd3f5; }
.license-table__toggle button:disabled { cursor: default; opacity: 0.35; }

.license-client-cell,
.license-app-cell,
.license-money-cell,
.license-last-use { display: grid; min-width: 0; gap: 0.08rem; }
.license-client-cell strong,
.license-app-cell strong,
.license-money-cell strong,
.license-last-use strong { color: var(--proposal-ink); font-size: 0.7rem; }
.license-client-cell span,
.license-app-cell span,
.license-money-cell span,
.license-last-use span { color: #778494; font-size: 0.6rem; }
.license-client-cell { min-width: 12rem; }
.license-table--clients .license-client-cell { min-width: 15rem; gap: 0.22rem; }
.license-client-cell__companies {
    display: flex;
    flex-wrap: wrap;
    gap: 0.18rem;
    max-width: 21rem;
}
.license-client-cell__companies > span {
    overflow: hidden;
    max-width: 10rem;
    padding: 0.1rem 0.28rem;
    color: #526177;
    background: #f1f4f8;
    border: 1px solid #e2e7ee;
    border-radius: 0.25rem;
    font-size: 0.53rem;
    font-weight: 650;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.license-client-cell__meta { margin-top: 0.02rem; }
.license-app-cell { min-width: 8rem; }
.license-table--clients .license-app-cell span {
    display: block;
    overflow: hidden;
    max-width: 17rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.license-money-cell .is-opportunity { color: var(--license-teal); font-weight: 700; }
.license-money-cell .is-review { color: var(--license-amber); font-weight: 700; }
.license-money-cell .is-unavailable { color: var(--license-amber); }

.license-quantity-rail {
    display: inline-grid;
    min-width: 8.7rem;
    grid-template-columns: repeat(3, 1fr);
    overflow: hidden;
    background: #f7f9fc;
    border: 1px solid var(--proposal-border);
    border-radius: 0.42rem;
}

.license-quantity-rail span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    padding: 0.3rem 0.36rem;
    border-right: 1px solid var(--proposal-border);
}

.license-quantity-rail span:last-child { border-right: 0; }
.license-quantity-rail small { color: #909baa; font-size: 0.52rem; font-weight: 800; }
.license-quantity-rail strong { color: inherit; font-size: 0.72rem; font-variant-numeric: tabular-nums; }

.license-alerts { display: flex; max-width: 17rem; flex-wrap: wrap; gap: 0.24rem; }
.license-alert {
    display: inline-flex;
    align-items: center;
    gap: 0.18rem;
    padding: 0.2rem 0.34rem;
    color: #4e5b6c;
    background: #f2f5f8;
    border: 1px solid #e0e6ec;
    border-radius: 999px;
    font-size: 0.55rem;
    font-weight: 700;
    line-height: 1.15;
}

.license-alert.is-critical { color: var(--license-red); background: var(--license-red-soft); border-color: #f0cdd2; }
.license-alert.is-warning { color: var(--license-amber); background: var(--license-amber-soft); border-color: #efddbd; }
.license-alert.is-info { color: #4263a6; background: #f0f4fd; border-color: #d8e0f3; }
.license-alert.is-ok { color: var(--license-teal); background: var(--license-teal-soft); border-color: #cae7e1; }
.license-alert.is-more { color: #5c6878; }

.license-table__details-row > td { padding: 0; background: #f7f9fc; }
.license-details {
    display: grid;
    grid-template-columns: minmax(24rem, 1.55fr) minmax(18rem, 0.9fr);
    gap: 0.65rem;
    padding: 0.72rem 0.82rem 0.85rem 2.8rem;
    border-bottom: 1px solid var(--proposal-border-strong);
}
.license-details--analysis,
.license-details--clients,
.license-details--applications,
.license-details--contracts { grid-template-columns: minmax(0, 1fr); }
.license-details--analysis .license-details__commercial { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.license-details section,
.license-details__commercial > section {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--proposal-border);
    border-radius: 0.55rem;
}

.license-details section > header,
.license-details__commercial section > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.48rem 0.62rem;
    background: #fafbfd;
    border-bottom: 1px solid var(--proposal-border);
}

.license-details section > header span { color: var(--proposal-ink); font-size: 0.64rem; font-weight: 750; }
.license-details section > header small { color: #7d8998; font-size: 0.57rem; }
.license-details__commercial { display: grid; align-content: start; gap: 0.65rem; }
.license-reference-price { display: grid; gap: 0.08rem; padding: 0.62rem; background: var(--license-teal-soft); }
.license-reference-price strong { color: var(--license-teal); font-size: 0.92rem; }
.license-reference-price span { color: #60756f; font-size: 0.56rem; }

.license-client-app-list { display: grid; }
.license-client-app-row {
    display: grid;
    grid-template-columns: minmax(10rem, 0.8fr) minmax(24rem, 1.35fr) minmax(12rem, 0.85fr);
    gap: 0.75rem;
    align-items: center;
    padding: 0.58rem 0.68rem;
    border-bottom: 1px solid #edf1f5;
    box-shadow: inset 0.16rem 0 transparent;
}
.license-client-app-row:last-child { border-bottom: 0; }
.license-client-app-row.has-warning { box-shadow: inset 0.16rem 0 var(--license-amber); }
.license-client-app-row.has-critical { box-shadow: inset 0.16rem 0 var(--license-red); }
.license-client-app-row__identity { display: grid; min-width: 0; gap: 0.08rem; }
.license-client-app-row__identity strong { overflow: hidden; color: var(--proposal-ink); font-size: 0.67rem; text-overflow: ellipsis; white-space: nowrap; }
.license-client-app-row__identity span { color: #7d8998; font-size: 0.55rem; }
.license-client-app-row dl { display: grid; grid-template-columns: repeat(4, minmax(4.5rem, 1fr)); gap: 0.55rem; margin: 0; }
.license-client-app-row dl div { display: grid; gap: 0.05rem; }
.license-client-app-row dt { color: #8793a2; font-size: 0.5rem; font-weight: 700; text-transform: uppercase; }
.license-client-app-row dd { margin: 0; color: var(--proposal-ink); font-size: 0.62rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.license-client-app-row dd.is-over { color: var(--license-red); }
.license-client-app-row dd.is-opportunity { color: var(--license-teal); }
.license-client-app-row dd.is-under { color: var(--license-amber); }
.license-client-app-row dd.is-review { color: var(--license-amber); }
.license-client-app-row > .license-alerts { justify-content: flex-end; }

.license-contract-quickview > header > div {
    display: grid;
    gap: 0.08rem;
}
.license-contract-quickview > header > div > span {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
}
.license-contract-quickview > header > div > span i { color: var(--license-indigo); font-size: 0.82rem; }
.license-contract-quickview > header > strong {
    padding: 0.18rem 0.38rem;
    color: #4e5f78;
    background: #eef2f7;
    border-radius: 999px;
    font-size: 0.55rem;
    font-weight: 750;
}
.license-contract-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(20rem, 1fr));
    gap: 0.55rem;
    padding: 0.58rem;
    background: #f7f9fc;
}
.license-contract-card {
    overflow: hidden;
    align-self: start;
    background: #fff;
    border: 1px solid var(--proposal-border);
    border-radius: 0.48rem;
}
.license-contract-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.5rem 0.58rem;
    background: #fbfcfe;
    border-bottom: 1px solid #e7ebf0;
}
.license-contract-card__identity {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.45rem;
}
.license-contract-card__identity > div { display: grid; min-width: 0; gap: 0.06rem; }
.license-contract-card__identity > div strong {
    overflow: hidden;
    color: var(--proposal-ink);
    font-size: 0.65rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.license-contract-card__identity > div small { color: #7d8998; font-size: 0.54rem; }
.license-contract-card__number {
    flex: 0 0 auto;
    padding: 0.2rem 0.32rem;
    color: #3f539d;
    background: var(--license-indigo-soft);
    border: 1px solid #d5dcf7;
    border-radius: 0.3rem;
    font-size: 0.58rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
.license-contract-card > header > a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.24rem;
    padding: 0.26rem 0.4rem;
    color: #4056a2;
    background: #f1f4ff;
    border: 1px solid #d7def7;
    border-radius: 0.32rem;
    font-size: 0.56rem;
    font-weight: 750;
}
.license-contract-card > header > a:hover { color: #2f438e; background: #e9edff; }
.license-contract-items { display: grid; }
.license-contract-item {
    display: grid;
    grid-template-columns: minmax(9rem, 1fr) auto minmax(16rem, 1.2fr);
    gap: 0.55rem;
    align-items: center;
    padding: 0.46rem 0.58rem;
    border-bottom: 1px solid #edf1f5;
}
.license-contract-item:last-child { border-bottom: 0; }
.license-contract-item__identity { display: grid; min-width: 0; gap: 0.05rem; }
.license-contract-item__identity strong {
    overflow: hidden;
    color: var(--proposal-ink);
    font-size: 0.61rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.license-contract-item__identity span { color: #7d8998; font-size: 0.53rem; }
.license-contract-item__mode {
    padding: 0.15rem 0.28rem;
    color: #53647b;
    background: #f2f5f8;
    border: 1px solid #e0e6ec;
    border-radius: 999px;
    font-size: 0.5rem;
    font-weight: 700;
    white-space: nowrap;
}
.license-contract-item dl {
    display: grid;
    grid-template-columns: 1.25fr 1fr 1fr;
    gap: 0.48rem;
    margin: 0;
}
.license-contract-item dl div { display: grid; min-width: 0; gap: 0.04rem; }
.license-contract-item dt { color: #8995a4; font-size: 0.48rem; font-weight: 650; text-transform: uppercase; }
.license-contract-item dd {
    overflow: hidden;
    margin: 0;
    color: #344156;
    font-size: 0.57rem;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.license-contract-item dl div:last-child dd { color: var(--license-teal); }
.license-contract-card__empty {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.62rem;
    color: #788596;
    font-size: 0.57rem;
}
.license-contract-card__empty i { color: var(--license-amber); font-size: 0.82rem; }

.license-client-list { display: grid; }
.license-client-detail {
    display: grid;
    grid-template-columns: minmax(11rem, 1fr) 8.5rem;
    gap: 0.8rem;
    align-items: center;
    padding: 0.56rem 0.62rem;
    border-bottom: 1px solid #edf1f5;
}

.license-client-detail:last-child { border-bottom: 0; }
.license-client-detail > div { display: grid; min-width: 0; gap: 0.08rem; }
.license-client-detail > div a { overflow: hidden; color: var(--proposal-blue-dark); font-size: 0.65rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.license-client-detail > div span { color: #7b8796; font-size: 0.57rem; }
.license-client-detail dl { display: grid; grid-template-columns: 3.4rem 4.6rem; gap: 0.5rem; margin: 0; }
.license-client-detail dl div { display: grid; }
.license-client-detail dt { color: #8692a1; font-size: 0.52rem; font-weight: 600; }
.license-client-detail dd { margin: 0; color: var(--proposal-ink); font-size: 0.64rem; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.license-price-list { margin: 0; padding: 0; list-style: none; }
.license-price-list li {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.08rem 0.6rem;
    padding: 0.48rem 0.62rem;
    border-bottom: 1px solid #edf1f5;
}
.license-price-list li:last-child { border-bottom: 0; }
.license-price-list span { color: #5f6d7e; font-size: 0.59rem; }
.license-price-list strong { color: var(--license-teal); font-size: 0.65rem; }
.license-price-list small { grid-column: 1 / 3; color: #8b96a4; font-size: 0.53rem; }

.license-details__alerts { grid-column: 1 / -1; }
.license-details__alerts ul { display: grid; grid-template-columns: 1fr; margin: 0; padding: 0; list-style: none; }
.license-details__alerts li { display: flex; align-items: flex-start; gap: 0.45rem; padding: 0.44rem 0.62rem; border-bottom: 1px solid #edf1f5; }
.license-details__alerts li:last-child { border-bottom: 0; }
.license-details__alerts li > i { flex: 0 0 auto; margin-top: 0.08rem; }
.license-details__alerts li > div { display: grid; gap: 0.08rem; }
.license-details__alerts li strong { color: inherit; font-size: 0.59rem; }
.license-details__alerts li span { color: #667385; font-size: 0.56rem; }
.license-details__alerts li.is-critical { color: var(--license-red); }
.license-details__alerts li.is-warning { color: var(--license-amber); }
.license-details__alerts li.is-info { color: #4263a6; }

.license-detail-empty { padding: 0.65rem; color: #7a8796; font-size: 0.62rem; }
.license-empty,
.license-unavailable {
    display: grid;
    justify-items: center;
    gap: 0.25rem;
    padding: 2.5rem 1rem;
    color: #738091;
    text-align: center;
}
.license-empty i,
.license-unavailable i { color: #93a1b1; font-size: 1.7rem; }
.license-empty strong,
.license-unavailable h2 { margin: 0; color: var(--proposal-ink); font-size: 0.82rem; }
.license-empty span,
.license-unavailable p { margin: 0; font-size: 0.66rem; }

.license-pending { overflow: hidden; }
.license-pending__toggle {
    display: grid;
    width: 100%;
    grid-template-columns: auto 1fr auto auto;
    gap: 0.72rem;
    align-items: center;
    padding: 0.75rem 0.9rem;
    color: inherit;
    background: #fff;
    border: 0;
    text-align: left;
}
.license-pending__toggle:hover { background: #fcfcfd; }
.license-pending__icon { display: grid; width: 2rem; height: 2rem; place-items: center; color: var(--license-amber); background: var(--license-amber-soft); border: 1px solid #eeddbf; border-radius: 0.45rem; }
.license-pending__copy { display: grid; gap: 0.08rem; }
.license-pending__copy strong { color: var(--proposal-ink); font-size: 0.75rem; }
.license-pending__copy small { color: #7a8796; font-size: 0.59rem; }
.license-pending__summary { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.3rem; }
.license-pending__summary span { padding: 0.22rem 0.35rem; color: #6e5b3f; background: #fff9ef; border: 1px solid #f0e3ca; border-radius: 999px; font-size: 0.55rem; }
.license-pending__chevron { color: #738091; font-size: 1rem; }
.license-pending__content { padding: 0 0.9rem 0.9rem; border-top: 1px solid var(--proposal-border); }
.license-pending__content > p { margin: 0; padding: 0.65rem 0; color: #6b7787; font-size: 0.62rem; }
.license-pending-table-wrap { max-height: 24rem; overflow: auto; border: 1px solid var(--proposal-border); border-radius: 0.5rem; }
.license-pending-table { width: 100%; border-collapse: collapse; }
.license-pending-table th { position: sticky; top: 0; z-index: 1; padding: 0.45rem 0.55rem; color: #6d7989; background: #f7f9fb; border-bottom: 1px solid var(--proposal-border); font-size: 0.56rem; text-align: left; text-transform: uppercase; }
.license-pending-table td { padding: 0.48rem 0.55rem; border-bottom: 1px solid #edf1f5; color: #596779; font-size: 0.61rem; }
.license-pending-table td:first-child { display: grid; gap: 0.05rem; }
.license-pending-table td a { color: var(--proposal-blue-dark); font-weight: 700; }
.license-pending-table td > span { color: #8894a3; font-size: 0.53rem; }
.license-pending-table td div { display: flex; flex-wrap: wrap; gap: 0.25rem; }
.license-pending-table td div span { padding: 0.2rem 0.34rem; color: #76531f; background: var(--license-amber-soft); border-radius: 999px; font-size: 0.53rem; }

.license-dashboard-skeleton { display: grid; gap: 0.8rem; }
.license-skeleton {
    background: linear-gradient(90deg, #e9eef3 25%, #f6f8fa 50%, #e9eef3 75%);
    background-size: 200% 100%;
    border: 1px solid var(--proposal-border);
    border-radius: 0.72rem;
    animation: license-shimmer 1.15s linear infinite;
}
.license-skeleton--metrics { height: 7.2rem; }
.license-skeleton--applications { height: 9rem; }
.license-skeleton--table { height: 28rem; }

@media (max-width: 1320px) {
    .license-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1050px) {
    .license-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .license-charts { grid-template-columns: 1fr; }
    .license-filters { grid-template-columns: 1fr 1fr; }
    .license-filter--search { grid-column: 1 / -1; }
    .license-filter-clear { justify-self: start; }
    .license-details { grid-template-columns: 1fr; padding-left: 0.82rem; }
    .license-details__alerts { grid-column: auto; }
    .license-client-app-row { grid-template-columns: minmax(9rem, 0.7fr) minmax(22rem, 1.3fr); }
    .license-client-app-row > .license-alerts { grid-column: 1 / -1; justify-content: flex-start; }
    .license-contract-list { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
    .license-dashboard .proposal-page { padding-inline: 0.7rem; }
    .license-dashboard__header { align-items: flex-start; }
    .license-dashboard__header .proposal-header__aside { width: 100%; flex-wrap: wrap; justify-content: flex-start; }
    .license-app-selector > header { align-items: flex-start; }
    .license-app-selector > header > div { align-items: flex-start; }
    .license-overview { grid-template-columns: 1fr; }
    .license-filters { grid-template-columns: 1fr; }
    .license-filter--search { grid-column: auto; }
    .license-table-wrap { max-height: none; overflow: visible; }
    .license-table thead { display: none; }
    .license-table,
    .license-table tbody { display: grid; }
    .license-table__row { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; margin: 0.55rem; padding: 0.75rem; border: 1px solid var(--proposal-border); border-radius: 0.55rem; box-shadow: inset 0.18rem 0 transparent; }
    .license-table__row.has-warning { box-shadow: inset 0.18rem 0 var(--license-amber); }
    .license-table__row.has-critical { box-shadow: inset 0.18rem 0 var(--license-red); }
    .license-table__row td { display: grid; gap: 0.15rem; padding: 0; border: 0; }
    .license-table__row td::before { color: #8a96a5; content: attr(data-label); font-size: 0.52rem; font-weight: 750; text-transform: uppercase; }
    .license-table__row .license-table__toggle { position: absolute; top: 0.6rem; right: 0.6rem; display: block; width: auto; }
    .license-table__row .license-table__toggle::before { display: none; }
    .license-table__row td:nth-child(2) { grid-column: 1 / -1; padding-right: 4.5rem; }
    .license-table__details-row { display: block; margin: -0.25rem 0.55rem 0.65rem; }
    .license-table__details-row td { display: block; }
    .license-details { padding: 0.65rem; }
    .license-details--analysis .license-details__commercial { grid-template-columns: 1fr; }
    .license-client-detail { grid-template-columns: 1fr; }
    .license-client-app-row { grid-template-columns: 1fr; }
    .license-client-app-row dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .license-client-app-row > .license-alerts { grid-column: auto; }
    .license-contract-item { grid-template-columns: 1fr auto; }
    .license-contract-item dl { grid-column: 1 / -1; }
    .license-pending__toggle { grid-template-columns: auto 1fr auto; }
    .license-pending__summary { display: none; }
    .license-pending-table { min-width: 44rem; }
}

@media (max-width: 500px) {
    .license-competence, .license-usage-window, .license-grouping-mode { width: 100%; }
    .license-app-selector > header { display: grid; }
    .license-app-selector nav { justify-content: flex-start; }
    .license-app-option { width: 100%; }
    .license-table__row { grid-template-columns: 1fr; }
    .license-table__row td:nth-child(2) { grid-column: auto; }
    .license-client-cell { min-width: 0; }
    .license-table--clients .license-client-cell { min-width: 0; }
    .license-client-cell__companies { max-width: none; }
    .license-contract-list { padding: 0.4rem; }
    .license-contract-card > header { align-items: flex-start; }
    .license-contract-card > header > a { padding-inline: 0.3rem; }
    .license-contract-card > header > a { font-size: 0; }
    .license-contract-card > header > a i { font-size: 0.75rem; }
    .license-contract-item { grid-template-columns: 1fr; }
    .license-contract-item__mode { justify-self: start; }
    .license-contract-item dl { grid-column: auto; grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .license-dashboard *, .license-dashboard *::before, .license-dashboard *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

@keyframes license-spin { to { transform: rotate(360deg); } }
@keyframes license-shimmer { to { background-position: -200% 0; } }
