/* License Core operating interface. */
@font-face {
  font-family: "Inter";
  src: url("./assets/fonts/InterVariable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  color-scheme: dark;
  --admin-ground: #101113;
  --admin-surface: #191a1d;
  --admin-raised: #232529;
  --admin-field: #232529;
  --admin-ink: #ededf0;
  --admin-secondary: #c3c6ce;
  --admin-muted: #a2a7b2;
  --admin-accent: #edff00;
  --admin-line: #2c2e34;
  --admin-hover: #292c32;
  --admin-success: #8ed7a7;
  --admin-danger: #ff9b9d;
  --admin-warning: #efc780;
  --admin-nav: #101113;
  --admin-primary: #edff00;
  --admin-primary-hover: #f2ff55;
  --admin-on-primary: #171a08;
  --admin-selected: #292d34;
  --admin-selected-border: #3a3f49;
  --admin-overlay: #07081099;
  --admin-shadow: #0006;
  --admin-link: #dce2ef;
  --admin-radius: 8px;
  --admin-pill: 24px;
  --admin-utility-height: 40px;
  --admin-action-height: 40px;
  --admin-copy-size: 32px;
  --admin-panel-shadow: none;
  --admin-font: "Inter", "Helvetica Neue", sans-serif;
  --control-bg: var(--admin-field);
  --control-border: #454953;
  --field-border: #454953;
  --control-focus: #b4c5d5;
  --control-error: var(--admin-danger);
  --accent: var(--admin-accent);
  --muted: var(--admin-muted);
  background: var(--admin-ground);
  color: var(--admin-ink);
  font-family: var(--admin-font);
  font-synthesis: none;
}
:root[data-theme="light"] {
  color-scheme: light;
  --admin-ground: #e9edf3;
  --admin-surface: #ffffff;
  --admin-raised: #f4f6f9;
  --admin-field: #ffffff;
  --admin-ink: #243247;
  --admin-secondary: #46556b;
  --admin-muted: #5c697b;
  --admin-accent: #24364b;
  --admin-line: #dce3ed;
  --admin-hover: #edf1f7;
  --admin-success: #2d6848;
  --admin-danger: #a43f4b;
  --admin-warning: #7b571d;
  --admin-nav: #e9edf3;
  --admin-primary: #24364b;
  --admin-primary-hover: #314a67;
  --admin-on-primary: #ffffff;
  --admin-selected: #dce4ef;
  --admin-selected-border: #b8c8db;
  --admin-overlay: #17263c66;
  --admin-shadow: #20375426;
  --admin-link: #315d8c;
  --control-bg: var(--admin-field);
  --control-border: #c3cddd;
  --field-border: #7e8da3;
  --control-focus: #3b6696;
  --control-error: var(--admin-danger);
  --accent: var(--admin-accent);
  --muted: var(--admin-muted);
}
body {
  background: var(--admin-ground);
  color: var(--admin-ink);
  font-family: var(--admin-font);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
  font-optical-sizing: auto;
}
button, input, select, textarea { font-family: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
* { scrollbar-color: color-mix(in srgb, var(--admin-muted) 65%, transparent) transparent; scrollbar-width: thin; }
input, textarea { caret-color: var(--admin-ink); }
a { text-underline-offset: 3px; }
.app-shell { padding: 0; gap: 0; grid-template-columns: 216px minmax(0, 1fr); }
.sidebar, .preview-shell .sidebar {
  top: 0; height: 100dvh; padding: 26px 16px 18px; border: 0 !important;
  border-radius: 0; background: var(--admin-nav); box-shadow: none;
}
/* Match the authored switch path at 44px high; reserve the Dashboard header row. */
.brand { display: flex; justify-content: center; align-items: center; min-height: 54px; padding: 0 0 20px; }
.brand { width: 100%; border: 0; background: transparent; cursor: pointer; }
.brand-logo { display: block; width: 163.704px; max-width: 100%; height: auto; }
.brand-logo-full { display: block; width: 136px; max-width: 100%; height: auto; }
.brand-logo-key { display: none; width: 52px; height: auto; }
:root[data-theme="light"] :is(.brand-logo,.brand-logo-full,.brand-logo-key,.login-wordmark) { filter: brightness(0) saturate(100%) invert(18%) sepia(24%) saturate(1378%) hue-rotate(174deg) brightness(88%) contrast(91%); }
.sidebar nav, .portal-navigation { gap: 4px; min-height: 0; overflow-y: auto; }
.sidebar nav button, .portal-nav-item {
  align-items: center; text-decoration: none;
  padding: 10px 12px; min-height: 42px; gap: 12px;
  border: 0; border-radius: 6px; color: var(--admin-muted);
  font-weight: 400; font-size: 13px; background: transparent;
  transition: color 150ms ease-out, background-color 150ms ease-out;
}
.portal-nav-item { display: flex; }
.sidebar nav button span, .portal-nav-item span { order: 1; text-align: left; flex: 1; }
.sidebar nav button svg, .portal-nav-item svg { order: 0; width: 18px; height: 18px; flex-shrink: 0; }
.sidebar nav button:hover, .portal-nav-item:hover { background: var(--admin-hover); color: var(--admin-ink); }
.sidebar nav button.active, .portal-nav-item.active, .portal-nav-item[aria-current="page"] { background: var(--admin-selected); color: var(--admin-ink); box-shadow: none; font-weight: 500; }
.sidebar nav button.active svg, .portal-nav-item.active svg, .portal-nav-item[aria-current="page"] svg { color: currentColor; }
.sidebar nav button.active::before { content: none; }
.sidebar-bottom { border: 0; margin-top: auto; padding: 24px 14px 0; flex-shrink: 0; }
.admin-version { display: flex; align-items: baseline; gap: 8px; text-transform: none; }
.admin-version, .admin-version b { color: var(--admin-muted); font-size: 11px; font-weight: 500; letter-spacing: .02em; }
.admin-version b { display: inline; font-variant-numeric: tabular-nums; }
.signout { color: var(--admin-muted); padding: 8px 0; font-size: 13px; }
.signout:hover { color: var(--admin-ink); }
.workspace {
  border: 1px solid var(--admin-line); border-radius: 12px; background: var(--admin-surface); box-shadow: none;
  margin: 10px 10px 10px 0; padding: 0 36px 34px; min-height: calc(100dvh - 20px); overflow: visible;
}
.workspace h1 { color: var(--admin-ink); font-size: 29px; letter-spacing: -.035em; font-weight: 500; line-height: 1.2; margin: 0; }
.workspace header { align-items: center; margin: 0 0 28px; }
.workspace > header.workspace-header, .workspace > header:not(.workspace-topbar) { padding-top: 35px; }
.workspace header .eyebrow { margin: 7px 0 0; color: var(--admin-muted); text-transform: none; letter-spacing: 0; font-size: 12px; }
.service, .preview-shell .service { background: transparent; color: var(--admin-muted); border-color: var(--admin-line); box-shadow: none; font-size: 12px; }
.service span, .preview-shell .service span { background: var(--admin-accent); box-shadow: none; }
.preview-banner { border: 0; border-bottom: 1px solid var(--admin-line); border-radius: 0; background: transparent; color: var(--admin-muted); font-size: 12px; font-weight: 400; padding: 0 0 10px; margin-bottom: 24px; }
.panel, .grid article, .products-card, .table-wrap, .products-results>.products-card, .global-search-results {
  border: 0; border-radius: 0; background: transparent;
  box-shadow: none;
}
.global-search-results { border: 1px solid var(--admin-line); border-radius: var(--admin-radius); background: var(--admin-surface); }
.panel { padding: 24px 0; margin-top: 24px; }
.recent-activity>.table-wrap { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.panel h2, .settings-sections h2 { color: var(--admin-ink); font-size: 18px; font-weight: 500; letter-spacing: -.01em; line-height: 1.4; }
.metrics { gap: 0; padding: 24px 0; margin-bottom: 32px; border-radius: 0; background: transparent; box-shadow: none; }
.metrics article { padding: 4px 20px; background: none; box-shadow: none; border: 0; border-right: 1px solid var(--admin-line); border-radius: 0; }
.metrics article:last-child { border: 0; }
.metrics .eyebrow { font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--admin-muted); font-size: 13px; margin-bottom: 10px; }
.metrics article strong { color: var(--admin-ink); font-size: 28px; font-weight: 500; }
.empty, .product-muted, .products-subtitle, .product-description, .modal p, .notice { color: var(--admin-muted); }
.products-subtitle { font-size: 14px; margin-bottom: 20px; }
.filters, .products-filters, .collection-layout>.filters { gap: 12px; margin-bottom: 20px; }
input, select, textarea, .panel input, .panel select, .panel textarea,
.products-filters input, .products-filters select, .collection-layout>.filters input, .collection-layout>.filters select,
.catalog-editor input, .catalog-editor select, .catalog-editor textarea {
  color: var(--admin-ink); background-color: var(--admin-field); background-image: none;
  border: 1px solid var(--field-border); border-radius: 8px; box-shadow: none;
  min-height: 40px; font-size: 14px; font-weight: 400;
}
.filter-field select { height: 40px; }
.search-field input, .products-filters .search-field input, .collection-layout>.filters .search-field input {
  border: 1px solid var(--field-border); border-radius: 8px; padding-inline: 40px 42px; height: 40px; min-height: 40px;
}
.search-field svg { color: var(--admin-muted); }
input::placeholder, textarea::placeholder { color: var(--admin-muted); opacity: 1; }
select, .panel select, .products-filters select, .collection-layout>.filters select, .catalog-editor select {
  -webkit-appearance: none; appearance: none;
  background-image: url("./assets/chevron-down.svg");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 14px 14px; padding-right: 40px;
}
select option { background: var(--admin-raised); color: var(--admin-ink); }
select:hover:not(:disabled) { border-color: #707489; }
select:disabled { opacity: .5; cursor: not-allowed; }
label, .catalog-editor label { color: var(--admin-muted); font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.primary, .secondary, .danger { min-height: 40px; border-radius: 8px; padding: 8px 14px; font-size: 13px; font-weight: 500; box-shadow: none; }
.primary { color: var(--admin-on-primary); background: var(--admin-primary); border: 1px solid var(--admin-primary); }
.primary:hover:not(:disabled) { background: var(--admin-primary-hover); border-color: var(--admin-primary-hover); }
.secondary { color: var(--admin-ink); background: transparent; border: 1px solid var(--control-border); }
.secondary:hover:not(:disabled) { background: #2b2d38; border-color: #707489; }
.danger { color: var(--admin-danger); background: #321e27; border: 1px solid #94535c; }
.danger:hover:not(:disabled) { background: #48232e; }
button:disabled { opacity: .5; cursor: not-allowed; }
button:focus-visible, a:focus-visible, summary:focus-visible, input[type="radio"]:focus-visible,
.record-row:focus-visible:not([data-row-focus="pointer"]), .product-row:focus-visible:not([data-row-focus="pointer"]) { outline: 2px solid var(--control-focus); outline-offset: 2px; }
:root input[type="checkbox"]:focus-visible { outline: 2px solid var(--control-focus); outline-offset: 2px; }
:is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus-visible {
  outline: 2px solid var(--control-focus); outline-offset: -2px; box-shadow: none;
}
/* Shared checkbox contract: stable geometry, License Core yellow and a dark negative-space mark. */
input[type="checkbox"] {
  -webkit-appearance: none; appearance: none;
  width: 18px; height: 18px; min-width: 18px; min-height: 18px;
  flex: 0 0 18px; margin: 0; padding: 0;
  border: 1px solid #68686c; border-radius: 4px;
  background: var(--admin-field) center / 13px 13px no-repeat;
  cursor: pointer;
}
input[type="checkbox"]:hover:not(:disabled) { border-color: #929296; }
input[type="checkbox"]:checked {
  border-color: #edff00; background-color: #edff00; background-image: url("./assets/checkbox-check-dark.svg");
}
input[type="checkbox"]:indeterminate {
  border-color: #edff00; background-color: #edff00; background-image: url("./assets/checkbox-mixed-dark.svg");
}
input[type="checkbox"]:disabled { opacity: .55; cursor: not-allowed; }
.table-wrap th, .products-card th, .product-inner-table th { background: transparent; color: var(--admin-muted); font-size: 13px; font-weight: 400; border: 0; text-transform: none; letter-spacing: 0; padding: 12px 16px; border-bottom: 1px solid var(--admin-line); }
.table-wrap td, .products-card td, .product-inner-table td { color: var(--admin-ink); border-color: #cbcdde0c; font-size: 14px; height: 52px; padding: 12px 16px; }
.table-wrap td:first-child b, .primary-cell>b, .primary-cell>span, .product-list-identity b { color: var(--admin-ink); font-weight: 500; }
.cell-value { color: var(--admin-ink); font-weight: 400; }
.table-wrap td small, .cell-id, .cell-value.date, .product-list-identity small { color: var(--admin-muted); }
tbody tr:not(.detail-row):hover td, .products-card .product-row:hover td { background: #cbcdde0b; }
.selected td, .products-card .product-row.selected td { background: #cbcdde14; }
.products-card .product-row.selected td:first-child, .record-row.selected td:first-child { box-shadow: none; border-left: 0; }
.product-mark, .product-identity .product-mark { background: var(--admin-raised); border: 0; border-radius: 10px; box-shadow: inset 0 1px 0 #ffffff0d; }
.product-mark i { background: var(--admin-accent); }
.state, .products-card .state, .product-dialog .state, .products-card .state:not(.state-active), .product-dialog .state:not(.state-active) {
  color: var(--admin-ink); background: #cbcdde0a; border: 1px solid #555969; border-radius: 6px; font-size: 12px; font-weight: 500;
}
.state-active, .state-paid, .state-ready, .state-completed, .products-card .state-active, .product-dialog .state-active { color: var(--admin-success); border-color: #456b56; background: #8ed7a708; }
.state-revoked, .state-refunded, .state-cancelled, .state-failed, .product-dialog .state-revoked, .product-dialog .state-failed { color: var(--admin-danger); border-color: #85525b; background: #ff9b9d08; }
.state-remote-reset, .state-expired, .state-inactive, .product-dialog .state-inactive { color: var(--admin-warning); border-color: #7b6849; background: #efc78008; }
.assignment-badge { color: var(--admin-ink); border-color: #555969; background: transparent; }
.pagination { color: var(--admin-muted); font-size: 13px; }
.products-results .pagination [aria-current] { color: var(--admin-primary); border-color: var(--admin-primary); }
.record-link, .license-customer-link:hover { color: var(--admin-accent); }
.global-search-results li button { color: var(--admin-ink); }
.global-search-results li button:hover { background: var(--admin-hover); }
.global-search-results li small, .global-search-results li code, .global-search-results h2 span { color: var(--admin-muted); }
.global-search-results > p { color: var(--admin-muted); }
.global-search-results li :is(b, small, code) { font-size: 14px; }
.global-search-results li code { color: var(--admin-ink); }
.global-search-results section+section, .global-search-results li+li { border-color: var(--admin-line); }
.details-drawer, .catalog-form-dialog, .modal {
  --detail-rule: var(--admin-line); --detail-muted: var(--admin-muted); --detail-text: var(--admin-ink);
  color: var(--admin-ink); background: var(--admin-surface);
  border: 0; box-shadow: -16px 16px 50px #0006, inset 0 1px 0 #ffffff0e;
}
.details-drawer { padding: 28px; }
.details-drawer::backdrop, .catalog-form-dialog::backdrop { background: #07081099; }
.details-drawer[aria-modal=false]::backdrop { background: transparent; }
.record-modal-content { --detail-rule: var(--admin-line); --detail-muted: var(--admin-muted); --detail-text: var(--admin-ink); }
.details-drawer .product-dialog-content h3, .record-modal-content .product-dialog-content h3,
.detail-title-heading h2, .product-title-line h2, .catalog-form-dialog h2 { color: var(--admin-ink); }
.detail-subtitle, .product-summary dt, .product-dates dt, .product-fixture-note,
.details-drawer .product-fixture-note, .bundle-product-list p, .related-summary { color: var(--admin-muted); }
.icon-button { color: var(--admin-muted); background: transparent; border: 0; border-radius: 0; }
.icon-button:hover { color: var(--admin-ink); background: transparent; }
.product-tabs { border-color: var(--admin-line); gap: 8px; }
.product-tabs button { color: var(--admin-muted); min-height: var(--admin-action-height); padding: 8px; }
.product-tabs button[aria-selected=true] { color: var(--admin-ink); }
.product-tabs button[aria-selected=true]::after { height: 2px; background: var(--admin-accent); }
.product-inner-table { border: 1px solid var(--admin-line); border-radius: 12px; background: #10121a; }
.product-inner-table td { height: auto; font-size: 13px; padding: 12px; }
.product-bundles li { color: var(--admin-ink); border-color: #555969; border-radius: 16px; background: #cbcdde08; }
.serial-control .license-serial-value { background: #10121a; border-color: #565e36; border-radius: 10px; }
.serial-control .license-serial-value code, .serial-control code, .license-serial-value code { color: var(--admin-ink); }
.serial-control code { background: #10121a; border-color: var(--admin-line); }
.details-drawer .serial-control .icon-button { color: var(--admin-accent); background: transparent; }
.license-serial-cell small, .license-vendor { color: var(--admin-muted); }
.customer-stats>div, .customer-relation-rows button { background: #cbcdde06; }
.customer-stats span, .customer-relation-meta, .customer-relation-main small { color: var(--admin-muted); }
.customer-relation-rows, .customer-relation-rows li+li, .product-dialog-footer, .product-section,
.human-related-record, .bundle-product-list>li, .bundle-edit-list>li, .settings-sections>section,
.setting-row, .administrator-row, .batch-detail>section, .batch-files li, .batch-deliveries li { border-color: var(--admin-line); }
.customer-relation-rows button:hover { background: var(--admin-hover); }
.setting-row dt, .setting-row>summary>span, .administrator-row small, .settings-help summary,
.expiry-options legend, .bundle-edit-identity small, .relation-count { color: var(--admin-muted); }
.results article, .detail-grid>div, .customer-profile>div { background: var(--admin-surface); border-color: var(--admin-line); box-shadow: none; }
.results span, .customer-profile span, .detail-grid span { color: var(--admin-muted); }
.notice { border: 1px solid var(--admin-line); border-radius: 8px; background: var(--admin-surface); }
.error, .catalog-editor [role=alert] { color: #ffb9b9; background-color: #351f29; border-color: #85525b; }
.confirmation, .bundle-item-fields { border-color: var(--admin-line); }
.destructive-final { background: #321e27; border-color: #85525b; }
.details-drawer :is(button,summary):focus-visible, .record-modal-content :is(button,summary):focus-visible { outline-color: var(--control-focus); }
.login-shell { color: var(--admin-ink); background: transparent; }
.login-card { color: var(--admin-ink); background: var(--admin-surface); border: 0; border-radius: var(--admin-radius); box-shadow: var(--admin-panel-shadow); }
.login-wordmark { width: 94px; height: 32px; object-fit: contain; object-position: left; margin-bottom: 28px; }
.login-card h1 { color: var(--admin-ink); font-size: 32px; font-weight: 500; letter-spacing: -.02em; line-height: 1.25; }
.login-card>p:not(.eyebrow), .login-card .remember-session { color: var(--admin-muted); }
.login-card .eyebrow { color: var(--admin-muted); font-size: 13px; letter-spacing: 0; text-transform: none; }
.login-card small { color: var(--admin-muted); letter-spacing: .02em; }
.login-card .remember-session input { min-height: 18px; }
.version-overview { color: var(--admin-muted); border-color: var(--admin-line); }
/* Each overlay owns one header and one scrolling body, including related records. */
.catalog-form-dialog { overflow: hidden; padding: 28px; }
.catalog-form-dialog>header { gap: 20px; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; }
.catalog-form-dialog>header h2 { min-width: 0; overflow-wrap: anywhere; line-height: 1.2; }
.catalog-form-dialog>header .icon-button, .detail-title-heading .icon-button { margin: 0; }
.catalog-form-content { overflow: auto; scrollbar-gutter: stable; padding-right: 8px; }
.record-modal-content { display: block; }
.record-modal-content .record-drawer-title { padding: 0 0 16px; }
.record-modal-content .detail-subtitle { margin-top: 0; }
.record-modal-content .product-dialog-content { overflow: visible; max-height: none; padding-right: 0; }
.catalog-form-content>.panel { width: auto; max-width: none; margin: 0; padding: 0; background: none; box-shadow: none; }
.customer-stats { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 12px 0 0; }
.customer-stats>div { display: flex; align-items: baseline; gap: 8px; padding: 0; border-radius: 0; background: none; }
.customer-stats b { font-size: 16px; }
.customer-stats span { font-size: 13px; text-transform: none; }
.details-drawer .product-dialog-content>section, .record-modal-content .product-dialog-content>section { padding: 16px 0; }
.record-modal-content .record-fields { gap: 12px 24px; }
.overview-content { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 32px; align-items: start; }
.overview-content>.panel { width: auto; max-width: none; margin: 0; min-width: 0; }
.overview-content .table-wrap table { min-width: 0; }
.operations-summary .empty { padding: 8px 0; margin: 0; }
.operations-summary h3 { font-size: 14px; margin-top: 20px; }
.settings-runtime { display: block; margin-top: 24px; padding: 16px 0; border-top: 1px solid var(--admin-line); color: var(--admin-muted); }
.settings-runtime summary { cursor: pointer; min-height: 44px; display: list-item; align-content: center; font-size: 14px; }
.settings-runtime>span { display: inline-block; margin: 12px 20px 0 0; }
.settings-sections>section { padding: 20px 0; }
.setting-row>summary { min-height: 44px; }
.batch-library>.batch-filters { margin: 0; }
.batch-library>.table-wrap { margin-top: 0; }
.pagination, .products-results .pagination { padding: 16px 0; margin: 0; border: 0; background: none; gap: 16px; }
.pagination>div, .products-results .pagination>div { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; align-items: center; }
.pagination label, .pagination form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
.pagination label { font-size: 13px; font-weight: 500; color: var(--admin-muted); letter-spacing: normal; text-transform: none; }
.pagination :is(input, select) { width: auto; min-height: var(--admin-utility-height); padding-block: 6px; font-size: 13px; }
.pagination input { width: 64px; }
.pagination form .error { flex-basis: 100%; }
.pagination .secondary { width: auto; min-height: 44px; padding: 8px 12px; }
.pagination [aria-current="page"] { color: var(--admin-primary); border-color: var(--admin-primary); }
.cell-value.date { white-space: normal; line-height: 1.5; }
.customer-email-fields p[role="status"] { color: var(--admin-muted); }
.cell-value.email, .license-customer-cell>small { white-space: normal; overflow: visible; overflow-wrap: anywhere; text-overflow: clip; max-width: none; }
.issue-panel { width: 100%; max-width: none; }
.issue-targets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.issue-target { display: grid; align-content: start; gap: 16px; min-width: 0; }
.issue-target h3 { font-size: 16px; margin: 0; }
.issue-target .catalog-picker { border: 0; padding: 0; }
.issue-target .notice { margin: 0; }
.catalog-picker .pagination { padding: 0; margin: 0; }
.catalog-form-content .issue-targets { grid-template-columns: minmax(0, 1fr); }
/* Desktop utilities are quieter than form actions; touch layouts retain 44px targets. */
.app-shell :is(.primary, .secondary, .danger),
.details-drawer :is(.primary, .secondary, .danger) {
  min-height: var(--admin-action-height); padding: 8px 14px; font-size: 13px;
}
.app-shell .secondary, .details-drawer .secondary { font-weight: 500; }
:is(.catalog-editor, .catalog-form, .modal, .catalog-form-dialog) :is(.primary, .secondary, .danger) { min-height: 44px; }
:is(.products-filters, .batch-filters, .collection-layout > .filters) :is(input, select),
:is(.products-filters, .batch-filters, .collection-layout > .filters) .search-field input {
  min-height: var(--admin-utility-height); height: var(--admin-utility-height);
  padding-block: 6px; font-size: 13px; line-height: 20px;
}
:is(.products-filters, .batch-filters, .collection-layout > .filters) { gap: 8px; }
:is(.products-filters, .batch-filters, .collection-layout > .filters) select { padding-inline: 12px 40px; }
.product-section-heading > .secondary, .detail-page-action > .secondary,
.batch-filters > .secondary, .pagination .secondary, .batch-pagination .secondary {
  min-height: var(--admin-utility-height); padding: 6px 12px; font-size: 13px;
  font-weight: 500; background: transparent;
}
.license-serial-value .icon-button,
.license-serial-value .icon-button:hover,
.details-drawer .serial-control .icon-button:hover {
  border: 0; background: transparent; box-shadow: none;
}
.license-serial-value .icon-button:hover { color: var(--admin-accent); }
.details-drawer .product-identity { margin-bottom: 16px; }
.product-tabs { margin-top: 12px; }
.product-licenses.product-section { border-top: 0; margin-top: 0; }
.details-drawer .product-section-heading h3, .record-modal-content .product-section-heading h3, .product-section-heading h3 { margin: 0; }
.details-drawer .product-dialog-footer { gap: 8px; padding-top: 12px; }
@media (max-width: 760px), (any-pointer: coarse) {
  :root { --admin-utility-height: 44px; --admin-action-height: 44px; --admin-copy-size: 44px; }
}
/* Let the OS draw its native indicator in high-contrast themes. */
@media (forced-colors: active) {
  select, .panel select, .products-filters select, .collection-layout > .filters select, .catalog-editor select {
    -webkit-appearance: auto; appearance: auto; background-image: none; padding-right: 12px;
  }
  input[type="checkbox"],
  input[type="checkbox"]:checked,
  input[type="checkbox"]:indeterminate { -webkit-appearance: auto; appearance: auto; accent-color: Highlight; background-image: none; }
}

/* Activity is an operating pulse: compact, sortable and quiet until attention is required. */
.activity-page { display: grid; gap: 14px; min-width: 0; }
.activity-heading, .activity-table-heading, .activity-pagination, .product-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.activity-heading p, .activity-table-heading p, .product-section-heading p { margin: 0; }
.activity-context, .product-section-heading p { color: var(--admin-muted); font-size: 12px; line-height: 1.5; }
.activity-tabs { display: flex; gap: 20px; border-bottom: 1px solid var(--admin-line); }
.activity-tabs button { min-height: 40px; padding: 8px 0; color: var(--admin-muted); background: transparent; border: 0; border-bottom: 2px solid transparent; font: inherit; cursor: pointer; }
.activity-tabs button[aria-selected=true] { color: var(--admin-ink); border-bottom-color: var(--admin-accent); }
.activity-insights { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--admin-line); border-radius: var(--admin-radius); background: var(--admin-surface); overflow: hidden; }
.activity-insight { display: grid; align-content: start; gap: 6px; min-height: 116px; padding: 16px 20px; }
.activity-insight+.activity-insight { border-left: 1px solid var(--admin-line); }
.activity-insight p { margin: 0; }
.activity-insight-label { color: var(--admin-ink); font-size: 14px; font-weight: 500; line-height: 1.3; }
.activity-insight strong { color: var(--admin-ink); font-size: 30px; font-weight: 500; line-height: 1; font-variant-numeric: tabular-nums; }
.activity-insight span { color: var(--admin-ink); font-size: 13px; }
.activity-insight small { color: var(--admin-muted); font-size: 12px; line-height: 1.45; }
.activity-toolbar { display: grid; grid-template-columns: minmax(220px,1fr) repeat(3,minmax(130px,auto)); gap: 8px; align-items: center; }
.activity-toolbar :is(select,input), .activity-custom-dates input, .activity-table-heading select { min-height: var(--admin-utility-height); height: var(--admin-utility-height); padding-block: 6px; font-size: 13px; }
.activity-view-actions { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.activity-country-filter { display: grid; grid-template-columns: minmax(124px,1fr) auto; gap: 6px; }
.activity-country-filter label { position: relative; }
.activity-country-filter label span { position: absolute; z-index: 1; top: 4px; left: 10px; color: var(--admin-muted); font-size: 10px; line-height: 1; pointer-events: none; }
.activity-country-filter label input { padding-top: 14px; padding-bottom: 2px; }
.activity-country-filter input { width: 100%; }
.activity-filter-error { display: flex; align-items: center; gap: 8px; color: var(--admin-warning); font-size: 12px; }
.activity-custom-dates { display: flex; flex-wrap: wrap; gap: 12px; padding: 14px 0; border-block: 1px solid var(--admin-line); }
.activity-custom-dates label { display: flex; align-items: center; gap: 8px; }
.activity-table-heading { min-height: 40px; }
.activity-table-heading>div { display: flex; align-items: center; gap: 6px; }
.activity-table-heading select { width: auto; }
.sort-direction { width: var(--admin-utility-height); height: var(--admin-utility-height); color: var(--admin-ink); background: transparent; border: 1px solid var(--control-border); border-radius: 8px; font-size: 18px; cursor: pointer; }
.activity-table { min-width: 860px; table-layout: fixed; }
.activity-table th:nth-child(1) { width: 18%; }
.activity-table th:nth-child(2) { width: 28%; }
.activity-table th:nth-child(3) { width: 19%; }
.activity-table th:nth-child(4) { width: 22%; }
.activity-table th:nth-child(5) { width: 13%; }
.activity-table th { padding-block: 10px; }
.activity-table td { height: 44px; padding-block: 6px; vertical-align: middle; }
.activity-table td small { display: block; margin-top: 3px; }
.activity-row-button { width: 100%; min-height: 28px; padding: 0; color: var(--admin-ink); background: transparent; border: 0; text-align: left; font: inherit; font-weight: 500; cursor: pointer; }
.activity-time { display: block; font-variant-numeric: tabular-nums; white-space: nowrap; }
.activity-time span, .activity-time small { display: block; }
.activity-time small { color: var(--admin-muted); font-size: 11px; }
.activity-sort-heading { width: 100%; padding: 0; color: inherit; background: transparent; border: 0; text-align: left; font: inherit; cursor: pointer; }
.activity-sort-heading:disabled { opacity: 1; cursor: default; }
.activity-detail-row td { height: auto; padding-block: 16px; background: #10121a; }
.activity-detail-row dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin: 0; }
.activity-detail-row dl div { min-width: 0; }
.activity-detail-row dt { color: var(--admin-muted); font-size: 12px; }
.activity-detail-row dd { margin: 5px 0 0; overflow-wrap: anywhere; text-transform: capitalize; }
.state-attention, .state-needs-attention { color: var(--admin-warning); border-color: #7b6849; background: #efc78008; }
.activity-pagination>div { display: flex; gap: 8px; }
.activity-coverage-map { color: var(--admin-muted); font-size: 12px; }
.activity-coverage-map summary { width: fit-content; color: var(--admin-muted); cursor: pointer; }
.activity-coverage-map>div { display: grid; gap: 10px; margin-top: 10px; padding: 14px 16px; border: 1px solid var(--admin-line); border-radius: 10px; background: var(--admin-surface); }
.activity-coverage-map p { margin: 0; line-height: 1.5; }
.activity-coverage-map dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 20px; margin: 0; }
.activity-coverage-map dl div { display: grid; grid-template-columns: 84px minmax(0,1fr); gap: 8px; }
.activity-coverage-map dt { color: var(--admin-ink); font-weight: 500; }
.activity-coverage-map dd { margin: 0; }
.daw-observation-summary { margin-top: 12px; color: var(--admin-muted); font-size: 12px; }
.daw-observation-summary > summary { width: fit-content; min-height: 36px; padding: 9px 0; cursor: pointer; color: var(--admin-ink); font-weight: 500; }
.daw-observation-body { margin-top: 8px; padding: 14px 16px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius); background: var(--admin-surface); }
.daw-observation-body > p { max-width: 860px; margin: 0; line-height: 1.6; }
.daw-observation-table { margin-top: 12px; border-radius: var(--admin-radius); box-shadow: none; }
.daw-observation-table table { min-width: 680px; }
.daw-observation-table :is(th,td) { padding: 10px 12px; height: auto; }
.daw-observation-table th { font-size: 11px; letter-spacing: .02em; text-transform: none; }
.daw-observation-table td { font-size: 12px; }
.daw-observation-table td.numeric { text-align: right; font-variant-numeric: tabular-nums; }
.customer-daw-observations .product-section-heading { margin-bottom: 0; }
.customer-daw-observations .empty { margin-bottom: 0; }
.daw-observation-more { margin-top: 12px; }
.product-activity .product-section-heading { align-items: flex-start; }
.product-activity .product-section-heading .text-button { color: var(--admin-accent); font-size: 13px; white-space: nowrap; }
.product-activity-list { max-height: 472px; overflow: auto; border: 1px solid var(--admin-line); border-radius: 10px; }
.product-activity-list .activity-table-wrap { border: 0; border-radius: 0; }
.product-activity-list .activity-table { min-width: 720px; }
.product-activity-list .activity-table td, .product-activity-list .activity-table th { padding: 10px 12px; font-size: 12px; }
.product-activity-list .activity-detail-row dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media (max-width: 1100px) {
  .activity-toolbar { grid-template-columns: minmax(220px,1fr) repeat(2,minmax(140px,auto)); }
  .activity-view-actions { justify-content: flex-end; }
}
@media (max-width: 700px) {
  .activity-insights { grid-template-columns: 1fr; }
  .activity-insight { min-height: 0; }
  .activity-insight+.activity-insight { border-left: 0; border-top: 1px solid var(--admin-line); }
  .activity-toolbar { grid-template-columns: 1fr; }
  .activity-view-actions { justify-content: flex-start; }
  .activity-heading, .activity-table-heading { align-items: flex-start; flex-direction: column; }
  .activity-detail-row dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .activity-coverage-map dl { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .app-shell { display: block; padding: 0; }
  .sidebar, .preview-shell .sidebar { position: static; height: auto; padding: 20px 18px 12px; margin: 0; }
  .brand { justify-content: flex-start; padding: 0 8px 18px; }
  .sidebar nav { display: flex; gap: 6px; overflow-x: auto; padding: 3px 3px 8px; }
  .sidebar nav button { flex: 0 0 auto; padding: 10px 16px; min-height: 44px; white-space: nowrap; }
  .sidebar nav button svg { display: block; width: 18px; height: 18px; }
  .sidebar-bottom { display: flex; align-items: center; justify-content: space-between; padding: 8px 8px 0; }
  .sidebar-bottom .admin-version { margin: 0; }
  .workspace { min-height: 0; padding: 20px 24px 28px; }
  .workspace h1 { font-size: 28px; }
  .metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 0; }
  .metrics article:nth-child(3) { border: 0; }
  .overview-content { grid-template-columns: minmax(0, 1fr); }
  .issue-targets { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .sidebar, .preview-shell .sidebar { padding: 18px 10px 8px; }
  .workspace { padding: 18px 16px 24px; }
  .workspace header { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
  .workspace header .service { margin-top: 0; }
  .workspace h1 { font-size: 26px; }
  .preview-banner { line-height: 1.5; padding: 10px 12px; }
  .panel { padding: 18px 0; }
  .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metrics article:nth-child(3) { border-right: 1px solid var(--admin-line); }
  .metrics article:nth-child(even), .metrics article:last-child { border: 0; }
  .metrics article strong { font-size: 25px; }
  .login-shell { padding: 16px; }
  .login-card { padding: 28px 24px; }
  .details-drawer, .catalog-form-dialog { padding: 18px 16px; border-radius: 0; }
  .table-wrap td, .products-card td { padding: 12px 16px; }
}
/* Semantic state colors remain distinct within the native family. */
.product-dialog .state.state-revoked, .product-dialog .state.state-refunded,
.product-dialog .state.state-cancelled, .product-dialog .state.state-failed {
  color: var(--admin-danger); border-color: #85525b; background: #ff9b9d08;
}
.product-dialog .state.state-remote-reset, .product-dialog .state.state-expired {
  color: var(--admin-warning); border-color: #7b6849; background: #efc78008;
}

/* License terms are an explicit decision, ahead of customer/product setup. */
.issue-license-class { margin-bottom: 24px; }
.issue-license-class > label > strong { font-size: 16px; }
.license-class-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.license-class-heading strong { font-size: 22px; }
.license-class-control .catalog-editor { margin-top: 16px; }

/* License detail: credential and decisions first, then flat recorded facts. */
.license-detail-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; }
.license-detail-section-heading h3 { margin:0; }
.license-detail-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.license-detail-actions button { min-height:36px; padding:7px 12px; }
.license-list-control-compact { min-width:0; }
.license-list-control-compact .catalog-editor { width:min(360px,calc(100vw - 40px)); margin-top:8px; text-align:left; }
.license-list-control-compact .issue-fields { gap:10px; }
.license-list-control-compact .issue-fields>p { margin:0; line-height:1.45; }
.license-detail-code .license-serial-value { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:52px; padding:10px 12px; }
.license-detail-code .license-serial-value code { min-width:0; overflow-wrap:anywhere; font-size:15px; letter-spacing:.025em; }
.license-detail-code .license-serial-value .icon-button { flex:0 0 40px; min-width:40px; min-height:40px; }
.license-detail-summary h3 { margin-bottom:16px; }
.license-detail-summary-lead { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.8fr); gap:20px 32px; align-items:start; margin-bottom:20px; }
.license-detail-summary-lead h4,
.license-class-control-compact h4 { margin:0 0 6px; color:var(--admin-muted); font-size:12px; font-weight:500; letter-spacing:.02em; text-transform:uppercase; }
.license-detail-summary .license-customer-cell { display:grid; align-content:center; gap:4px; font-size:14px; }
.license-detail-summary .license-customer-link { min-height:24px; font-weight:500; }
.license-detail-summary .license-customer-cell small { color:var(--admin-muted); }
.license-class-control-compact { min-width:0; }
.license-class-control-compact .license-class-heading { align-items:flex-start; }
.license-class-control-compact .license-class-heading strong { display:block; font-size:16px; font-weight:600; }
.license-class-control-compact .license-class-heading small { display:block; margin-top:3px; }
.license-detail-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; border-top:1px solid var(--admin-line); }
.license-detail-facts>div { min-width:0; padding:13px 16px 13px 0; border-bottom:1px solid var(--admin-line); }
.license-detail-facts dt { margin-bottom:4px; color:var(--admin-muted); font-size:12px; }
.license-detail-facts dd { margin:0; overflow-wrap:anywhere; color:var(--admin-ink); font-size:14px; font-variant-numeric:tabular-nums; }

.license-installations .product-section-heading { margin-bottom:12px; }
.license-installations-table-wrap { width:100%; overflow-x:auto; scrollbar-gutter:stable; }
.license-installations-table { width:100%; min-width:620px; border-collapse:collapse; table-layout:fixed; }
.license-installations-table th { padding:9px 12px; color:var(--admin-muted); background:transparent; font-size:11px; font-weight:500; letter-spacing:.025em; text-align:left; text-transform:uppercase; border-bottom:1px solid var(--admin-line); }
.license-installations-table td { height:58px; padding:11px 12px; vertical-align:middle; color:var(--admin-secondary); border-bottom:1px solid var(--admin-line); font-size:13px; }
.license-installations-table tbody tr:last-child td { border-bottom:0; }
.license-installations-table th:first-child,
.license-installations-table td:first-child { padding-left:0; }
.license-installations-table th:last-child,
.license-installations-table td:last-child { padding-right:0; }
.license-installations-table td strong,
.license-installations-table td>small { display:block; }
.license-installations-table td strong { color:var(--admin-ink); font-size:13px; font-weight:600; }
.license-installations-table td>small,
.license-installation-daws small { margin-top:2px; color:var(--admin-muted); font-size:11px; }
.license-installation-daws { list-style:none; margin:0; padding:0; }
.license-installation-daws li+li { margin-top:5px; }
.license-installation-daws small { display:block; }
.license-installations-table time { font-variant-numeric:tabular-nums; }

.record-timeline .timeline-entry-details { margin-top:8px; }
.record-timeline .timeline-source+.timeline-source { margin-top:10px; padding-top:10px; border-top:1px solid var(--admin-line); }
.timeline-source-meta { display:flex; flex-wrap:wrap; gap:6px 14px; margin:0; color:var(--admin-muted); font-size:12px; }
.timeline-source-meta span+span::before { content:"·"; margin-right:14px; }
.timeline-note { max-width:70ch; margin:7px 0 0; color:var(--admin-secondary); font-size:13px; }
.timeline-changes { margin:8px 0 0; }
.timeline-changes>div { display:grid; grid-template-columns:minmax(110px,.35fr) minmax(0,1fr); gap:12px; padding:5px 0; }
.timeline-changes dt { color:var(--admin-muted); font-size:12px; }
.timeline-changes dd { display:flex; flex-wrap:wrap; gap:7px; margin:0; color:var(--admin-secondary); font-size:12px; }
.timeline-changes dd strong { color:var(--admin-ink); font-weight:500; }

@media(max-width:700px) {
  .license-detail-summary-lead { grid-template-columns:minmax(0,1fr); }
  .license-detail-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:420px) {
  .license-detail-section-heading { align-items:stretch; flex-direction:column; }
  .license-detail-actions { justify-content:flex-start; }
  .license-detail-facts { grid-template-columns:minmax(0,1fr); }
  .timeline-changes>div { grid-template-columns:minmax(0,1fr); gap:3px; }
}
@media(max-width:560px) {
  .license-installations-table { min-width:0; table-layout:auto; }
  .license-installations-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .license-installations-table tbody { display:block; }
  .license-installations-table tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; padding:14px 0; border-bottom:1px solid var(--admin-line); }
  .license-installations-table tbody tr:last-child { border-bottom:0; }
  .license-installations-table td,
  .license-installations-table td:first-child,
  .license-installations-table td:last-child { display:block; height:auto; min-width:0; padding:0; border:0; overflow-wrap:anywhere; }
  .license-installations-table td::before { display:block; margin-bottom:5px; color:var(--admin-muted); font-size:10px; font-weight:500; letter-spacing:.025em; text-transform:uppercase; }
  .license-installations-table td:nth-child(1)::before { content:"Computer"; }
  .license-installations-table td:nth-child(2)::before { content:"Observed DAW"; }
  .license-installations-table td:nth-child(3)::before { content:"Activated"; }
  .license-installations-table td:nth-child(4)::before { content:"Status"; }
}

/* Contact editor: one disclosure, standard controls, bounded optional profile. */
.customer-profile-fields summary { cursor:pointer; min-height:44px; display:flex; align-items:center; font-weight:600; }
.customer-profile-fields .issue-fields { margin-block:12px 20px; }
.customer-daw-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:8px 16px; border:0; padding:0; }
.customer-daw-options legend { margin-block-end:12px; }
.customer-daw-options .checkbox-label { display:flex; flex-direction:row; align-items:center; gap:8px; min-height:44px; }
.customer-daw-options input[type=checkbox] { width:18px; height:18px; flex:none; }
.catalog-editor .checkbox-label { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:8px; min-height:44px; }
.catalog-editor .checkbox-label input[type=checkbox] { flex:none; }
.catalog-editor .checkbox-label .product-muted { flex-basis:100%; }

/* Readable chronology, using the existing surface and spacing tokens. */
.record-timeline > ol { list-style: none; padding: 0; margin: 0; }
.record-timeline > ol > li { padding-block: 1rem; border-bottom: 1px solid var(--admin-line); }
.record-timeline > ol > li:last-child { border-bottom: 0; padding-bottom: 0; }
.record-timeline h4 { margin: 0; }
.record-timeline time { font-size: .875rem; }
.record-timeline summary { margin-block: .5rem; cursor: pointer; }
.record-timeline pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; margin: 0; }
.record-identifiers dd { overflow-wrap: anywhere; }
.record-identifiers dd .icon-button { margin-inline-start: .5rem; vertical-align: middle; }
.record-identifiers dd [role="status"] { display: block; font-size: .875rem; }

/* Native disclosures keep keyboard/open behavior while sharing one clear control shape. */
.record-timeline details > summary::-webkit-details-marker,
.human-related-record details > summary::-webkit-details-marker,
.administrator-row details > summary::-webkit-details-marker,
:is(.customer-profile-fields, .settings-runtime, .settings-help, .record-identifiers, .setting-row) > summary::-webkit-details-marker { display: none; }
:is(.record-timeline, .human-related-record, .administrator-row) details > summary,
:is(.customer-profile-fields, .settings-runtime, .settings-help, .record-identifiers) > summary,
.setting-row > summary {
  position: relative; display: flex; align-items: center; gap: 10px;
  box-sizing: border-box; min-height: 36px; width: fit-content; max-width: 100%;
  margin-block: 8px; padding: 6px 34px 6px 10px;
  list-style: none; cursor: pointer; color: var(--admin-muted);
  border: 0; border-radius: 0; background: transparent;
}
.setting-row > summary { width: 100%; }
:is(.record-timeline, .human-related-record, .administrator-row) details > summary::after,
:is(.customer-profile-fields, .settings-runtime, .settings-help, .record-identifiers) > summary::after,
.setting-row > summary::after {
  content: ""; position: absolute; right: 10px; width: 14px; height: 14px;
  background-image: url("./assets/chevron-down.svg"); background-position: center;
  background-size: 14px 14px; background-repeat: no-repeat;
  transition: transform 150ms ease-out;
}
:is(.record-timeline, .human-related-record, .administrator-row) details:not([open]) > summary::after,
:is(.customer-profile-fields, .settings-runtime, .settings-help, .record-identifiers, .setting-row):not([open]) > summary::after { transform: rotate(-90deg); }
:is(.record-timeline, .human-related-record, .administrator-row) details > summary:hover,
:is(.customer-profile-fields, .settings-runtime, .settings-help, .record-identifiers, .setting-row) > summary:hover { border-color: var(--control-border); color: var(--admin-ink); background-color: var(--admin-hover); }
@media (prefers-reduced-motion: reduce) {
  :is(.record-timeline, .human-related-record, .administrator-row) details > summary::after,
  :is(.customer-profile-fields, .settings-runtime, .settings-help, .record-identifiers, .setting-row) > summary::after { transition: none; }
}
@media (forced-colors: active) {
  .record-timeline details > summary::-webkit-details-marker,
  .human-related-record details > summary::-webkit-details-marker,
  .administrator-row details > summary::-webkit-details-marker,
  :is(.customer-profile-fields, .settings-runtime, .settings-help, .record-identifiers, .setting-row) > summary::-webkit-details-marker { display: inline; }
  :is(.record-timeline, .human-related-record, .administrator-row) details > summary,
  :is(.customer-profile-fields, .settings-runtime, .settings-help, .record-identifiers) > summary,
  .setting-row > summary { display: list-item; list-style: disclosure-closed; }
  :is(.record-timeline, .human-related-record, .administrator-row) details[open] > summary,
  :is(.customer-profile-fields, .settings-runtime, .settings-help, .record-identifiers, .setting-row)[open] > summary { list-style: disclosure-open; }
  :is(.record-timeline, .human-related-record, .administrator-row) details > summary::after,
  :is(.customer-profile-fields, .settings-runtime, .settings-help, .record-identifiers, .setting-row) > summary::after { display: none; }
}

/* Dates stay legible within the activity table's existing scroll region. */
.activity-rows .cell-value.date { white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 760px), (pointer: coarse) {
  :is(.record-timeline, .human-related-record, .administrator-row) details > summary,
  :is(.customer-profile-fields, .settings-runtime, .settings-help, .record-identifiers, .setting-row) > summary { min-height: 44px; }
}

.sidebar nav button:focus-visible, .portal-nav-item:focus-visible { outline: 2px solid var(--control-focus); outline-offset: -2px; }
.workspace-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.overview-context { margin: 20px 0; }
.detail-page-action { padding: 4px 0 12px; }
.detail-page-action button { gap: 10px; }
.entity-full-page { padding: 24px; color: var(--admin-ink); border-radius: var(--admin-radius); background: var(--admin-surface); width: 100%; max-width: 1100px; }
.entity-full-page:has(> .product-dialog-content .product-licenses) { max-width: none; }
.entity-page-navigation { margin-bottom: 24px; }
.entity-full-page .product-dialog-content { overflow: visible; flex: none; max-height: none; padding-right: 0; }
.entity-full-page .record-drawer-title { padding-bottom: 20px; }
.entity-full-page .record-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
.entity-full-page .record-identifiers .record-fields { grid-template-columns: minmax(0,1fr); }
.entity-full-page .product-inner-table table { width: 100%; }
.collection-full-page>.filters,.collection-full-page>.license-filter-form,.collection-full-page>.pagination { display: none; }
.distributors-collection .actions { flex-wrap: wrap; margin-bottom: 20px; }
.distributors-collection .search-field { flex: 1; min-width: 220px; }
.distributor-list { list-style: none; padding: 0; }
.distributor-list li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--admin-line); }
.distributor-list span { color: var(--admin-muted); font-size: 13px; }
@media(max-width:900px) { .details-drawer { inset: 0; width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; border-radius: 0; padding: 18px; } }
@media(max-width:560px) { .entity-full-page { padding: 18px; } .entity-full-page .record-fields { grid-template-columns: minmax(0,1fr); } .distributor-list li { align-items: flex-start; flex-direction: column; } }

/* Bundle composition keeps catalog discovery and draft membership visible together. */
.catalog-form-dialog:has(.bundle-editor) { width:min(1040px,calc(100vw - 32px)); }
.bundle-builder { display:grid; grid-template-columns:minmax(280px,.85fr) minmax(420px,1.15fr); gap:16px; margin:20px 0; align-items:start; }
.bundle-builder-pane { min-width:0; border:1px solid var(--admin-line); border-radius:12px; background:#ffffff03; padding:16px; }
.bundle-builder-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.bundle-builder-heading h3 { margin:0; font-size:16px; }
.bundle-builder-heading p { margin:5px 0 0; color:var(--admin-muted); font-size:12px; line-height:1.5; }
.bundle-builder-heading>span { flex:none; color:var(--admin-muted); font-size:12px; font-variant-numeric:tabular-nums; }
.bundle-builder-heading>.secondary { flex:none; min-height:44px; padding:8px 12px; }
.catalog-editor .bundle-catalog-search { display:grid; gap:7px; margin:0 0 12px; }
.bundle-catalog-search input { width:100%; }
.bundle-catalog-list { list-style:none; padding:0; margin:0; border-block:1px solid var(--admin-line); }
.bundle-catalog-list li+li { border-top:1px solid var(--admin-line); }
.bundle-catalog-list label { display:grid; grid-template-columns:20px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:58px; padding:8px 4px; cursor:pointer; }
.bundle-catalog-list input,.bundle-member-select>input { width:18px; height:18px; min-height:18px; margin:0; padding:0; }
.bundle-catalog-list .is-unavailable label { cursor:not-allowed; opacity:.62; }
.bundle-product-name { min-width:0; }
.bundle-product-name b,.bundle-product-name small { display:block; overflow-wrap:anywhere; white-space:normal; }
.bundle-product-name b { color:var(--admin-ink); font-size:13px; }
.bundle-product-name small { margin-top:4px; color:var(--admin-muted); font:11px ui-monospace,monospace; }
.bundle-product-state { color:var(--admin-muted); font-size:11px; text-align:right; white-space:nowrap; }
.bundle-builder-pagination { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:12px; color:var(--admin-muted); font-size:12px; }
.bundle-builder-pagination .secondary { min-height:44px; padding:8px 12px; }
.bundle-add-selected { width:100%; margin-top:12px; }
.bundle-builder-status { min-height:58px; margin:0; display:flex; align-items:center; color:var(--admin-muted); font-size:13px; line-height:1.5; }
.bundle-builder-selection { margin:12px 0 0; color:var(--admin-muted); font-size:12px; line-height:1.5; }
.bundle-members .bundle-edit-list { max-height:510px; overflow:auto; scrollbar-gutter:stable; }
.bundle-member-select { display:grid!important; grid-template-columns:18px minmax(0,1fr); align-items:center; gap:10px!important; align-self:stretch; }
.bundle-bulk-confirmation { margin:-4px 0 20px; }
@media(max-width:1100px) { .bundle-builder { grid-template-columns:minmax(0,1fr); } .bundle-members .bundle-edit-list { max-height:none; } }
@media(max-width:560px) {
  .bundle-builder-pane { padding:14px; }
  .bundle-builder-heading { display:grid; }
  .bundle-builder-heading>.secondary { width:100%; }
  .bundle-catalog-list label { grid-template-columns:20px minmax(0,1fr); }
  .bundle-product-state { grid-column:2; text-align:left; white-space:normal; }
  .bundle-edit-row { grid-template-areas:"identity remove" "major installations"; }
  .bundle-member-select { grid-area:identity; }
}

.batch-library[data-full-page=true]>:not(.entity-full-page) { display: none; }
.popular-products ol { list-style: none; padding: 0; margin: 0; }
.popular-products li { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--admin-line); }
.popular-products li:last-child { border-bottom: 0; }
.popular-products li span { color: var(--admin-muted); white-space: nowrap; }
.overview-content:has(>.recent-activity:only-child) { grid-template-columns: minmax(0,1fr); }

.attention-list { list-style: none; padding: 0; margin: 0; }
.attention-list li { padding: 16px 0; border-top: 1px solid var(--admin-line); }
.attention-list p { color: var(--admin-muted); margin: 8px 0; }
.entity-full-page :is(h3,dt) { text-transform: capitalize; }
.archive-label { display: block; margin-top: 6px; color: var(--admin-muted); }
.license-filter-form { margin: 0 0 12px; }
.license-filter-set { min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.license-filter-set legend { padding: 0; color: var(--admin-muted); font-size: 12px; font-weight: 400; }
.license-filter-fields { display: grid; grid-template-columns: minmax(220px,1.4fr) repeat(2,minmax(155px,.7fr)) auto; align-items: end; gap: 10px; }
.license-filter-fields>label,.license-product-filter { display: grid; min-width: 0; gap: 6px; }
.license-filter-fields label>span,.license-product-filter>label { color: var(--admin-muted); font-size: 12px; font-weight: 400; }
.license-filter-fields label small { font-size: 10px; font-weight: 400; }
.license-filter-fields input { width: 100%; min-height: 44px; }
.license-product-combobox { position: relative; }
.license-product-combobox input { padding-right: 68px; }
.product-search-progress { position: absolute; z-index: 1; top: 50%; right: 44px; display: grid; place-items: center; width: 24px; height: 24px; transform: translateY(-50%); visibility: hidden; pointer-events: none; }
.product-search-progress.active { visibility: visible; }
.inline-spinner { display: block; width: 15px; height: 15px; border: 2px solid var(--admin-line); border-top-color: var(--admin-accent); border-radius: 50%; animation: access-entry-spin .8s linear infinite; }
.license-product-toggle { position: absolute; top: 0; right: 0; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--admin-muted); }
.license-product-toggle[aria-expanded=true] svg { transform: rotate(180deg); }
.license-product-options { position: absolute; z-index: 8; inset: calc(100% + 6px) 0 auto; max-height: 280px; overflow: auto; margin: 0; padding: 6px; list-style: none; border: 1px solid #555969; border-radius: 10px; background: var(--admin-raised); box-shadow: 0 14px 30px #0008; }
.license-product-options li { display: grid; gap: 4px; padding: 10px; border-radius: 7px; cursor: pointer; overflow-wrap: anywhere; }
.license-product-options li:hover,.license-product-options li.active { background: var(--admin-hover); outline: 1px solid #edff0055; }
.license-product-options b { color: var(--admin-ink); font-size: 13px; }
.license-product-options span,.license-product-filter>small { color: var(--admin-muted); font-size: 11px; }
.license-product-all { display:grid; width:100%; padding:0; border:0; background:transparent; color:inherit; text-align:left; }
.license-product-option { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:center; gap:10px; cursor:pointer; }
.license-product-option input[type="checkbox"] { width:18px; min-width:18px; max-width:18px; height:18px; min-height:18px; margin:0; padding:0; }
.license-product-option>span { display:grid; min-width:0; gap:4px; }
.license-product-option small { color:var(--admin-muted); overflow-wrap:anywhere; }
.license-filter-actions { display: flex; align-items: center; gap: 8px; }
.license-filter-actions .secondary { white-space: nowrap; }
.filter-clear { min-height: 44px; padding: 8px; border: 0; background: transparent; color: var(--admin-muted); font-weight: 500; }
.filter-clear:hover:not(:disabled) { color: var(--admin-ink); }
.filter-error { margin: 10px 0 0; color: var(--admin-danger); font-size: 13px; }
.collection-layout>.filters.license-filters { display: flex; flex-wrap: wrap; }
.license-filters>.search-field { flex: 1 1 320px; }
.license-filters>.filter-field { flex: 0 1 160px; }
@media(max-width:1000px) { .license-filter-fields { grid-template-columns: minmax(220px,1fr) repeat(2,minmax(155px,.7fr)); } .license-filter-actions { grid-column: 1/-1; } }
@media(max-width:680px) { .license-filter-fields { grid-template-columns: minmax(0,1fr); } .license-filter-actions { grid-column: auto; } }
@media(max-width:560px) { .license-filters>:is(.search-field,.filter-field) { flex-basis: 100%; } }

.custom-field-list { list-style: none; margin: 0; padding: 0; }
.custom-field-list li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--admin-line); }
.custom-field-list li>div:first-child { min-width: 0; overflow-wrap: anywhere; }
.custom-field-list small { display: block; margin-top: 6px; color: var(--admin-muted); }
.custom-field-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.license-classifications .license-class-option { display: inline-flex; flex-direction: row; align-items: center; gap: 7px; width: auto; min-height: 36px; margin: 0; color: var(--admin-muted); font-size: 12px; font-weight: 500; letter-spacing: 0; line-height: 1; text-transform: none; }
.license-classifications .license-class-option input[type="radio"] { width: 16px; height: 16px; min-width: 16px; min-height: 16px; margin: 0; padding: 0; flex: 0 0 16px; accent-color: var(--admin-primary); }
.custom-field-editor fieldset { min-width: 0; }
.custom-field-form { margin: 24px 0; padding: 20px; border: 1px solid var(--admin-line); border-radius: 12px; }
.custom-field-form h4 { margin-top: 0; }
@media(max-width:560px) { .custom-field-list li { flex-direction: column; align-items: stretch; } .custom-field-form { padding: 14px; } }
.issue-custom-fields { display: grid; gap: 12px; padding: 18px 0; border-top: 1px solid var(--admin-line); border-bottom: 1px solid var(--admin-line); }
.issue-custom-fields h3 { margin: 0; }
.issue-custom-fields>p { margin: 0; }
.issue-custom-field-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 16px; }
.issue-custom-field-list>label { min-width: 0; }
.issue-custom-field-list .checkbox-label { align-items: flex-start; }
.issue-custom-field-list .checkbox-label span { min-width: 0; overflow-wrap: anywhere; }
.issue-custom-field-list .checkbox-label small { display: block; margin-top: 4px; }
@media(max-width:560px) { .issue-custom-field-list { grid-template-columns: minmax(0,1fr); } }

/* Common Access entry: approved split concept, actual provider continuation. */
.access-entry-shell { min-height: 100svh; display: grid; grid-template-columns: 1fr 1fr; color: var(--admin-ink); background: var(--admin-ground); }
.access-entry-brand { padding: clamp(32px, 6vw, 88px); display: flex; flex-direction: column; justify-content: space-between; gap: 64px; border-right: 1px solid var(--admin-line); }
.access-entry-wordmark { display: flex; align-items: center; gap: 20px; font-size: 24px; font-weight: 700; }
.access-entry-wordmark img { width: 94px; height: 32px; object-fit: contain; }
.access-entry-brand h1 { font-size: clamp(36px, 3.5vw, 56px); line-height: 1.12; letter-spacing: -.025em; margin: 0 0 24px; }
.access-entry-brand p { color: var(--admin-muted); font-size: 16px; }
.access-entry-products { display: grid; gap: 8px; margin-top: 48px; }
.access-entry-products strong:not(:first-child) { margin-top: 20px; }
.access-entry-products span, .access-entry-foot { color: var(--admin-muted); font-size: 14px; }
.access-entry-side { padding: clamp(24px, 5vw, 72px); display: flex; flex-direction: column; justify-content: center; gap: 24px; min-width: 0; }
.access-entry-destination, .access-entry-environment { color: var(--admin-muted); font-size: 14px; max-width: 440px; width: 100%; margin: 0 auto; }
.access-entry-destination strong { color: var(--admin-ink); }
.access-entry-card { width: 100%; max-width: 440px; margin: 0 auto; padding: 36px; border-radius: var(--admin-radius); background: var(--admin-surface); box-shadow: var(--admin-panel-shadow); }
.access-entry-card h2 { font-size: 32px; letter-spacing: -.025em; line-height: 1.2; margin: 0 0 12px; }
.access-entry-card p { color: var(--admin-muted); font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.access-entry-card p.error { color: var(--admin-danger); }
.access-entry-card .remember-session { display: flex; align-items: center; gap: 10px; margin: 32px 0 20px; color: var(--admin-muted); font-size: 14px; }
.access-entry-card .remember-session input { flex: 0 0 18px; width: 18px; height: 18px; min-height: 18px; margin: 0; padding: 0; }
.access-entry-card .access-entry-note { font-size: 14px; margin: 20px 0 0; }
button.access-entry-button { position: relative; display: block; isolation: isolate; height: 48px; width: 100%; min-width: 180px; border: 0; border-radius: 0; background: transparent; color: #0d0e14; padding: 0 22px; font-weight: 700; }
button.access-entry-button:hover { background: transparent; }
.access-entry-button>svg { position: absolute; inset: 0; width: 100%; height: 100%; fill: var(--admin-accent); z-index: -1; filter: drop-shadow(0 3px 6px #0005); }
.access-entry-button .access-button-highlight { fill: #fff; opacity: .090196; }
.access-entry-button>span { display: flex; align-items: center; justify-content: center; gap: 12px; }
.access-entry-button:hover>svg { filter: brightness(1.06) drop-shadow(0 3px 6px #0005); }
.access-entry-button:disabled { opacity: .6; cursor: wait; }
.access-entry-button:focus-visible { outline: 2px solid var(--control-focus); outline-offset: 5px; }
@media (max-width: 760px) {
  .access-entry-shell { grid-template-columns: 1fr; }
  .access-entry-brand { border-right: 0; padding: 28px 24px; gap: 28px; }
  .access-entry-brand h1 { font-size: 34px; }
  .access-entry-products, .access-entry-foot { display: none; }
  .access-entry-side { padding: 8px 24px 36px; justify-content: start; }
  .access-entry-card { padding: 28px 24px; }
}

/* Provider-owned form uses its approved layout unchanged, at the product URL. */
html:has(.access-embedded-shell, .access-entry-loading) { scrollbar-gutter: auto; }
.access-entry-loading { position: fixed; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; background: #0d0e14; color: #cbcdde; }
.access-entry-loading img { width: 144px; height: 48px; object-fit: contain; }
.access-entry-loading p { margin: 0; }
.access-entry-spinner { width: 32px; height: 32px; border: 3px solid #343643; border-top-color: #edff00; border-radius: 50%; animation: access-entry-spin 0.9s linear infinite; }
@keyframes access-entry-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .access-entry-spinner { animation: none; } }
.access-embedded-shell { position: fixed; inset: 0; background: #0d0e14; }
.access-embedded-form { display: block; border: 0; width: 100%; height: 100%; }
.access-embedded-form[data-interactive="false"] { visibility: hidden; pointer-events: none; }
.access-embedded-error { position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%); width: min(560px, calc(100% - 32px)); padding: 16px; background: #181920; border: 1px solid #3c3d47; border-radius: 12px; color: #e0e0e6; }

/* Routine same-dataset refresh stays local; it never replaces loaded rows. */
.refresh-status { color: var(--admin-muted); font-size: 13px; min-height: 20px; margin: 0 0 8px; }
.notice:has(> .secondary) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

/* Bounded license-list selection and private export workflow. */
.license-selection-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 12px 0; padding: 10px 0; border: 0; border-block: 1px solid var(--admin-line); border-radius: 0; background: transparent; }
.license-selection-bar>span { font-weight: 500; }
.license-selection-bar>div { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.license-selection-bar>small { flex-basis: 100%; color: var(--admin-muted); }
.selection-column { width: 42px; text-align: center; }
.license-export-dialog { display: grid; gap: 18px; }
.license-export-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.license-export-options label { display: grid; gap: 7px; font-weight: 500; }
.license-export-fields { min-width: 0; margin: 0; padding: 14px; border: 1px solid var(--admin-line); border-radius: 12px; }
.license-export-fields>legend { padding: 0 6px; color: var(--admin-muted); font-size: 12px; font-weight: 500; }
.license-export-field-actions { display: flex; justify-content: flex-end; gap: 12px; margin: -4px 0 10px; }
.license-export-fields>section+section { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--admin-line); }
.license-export-fields h3 { margin: 0 0 8px; color: var(--admin-muted); font-size: 12px; }
.license-export-fields section>div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 16px; }
.license-export-fields label { display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: center; gap: 9px; min-height: 32px; font-size: 13px; }
.license-export-review { padding: 16px; border: 1px solid var(--admin-line); border-radius: 12px; background: var(--admin-ground); }
.license-export-review h3 { margin: 0 0 12px; }
.license-export-review dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 0; }
.license-export-review dl>div { min-width: 0; }
.license-export-review dt { color: var(--admin-muted); font-size: 12px; }
.license-export-review dd { margin: 3px 0 0; font-weight: 500; overflow-wrap: anywhere; }
.license-export-review-fields { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
.license-export-review-fields li { padding: 4px 8px; border: 1px solid var(--admin-line); border-radius: 6px; color: var(--admin-muted); font-size: 11px; }
.license-list-exports { margin-bottom: 28px; }
.license-list-exports .table-wrap { position: relative; }
.license-list-exports table { min-width: 780px; table-layout: fixed; }
.license-list-exports th:nth-child(1) { width: 112px; }
.license-list-exports th:nth-child(2),.license-list-exports th:nth-child(3) { width: 84px; }
.license-list-exports th:nth-child(4) { width: 210px; }
.license-list-exports th:nth-child(5) { width: 176px; }
.license-list-export-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.license-list-export-heading h2 { margin-bottom: 6px; }
.license-list-export-heading p { margin-top: 0; color: var(--admin-muted); }
.license-list-exports td small { display: block; margin-top: 4px; color: var(--admin-muted); }
.license-export-download-column { width: 92px; text-align: center; }
.license-export-download,.license-export-progress { margin: 0 auto; }
.license-export-progress { display: grid; place-items: center; width: 36px; height: 36px; }
.license-export-cancel { display: block; min-height: 28px; margin: 7px 0 0; padding: 0; border: 0; background: transparent; color: var(--admin-muted); font-size: 11px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.license-export-cancel:hover:not(:disabled) { color: var(--admin-ink); }
@media(prefers-reduced-motion:reduce) { .inline-spinner { animation: none; } }
@media(forced-colors:active) { .inline-spinner { border-color: CanvasText; border-top-color: Highlight; } }
@media(max-width:680px) { .license-export-options,.license-export-review dl,.license-export-fields section>div { grid-template-columns: minmax(0,1fr); } .license-export-fields label { min-height: 44px; } .license-selection-bar>div { margin-left: 0; } }

/* Shared search: icons stay outside editable text, with an unboxed clear action. */
.search-field { position: relative; display: block; min-width: 0; }
.search-field > svg { position: absolute; top: 50%; left: 13px; width: 17px; height: 17px; transform: translateY(-50%); pointer-events: none; }
.search-field input { width: 100%; padding-inline: 40px 42px; }
.search-field input::-webkit-search-cancel-button { -webkit-appearance: none; }
.search-clear { position: absolute; display: grid; place-items: center; top: 50%; right: 3px; transform: translateY(-50%); width: 34px; height: 34px; min-height: 34px; padding: 7px; border: 0; border-radius: 0; color: var(--admin-muted); background: transparent; cursor: pointer; }
.search-clear svg { position: static; width: 17px; height: 17px; transform: none; }
.search-clear:hover { color: var(--admin-ink); background: transparent; }
.search-clear:focus-visible { outline-offset: -3px; }
.global-search .search-field input { min-height: 40px; height: 40px; }
.admin-version-status { display: flex; align-items: center; gap: 8px; }
.service-status { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: 0; background: transparent; color: var(--admin-muted); }
.service-status-dot { display: block; width: 7px; height: 7px; border-radius: 50%; background: var(--admin-muted); }
.service-status.healthy .service-status-dot { background: var(--admin-success); }
.service-status.degraded .service-status-dot { background: var(--admin-warning); }
.service-status.unavailable .service-status-dot { background: var(--admin-danger); }
.metric-link { display: grid; gap: 8px; width: 100%; padding: 0; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; }
.metric-link:hover strong { text-decoration: underline; text-underline-offset: 5px; }
.metrics { border: 0; border-block: 1px solid var(--admin-line); }
.metrics article:first-child { padding-left: 0; }
@media (min-width: 561px) and (max-width: 900px) {
  .metrics article:nth-child(3n + 1) { padding-left: 0; }
}
@media (max-width: 560px) {
  .metrics article:nth-child(odd) { padding-left: 0; }
}
.metrics .eyebrow { margin: 0; }
.overview-secondary { margin-top: 24px; }
b, strong { font-weight: 500; }
.workspace :is(h2,h3) { font-weight: 500; }
::selection { background: #737c9966; color: #fff; }
.table-wrap :is(th,td), .metrics { font-variant-numeric: tabular-nums; }
@media (max-width: 760px), (any-pointer: coarse) {
  .search-field input, .global-search .search-field input { height: 44px; min-height: 44px; }
  .search-clear { width: 40px; height: 40px; min-height: 40px; }
}
@media (forced-colors: active) {
  .service-status-dot { border: 1px solid CanvasText; }
  :focus-visible { outline-color: Highlight; }
}

.overview-side { display: grid; gap: 24px; min-width: 0; }
.overview-side > .panel { margin: 0; }
.overview-content > .panel, .overview-side > .panel { padding: 0; }
.overview-content h2 { margin: 0 0 20px; }
.distributor-batch-email p { max-width: 68ch; }
.distributor-batch-email a { color: var(--admin-ink); }

/* Distributor browsing uses ordinary sections and direct records, never a drawer. */
.collection-toolbar, .section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.collection-toolbar .search-field { flex: 1; max-width: 560px; }
.collection-toolbar > button { flex: none; }
.section-frame { min-width: 0; margin-top: 32px; padding: 24px 0; border: 0; border-top: 1px solid var(--admin-line); border-radius: 0; background: transparent; }
.section-heading h2 { margin: 0; font-size: 20px; font-weight: 500; line-height: 1.4; }
.section-heading p { margin: 6px 0 0; color: var(--admin-muted); font-size: 13px; }
.section-frame > .table-wrap { margin-top: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.distributors-collection .table-wrap { margin-top: 0; }
.distributor-detail, .distributor-cohort-page { min-width: 0; }
.distributor-detail .detail-heading, .distributor-cohort-page .detail-heading { margin: 20px 0; }
.distributor-detail .detail-heading h2, .distributor-cohort-page .detail-heading h2 { margin: 0; font-size: 26px; line-height: 1.3; letter-spacing: -.02em; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.form-grid label { display: grid; gap: 8px; align-content: start; font-weight: 400; }
.form-grid label small { font-size: 12px; line-height: 1.5; }
.form-grid :is(input,textarea) { width: 100%; padding: 10px 12px; font-weight: 400; }
.form-grid-wide { grid-column: 1 / -1; }
.distributor-editor { max-width: 850px; }
.distributor-editor .actions { display: flex; gap: 12px; margin: 24px 0 0; }
.metric-strip { display: flex; flex-wrap: wrap; gap: 24px 40px; margin: 24px 0; padding: 20px 0; border-block: 1px solid var(--admin-line); }
.distributor-metric { display: grid; gap: 5px; font-variant-numeric: tabular-nums; }
.distributor-metric strong { font-size: 26px; line-height: 1.25; font-weight: 500; }
.distributor-metric span { color: var(--admin-muted); font-size: 13px; }
.distributor-contact dl { display: grid; grid-template-columns: minmax(100px,160px) minmax(0,1fr); gap: 14px 24px; margin: 0; }
.distributor-contact dl > div { display: contents; }
.distributor-contact dt { color: var(--admin-muted); font-size: 13px; }
.distributor-contact dd { margin: 0; overflow-wrap: anywhere; }
.distributor-contact dd > a { display: block; width: fit-content; }
.distributor-contact dd ul { list-style: none; padding: 0; margin: 0; }
.preserve-lines { white-space: pre-wrap; }
.email-attachment-note { max-width: 68ch; color: var(--admin-muted); font-size: 13px; line-height: 1.6; }
.text-button, .button-link { display: inline-flex; align-items: center; min-height: 40px; gap: 8px; font: inherit; font-weight: 500; text-decoration: none; cursor: pointer; }
.text-button, .button-link:not(.primary):not(.secondary):not(.danger) { padding: 6px 0; border: 0; background: none; color: var(--admin-ink); }
.text-button:hover, .button-link:not(.primary):not(.secondary):not(.danger):hover { color: var(--admin-link); text-decoration: underline; text-underline-offset: 4px; }
.back-link { color: var(--admin-muted); font-size: 13px; }
.data-table td:first-child :is(a,button) { color: var(--admin-ink); font-weight: 500; }
.data-table a { text-underline-offset: 4px; }
.activity-list { list-style: none; padding: 0; margin: 0; }
.activity-list li { display: flex; justify-content: space-between; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--admin-line); }
.activity-list li:last-child { border: 0; padding-bottom: 0; }
.activity-list p { margin: 4px 0 0; color: var(--admin-muted); font-size: 13px; overflow-wrap: anywhere; }
.activity-list time { color: var(--admin-muted); font-size: 12px; flex: none; }
@media (max-width: 760px) {
  .collection-toolbar, .section-heading { flex-wrap: wrap; }
  .collection-toolbar .search-field { flex-basis: 100%; max-width: none; }
  .distributor-detail .detail-heading, .distributor-cohort-page .detail-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .distributor-detail .detail-heading .actions { justify-content: flex-start; }
  .form-grid { grid-template-columns: minmax(0,1fr); }
  .section-frame { padding: 18px 0; }
  .distributor-contact dl { grid-template-columns: minmax(0,1fr); gap: 6px; }
  .distributor-contact dd { margin-bottom: 14px; }
  .metric-strip { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
  .activity-list li { flex-direction: column; gap: 6px; }
  .text-button, .button-link { min-height: 44px; }
}

.license-product-combobox .search-field input { padding-right: 112px; }
.license-product-combobox .search-clear { right: 76px; }
.distributor-detail .detail-heading > div { min-width: 0; }
.distributor-detail .detail-heading p { color: var(--admin-muted); font-size: 13px; margin: 6px 0 0; }

/* Approved portal shell: one visual system across every authenticated Admin route. */
.workspace-topbar {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 64px;
  margin: 0 -36px 0;
  padding: 0 36px;
  border-bottom: 1px solid var(--admin-line);
}
.workspace-context { display: flex; align-items: center; gap: 12px; min-width: 0; }
.portal-navigation-items { display: contents; }
.navigation-toggle,
.mobile-navigation-toggle,
.appearance-option {
  display: inline-grid;
  place-items: center;
  min-width: 36px;
  min-height: 36px;
  padding: 7px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--admin-muted);
  background: transparent;
  cursor: pointer;
}
.navigation-toggle:hover,
.mobile-navigation-toggle:hover,
.appearance-option:hover { color: var(--admin-ink); background: var(--admin-hover); }
.navigation-toggle svg,
.mobile-navigation-toggle svg,
.appearance-option svg { width: 16px; height: 16px; }
.workspace-breadcrumb { display: flex; align-items: center; gap: 12px; min-width: 0; color: var(--admin-muted); font-size: 12px; }
.workspace-breadcrumb b { color: var(--admin-ink); font-weight: 500; }
.workspace-global-search { display: flex; align-items: center; gap: 9px; margin-left: auto; min-height: 36px; color: var(--admin-muted); font-size: 12px; }
.workspace-global-search kbd { padding: 2px 5px; border: 1px solid var(--control-border); border-radius: 4px; color: var(--admin-muted); background: var(--admin-field); font: inherit; }
.workspace-global-search .global-search { position: relative; width: min(300px,30vw); margin: 0; }
.workspace-global-search .global-search .search-field input { height: 36px; min-height: 36px; padding-block: 6px; font-size: 12px; }
.workspace-global-search .global-search-results {
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  right: 0;
  width: min(520px,calc(100vw - 48px));
  max-height: min(600px,calc(100vh - 96px));
  margin: 0;
  overflow: auto;
  padding: 14px;
  box-shadow: 0 16px 36px var(--admin-shadow);
}
.appearance-controls { display: flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid var(--admin-line); border-radius: 7px; background: var(--admin-raised); }
.appearance-option { display: inline-flex; gap: 6px; min-width: 0; min-height: 30px; padding: 5px 8px; font-size: 12px; }
.appearance-option[aria-pressed="true"],
.appearance-option.active { color: var(--admin-ink); border-color: var(--admin-line); background: var(--admin-surface); box-shadow: 0 1px 2px var(--admin-shadow); }
.mobile-navigation-toggle { display: none; }

:root[data-navigation="compact"] .app-shell { grid-template-columns: 112px minmax(0,1fr); }
:root[data-navigation="compact"] .brand-logo-full,
:root[data-navigation="compact"] .brand-logo { display: none; }
:root[data-navigation="compact"] .brand-logo-key { display: block; }
:root[data-navigation="compact"] .sidebar { padding-inline: 8px; }
:root[data-navigation="compact"] .portal-navigation { gap: 4px; }
:root[data-navigation="compact"] .portal-nav-item {
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-height: 58px;
  padding: 7px 4px;
  text-align: center;
}
:root[data-navigation="compact"] .portal-nav-item span { flex: none; width: 100%; text-align: center; line-height: 1.25; }
:root[data-navigation="compact"] .sidebar-bottom { padding-inline: 4px; }
:root[data-navigation="compact"] .admin-version-status { justify-content: center; }
:root[data-navigation="compact"] .admin-version { display: none; }
:root[data-navigation="compact"] .account-menu-trigger { justify-content: center; padding-inline: 4px; }
:root[data-navigation="compact"] .account-menu-identity,
:root[data-navigation="compact"] .account-menu-chevron { display: none; }
:root[data-navigation="compact"] .account-menu-popover { left: 8px; width: 248px; }

.secondary:hover:not(:disabled) { color: var(--admin-ink); background: var(--admin-hover); border-color: var(--admin-muted); }
.record-link,
.license-customer-link:hover,
.product-activity .product-section-heading .text-button,
.distributor-batch-email a { color: var(--admin-link); }
.details-drawer,
.catalog-form-dialog,
.modal { box-shadow: -16px 16px 50px var(--admin-shadow), inset 0 1px 0 color-mix(in srgb, var(--admin-ink) 8%, transparent); }
.details-drawer .detail-overview,
.record-modal-content .detail-overview,
.details-drawer .detail-overview .record-fields > div,
.record-modal-content .detail-overview .record-fields > div { background: var(--admin-surface); }
.details-drawer::backdrop,
.catalog-form-dialog::backdrop { background: var(--admin-overlay); }
.account-menu { color: var(--admin-muted); }
.account-menu-trigger:focus-visible,
.account-menu-popover>a:focus-visible,
.account-menu-popover>button:focus-visible:not(:disabled) { outline-color: var(--control-focus); }
.account-menu-popover { color: var(--admin-ink); border-color: var(--admin-line); background: var(--admin-surface); box-shadow: 0 12px 32px var(--admin-shadow); }
.account-menu-summary { flex-direction: row; align-items: center; gap: 10px; }
.account-menu-summary-copy { display: grid; min-width: 0; gap: 4px; }
.account-menu-summary b { font-weight: 500; }
.account-menu-summary small { color: var(--admin-muted); opacity: 1; }
.account-menu-popover > [role="menuitem"] { gap: 10px; }
.account-menu-popover > [role="menuitem"] > svg { flex: 0 0 18px; width: 18px; height: 18px; }
.account-menu-separator { background: var(--admin-line); }
.account-avatar { background: color-mix(in srgb, var(--admin-success) 24%, var(--admin-raised)); color: var(--admin-ink); }
.table-wrap td,
.products-card td,
.product-inner-table td { color: var(--admin-secondary); border-color: var(--admin-line); }
tbody tr:not(.detail-row):hover td,
.products-card .product-row:hover td { background: var(--admin-hover); }
.selected td,
.products-card .product-row.selected td { background: var(--admin-selected); }
.license-product-options { border-color: var(--admin-line); background: var(--admin-raised); box-shadow: 0 14px 30px var(--admin-shadow); }
.license-product-options li:hover,
.license-product-options li.active { background: var(--admin-hover); outline-color: var(--control-focus); }
.activity-detail-row td,
.product-inner-table,
.serial-control :is(code,.license-serial-value) { background: var(--admin-raised); }
.workspace h2,
.section-heading h2 { font-size: 18px; }
.workspace h3 { font-size: 16px; }
.record-fields { border-color: var(--admin-line); background: transparent; }
.record-fields>div { border-color: var(--admin-line); }
.record-fields dt,
.action-identity dt,
.bundle-edit-identity small,
.optional-field,
.expiry-options legend,
.recipient-options span,
.recipient-selection small,
.customer-trial-heading span:not(.state),
.customer-trial-facts dt,
.customer-trial-reset-summary { color: var(--admin-muted); font-weight: 400; }
.record-fields dd,
.serial-control :is(code,.license-serial-value code),
.customer-trial-availability { color: var(--admin-ink); }
.catalog-editor :is(input,textarea,select),
.recipient-selection { color: var(--admin-ink); border-color: var(--field-border); background: var(--admin-field); }
.recipient-options { color: var(--admin-ink); border-color: var(--admin-line); background: var(--admin-raised); box-shadow: 0 14px 30px var(--admin-shadow); }
.recipient-options li:hover,
.recipient-options li.active { background: var(--admin-hover); outline-color: var(--control-focus); }
.issue-fields:disabled :is(input,select,textarea) { color: var(--admin-muted); }
.product-choice-list input { color-scheme: inherit; }
.batch-detail>section,
.batch-files li,
.batch-deliveries li { border-color: var(--admin-line); }
.bundle-builder-pane { background: color-mix(in srgb, var(--admin-raised) 72%, transparent); }
.error,
.catalog-editor [role="alert"] { color: var(--admin-danger); background: color-mix(in srgb, var(--admin-danger) 10%, var(--admin-surface)); border-color: color-mix(in srgb, var(--admin-danger) 55%, var(--admin-line)); }
.danger,
.destructive-final { color: var(--admin-danger); background: color-mix(in srgb, var(--admin-danger) 11%, var(--admin-surface)); border-color: color-mix(in srgb, var(--admin-danger) 58%, var(--admin-line)); }
.danger:hover:not(:disabled) { background: color-mix(in srgb, var(--admin-danger) 17%, var(--admin-surface)); }
.state,
.products-card .state,
.product-dialog .state,
.products-card .state:not(.state-active),
.product-dialog .state:not(.state-active),
.assignment-badge { color: var(--admin-ink); border-color: var(--control-border); background: var(--admin-raised); }
.state-active,
.state-paid,
.state-ready,
.state-completed,
.products-card .state-active,
.product-dialog .state-active { color: var(--admin-success); border-color: color-mix(in srgb, var(--admin-success) 42%, var(--admin-line)); background: color-mix(in srgb, var(--admin-success) 9%, var(--admin-surface)); }
.state-revoked,
.state-refunded,
.state-cancelled,
.state-failed,
.product-dialog .state-revoked,
.product-dialog .state-failed { color: var(--admin-danger); border-color: color-mix(in srgb, var(--admin-danger) 42%, var(--admin-line)); background: color-mix(in srgb, var(--admin-danger) 9%, var(--admin-surface)); }
.state-remote-reset,
.state-suspended,
.state-expired,
.state-inactive,
.state-attention,
.state-needs-attention,
.product-dialog .state-inactive { color: var(--admin-warning); border-color: color-mix(in srgb, var(--admin-warning) 42%, var(--admin-line)); background: color-mix(in srgb, var(--admin-warning) 9%, var(--admin-surface)); }
:root[data-theme="light"] body { background: var(--admin-ground); }
:root[data-theme="light"] :is(input,select,textarea) { color-scheme: light; }
:root[data-theme="light"] .sidebar nav button:hover,
:root[data-theme="light"] .portal-nav-item:hover { background: #dde6f0; }
:root[data-theme="light"] .sidebar nav button.active,
:root[data-theme="light"] .portal-nav-item.active,
:root[data-theme="light"] .portal-nav-item[aria-current="page"] { background: var(--admin-selected); }
:root[data-theme="light"] .preview-banner,
:root[data-theme="light"] .notice { color: var(--admin-muted); background: transparent; border-color: var(--admin-line); }
:root[data-theme="light"] select option { color: var(--admin-ink); background: var(--admin-surface); }
:root[data-theme="light"] select,
:root[data-theme="light"] .panel select,
:root[data-theme="light"] .products-filters select,
:root[data-theme="light"] .collection-layout>.filters select,
:root[data-theme="light"] .catalog-editor select {
  -webkit-appearance: auto;
  appearance: auto;
  background-image: none;
  padding-right: 12px;
}
:root[data-theme="light"] .record-timeline details>summary::after,
:root[data-theme="light"] .human-related-record details>summary::after,
:root[data-theme="light"] .administrator-row details>summary::after,
:root[data-theme="light"] :is(.customer-profile-fields,.settings-runtime,.settings-help,.record-identifiers,.setting-row)>summary::after { filter: brightness(0) saturate(100%) invert(18%) sepia(24%) saturate(1378%) hue-rotate(174deg) brightness(88%) contrast(91%); }
:root[data-theme="light"] .access-entry-button { color: var(--admin-on-primary); }
:root[data-theme="light"] .access-entry-button>svg { fill: var(--admin-primary); }
:root[data-theme="light"] .guest-trial-list,
:root[data-theme="light"] .guest-trial-detail,
:root[data-theme="light"] .customer-trial-list { border-color: var(--admin-line); background: transparent; }
:root[data-theme="light"] :is(.guest-trial-list,.customer-trial-list) li+li { border-color: var(--admin-line); }
:root[data-theme="light"] :is(.guest-trial-list button,.customer-trial-row) { color: var(--admin-ink); background: transparent; }
:root[data-theme="light"] .guest-trial-list button:hover,
:root[data-theme="light"] .guest-trial-list button.selected { background: var(--admin-selected); }
:root[data-theme="light"] :is(.guest-trial-list small,.guest-trial-detail dt,.guest-trial-reset p,.customer-trial-heading span:not(.state),.customer-trial-facts dt,.customer-trial-reset-summary) { color: var(--admin-muted); }
:root[data-theme="light"] ::selection { color: var(--admin-ink); background: #cddbeb; }

@media (max-width: 850px) {
  .app-shell,
  :root[data-navigation="compact"] .app-shell { display: block; }
  .sidebar,
  .preview-shell .sidebar,
  :root[data-navigation="compact"] .sidebar {
    position: relative; width: auto; height: auto; padding: 14px 18px 10px;
    display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "brand account" "navigation navigation";
  }
  .brand { grid-area: brand; justify-content: flex-start; min-height: 44px; padding: 0; }
  .brand-logo,
  .brand-logo-full,
  :root[data-navigation="compact"] .brand-logo-full { display: block; width: 120px; }
  .brand-logo-key,
  :root[data-navigation="compact"] .brand-logo-key { display: none; }
  .mobile-navigation-toggle { display: inline-grid; }
  .portal-navigation {
    grid-area: navigation; display: grid; grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 6px; margin-top: 10px; overflow: visible; padding: 0 0 4px;
  }
  .portal-nav-item,
  :root[data-navigation="compact"] .portal-nav-item {
    min-width: 0; flex-direction: column; justify-content: center; gap: 4px; min-height: 58px; padding: 7px 3px;
  }
  .portal-nav-item span,
  :root[data-navigation="compact"] .portal-nav-item span { width: 100%; text-align: center; line-height: 1.2; overflow-wrap: anywhere; }
  .portal-nav-item:not([data-mobile-primary="true"]) { display: none; }
  .portal-navigation.mobile-open { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .portal-navigation.mobile-open .portal-nav-item { display: flex; }
  .sidebar-bottom { grid-area: account; display: flex; align-items: center; justify-content: flex-end; padding: 0; }
  .sidebar-bottom .admin-version-status { display: none; }
  .sidebar-bottom .account-menu { width: 44px; }
  .sidebar-bottom .account-menu-trigger { justify-content: center; width: 44px; min-height: 44px; padding: 6px; }
  .sidebar-bottom .account-menu-identity,
  .sidebar-bottom .account-menu-chevron { display: none; }
  .sidebar-bottom .account-menu-popover,
  :root[data-navigation="compact"] .sidebar-bottom .account-menu-popover { top: calc(100% + 8px); right: 0; bottom: auto; left: auto; width: min(264px,calc(100vw - 20px)); }
  .workspace { min-height: 0; margin: 0 10px 10px; padding: 0 20px 28px; border-radius: 12px; }
  .workspace-topbar { height: 58px; margin-inline: -20px; padding-inline: 20px; }
  .navigation-toggle { display: none; }
  .workspace-global-search kbd { display: none; }
  .workspace-global-search { min-width: 36px; justify-content: center; }
  .workspace-global-search .global-search { width: min(240px,36vw); }
  .workspace > header.workspace-header,
  .workspace > header:not(.workspace-topbar) { padding-top: 25px; }
  .workspace h1 { font-size: 26px; }
}
@media (max-width: 560px) {
  .sidebar,
  .preview-shell .sidebar,
  :root[data-navigation="compact"] .sidebar { padding-inline: 10px; }
  .workspace { padding-inline: 16px; }
  .workspace-topbar {
    display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "context appearance" "search search";
    gap: 8px 12px; height: auto; min-height: 102px; margin-inline: -16px; padding: 9px 16px;
  }
  .workspace-context { grid-area: context; }
  .appearance-controls { grid-area: appearance; }
  .workspace-global-search { grid-area: search; width: 100%; min-width: 0; justify-content: stretch; }
  .workspace-global-search .global-search { width: 100%; }
  .workspace-global-search .global-search .search-field input { height: 44px; min-height: 44px; }
  .appearance-option span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .appearance-option { min-width: 44px; min-height: 44px; }
}
@media (any-pointer: coarse) {
  .navigation-toggle,
  .mobile-navigation-toggle,
  .appearance-option { min-width: 44px; min-height: 44px; }
}
@media (forced-colors: active) {
  .workspace,
  .appearance-controls,
  .account-menu-popover { border-color: CanvasText; }
  .portal-nav-item[aria-current="page"] { outline: 1px solid Highlight; }
}

/* Compact license search, sorting, and filters */
.license-toolbar-wrap { position: relative; z-index: 7; margin: 0 0 18px; }
.license-toolbar { display: grid; grid-template-columns: minmax(260px,1fr) auto; align-items: stretch; border-block: 1px solid var(--admin-line); background: transparent; }
.details-drawer .license-toolbar,.record-modal-content .license-toolbar { grid-template-columns: minmax(0,1fr) auto; }
.details-drawer .license-tool-trigger,.record-modal-content .license-tool-trigger { min-width: 116px; padding-inline: 10px; }
.license-toolbar>.search-field { min-width: 0; }
.license-toolbar>.search-field input { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.license-toolbar-actions { display: flex; align-items: stretch; }
.license-tool-trigger { display: flex; align-items: center; gap: 8px; min-width: 138px; padding: 0 14px; border: 0; border-left: 1px solid var(--admin-line); border-radius: 0; color: var(--admin-muted); background: transparent; box-shadow: none; }
.license-tool-trigger:hover { color: var(--admin-ink); background: var(--admin-hover); }
.license-tool-trigger>span { font-weight: 600; }
.license-tool-trigger>b { max-width: 150px; overflow: hidden; color: var(--admin-ink); font-size: 12px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.license-tool-trigger svg { width: 14px; margin-left: auto; }
.license-applied-filters { display: flex; min-height: 34px; align-items: center; flex-wrap: wrap; gap: 7px; padding: 7px 2px 0; color: var(--admin-muted); font-size: 12px; }
.license-applied-filters button { min-height: 26px; padding: 0; border: 0; border-radius: 0; color: var(--admin-muted); background: transparent; box-shadow: none; font: inherit; }
.license-applied-filters button:hover { color: var(--admin-ink); background: transparent; }
.license-applied-filters button>span { margin-left: 5px; color: var(--admin-faint); font-size: 14px; }
.license-filter-separator { color: var(--admin-faint); }
.license-sort-popover,.license-filter-popover { position: absolute; z-index: 12; top: calc(100% + 8px); right: 0; width: min(360px,calc(100vw - 32px)); max-height: var(--license-popover-max-height,min(680px,calc(100dvh - 180px))); overflow: hidden; border: 1px solid var(--admin-line); border-radius: 12px; background: var(--admin-raised); box-shadow: 0 18px 50px var(--admin-shadow); }
.license-sort-popover[data-placement="above"],.license-filter-popover[data-placement="above"] { top: auto; bottom: calc(100% + 8px); }
.license-sort-popover[data-placement="sheet"],.license-filter-popover[data-placement="sheet"] { position: fixed; top: 16px; right: 16px; bottom: 16px; }
.license-sort-popover { overflow-y: auto; padding: 6px 0; }
.license-sort-popover>button { display: flex; width: 100%; min-height: 40px; align-items: center; justify-content: space-between; padding: 8px 16px; border: 0; border-radius: 0; color: var(--admin-muted); background: transparent; box-shadow: none; text-align: left; }
.license-sort-popover>button+button { border-top: 1px solid color-mix(in srgb,var(--admin-line) 62%,transparent); }
.license-sort-popover>button:hover,.license-sort-popover>button[aria-pressed="true"] { color: var(--admin-ink); background: var(--admin-hover); }
.license-filter-panel { display: flex; max-height: min(680px,calc(100dvh - 180px)); flex-direction: column; }
.license-filter-popover .license-filter-panel { max-height: calc(var(--license-popover-max-height,min(680px,calc(100dvh - 180px))) - 2px); }
.license-filter-heading { display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: 10px 16px; border-bottom: 1px solid var(--admin-line); }
.license-filter-heading h2 { margin: 0; font-size: 16px; }
.license-filter-heading .icon-button { width: 34px; min-height: 34px; border: 0; background: transparent; }
.license-filter-metadata-error { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 16px; border-bottom: 1px solid var(--admin-line); color: var(--admin-danger); font-size: 12px; }
.license-filter-metadata-error .text-button { min-height: 32px; }
.license-filter-groups { display: grid; gap: 8px; padding: 8px; overflow: auto; background: var(--admin-raised); }
.license-filter-group { margin: 0; border: 1px solid var(--admin-line); border-radius: 8px; background: var(--admin-surface); }
.license-filter-group>button { display: grid; width: 100%; min-height: 50px; grid-template-columns: 1fr auto 14px; align-items: center; gap: 9px; padding: 10px 14px; border: 0; border-radius: 7px; color: var(--admin-ink); background: transparent; box-shadow: none; text-align: left; }
.license-filter-group>button:hover { background: var(--admin-hover); }
.license-filter-group>button[aria-expanded="true"] { border-radius: 7px 7px 0 0; background: color-mix(in srgb,var(--admin-selected) 72%,var(--admin-surface)); font-weight: 500; }
.license-filter-group>button small { color: var(--admin-muted); font-weight: 500; }
.license-filter-group>button svg { display: block; width: 14px; height: 14px; margin: 0; color: var(--admin-muted); transform-origin: 50% 50%; transition: transform .16s ease; }
.license-filter-group>button[aria-expanded="true"] svg { color: var(--admin-accent); transform: rotate(180deg); }
.license-filter-body { display: grid; gap: 0; padding: 12px 14px 14px; border-top: 1px solid var(--admin-line); }
.license-flat-field { display: grid; grid-template-columns: minmax(110px,.8fr) minmax(140px,1fr); align-items: center; gap: 12px; min-height: 46px; border-top: 1px solid color-mix(in srgb,var(--admin-line) 60%,transparent); color: var(--admin-muted); font-size: 12px; }
.license-flat-field:first-child { border-top: 0; }
.license-flat-field :is(select,input) { min-height: 40px; padding-inline: 0 24px; border: 0; border-radius: 0; color: var(--admin-ink); background: transparent; box-shadow: none; }
.license-filter-body .license-flat-field :is(input:not([type="checkbox"]):not([type="radio"]),select):focus-visible { outline: 0; box-shadow: inset 0 -2px var(--control-focus); }
.license-date-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.license-date-row label { display: grid; gap: 5px; color: var(--admin-muted); font-size: 12px; }
.license-date-row input { min-height: 40px; padding: 0; border: 0; border-bottom: 1px solid var(--admin-line); border-radius: 0; background: transparent; }
.license-filter-note { margin: 8px 0 0; color: var(--admin-muted); font-size: 11px; }
.license-filter-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--admin-line); }
.license-filter-footer-actions { display:flex; align-items:center; gap:8px; }
.license-filter-sheet { position: fixed; inset: auto 0 0; width: 100%; max-width: none; max-height: 88dvh; margin: 0; padding: 0; border: 1px solid var(--admin-line); border-width: 1px 0 0; border-radius: 16px 16px 0 0; color: var(--admin-ink); background: var(--admin-raised); }
.license-filter-sheet::backdrop { background: #0009; }
.license-product-options { padding: 0; }
.license-product-options li { padding: 10px 12px; border-radius: 0; }
.license-product-options li+li { border-top: 1px solid var(--admin-line); }
.license-product-options li:hover,.license-product-options li.active,.license-product-options li.selected { background: var(--admin-hover); outline: 0; }
.license-product-toggle { width: 44px; height: var(--admin-utility-height); }
.license-product-combobox .search-field input { height: var(--admin-utility-height); min-height: var(--admin-utility-height); }
.license-product-toggle svg { position: static; top: auto; left: auto; display: block; width: 14px; height: 14px; margin: 0; transform: none; transform-origin: 50% 50%; }
.license-product-toggle[aria-expanded="true"] svg { color: var(--admin-accent); }
@media (max-width: 760px), (any-pointer: coarse) {
  .license-flat-field :is(select,input),.license-date-row input { min-height: 44px; }
}
@media (forced-colors: active) {
  .license-filter-body .license-flat-field :is(input:not([type="checkbox"]):not([type="radio"]),select):focus-visible { outline: 2px solid Highlight; outline-offset: -2px; box-shadow: none; }
}
.table-sort { display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; border-radius: 0; color: inherit; background: transparent; box-shadow: none; font: inherit; }
.table-sort:hover { color: var(--admin-ink); }
.table-sort span { color: var(--control-focus); }
.license-selection-notice { margin: 8px 0; color: var(--admin-muted); font-size: 12px; }
.license-class-cell { min-width: 0; }
.license-class-cell small { display: block; max-width: 100%; margin-top: 3px; overflow: hidden; color: var(--admin-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
@media(max-width:680px) {
  .license-toolbar,.details-drawer .license-toolbar,.record-modal-content .license-toolbar { grid-template-columns: minmax(0,1fr); }
  .license-toolbar-actions { border-top: 1px solid var(--admin-line); }
  .license-tool-trigger { width: 50%; min-height: 44px; }
  .license-tool-trigger:first-child { border-left: 0; }
  .license-sort-popover { right: 0; left: 0; width: auto; }
  .license-filter-popover { display: none; }
  .license-date-row { grid-template-columns: minmax(0,1fr); }
}

/* Keep bulk actions available without moving the rows during a pointer sweep. */
.license-selection-bar { position: fixed; z-index: 15; left: 50%; bottom: 20px; transform: translateX(-50%); width: min(700px,calc(100vw - 40px)); margin: 0; padding: 12px 16px; border: 1px solid var(--admin-line); border-radius: 10px; color: var(--admin-ink); background: var(--admin-raised); font-size: 14px; }
.license-selection-bar :is(button,small) { font-size: 14px; }
.collection-layout > .pagination, .collection-layout > .pagination :is(label,select,input,button) { font-size: 14px; }
.overview-activity { margin-top: 32px; }
.dashboard-products { margin-top: 32px; }

.collection-layout > .pagination [aria-current="page"] { color: var(--admin-primary); border-color: var(--admin-primary); background: var(--admin-surface); }

.license-browser { min-width: 0; }
.license-browser-tools { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; padding: 8px 0; color: var(--admin-muted); font-size: 14px; }
.license-browser-tools .text-button { margin-left: auto; min-height: 32px; padding: 4px 0 4px 8px; font-size: 14px; color: var(--admin-muted); }
.license-browser-table-wrap {
  width: 100%;
  margin-top: 0;
  overflow: auto;
  max-height: clamp(260px,calc(100dvh - 300px),720px);
  border-block: 1px solid var(--admin-line);
  overscroll-behavior-inline: contain;
}

.license-browser-table {
  --license-customer-email: #9fc5ff;
  --license-class-nfr: #c4b5fd;
  --license-class-perpetual: #7dd3c7;
  --license-class-internal: #f2c879;
  table-layout: fixed;
  border-collapse: collapse;
  color: var(--admin-ink);
  font-size: 14px;
  line-height: 20px;
  text-align: left;
}
:root[data-theme="light"] .license-browser-table {
  --license-customer-email: #1462bd;
  --license-class-nfr: #6d28d9;
  --license-class-perpetual: #0f6f68;
  --license-class-internal: #8a4b08;
}

.license-browser-table :is(th, td, code, small, button, a, span, div) { font-size: 14px; }
.license-browser-table :is(th, td) { padding: 10px 16px; text-align: left; vertical-align: middle; }
.license-browser-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  height: 48px;
  color: var(--admin-muted);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  background: var(--admin-surface);
  border-bottom: 1px solid var(--admin-line-strong, var(--admin-line));
  white-space: nowrap;
}
.license-browser-table td { height: 64px; min-height: 64px; padding-block: 8px; border-top: 1px solid var(--admin-line); overflow-wrap: normal; }
.license-browser-table tbody tr:first-child td { border-top: 0; }
.license-browser-table tbody tr { height: 64px; cursor: default; }
.license-browser-table tbody tr:hover td { background: var(--admin-hover); }
.license-browser-table tbody tr.license-row-revoked td { background: color-mix(in srgb,var(--admin-danger) 5%,var(--admin-surface)); }
.license-browser-table tbody tr.license-row-revoked:hover td { background: color-mix(in srgb,var(--admin-danger) 8%,var(--admin-hover)); }
.license-browser-table tbody tr.is-selected td { background: var(--admin-selected, var(--admin-hover)); }
.license-browser-table tbody tr.selected:not(.is-selected) td { background: var(--admin-surface); box-shadow: inset 0 -1px var(--control-focus); }
.license-browser-table tbody tr:focus { outline: 0; }
.license-browser-table tbody tr:focus-visible { outline: 2px solid var(--control-focus); outline-offset: -2px; }
.license-browser-table :is(code, .cell-id) {
  color: inherit;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  line-height: inherit;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
  word-break: normal;
}
.license-browser-table :is(small, .product-muted) { color: var(--admin-muted); line-height: inherit; }
.license-browser-table .license-serial-value { display: flex; align-items: center; gap: 8px; min-width: 0; }
.license-browser-table .license-serial-value code { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.license-table.license-browser-table .numeric { font-variant-numeric: tabular-nums; text-align: left; }
.license-browser-sort { display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; color: inherit; font: inherit; font-weight: 500; background: transparent; box-shadow: none; }
.license-browser-sort:hover { color: var(--admin-ink); }
.license-browser-sort span { color: var(--control-focus); }
.license-browser-resize {
  position: absolute;
  z-index: 1;
  inset: 8px 0 8px auto;
  width: 14px;
  cursor: col-resize;
  touch-action: none;
}
.license-browser-resize::after { content: ""; position: absolute; inset: 7px 6px; width: 1px; background: transparent; }
.license-browser-resize:hover::after, .license-browser-resize:focus-visible::after { background: var(--control-focus); }
.license-browser-resize:focus-visible { outline: 2px solid var(--control-focus); outline-offset: -3px; }
.license-browser-selection-cell { width: 48px; padding-inline: 12px !important; text-align: center !important; touch-action: none; }
.license-browser-selection-cell input { width: 18px; height: 18px; margin: 0; vertical-align: middle; }

@media (forced-colors: active) {
  .license-browser-table tbody tr.is-selected td { background: Highlight; color: HighlightText; }
  .license-browser-table tbody tr.license-row-revoked:not(.is-selected) td { border-block-color: Mark; }
  .license-browser-table tbody tr:focus-visible { outline: 2px solid Highlight; outline-offset: -2px; }
  .license-browser-resize::after { background: ButtonText; }
}

@media (pointer: coarse) {
  .license-browser-resize { inset-block: 2px; width: 20px; }
  .license-browser-table :is(th, td) { padding-inline: 14px; }
}

.license-browser-table .license-customer-link { min-height: 0; line-height: inherit; }
.license-browser-table .license-customer-cell { min-width: 0; max-width: none; }
.license-browser-table .license-customer-cell :is(b,small,a), .license-browser-table .license-class-cell small { display: block; margin-top: 4px; }
.license-browser-table .license-customer-cell :is(b,button) { margin-top: 0; }
.license-browser-table .license-customer-email { color: var(--license-customer-email); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; }
.license-browser-table a.license-customer-email { text-decoration: none; }
.license-browser-table a.license-customer-email:hover { text-decoration: underline; text-underline-offset: 2px; }
.license-browser-table .license-customer-email-missing { color: var(--admin-muted); }
.license-browser-table .license-class-label { color: var(--admin-ink); }
.license-browser-table .license-class-nfr { color: var(--license-class-nfr); }
.license-browser-table .license-class-perpetual { color: var(--license-class-perpetual); }
.license-browser-table .license-class-internal { color: var(--license-class-internal); }
.license-browser-table .license-inline-states { display: inline-flex; flex: none; flex-wrap: wrap; gap: 4px 12px; }
.license-browser-table .license-inline-state { font-size: 14px; }

/* Linear-informed web-list density; the semantic grid stays invisible. */
.license-browser-table tbody td { border-top-color: color-mix(in srgb,var(--admin-line) 65%,transparent); }
.license-browser-table :is(code,.cell-value,.state) { font-weight: 400; }
.license-browser-table .license-customer-cell :is(b,button) { font-weight: 500; }
.license-browser-table .state { display: inline-flex; align-items: center; gap: 8px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.license-browser-table .state::before { content: ""; flex: 0 0 6px; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.license-toolbar { border-top: 0; }
.license-toolbar-actions { gap: 4px; }
.license-tool-trigger { border-left: 0; }

.dashboard-products {
  min-width: 0;
}

.dashboard-products-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 12px;
}

.dashboard-products-heading h2 {
  margin: 0;
  color: var(--admin-ink);
  font-size: 18px;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -.01em;
}

.dashboard-products-heading p {
  margin: 4px 0 0;
  color: var(--admin-muted);
  font-size: 14px;
  line-height: 1.5;
}

.dashboard-products-view-all {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 4px;
  min-height: 32px;
  padding: 4px 0 4px 8px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--admin-muted);
  font-size: 13px;
  font-weight: 550;
  cursor: pointer;
}

.dashboard-products-view-all svg {
  width: 16px;
  height: 16px;
}

.dashboard-products-view-all:hover {
  color: var(--admin-ink);
}

.dashboard-products-view-all:focus-visible,
.dashboard-product-link:focus-visible,
.dashboard-products-status button:focus-visible {
  outline: 2px solid var(--control-focus);
  outline-offset: 2px;
}

.dashboard-product-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--admin-line);
  list-style: none;
}

.dashboard-product-grid li {
  min-width: 0;
  border-bottom: 1px solid var(--admin-line);
}

.dashboard-product-grid li:nth-child(4n+2),
.dashboard-product-grid li:nth-child(4n+3),
.dashboard-product-grid li:nth-child(4n+4) {
  border-left: 1px solid var(--admin-line);
}

.dashboard-product-link {
  display: grid;
  grid-template-columns: 32px minmax(0,1fr) 18px;
  align-items: center;
  width: 100%;
  min-height: 64px;
  gap: 10px;
  padding: 10px 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--admin-ink);
  text-align: left;
  cursor: pointer;
  transition: background-color 120ms ease-out;
}

.dashboard-product-link:hover {
  background: var(--admin-hover);
}

.dashboard-product-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--admin-muted);
}

.dashboard-product-icon svg {
  width: 19px;
  height: 19px;
}

.dashboard-product-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1px;
}

.dashboard-product-copy b {
  overflow: hidden;
  color: var(--admin-ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-product-copy span {
  color: var(--admin-muted);
  font-size: 12px;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
}

.dashboard-product-chevron {
  width: 16px;
  height: 16px;
  color: var(--admin-muted);
  opacity: .72;
}

.dashboard-product-link:hover .dashboard-product-chevron {
  color: var(--admin-ink);
  opacity: 1;
}

.dashboard-products-status {
  display: flex;
  align-items: center;
  min-height: 64px;
  gap: 10px;
  margin: 0;
  padding: 12px 0;
  border-block: 1px solid var(--admin-line);
  color: var(--admin-muted);
  font-size: 14px;
}

.dashboard-products-status button {
  flex: 0 0 auto;
  min-height: 32px;
  margin-left: auto;
  padding: 4px 10px;
  border: 1px solid var(--admin-line);
  border-radius: 6px;
  background: transparent;
  color: var(--admin-muted);
  font: inherit;
  font-weight: 550;
  cursor: pointer;
}

.dashboard-products-status button:hover {
  border-color: var(--control-border);
  color: var(--admin-ink);
}

.dashboard-products-error {
  color: var(--admin-danger);
}

@media (max-width: 1180px) {
  .dashboard-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dashboard-product-grid li:nth-child(4n+2),.dashboard-product-grid li:nth-child(4n+3),.dashboard-product-grid li:nth-child(4n+4) { border-left: 0; }
  .dashboard-product-grid li:nth-child(3n+2),.dashboard-product-grid li:nth-child(3n+3) { border-left: 1px solid var(--admin-line); }
}

@media (max-width: 820px) {
  .dashboard-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-product-grid li:nth-child(3n+2),.dashboard-product-grid li:nth-child(3n+3) { border-left: 0; }
  .dashboard-product-grid li:nth-child(2n) { border-left: 1px solid var(--admin-line); }
}

@media (max-width: 520px) {
  .dashboard-products-heading { align-items: flex-end; gap: 12px; }
  .dashboard-products-heading p { display: none; }
  .dashboard-product-grid { grid-template-columns: 1fr; }
  .dashboard-product-grid li:nth-child(2n) { border-left: 0; }
}

@media (forced-colors: active) {
  .dashboard-product-link:hover { outline: 1px solid Highlight; outline-offset: -1px; }
}
