.license-workspace { max-inline-size: 1200px; margin-inline: auto; padding-inline: clamp(1rem, 2vw, 1.5rem); padding-block: 1rem; }
.license-workspace .page-intro { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.license-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.license-panel { background: var(--care-card, #fff); border: 1px solid var(--care-border, #e2e8f0); border-radius: 1.25rem; overflow: hidden; box-shadow: 0 6px 24px rgb(15 23 42 / 4%); }
.license-panel .panel-body { padding: clamp(1.25rem, 3vw, 2rem); }
.license-panel .panel-header { display: flex; justify-content: space-between; gap: 1rem; padding: 1.5rem 2rem; border-bottom: 1px solid var(--care-border); }
.license-panel h2 { font-size: 1.15rem; font-weight: 700; margin-block: 0 .6rem; }
.license-panel h3 { font-size: 1rem; font-weight: 700; }
.license-panel .panel-header p, .license-hint, .license-form small { color: var(--care-muted); font-size: .9rem; }
.license-status { display: inline-flex; gap: .6rem; align-items: center; border: 1px solid var(--care-border); padding: .6rem 1rem; border-radius: 100px; background: var(--care-accent); color: var(--care-primary-strong); font-weight: 650; }
.license-status.is-expired { background: #fff0ee; color: #a12c24; border-color: #efb8b2; }
.license-date { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: 1rem 1.2rem; background: var(--care-surface); border-radius: .8rem; margin-block-end: 1.5rem; }
.license-form { display: grid; gap: 1.1rem; }
.license-form label { display: block; font-weight: 600; margin-block-end: .5rem; }
.license-form input:not([type=checkbox]), .license-form textarea { inline-size: 100%; min-block-size: 48px; }
.license-form input[type=checkbox] { inline-size: 22px; block-size: 22px; vertical-align: middle; margin-inline-end: .5rem; }
.license-form .btn { min-block-size: 48px; justify-self: start; }
.license-workspace .btn.btn-primary { background: var(--care-primary-strong); border-color: var(--care-primary-strong); color: #fff; }
.license-pending { display: flex; gap: 1rem; padding: 1.25rem; background: var(--care-accent); border-radius: 1rem; }
.license-review-note { border-inline-start: 3px solid var(--care-primary); padding-inline-start: 1rem; margin-block-end: 1.5rem; overflow-wrap: anywhere; }
.license-eyebrow { color: var(--care-primary-strong); font-size: .8rem; font-weight: 700; }
.license-steps { padding-inline-start: 1.2rem; margin-block: 1.5rem; }
.license-steps li { padding-inline-start: .4rem; margin-block-end: 1.25rem; }
.license-review-heading { display: flex; gap: 1rem; justify-content: space-between; align-items: center; flex-wrap: wrap; margin-block-end: 1.5rem; }
@media (max-width: 800px) { .license-grid { grid-template-columns: minmax(0, 1fr); } }

.license-control-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-block: 1.5rem; }
@media (max-width: 650px) { .license-control-stats { grid-template-columns: minmax(0, 1fr); } }

/* Licence control lists share the existing administrator shell. */
.license-control { padding-inline: 0; }
.license-summary { border: 1px solid; border-radius: 1rem; padding: 1.2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.license-summary h2 { font-size: 1rem; margin: 0 0 .4rem; font-weight: 700; }
.license-summary p { margin: 0; font-size: .85rem; }
.license-summary strong { font-size: 1.9rem; }
.license-summary-renewals { background: #edf4ff; border-color: #ccddf5; color: #294f80; }
.license-summary-expired { background: #fff0ef; border-color: #f0ceca; color: #943d36; }
.license-summary-missing { background: #fff7e6; border-color: #ecdbaf; color: #805d17; }
.license-table-panel { background: var(--care-card, #fff); border: 1px solid var(--care-border, #dfe7eb); border-radius: 1rem; overflow: hidden; }
.license-tabs { display: flex; flex-wrap: wrap; gap: .75rem; border-block-end: 1px solid #e2eaed; padding-inline: 1rem; }
.license-tab { display: flex; align-items: center; gap: .5rem; min-block-size: 56px; padding: .75rem; border-block-end: 3px solid transparent; text-decoration: none; }
.license-tab-renewals { color: #355f92; }
.license-tab-expired { color: #9a4840; }
.license-tab-missing { color: #86601c; }
.license-tab-renewals.is-active { background: #edf4ff; border-color: #4e7fb6; }
.license-tab-expired.is-active { background: #fff0ef; border-color: #bd655b; }
.license-tab-missing.is-active { background: #fff7e6; border-color: #bc9140; }
.license-tab.is-active { font-weight: 700; }
.license-count { border-radius: 1rem; background: rgb(255 255 255 / 65%); padding: .1rem .5rem; font-size: .8rem; }
.license-table-tools { display: flex; align-items: end; flex-wrap: wrap; gap: .8rem; padding: 1.25rem; }
.license-table-tools label { display: grid; gap: .4rem; font-size: .85rem; margin: 0; }
.license-search { flex: 1 1 220px; }
.license-table-tools .form-control, .license-table-tools .form-select, .license-control .btn { min-block-size: 44px; }
.license-table-hint { background: #eff6f4; color: #42695b; padding: .8rem 1rem; margin: 0 1.25rem 1.25rem; border-radius: .6rem; font-size: .85rem; }
.license-table-scroll { max-inline-size: 100%; overflow: auto; max-block-size: 650px; }
.license-record-table { inline-size: 100%; min-inline-size: 760px; border-collapse: collapse; text-align: start; }
.license-record-table th, .license-record-table td { padding: .85rem 1.1rem; border-block-end: 1px solid #e9eff1; font-size: .9rem; vertical-align: middle; }
.license-record-table thead th { background: #f4f7f9; color: #526976; position: sticky; inset-block-start: 0; z-index: 1; font-size: .8rem; }
.license-record-table th { text-align: start; }
.license-record-table tbody tr:hover { background: #f8fbfa; }
.license-record-table tbody th { font-weight: 650; }
.license-badge { display: inline-block; padding: .35rem .55rem; border-radius: .4rem; font-size: .8rem; white-space: nowrap; }
.license-badge.is-warning { background: #fff1d9; color: #80580a; }
.license-badge.is-pending { background: #eaf1fc; color: #3a65a1; }
.license-badge.is-expired { background: #ffedec; color: #a63b35; }
.license-table-footer, .license-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.license-table-footer { justify-content: space-between; padding: 1rem 1.25rem; }
.license-table-footer p { margin: 0; }
.license-table-empty { text-align: center; padding-block: 2rem !important; }
.license-review-dialog { position: fixed; inset-block: 0; inset-inline: auto 0; margin: 0; block-size: 100dvh; max-block-size: 100dvh; inline-size: min(500px, 100%); max-inline-size: 100%; padding: 1.75rem; border: 0; box-shadow: 0 0 40px rgb(20 40 50 / 18%); background: var(--care-card, #fff); color: inherit; overflow: auto; }
.license-review-dialog::backdrop { background: rgb(17 43 62 / 40%); }
.license-dialog-header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-block-end: 1.5rem; }
.license-dialog-header h2 { font-size: 1.3rem; }
.license-review-facts dt { font-size: .85rem; margin-block-start: 1rem; }
.license-review-facts dd { font-weight: 600; margin: .4rem 0 1rem; }
@media (max-width: 650px) { .license-table-tools { align-items: stretch; } .license-table-tools label { flex: 1 1 130px; } .license-summary { padding: 1rem; } .license-tabs { padding-inline: .3rem; gap: 0; } .license-tab { flex: 1 1 auto; justify-content: center; padding: .65rem; } }
