/* ==========================================
   License AVC / VBoxPro (UI-REST), approved Graphite mockup 03/10/2026. Loaded after graphite.css and users.css:
   reuses the released Users pieces (us-head, us-person, us-actions, us-modal, us-form, us-toast …) and adds only what a license needs.
   Colours come from --g-* tokens so Dark and Light follow the released palette.
   ========================================== */

.lc-table { min-width: 860px; }
.sd-work.has-panel .lc-table { min-width: 640px; }
.lc-table tr.off td:not(:first-child) { color: var(--g-muted); }
.lc-table .m-cell { display: none; }

/* License key: masked by default, monospace, never wraps mid-segment */
.lc-key { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: 12px; letter-spacing: .2px; color: var(--g-text-2); white-space: nowrap; }
.lc-key.full { color: var(--g-text); }

/* Usage meter: devices (AVC) or slots (VBoxPro) */
.lc-use { display: grid; gap: 4px; min-width: 92px; font-size: 12.5px; font-variant-numeric: tabular-nums; color: var(--g-text-2); }
.lc-use b { font-weight: 550; color: var(--g-text); }
.lc-bar { position: relative; height: 4px; border-radius: 2px; background: var(--g-hover); overflow: hidden; }
.lc-bar i { position: absolute; inset: 0 auto 0 0; border-radius: 2px; background: var(--g-text-2); }
.lc-use.full .lc-bar i { background: var(--g-warn); }
.lc-use.full { color: var(--g-warn); }
.lc-use.full b { color: var(--g-warn); }
.lc-use.zero .lc-bar i { width: 0 !important; }

/* Status + expiry */
.lc-exp { display: block; }
.lc-exp small { display: block; font-size: 11.5px; color: var(--g-muted); }
.lc-exp.bad, .lc-exp.bad small { color: var(--g-bad); }
.lc-exp.warn small { color: var(--g-warn); }
.sd-status.warn { color: var(--g-warn); } .sd-status.warn i { background: var(--g-warn); }
.sd-status.bad { color: var(--g-bad); } .sd-status.bad i { background: var(--g-bad); }

/* Panel */
.lc-keybox { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 6px; margin-top: 12px; padding: 9px 10px; border: 1px solid var(--g-line); border-radius: 9px; background: var(--us-skin); }
.lc-keybox .lc-key { flex: 1 1 100%; min-width: 0; overflow-wrap: anywhere; white-space: normal; font-size: 13px; }
.lc-result .lc-keybox .lc-key { flex: 1 1 auto; }
.lc-keybox .g-btn { flex: none; height: 28px; padding: 0 9px; font-size: 12px; white-space: nowrap; }
.lc-hw { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: 11.5px; overflow-wrap: anywhere; }
.us-panel .sd-facts dd { text-align: right; overflow-wrap: anywhere; }
.us-panel .sd-facts dd small { display: block; font-size: 11.5px; color: var(--g-muted); }
.lc-notes { margin: 4px 0 0; padding: 9px 10px; border: 1px solid var(--g-line-soft); border-radius: 8px; font-size: 12.5px; line-height: 1.5; color: var(--g-text-2); white-space: pre-wrap; overflow-wrap: anywhere; }
.lc-notes.none { color: var(--g-muted); font-style: italic; }

/* Dialog pieces */
.lc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.lc-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lc-grid > label { align-content: start; }
.lc-table .c-seen small { max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.us-modal select.us-input { padding-right: 4px; }
textarea.us-input { height: auto; min-height: 64px; padding: 8px 9px; resize: vertical; line-height: 1.45; }
.lc-result { display: grid; gap: 10px; }
.lc-result .lc-keybox { margin: 0; }
.lc-result .lc-key { font-size: 14px; }

@media (max-width: 1150px) {
    .lc-table .opt-lg { display: none; }
    .lc-table, .sd-work.has-panel .lc-table { min-width: 620px; }
}
@media (max-width: 720px) {
    .lc-table, .sd-work.has-panel .lc-table { min-width: 0; }
    .lc-table td.m-line { padding-left: 43px; }
    .lc-table td.m-line > * + *::before { content: "·"; margin: 0 7px; color: var(--g-muted); }
    .lc-table td.m-line .sd-status { font-size: 12px; }
    .lc-grid, .lc-grid.two { grid-template-columns: 1fr 1fr; }
    .lc-keybox { flex-wrap: wrap; }
}
