:root{--ink:#20262e;--muted:#6a747f;--line:#e2e6e9;--bg:#f6f7f9;--brand:#167367;--green:#167347;--side:#fff}
.license-filters.unified-search{gap:0;flex-wrap:nowrap;border:1px solid #cbd3dd;border-radius:6px;background:#fff;overflow:hidden}
.unified-search input[type=search]{width:300px;min-width:0;min-height:38px;border:0;border-radius:0;padding:9px 12px;outline:none}
.unified-search button{min-height:38px;border:0;border-left:1px solid var(--line);border-radius:0;padding:9px 16px;background:#fff}
.unified-search button:hover{background:#f1f6f3}.unified-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 2px #16736715}
.license-toolbar>.button-anchor{min-height:40px}.license-active-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.license-active-filters a{text-decoration:none;padding:5px 9px}.license-active-filters a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media(max-width:600px){.license-toolbar .unified-search{flex:1;max-width:100%}.unified-search input[type=search]{width:100%;flex:1}}
[hidden]{display:none!important}
.license-workspace{min-height:calc(100vh - 120px)}
.license-metrics{margin-bottom:22px}.license-metrics .metric strong{font-variant-numeric:tabular-nums}
.license-list{min-width:0}.license-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.license-toolbar .head{margin:0;margin-right:auto}.license-filters{display:flex;gap:8px;align-items:center;margin:0;flex-wrap:wrap}
.license-filters input{width:220px}.button-anchor{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border-radius:5px;padding:7px 14px;text-decoration:none;font-weight:600;white-space:nowrap}
.license-table{margin-top:0}.license-table table{min-width:1480px;table-layout:fixed}.license-table th,.license-table td{padding:12px 10px;vertical-align:middle;white-space:nowrap}
.license-table th:nth-child(1){width:4%}.license-table th:nth-child(2){width:10%}.license-table th:nth-child(3){width:15%}.license-table th:nth-child(4){width:20%}.license-table th:nth-child(5){width:7%}.license-table th:nth-child(6){width:12%}.license-table th:nth-child(7){width:9%}.license-table th:nth-child(8){width:12%}.license-table th:nth-child(9){width:5%}.license-table th:nth-child(10){width:6%}
.license-table td.customer-cell{overflow:hidden;text-overflow:ellipsis}.license-table .code{font-size:12px}.license-table tr.is-selected{background:#eaf5f1}.license-table tr.is-selected td:first-child{box-shadow:inset 3px 0 #167367}
.text-action{color:var(--brand);font-weight:600;text-decoration:none}.text-action:hover{text-decoration:underline}
.badge.expiring{background:#fff3ce;color:#876008}.badge.expired{background:#f2ece9;color:#986452}
.pagination{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.pagination>div{display:flex;align-items:center;gap:12px}.pagination a{color:var(--ink);text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:5px;padding:6px 10px}
.license-drawer{position:fixed;right:0;top:0;bottom:0;width:420px;background:#fff;border-left:1px solid var(--line);box-shadow:-4px 0 16px #20262e08;z-index:10;overflow:auto;padding:24px;scroll-behavior:smooth;scroll-padding-top:16px}
.drawer-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.drawer-heading h2{font-size:21px}.drawer-close{font-size:13px;color:var(--muted)}
.drawer-identity h3{font-size:23px;margin:0;overflow-wrap:anywhere}.drawer-identity>div:first-child{display:flex;align-items:center;gap:14px}.drawer-identity>p{margin-top:16px}
.copy-code{display:flex;gap:8px;align-items:center;margin-top:6px}.copy-code code{font-size:17px;overflow-wrap:anywhere;min-width:0}.copy-code button{font-size:12px;flex-shrink:0}.copy-code+p{min-height:18px;margin-top:4px}
.detail-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);padding:4px 0 12px}.detail-tabs a{font-size:14px;color:var(--brand);text-decoration:none;font-weight:600}
.drawer-section{padding:24px 0;border-bottom:1px solid var(--line);scroll-margin-top:12px}.drawer-section h3{font-size:15px;margin:0 0 18px}.drawer-section>button{margin-top:4px}
.drawer-field{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#59636d;margin-bottom:16px;min-width:0}.drawer-field input,.drawer-field textarea{width:100%;min-width:0;color:var(--ink);font-size:14px}.drawer-field input[type=datetime-local]{font-size:12px;padding:7px 5px}
.expiry-presets{border:0;padding:0;margin:0 0 16px}.expiry-presets legend{font-size:13px;color:#59636d;margin-bottom:8px}.preset-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.preset-options button{min-width:0;background:#f7f9f9;color:#42504d}.preset-options button.is-selected{background:#e4f3ee;border-color:#6eafa3;color:#0f6558;font-weight:650}
.sale-create{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.sale-create h3{font-size:15px;margin:0 0 12px}.sale-create>p{margin-top:-6px}
.sale-manual{grid-template-columns:1.25fr 1fr 1fr 110px 1fr auto}.sales-table .sale-row-form{display:grid;grid-template-columns:110px minmax(130px,1fr) auto;gap:6px}.sales-table td:last-child form{margin:0}@media(max-width:1100px){.sale-manual{grid-template-columns:1fr 1fr 1fr}.sale-manual button{width:max-content}}@media(max-width:700px){.sale-manual{grid-template-columns:1fr}.sales-table .sale-row-form{grid-template-columns:1fr}.sales-table .sale-row-form button{width:100%}}
.field-pair{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.drawer-device{padding:14px 0;border-bottom:1px dashed var(--line)}.drawer-device:last-child{border-bottom:0;padding-bottom:0}.drawer-device>div{display:flex;justify-content:space-between;gap:8px}.drawer-device strong{font-size:14px;overflow-wrap:anywhere}.drawer-device span{font-size:12px}.drawer-device code,.device-sale>code{display:block;font-size:12px;overflow-wrap:anywhere;margin:8px 0;color:var(--muted);line-height:1.6}.drawer-device p{margin-bottom:8px}.drawer-device form{margin:0}.quiet-button{color:var(--brand);font-size:12px}
.device-sale{padding:0 0 16px;margin:0 0 16px;border-bottom:1px dashed var(--line)}.device-sale:last-child{border:0;margin:0;padding:0}.device-sale button{font-size:12px}.drawer-footer{padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.drawer-footer form{margin:0}.drawer-footer button{font-size:13px}
.empty-state{text-align:center;padding:36px 14px!important;color:var(--muted);white-space:normal!important}.drawer-section .empty-state{font-size:13px;padding:14px 0!important}
.license-drawer .drawer-heading{margin-bottom:20px}.license-drawer .drawer-section{padding:18px 0}.license-drawer .drawer-section h3{margin-bottom:12px}.license-drawer .drawer-field{margin-bottom:12px}.license-drawer #basic>h3{display:none}.detail-tabs a:focus,.detail-tabs a:hover{color:#10594f;text-decoration:underline;text-underline-offset:12px}
.license-table table{font-size:14px}.license-table .code{font-size:13px}.license-table th{font-size:13px}
@media(max-width:1399px){body:has(.has-drawer){overflow:hidden}}
@media(min-width:1400px){.license-workspace.has-drawer{margin-right:420px}.license-drawer{width:420px}.has-drawer .license-filters input{width:180px}}
@media(max-width:600px){.license-toolbar{gap:12px}.license-toolbar .head{width:100%}.license-filters{width:100%}.license-filters input{flex:1;min-width:120px;width:auto}.license-drawer{width:100%;padding:20px}.copy-code code{font-size:16px}.detail-tabs{gap:18px}}
body{font-family:system-ui,"Microsoft YaHei",sans-serif;letter-spacing:0}
.layout{grid-template-columns:192px minmax(0,1fr)}
.side{background:#fff;color:var(--ink);border-right:1px solid var(--line)}
.brand{padding:26px 22px;border-bottom:1px solid var(--line);font-size:19px}
.brand span{margin-top:4px;color:var(--muted);font-size:12px}
.nav{padding:22px 12px;gap:5px}
.nav a{color:#59636d;padding:11px 14px;font-weight:500;border-left:3px solid transparent}
.nav a:hover{background:#f1f4f5;color:#20262e}
.nav a.active{background:#e8f3ef;color:#126457;border-left-color:#167367;font-weight:650}
.logout button{background:#fff;color:#59636d;border-color:var(--line)}
.main{padding:28px 32px;max-width:1800px;width:100%;margin:0 auto}
.head{margin-bottom:24px}.head h1{font-size:24px;font-weight:700}.head p{margin-top:5px;font-size:13px}
.panel{border:0;border-radius:0;background:transparent;padding:22px 0;margin:0;border-top:1px solid var(--line)}
.panel h2{font-size:16px;font-weight:650}
.grid{gap:12px;align-items:end;margin-top:18px}
.create{grid-template-columns:minmax(140px,1fr) 120px minmax(160px,1.4fr) auto}
.license-create{grid-template-columns:minmax(140px,1fr) 110px 110px minmax(160px,1.4fr) auto}
.grid>.primary{width:auto;min-width:118px;align-self:end}
.field{min-width:0}.field label{font-size:13px;font-weight:500;margin-bottom:7px}
input,select,textarea,button{min-height:36px;border-radius:5px;color:var(--ink);border-color:#cfd6db;padding:7px 10px}
button{font-weight:500;white-space:nowrap}button:hover{background:#f0f4f3;border-color:#9daea8}
.primary{background:var(--brand);border-color:var(--brand);color:#fff}.primary:hover{background:#115d54;color:#fff}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid #71b5a8;outline-offset:2px}
.table{margin-top:16px;border:1px solid var(--line);border-radius:5px;background:#fff}
table{font-size:13px;min-width:980px}th{padding:12px 14px;background:#f0f3f5;font-size:12px;font-weight:600;color:#59636d;white-space:nowrap}
td{padding:14px;vertical-align:top;border-bottom:1px solid #e9edef}
tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfd}
td>form{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0}
td>form label{display:flex;align-items:center;gap:7px;white-space:nowrap}
td input[type="datetime-local"]{max-width:190px;font-size:12px}
td input[type="number"]{max-width:126px}td button{font-size:12px;min-height:32px;padding:5px 9px}
.code{font-family:Consolas,monospace;font-size:12px;font-weight:500;overflow-wrap:anywhere;line-height:1.7}
.badge{display:inline-block;padding:3px 8px;border-radius:4px;background:#edf6ef;color:#246c40;font-size:12px;white-space:nowrap}
.badge.revoked{background:#fcefed;color:#aa3e36}
.device{background:transparent;border:0;border-top:1px dashed #e0e5e8;border-radius:0;padding:9px 0 0;margin-top:9px;min-width:230px;max-width:330px}
.device .code{display:block}.device .muted{margin:3px 0 6px}.muted{line-height:1.7}
.device form{margin:0}.device button{background:#f7f9fa;color:#53616a;border-color:#dce2e5}
.offline{color:#828b93}.online{color:#167347}.danger{color:#b13e35;border-color:#ebd6d3;background:#fff}
.actions{gap:6px;min-width:96px}.actions button{min-height:32px}
.metrics{gap:0;border:1px solid var(--line);background:#fff;border-radius:5px;margin-bottom:24px}
.metric{border:0;border-right:1px solid var(--line);border-radius:0;padding:18px 22px;background:transparent}.metric:last-child{border:0}
.metric span{font-size:13px}.metric strong{font-size:28px;font-weight:650;margin-top:6px;font-variant-numeric:tabular-nums}
.notice{border-color:#bddfd4;background:#edf8f3;color:#246250}.notice.error{background:#fff0ee;color:#a3362c}
@media(max-width:560px){.license-create .field:last-of-type{grid-column:1/-1}}
@media(max-width:1200px){.main{padding:24px}.license-create{grid-template-columns:minmax(120px,1fr) 100px 100px}.license-create .field:last-of-type{grid-column:1/3}.license-create>.primary{grid-column:3}.updates{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.layout{grid-template-columns:1fr}.side{height:auto;position:static;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:16px 20px}.nav{display:flex;flex-wrap:wrap;padding:8px 12px;gap:4px}.nav a{padding:8px 12px}.logout{display:block;padding:0 20px 12px}.logout button{width:auto}.metrics{grid-template-columns:1fr 1fr}.metric{border-bottom:1px solid var(--line)}.create{grid-template-columns:1fr 1fr}.license-create .field:last-of-type,.license-create>.primary{grid-column:auto}}
@media(max-width:560px){.main{padding:20px 14px}.create,.updates{grid-template-columns:1fr 1fr}.create .field:first-of-type{grid-column:1/-1}.grid>.primary{grid-column:1/-1}.head h1{font-size:22px}.metric{padding:14px}.metric strong{font-size:24px}.table{max-width:100%}}

.long-offline{display:inline-block;margin-top:4px;padding:2px 6px;background:#fff4df;color:#925b10;border-radius:4px}.long-offline[hidden]{display:none}

.customer-identity{display:flex;align-items:center;gap:6px;flex-wrap:wrap;white-space:normal}.customer-name{min-width:0;overflow-wrap:anywhere}.customer-identity .long-offline{margin-top:0;white-space:nowrap;flex-shrink:0}.license-table .sequence-cell{color:#697586}.license-table td:nth-child(4) .code{white-space:normal;overflow-wrap:anywhere;line-height:1.5}

.customer-tag{display:inline-block;padding:2px 6px;border-radius:4px;background:#e7f2ef;color:#176858;white-space:nowrap}.customer-tags{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.customer-tags .long-offline{margin-top:0}

.license-table .tags-cell{white-space:normal}.license-table .tags-cell .customer-tags{margin:0;min-height:24px;align-items:center}

.brand{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:22px 12px 22px 20px}.brand-copy{min-width:0}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:32px;min-height:32px;padding:0;font-size:24px;line-height:1;background:transparent;border-color:transparent}.sidebar-toggle:hover{background:#e7f2ef;border-color:#c6ded7}.sidebar-toggle:focus-visible{outline:2px solid #167367;outline-offset:2px}.layout.sidebar-collapsed{grid-template-columns:48px minmax(0,1fr)}.sidebar-collapsed .brand{padding:22px 8px;justify-content:center}.sidebar-collapsed .brand-copy{display:none}.side .nav[hidden],.side .logout[hidden]{display:none}
@media(max-width:900px){.layout.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.sidebar-collapsed .brand{padding:8px 12px;justify-content:flex-start}}
.license-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:560px){.license-metrics{grid-template-columns:1fr}}
.license-metrics.overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}
.overview-metrics .overview-card{padding:18px;min-height:192px;display:flex;flex-direction:column;gap:4px}
.overview-heading{font-size:13px;color:var(--muted);text-decoration:none;padding:0 8px 6px;font-weight:500}
.overview-heading:hover{color:var(--brand)}
.overview-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border-radius:5px;text-decoration:none;color:var(--ink);transition:background .15s}
.overview-link:hover{background:#f0f5f3}.overview-link.is-active{background:#e8f3ef;box-shadow:inset 2px 0 var(--brand)}
.overview-link:focus-visible,.overview-heading:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.overview-link span{font-size:13px;color:var(--ink)}.overview-link strong{font-size:20px!important;line-height:1.3;margin:0!important}
.overview-link.overview-large{flex:1;align-items:flex-start;justify-content:flex-start;flex-direction:column;padding:0 8px 8px;gap:12px}
.overview-large span{color:var(--muted)}.overview-large strong{font-size:32px!important}.overview-link small,.overview-caption{color:var(--muted);font-size:11px;line-height:1.6;font-weight:400}
.overview-large small{margin-top:auto}.overview-caption{padding:4px 8px 0;margin-top:auto}


.license-table .overview-detail-row td{padding:10px;background:#f8faf9;white-space:normal}
.overview-details{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;font-size:12px;color:var(--muted)}
.overview-device{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:4px 0}.overview-device strong{color:var(--ink)}.overview-device code{font-size:12px}
@media(max-width:1100px){.license-metrics.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-metrics .overview-card:nth-child(2){border-right:0}.overview-metrics .overview-card:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:560px){.license-metrics.overview-metrics{grid-template-columns:1fr}.overview-metrics .overview-card{border-right:0;border-bottom:1px solid var(--line);min-height:170px}.overview-metrics .overview-card:last-child{border-bottom:0}}

/* Update publishing: large editors and readable release notes. */
.updates-workspace{max-width:1120px;margin:0 auto}
.updates-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.updates-heading h1{font-size:28px;letter-spacing:-.4px}.updates-heading p{margin-top:7px;line-height:1.7}
.updates-count{color:var(--muted);font-size:13px;white-space:nowrap}
.update-card{margin:0 0 20px;padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}
.update-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}
.update-card h2,.manual-release summary strong{font-size:18px;font-weight:650;line-height:1.5}
.update-card-heading p{margin-top:6px;line-height:1.7;color:var(--muted);font-size:13px}
.update-tag{display:inline-block;border:1px solid #d9e4e0;border-radius:5px;background:#f4f8f6;color:#49665c;padding:4px 8px;font-size:12px;white-space:nowrap;font-weight:500}
.release-upload{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.upload-field{min-width:0;background:#f8faf9;border:1px solid var(--line);border-radius:8px;padding:18px}
.upload-field label{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;font-size:14px}
.upload-field label span{color:var(--muted);font-size:12px;font-weight:500}
.upload-field input[type=file]{display:block;width:100%;min-width:0;padding:8px;font-size:13px;background:#fff;min-height:48px}
.upload-field input::file-selector-button{border:1px solid #cfdad5;background:#f1f6f3;color:#274e42;border-radius:5px;padding:7px 12px;margin-right:10px;cursor:pointer;font:inherit}
.file-status{color:var(--muted);margin-top:10px;line-height:1.6;font-size:12px;overflow-wrap:anywhere}
.update-form-footer{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:18px;border-top:1px solid var(--line)}
.update-form-footer p{margin:0;font-size:13px}.update-form-footer button{padding:10px 22px;min-height:42px;border-radius:7px;font-size:14px;font-weight:600;flex-shrink:0}.update-form-footer button:disabled{opacity:.65;cursor:wait}
.manual-release>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;position:relative;padding-right:30px}
.manual-release>summary::-webkit-details-marker{display:none}.manual-release>summary:after{content:'收起';position:absolute;right:0;font-size:12px;color:var(--muted)}.manual-release:not([open])>summary:after{content:'展开'}
.summary-description{display:block;margin-top:5px;color:var(--muted);font-size:13px;font-weight:400}
.manual-update-form{display:grid;gap:20px;margin-top:24px}.update-meta-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.manual-update-form .field label{font-size:14px;font-weight:600;margin-bottom:9px;color:var(--ink)}
.manual-update-form input,.manual-update-form select,.manual-update-form textarea{width:100%;font-size:14px;line-height:1.7;min-height:44px;padding:10px 12px;border-radius:7px;background:#fff}
.manual-update-form textarea{display:block;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;min-height:100px}
.manual-update-form .notes-editor textarea{min-height:196px;font-size:15px;line-height:1.9}
.editor-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-label .muted{font-variant-numeric:tabular-nums;font-size:12px;flex-shrink:0}
.notes-editor>p{margin-top:9px;font-size:12px}
.published-updates{margin-top:0;overflow:visible;border-radius:8px}
.published-updates table{width:100%;min-width:0;table-layout:fixed;font-size:13px}
.published-updates th:nth-child(1){width:82px}.published-updates th:nth-child(2){width:140px}.published-updates th:nth-child(3){width:112px}.published-updates th:nth-child(5){width:78px}
.published-updates th,.published-updates td{padding:16px 12px;white-space:normal;overflow-wrap:anywhere;line-height:1.8}
.published-updates .update-notes-text{white-space:pre-wrap;color:#39434d;font-size:14px}
.updates-empty{text-align:center;padding:36px 20px;background:#f8faf9;border:1px dashed #d7dfdb;border-radius:8px;color:var(--muted)}.updates-empty strong{color:var(--ink);font-size:15px}.updates-empty p{margin-top:7px;font-size:13px}
@media(max-width:1100px){.update-card-heading{flex-wrap:wrap}.published-updates th:nth-child(2){width:115px}.published-updates th:nth-child(3){width:100px}}
@media(max-width:640px){.updates-heading{align-items:flex-start;gap:12px}.updates-heading h1{font-size:24px}.updates-count{margin-top:6px;font-size:12px}.update-card{padding:18px;margin-bottom:16px}.release-upload,.update-meta-fields{grid-template-columns:minmax(0,1fr)}.update-form-footer{flex-direction:column;align-items:stretch;gap:12px}.update-form-footer button{width:100%}.upload-field{padding:14px}.published-updates table,.published-updates tbody{display:block}.published-updates thead{display:none}.published-updates tr{display:grid;grid-template-columns:1fr 1fr;padding:14px;border-bottom:1px solid var(--line);gap:12px}.published-updates tr:last-child{border-bottom:0}.published-updates td{display:block;border:0;padding:0;line-height:1.7}.published-updates td:before{content:attr(data-label);display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.published-updates td.update-notes-text{grid-column:1/-1}.published-updates td:last-child{grid-column:1/-1}.manual-release summary{padding-right:36px}}

.publication-field{grid-column:1 / -1}

.license-renew-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}

/* Customer classification: editable tags and exact tag filtering. */
.license-filter-hint{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:-4px 0 14px;color:var(--muted);font-size:12px;line-height:1.7}.license-filter-hint a{white-space:nowrap}.customer-tag-link{text-decoration:none;border:1px solid transparent}.customer-tag-link:hover{border-color:#8db9ad;background:#dcece6}.customer-tag-link:focus-visible{outline:2px solid #167367;outline-offset:2px}.customer-tag-editor{margin-bottom:18px}.customer-tag-editor .drawer-field{margin-bottom:7px}.tag-editor-hint{color:var(--muted);font-size:12px;line-height:1.8}.tag-editor-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.tag-chip{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:4px 9px;border:1px solid #c6dfd5;background:#edf5f2;color:#176858;font-size:12px;white-space:normal;overflow-wrap:anywhere}.tag-chip span{font-size:16px;line-height:1;color:#617d73}.tag-suggestions{margin-top:12px}.tag-suggestions summary{font-size:12px;color:var(--muted);cursor:pointer}.tag-suggestions>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.tag-choice{min-height:30px;padding:4px 8px;font-size:12px;background:#fff;color:#5d6b66;border-color:#d8e2dd}.tag-choice[aria-pressed=true]{background:#e8f3ef;color:#126457;border-color:#83b3a3}.tag-editor-status{color:var(--muted);font-size:12px;line-height:1.7;margin-top:7px}.tag-editor-status:empty{display:none}@media(max-width:600px){.license-filter-hint{align-items:flex-start}.license-filters select{flex:1;min-width:0}}
.license-filters.unified-search{overflow:visible;position:relative}.unified-search>input[type=search]{border-radius:6px 0 0 6px}.license-date-filter{position:relative}.license-date-filter summary{display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;min-height:38px;padding:9px 13px;border-left:1px solid var(--line);font-size:13px;white-space:nowrap;background:#f9fbfa;border-radius:0 6px 6px 0}.license-date-filter summary::-webkit-details-marker{display:none}.license-date-filter[open] summary{background:#e7f2ef;color:var(--brand)}.license-date-filter summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.license-date-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:20;width:370px;max-width:calc(100vw - 48px);padding:20px;background:#fff;border:1px solid #d6e1dc;border-radius:8px;box-shadow:0 12px 36px #182f241f}.license-date-panel label{display:block;font-size:13px;font-weight:600;margin:0}.license-date-panel select,.license-date-panel input{width:100%;min-width:0;min-height:40px;margin:8px 0 0;padding:8px 10px;border:1px solid #cbd3dd;border-radius:5px;background:#fff;font-size:13px}.license-date-range{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 14px}.license-date-shortcuts{display:flex;gap:8px}.license-date-panel button{min-height:38px;padding:8px 12px;border:1px solid #d2ddd7;border-radius:5px;font-size:12px;background:#fff}.license-date-panel button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.license-date-panel p{font-size:12px;margin:14px 0;line-height:1.7}.license-date-panel footer{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:14px}.license-date-error{color:#a3362c}.license-date-filter:has(input[value]:not([value=""])) summary{color:var(--brand)}
@media(max-width:1200px){.license-toolbar .unified-search input[type=search]{width:215px}}
@media(max-width:600px){.license-toolbar .unified-search input[type=search]{width:0}.license-date-filter summary{padding:9px 10px}.license-date-panel{right:0;width:330px;max-width:calc(100vw - 34px)}}

/* Custom customer tag controls. */
.tag-editor-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font-size:13px}.tag-editor-heading>span{font-size:12px;color:var(--muted)}.tag-entry{display:flex;align-items:center;gap:8px}.tag-entry input{min-width:0;flex:1;margin:0;min-height:40px}.tag-entry button{min-height:40px;white-space:nowrap;background:#eef5f2;border-color:#b9cec5;color:var(--brand);font-size:12px;font-weight:600;padding:8px 12px}.tag-entry input[aria-invalid=true]{border-color:#b9534b}.tag-editor-chips:empty{display:none}.tag-empty{color:var(--muted);font-size:12px}.tag-chip:hover{background:#dfeee8;border-color:#8db9ad}.tag-chip:focus-visible,.tag-choice:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.tag-suggestions>div{max-height:112px;overflow:auto;padding:2px}.tag-editor-status.is-error{color:#a54740}.expiry-presets .preset-options{grid-template-columns:repeat(3,minmax(0,1fr))}
