/* ============================================================
   TrainingDeck — Page & component styles.
   Panels, tables, forms, dashboard, reports, calendar,
   drawers, comp-cards, staff/profile, settings, imports...
   App-shell / cockpit chrome lives in tdeck-shell.css.
   ============================================================ */
* {
    box-sizing: border-box;
}

html {
    margin-top: 0 !important;
}

#wpadminbar {
    display: none !important;
}

.tdeck-kicker {
    font-size: var(--tdeck-font-size-xs);
    font-weight: var(--tdeck-font-weight-medium);
    color: var(--tdeck-brand-accent);
    text-transform: uppercase;
    letter-spacing: .08em;
}

.tdeck-notice {
    background: var(--tdeck-success-background);
    border: 1px solid var(--tdeck-success-text);
    color: var(--tdeck-success-text);
    padding: var(--tdeck-space-3) var(--tdeck-space-4);
    border-radius: var(--tdeck-border-radius-lg);
    margin: 0 0 var(--tdeck-space-4);
}

.tdeck-notice-error {
    background: var(--tdeck-danger-background);
    border-color: var(--tdeck-danger-text);
    color: var(--tdeck-danger-text);
}

.tdeck-panel,
.tdeck-workflow-hero,
.tdeck-ops-calendar {
    background: var(--tdeck-ui-surface);
    border: 1px solid var(--tdeck-ui-border);
    border-radius: var(--tdeck-border-radius-xl);
    padding: var(--tdeck-space-5);
    margin-bottom: var(--tdeck-space-4);
    box-shadow: var(--tdeck-shadow-sm);
    color: var(--tdeck-ui-primary-text);
}
.tdeck-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--tdeck-space-4);
    margin-bottom: var(--tdeck-space-5);
    padding-bottom: var(--tdeck-space-4);
    border-bottom: 1px solid var(--tdeck-ui-border);
}

.tdeck-panel h2, .tdeck-panel-head h2, .tdeck-ops-calendar h2 {
    margin: 0;
    font-size: var(--tdeck-font-size-lg);
    font-weight: var(--tdeck-font-weight-semibold);
    letter-spacing: -0.02em;
}

/* ------------------------------ */
/* Theme Lab font slots
/* Per-role typography, themeable from Settings → Theme Lab. Slots default to
/* the base body stack, so this is a no-op until a tenant picks a curated stack.
/* ------------------------------ */
h1, h2, h3,
.tdeck-page-title {
    font-family: var(--tdeck-font-header);
}
h4, h5, h6,
.tdeck-kicker {
    font-family: var(--tdeck-font-subheader);
}
.tdeck-link-button,
.tdeck-form-actions button,
.tdeck-inline-form button,
.tdeck-button-secondary,
.tdeck-mini-button,
.tdeck-template-card a,
.tdeck-panel-head > button[data-tdeck-open-drawer] {
    font-family: var(--tdeck-font-button);
}

.tdeck-muted {
    margin: var(--tdeck-space-1) 0 0;
    color: var(--tdeck-ui-secondary-text);
    font-size: var(--tdeck-font-size-sm);
}


/* Primary and default buttons (.tdeck-button-secondary shares the base and
   is re-skinned by the secondary rules further down) */
.tdeck-workflow-actions a,
.tdeck-link-button,
.tdeck-form-actions button,
.tdeck-inline-form button,
.tdeck-button-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: var(--tdeck-border-radius-md);
    background: var(--tdeck-brand-accent);
    color: var(--tdeck-brand-contrast);
    padding: var(--tdeck-space-2) var(--tdeck-space-4);
    font-weight: var(--tdeck-font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    font-size: var(--tdeck-font-size-sm);
    transition: all var(--tdeck-transition-duration) var(--tdeck-transition-timing);
}

.tdeck-workflow-actions a:hover,
.tdeck-link-button:hover,
.tdeck-form-actions button:hover,
.tdeck-inline-form button:hover {
    background-color: var(--tdeck-ui-primary-text);
    color: var(--tdeck-brand-contrast);
}

/* Secondary buttons */
.tdeck-button-secondary {
    background: var(--tdeck-ui-surface);
    color: var(--tdeck-ui-primary-text);
    border: 1px solid var(--tdeck-ui-border);
}

.tdeck-button-secondary:hover {
    background: var(--tdeck-ui-background);
    border-color: var(--tdeck-ui-border);
}

/* Mini (tertiary) buttons */
.tdeck-mini-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--tdeck-space-1);
    background: transparent;
    color: var(--tdeck-ui-secondary-text);
    border: 1px solid transparent;
    padding: var(--tdeck-space-2) var(--tdeck-space-3);
    font-size: var(--tdeck-font-size-sm);
    font-weight: var(--tdeck-font-weight-medium);
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}

.tdeck-mini-button:hover {
    background: var(--tdeck-ui-background);
    color: var(--tdeck-ui-primary-text);
}
.tdeck-metric-board {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: var(--tdeck-space-4);
}

.tdeck-card, .tdeck-metric-card {
    display: block;
    text-decoration: none;
    background: var(--tdeck-ui-surface);
    border: 1px solid var(--tdeck-ui-border);
    border-radius: var(--tdeck-border-radius-lg);
    padding: var(--tdeck-space-4);
    box-shadow: var(--tdeck-shadow-sm);
    color: var(--tdeck-ui-primary-text);
    transition: all var(--tdeck-transition-duration) var(--tdeck-transition-timing);
}

.tdeck-card:hover, .tdeck-metric-card:hover {
    border-color: var(--tdeck-brand-accent);
    box-shadow: var(--tdeck-shadow-md);
}

.tdeck-card span, .tdeck-metric-card span {
    display: block;
    color: var(--tdeck-ui-secondary-text);
    font-size: var(--tdeck-font-size-sm);
    font-weight: var(--tdeck-font-weight-medium);
}

.tdeck-card strong, .tdeck-metric-card strong {
    display: block;
    font-size: var(--tdeck-font-size-3xl);
    margin-top: var(--tdeck-space-2);
    font-weight: var(--tdeck-font-weight-bold);
    letter-spacing: -0.04em;
}

.tdeck-metric-card em {
    display: block;
    font-size: var(--tdeck-font-size-sm);
    font-style: normal;
    color: var(--tdeck-ui-secondary-text);
    margin-top: var(--tdeck-space-1);
}

.tdeck-card.danger strong, .tdeck-metric-card.danger strong {
    color: var(--tdeck-danger-text);
}

.tdeck-card.warn strong, .tdeck-metric-card.warn strong {
    color: var(--tdeck-warning-text);
}
.tdeck-form {
    display: grid;
    grid-template-columns: repeat(3,minmax(180px,1fr));
    gap: var(--tdeck-space-4);
}

.tdeck-form.one-col {
    grid-template-columns: 1fr;
}

.tdeck-field {
    display: grid;
    gap: var(--tdeck-space-2);
    font-size: var(--tdeck-font-size-sm);
    font-weight: var(--tdeck-font-weight-medium);
    color: var(--tdeck-ui-secondary-text);
}

.tdeck-field input,
.tdeck-field select,
.tdeck-field textarea {
    width: 100%;
    border: 1px solid var(--tdeck-ui-border);
    border-radius: var(--tdeck-border-radius-md);
    padding: var(--tdeck-space-2) var(--tdeck-space-3);
    font: inherit;
    background: var(--tdeck-ui-background);
    color: var(--tdeck-ui-primary-text);
    transition: all var(--tdeck-transition-duration) var(--tdeck-transition-timing);
}

.tdeck-field input:focus,
.tdeck-field select:focus,
.tdeck-field textarea:focus {
    border-color: var(--tdeck-brand-accent);
    box-shadow: 0 0 0 3px var(--tdeck-brand-accent-light);
    outline: none;
}

.tdeck-field textarea {
    min-height: 86px;
    resize: vertical;
}

.tdeck-field em {
    font-style: normal;
    color: var(--tdeck-ui-secondary-text);
    font-size: var(--tdeck-font-size-xs);
}

.tdeck-field-wide {
    grid-column: 1 / -1;
}

.tdeck-check {
    align-self: end;
    background: var(--tdeck-ui-background);
    border: 1px solid var(--tdeck-ui-border);
    border-radius: var(--tdeck-border-radius-lg);
    padding: var(--tdeck-space-3);
    font-size: var(--tdeck-font-size-sm);
    font-weight: var(--tdeck-font-weight-medium);
}

.tdeck-form-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
}
.tdeck-filterbar {
    display: grid;
    grid-template-columns: 1.2fr repeat(3,minmax(150px,.8fr)) auto;
    gap: var(--tdeck-space-3);
    align-items: end;
    margin: 0 0 var(--tdeck-space-4);
}

.tdeck-filterbar input[type=search] {
    border: 1px solid var(--tdeck-ui-border);
    border-radius: var(--tdeck-border-radius-md);
    padding: var(--tdeck-space-2) var(--tdeck-space-3);
    font: inherit;
    background: var(--tdeck-ui-background);
}

.tdeck-filterbar .tdeck-field span {
    display: none;
}

.tdeck-inline-form {
    display: flex;
    align-items: end;
    gap: var(--tdeck-space-3);
    flex-wrap: wrap;
}

.tdeck-inline-actions {
    display: flex;
    gap: var(--tdeck-space-2);
    flex-wrap: wrap;
    justify-content: flex-end;
}
.tdeck-table-wrap {
    width: 100%;
    overflow: auto;
    border-radius: var(--tdeck-border-radius-lg);
    border: 1px solid var(--tdeck-ui-border);
    background: var(--tdeck-ui-surface);
}

.tdeck-table {
    width: 100%;
    border-collapse: collapse;
    min-width: var(--tdeck-table-min);
}

.tdeck-table th {
    background: var(--tdeck-ui-background);
    color: var(--tdeck-ui-secondary-text);
    text-align: left;
    font-size: var(--tdeck-table-th-font-size);
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: var(--tdeck-font-weight-medium);
    white-space: nowrap;
}

.tdeck-table td {
    font-size: var(--tdeck-table-font-size);
    font-variant-numeric: tabular-nums;
}

.tdeck-table th, .tdeck-table td {
    padding: var(--tdeck-table-pad-y) var(--tdeck-table-pad-x);
    border-bottom: 1px solid var(--tdeck-ui-divider);
    vertical-align: middle;
}

/* Cells that must never break mid-string (dates, codes, staff numbers). */
.tdeck-cell-nowrap {
    white-space: nowrap;
}

/* Row-action cells: keep buttons on one line at table density. */
.tdeck-table td:has(> .tdeck-inline-action),
.tdeck-table td:has(> .tdeck-mini-button) {
    white-space: nowrap;
}

.tdeck-table .tdeck-mini-button {
    padding: 5px 10px;
    font-size: var(--tdeck-font-size-xs);
}

/* Opt-in sticky header for tall registers (add to the .tdeck-table-wrap). */
@media (min-width: 681px) {
    .tdeck-tablewrap-sticky {
        max-height: min(72vh, 58rem);
    }
    .tdeck-tablewrap-sticky .tdeck-table thead th {
        position: sticky;
        top: 0;
        z-index: 2;
    }
}

@media print {
    .tdeck-tablewrap-sticky {
        max-height: none !important;
    }
    .tdeck-cell-nowrap,
    .tdeck-table td:has(> .tdeck-inline-action),
    .tdeck-table td:has(> .tdeck-mini-button) {
        white-space: normal !important;
    }
}

.tdeck-table tr:last-child td {
    border-bottom: 0;
}

.tdeck-badge {
    display: inline-flex;
    align-items: center;
    border-radius: var(--tdeck-border-radius-full);
    padding: var(--tdeck-space-1) var(--tdeck-space-3);
    font-size: var(--tdeck-font-size-xs);
    font-weight: var(--tdeck-font-weight-medium);
    background: var(--tdeck-ui-background);
    color: var(--tdeck-ui-secondary-text);
    white-space: nowrap;
}

.tdeck-badge-valid, .tdeck-badge-no_expiry {
    background: var(--tdeck-success-background);
    color: var(--tdeck-success-text);
}

.tdeck-badge-due_90, .tdeck-badge-due_60 {
    background: var(--tdeck-warning-background);
    color: var(--tdeck-warning-text);
}

.tdeck-badge-due_30, .tdeck-badge-expired, .tdeck-badge-missing, .tdeck-badge-missing_evidence {
    background: var(--tdeck-danger-background);
    color: var(--tdeck-danger-text);
}
.tdeck-empty {
    display: grid;
    gap: var(--tdeck-space-1);
    border: 1px dashed var(--tdeck-ui-border);
    border-radius: var(--tdeck-border-radius-lg);
    padding: var(--tdeck-space-4);
    color: var(--tdeck-ui-secondary-text);
    background: var(--tdeck-ui-background);
    text-align: center;
}

.tdeck-empty strong {
    color: var(--tdeck-ui-primary-text);
    font-weight: var(--tdeck-font-weight-semibold);
}

.tdeck-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--tdeck-space-4);
}


.tdeck-ops-calendar .tdeck-muted {
    color: var(--tdeck-ui-secondary-text);
}

.tdeck-calendar-legend {
    display: flex;
    gap: var(--tdeck-space-2);
    flex-wrap: wrap;
}

.tdeck-calendar-legend span {
    font-size: var(--tdeck-font-size-xs);
    font-weight: var(--tdeck-font-weight-medium);
    padding: var(--tdeck-space-1) var(--tdeck-space-2);
    border-radius: var(--tdeck-border-radius-full);
    background: var(--tdeck-ui-background);
}

.tdeck-calendar-legend .blue {
    color: var(--tdeck-brand-accent);
}

.tdeck-calendar-legend .orange {
    color: var(--tdeck-warning-text);
}

.tdeck-calendar-legend .red {
    color: var(--tdeck-danger-text);
}

.tdeck-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7,1fr);
    gap: var(--tdeck-space-2);
    margin-bottom: var(--tdeck-space-3);
}

.tdeck-calendar-dow {
    font-size: var(--tdeck-font-size-xs);
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--tdeck-ui-secondary-text);
    text-align: center;
    font-weight: var(--tdeck-font-weight-medium);
}

.tdeck-calendar-day {
    min-height: 54px;
    border: 1px solid var(--tdeck-ui-border);
    border-radius: var(--tdeck-border-radius-md);
    background: var(--tdeck-ui-surface);
    color: var(--tdeck-ui-primary-text);
    text-align: left;
    padding: var(--tdeck-space-2);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    transition: all var(--tdeck-transition-duration) var(--tdeck-transition-timing);
}

.tdeck-calendar-day:hover, .tdeck-calendar-day.is-selected {
    background: var(--tdeck-brand-accent-light);
    border-color: var(--tdeck-brand-accent);
}

.tdeck-calendar-day.is-muted {
    opacity: .5;
}

.tdeck-calendar-day.is-today {
    box-shadow: inset 0 0 0 2px var(--tdeck-brand-accent);
}

.tdeck-day-dots {
    display: flex;
    gap: var(--tdeck-space-1);
}

.tdeck-day-dots i {
    width: 7px;
    height: 7px;
    border-radius: var(--tdeck-border-radius-full);
}

.tdeck-day-dots .blue {
    background: var(--tdeck-brand-accent);
}

.tdeck-day-dots .orange {
    background: var(--tdeck-warning-text);
}

.tdeck-day-dots .red {
    background: var(--tdeck-danger-text);
}

.tdeck-calendar-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: var(--tdeck-space-2);
}

.tdeck-calendar-event {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: var(--tdeck-space-1) var(--tdeck-space-2);
    align-items: center;
    text-decoration: none;
    border-radius: var(--tdeck-border-radius-md);
    padding: var(--tdeck-space-2);
    background: var(--tdeck-ui-background);
    border: 1px solid var(--tdeck-ui-border);
    color: var(--tdeck-ui-primary-text);
}

.tdeck-calendar-event.is-hidden {
    display: none;
}

.tdeck-calendar-event span {
    grid-row: 1 / 3;
    font-size: var(--tdeck-font-size-sm);
    font-weight: var(--tdeck-font-weight-medium);
    color: var(--tdeck-ui-secondary-text);
}

.tdeck-calendar-event strong {
    font-size: var(--tdeck-font-size-sm);
}

.tdeck-calendar-event em {
    font-style: normal;
    font-size: var(--tdeck-font-size-xs);
    color: var(--tdeck-ui-secondary-text);
}

.tdeck-calendar-event.blue {
    border-left: 4px solid var(--tdeck-brand-accent);
}

.tdeck-calendar-event.orange {
    border-left: 4px solid var(--tdeck-warning-text);
}

.tdeck-calendar-event.red {
    border-left: 4px solid var(--tdeck-danger-text);
}
.tdeck-avatar {
    width: 44px;
    height: 44px;
    border-radius: var(--tdeck-border-radius-lg);
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    background: var(--tdeck-brand-gradient);
    color: var(--tdeck-brand-contrast);
    font-weight: var(--tdeck-font-weight-semibold);
    overflow: hidden;
}

.tdeck-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tdeck-avatar-xl {
    width: 92px;
    height: 92px;
    border-radius: var(--tdeck-border-radius-xl);
    font-size: var(--tdeck-font-size-3xl);
}

.tdeck-profile-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: var(--tdeck-space-2);
}

.tdeck-profile-list li {
    border: 1px solid var(--tdeck-ui-border);
    background: var(--tdeck-ui-background);
    border-radius: var(--tdeck-border-radius-lg);
    padding: var(--tdeck-space-3);
}

.tdeck-profile-list span {
    display: block;
    color: var(--tdeck-ui-secondary-text);
    font-size: var(--tdeck-font-size-sm);
    margin-top: var(--tdeck-space-1);
}

/* Drawer styles live in the consolidated block further down
   (fixed overlay + grid panel + sticky footer actions). */
.tdeck-file-summary,.tdeck-pack-summary,.tdeck-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin:14px 0 22px}
.tdeck-file-summary div,.tdeck-pack-summary div,.tdeck-mini-grid div{background:var(--tdeck-ui-background);border:1px solid var(--tdeck-ui-border);border-radius:18px;padding:14px}
.matrix th,.matrix td{font-size:12px}
@media(max-width:1180px){.tdeck-metric-board,.tdeck-metric-board-priority{grid-template-columns:repeat(2,1fr)}.tdeck-form{grid-template-columns:repeat(2,1fr)}.tdeck-report-list{grid-template-columns:repeat(2,1fr)}.tdeck-split{grid-template-columns:1fr}.tdeck-profile-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.tdeck-panel,.tdeck-workflow-hero,.tdeck-ops-calendar{border-radius:18px;padding:14px}.tdeck-panel-head{display:grid;grid-template-columns:1fr;gap:10px}.tdeck-panel-head>button,.tdeck-panel-head>a,.tdeck-panel-head form{justify-self:start}.tdeck-workflow-hero{grid-template-columns:1fr}.tdeck-workflow-actions{justify-content:flex-start}.tdeck-calendar-list{grid-template-columns:1fr}.tdeck-calendar-day{min-height:46px}.tdeck-inline-form{display:grid;grid-template-columns:1fr;align-items:stretch}.tdeck-inline-form button,.tdeck-inline-form a{width:100%;justify-content:center}.tdeck-file-summary,.tdeck-pack-summary,.tdeck-mini-grid{grid-template-columns:1fr 1fr}.tdeck-filterbar{grid-template-columns:1fr 1fr}.tdeck-table-wrap[data-tdeck-scroll-hint=true]:after{display:block}.tdeck-session-table,.tdeck-pack-table{min-width:820px}}
@media(max-width:680px){.tdeck-metric-board,.tdeck-metric-board-priority,.tdeck-metric-board-compact,.tdeck-profile-grid,.tdeck-file-summary,.tdeck-pack-summary,.tdeck-pack-details-grid,.tdeck-readiness-list,.tdeck-signoff-grid,.tdeck-pack-signoff,.tdeck-card-grid{grid-template-columns:1fr}.tdeck-card,.tdeck-metric-card{padding:12px}.tdeck-card strong,.tdeck-metric-card strong{font-size:24px}.tdeck-form,.tdeck-filterbar{grid-template-columns:1fr}.tdeck-form-actions{justify-content:stretch}.tdeck-form-actions button{width:100%}.tdeck-profile-hero{align-items:flex-start;flex-direction:column}.tdeck-avatar-xl{width:78px;height:78px;border-radius:22px}.tdeck-calendar-grid{gap:4px}.tdeck-calendar-day{border-radius:10px;min-height:42px;padding:5px}.tdeck-calendar-dow{font-size:9px}.tdeck-drawer.is-open{align-items:stretch}.tdeck-drawer-panel{width:100vw;height:100dvh;padding:14px}.tdeck-mobile-cards{border:0;overflow:visible}.tdeck-mobile-cards .tdeck-table{min-width:0}.tdeck-mobile-cards .tdeck-table thead{display:none}.tdeck-mobile-cards .tdeck-table,.tdeck-mobile-cards .tdeck-table tbody,.tdeck-mobile-cards .tdeck-table tr,.tdeck-mobile-cards .tdeck-table td{display:block;width:100%}.tdeck-mobile-cards .tdeck-table tr{background:var(--tdeck-ui-surface);border:1px solid var(--tdeck-ui-border);border-radius:16px;margin:0 0 10px;overflow:hidden}.tdeck-mobile-cards .tdeck-table td{display:grid;grid-template-columns:minmax(105px,38%) minmax(0,1fr);gap:8px;padding:9px 11px;border-bottom:1px solid var(--tdeck-ui-divider);align-items:start}.tdeck-mobile-cards .tdeck-table td:last-child{border-bottom:0}.tdeck-mobile-cards .tdeck-table td:before{content:attr(data-label);font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:500;color:var(--tdeck-ui-secondary-text)}.tdeck-mobile-cards .tdeck-table td button,.tdeck-mobile-cards .tdeck-table td a.tdeck-mini-button{width:100%;text-align:center}.tdeck-mobile-cards .tdeck-table-wrap[data-tdeck-scroll-hint=true]:after{display:none}.tdeck-session-table,.tdeck-pack-table,.matrix{min-width:760px}.tdeck-table-wrap:not(.tdeck-mobile-cards){overflow:auto}}
@media(max-width:420px){.tdeck-mobile-cards .tdeck-table td{grid-template-columns:1fr;gap:4px}.tdeck-badge{white-space:normal}.tdeck-card strong{font-size:23px}.tdeck-calendar-day strong{font-size:12px}.tdeck-day-dots i{width:6px;height:6px}}
@media print{#wpadminbar,.no-print,.tdeck-panel:not(.printable){display:none!important}.tdeck-panel.printable,.tdeck-pdf-report,.tdeck-training-pack,.tdeck-comp-card{display:block!important;background:#fff!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;margin:0 0 12px!important;max-width:none!important}.tdeck-panel.printable+section.printable{page-break-before:always}.tdeck-table-wrap{border:0!important;overflow:visible!important}.tdeck-table{width:100%!important;min-width:0!important;border-collapse:collapse!important;font-size:9.5px!important;table-layout:fixed!important}.tdeck-table th,.tdeck-table td{border:1px solid #111!important;padding:5px!important;word-break:break-word}.tdeck-table th{background:#f2f2f2!important;color:#111!important}.tdeck-badge{border:1px solid #111!important;background:#fff!important;color:#111!important}.tdeck-empty{border:1px dashed #111!important;background:#fff!important;color:#111!important}a{color:#111!important;text-decoration:none!important}}
.tdeck-mini-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--tdeck-border-radius-full);background:var(--tdeck-brand-accent-light);color:var(--tdeck-brand-accent);font-weight:var(--tdeck-font-weight-semibold);font-size:11px;padding:6px 10px;border:1px solid var(--tdeck-brand-accent-light);white-space:nowrap;}
.tdeck-progress{height:8px;background:var(--tdeck-ui-divider);border-radius:var(--tdeck-border-radius-full);overflow:hidden;border:1px solid var(--tdeck-ui-border);}
.tdeck-progress i{display:block;height:100%;background:var(--tdeck-brand-gradient);border-radius:var(--tdeck-border-radius-full);min-width:4px;}
.tdeck-progress-large{height:12px;margin:8px 0 12px;}
/* Classes whose only styling used to come from the (removed) Theme Lab
   retrofit layer — minimal token equivalents. */
.tdeck-badge-priority-critical,.tdeck-badge-danger{background:var(--tdeck-danger-background);color:var(--tdeck-danger-text);}
.tdeck-badge-priority-high{background:var(--tdeck-warning-background);color:var(--tdeck-warning-text);}
.tdeck-badge-complete,.tdeck-badge-reviewed{background:var(--tdeck-success-background);color:var(--tdeck-success-text);}
.tdeck-readiness-ok{color:var(--tdeck-success-text);}
.tdeck-subpanel,.tdeck-draft-card{background:var(--tdeck-ui-surface);color:var(--tdeck-ui-primary-text);}
.tdeck-readonly-note,.tdeck-report-titlebar{background:var(--tdeck-ui-divider);color:var(--tdeck-ui-primary-text);}
.tdeck-calendar-command{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.tdeck-calendar-controls{display:grid;gap:8px;justify-items:end}
.tdeck-calendar-nav,.tdeck-calendar-view-toggle{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.tdeck-calendar-nav button,.tdeck-calendar-view-toggle button{border:1px solid color-mix(in srgb,var(--tdeck-topbar-text) 18%,transparent);background:color-mix(in srgb,var(--tdeck-topbar-text) 10%,transparent);color:var(--tdeck-topbar-text);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:500;cursor:pointer}
.tdeck-calendar-view-toggle button.is-active,.tdeck-calendar-nav button:hover,.tdeck-calendar-view-toggle button:hover{background:var(--tdeck-brand-gradient);border-color:transparent;color:var(--tdeck-button-text);box-shadow:0 3px 10px color-mix(in srgb,var(--tdeck-brand-accent) 34%,transparent)}
.tdeck-ops-calendar{background:linear-gradient(135deg,var(--tdeck-calendar-bg),color-mix(in srgb,var(--tdeck-calendar-bg) 72%,var(--tdeck-topbar-accent)))!important;color:var(--tdeck-topbar-text)!important;border-color:color-mix(in srgb,var(--tdeck-border) 34%,transparent)!important;}
.tdeck-ops-calendar .tdeck-muted{color:var(--tdeck-topbar-muted)!important;}
.tdeck-calendar-day,.tdeck-calendar-week-day,.tdeck-calendar-hour-row{background:color-mix(in srgb,var(--tdeck-calendar-cell) 78%,transparent)!important;border-color:color-mix(in srgb,var(--tdeck-topbar-text) 13%,transparent)!important;color:var(--tdeck-topbar-text)!important;}
.tdeck-calendar-day:hover,.tdeck-calendar-day.is-selected,.tdeck-calendar-week-day:hover{background:color-mix(in srgb,var(--tdeck-calendar-cell) 92%,var(--tdeck-topbar-text))!important;border-color:var(--tdeck-secondary)!important}
.tdeck-calendar-day.is-today,.tdeck-calendar-week-day.is-today{box-shadow:inset 0 0 0 2px var(--tdeck-secondary)!important}
.tdeck-day-dots .blue,.tdeck-calendar-event.blue{--tdeck-cal-tone:var(--tdeck-brand-accent)}
.tdeck-day-dots .orange,.tdeck-calendar-event.orange{--tdeck-cal-tone:var(--tdeck-warning)}
.tdeck-day-dots .red,.tdeck-calendar-event.red{--tdeck-cal-tone:var(--tdeck-danger)}
.tdeck-day-dots i{background:var(--tdeck-cal-tone)!important}
.tdeck-day-dots .blue{background:var(--tdeck-brand-accent)!important}
.tdeck-day-dots .orange{background:var(--tdeck-warning)!important}
.tdeck-day-dots .red{background:var(--tdeck-danger)!important}
.tdeck-calendar-event{border-left:4px solid var(--tdeck-cal-tone)!important;background:color-mix(in srgb,var(--tdeck-calendar-cell) 70%,transparent)!important;color:var(--tdeck-topbar-text)!important}
.tdeck-calendar-event em{color:var(--tdeck-topbar-muted)!important}
.tdeck-calendar-chip{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px;border-radius:999px;padding:3px 6px;font-size:9px;font-weight:500;background:rgba(255,255,255,.12)}
.tdeck-calendar-chip.orange{color:var(--tdeck-warning)}
.tdeck-calendar-chip.red{color:var(--tdeck-danger)}
.tdeck-calendar-chip.blue{color:var(--tdeck-brand-accent)}
.tdeck-calendar-grid-week{grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch}
.tdeck-calendar-week-day{min-height:220px;border-radius:16px;padding:10px;display:grid;grid-template-rows:auto 1fr;gap:8px}
.tdeck-calendar-week-day header{display:flex;justify-content:space-between;align-items:center}
.tdeck-calendar-week-day header span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--tdeck-topbar-muted);font-weight:500}
.tdeck-calendar-week-day header strong{font-size:20px}
.tdeck-calendar-week-day div{display:grid;gap:6px;align-content:start}
.tdeck-calendar-week-day em{font-style:normal;color:var(--tdeck-topbar-muted);font-size:11px}
.tdeck-calendar-dayboard{display:grid;gap:6px;margin-bottom:13px}
.tdeck-calendar-hour-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;min-height:52px;border-radius:14px;padding:8px}
.tdeck-calendar-hour-row>strong{color:var(--tdeck-topbar-muted);font-size:12px}
.tdeck-calendar-hour-row>div{display:grid;gap:6px}
.tdeck-calendar-hour-row span{color:var(--tdeck-topbar-muted);font-size:12px}
.tdeck-calendar-grid-week .tdeck-calendar-event,.tdeck-calendar-dayboard .tdeck-calendar-event{grid-template-columns:46px 1fr;margin:0;padding:8px}
.tdeck-calendar-day-items{display:grid;gap:2px;margin-top:4px;min-height:20px}
.tdeck-calendar-grid-month .tdeck-calendar-day{min-height:78px}
.tdeck-calendar-grid-month .tdeck-calendar-day strong{font-size:15px}
.tdeck-calendar-list{margin-top:10px}
@media(max-width:1100px){.tdeck-calendar-command{display:grid}.tdeck-calendar-controls{justify-items:start}.tdeck-calendar-grid-week{grid-template-columns:1fr}.tdeck-calendar-week-day{min-height:0}.tdeck-calendar-hour-row{grid-template-columns:62px 1fr}}
@media(max-width:680px){.tdeck-calendar-command{gap:10px}.tdeck-calendar-controls,.tdeck-calendar-nav,.tdeck-calendar-view-toggle{justify-content:flex-start}.tdeck-calendar-grid-month .tdeck-calendar-day{min-height:62px;padding:6px}.tdeck-calendar-day-items{display:none}.tdeck-calendar-hour-row{grid-template-columns:54px 1fr}.tdeck-calendar-list{grid-template-columns:1fr!important}}
.tdeck-jurisdiction-settings h3,.tdeck-licence-permit-panel h3{margin:0 0 12px;color:var(--tdeck-panel-text)}
.tdeck-licence-permit-panel .tdeck-split{align-items:start}
.tdeck-licence-permit-panel .tdeck-table td{vertical-align:middle}
.tdeck-badge-verified{background:rgba(22,163,74,.13);color:var(--tdeck-success);border-color:rgba(22,163,74,.25)}
.tdeck-badge-unverified{background:rgba(245,158,11,.13);color:var(--tdeck-warning);border-color:rgba(245,158,11,.25)}
.tdeck-badge-suspended,.tdeck-badge-revoked,.tdeck-badge-archived{background:rgba(100,116,139,.13);color:var(--tdeck-muted-text);border-color:var(--tdeck-border)}
.tdeck-lp-command{background:linear-gradient(135deg,color-mix(in srgb,var(--tdeck-panel-bg) 90%,var(--tdeck-primary)),var(--tdeck-panel-bg));overflow:hidden}
.tdeck-lp-head{align-items:center}
.tdeck-lp-control-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:0 0 14px}
.tdeck-lp-control-strip button{border:1px solid var(--tdeck-border);background:var(--tdeck-panel-alt-bg);color:var(--tdeck-panel-text);border-radius:17px;padding:11px 12px;text-align:left;cursor:pointer;box-shadow:0 10px 22px rgba(8,25,43,.04)}
.tdeck-lp-control-strip button.is-active{background:linear-gradient(135deg,var(--tdeck-primary),color-mix(in srgb,var(--tdeck-primary) 65%,var(--tdeck-secondary)));color:var(--tdeck-button-text);border-color:color-mix(in srgb,var(--tdeck-primary) 72%,var(--tdeck-border));box-shadow:0 14px 30px rgba(8,25,43,.14)}
.tdeck-lp-control-strip strong{display:block;font-size:21px;line-height:1}
.tdeck-lp-control-strip span{display:block;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
.tdeck-lp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.tdeck-lp-column{background:color-mix(in srgb,var(--tdeck-panel-alt-bg) 86%,transparent);border:1px solid var(--tdeck-border);border-radius:20px;padding:13px}
.tdeck-lp-column-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px}
.tdeck-lp-column-head h3{margin:0;font-size:16px;color:var(--tdeck-panel-text)}
.tdeck-lp-column-head span{font-size:11px;font-weight:500;color:var(--tdeck-muted-text)}
.tdeck-lp-cards{display:grid;gap:10px}
.tdeck-lp-card{background:var(--tdeck-panel-bg);border:1px solid var(--tdeck-border);border-left:5px solid var(--tdeck-success);border-radius:18px;padding:13px;color:var(--tdeck-panel-text);display:grid;gap:10px;box-shadow:0 12px 28px rgba(8,25,43,.06)}
.tdeck-lp-card.is-orange{border-left-color:var(--tdeck-warning)}
.tdeck-lp-card.is-red{border-left-color:var(--tdeck-danger)}
.tdeck-lp-card-main span{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--tdeck-muted-text)}
.tdeck-lp-card-main h4{margin:3px 0 2px;font-size:15px;color:var(--tdeck-panel-text)}
.tdeck-lp-card-main p{margin:0;color:var(--tdeck-muted-text);font-size:12px;font-weight:500}
.tdeck-lp-expiry{display:flex;justify-content:space-between;gap:10px;align-items:center;background:var(--tdeck-panel-alt-bg);border:1px solid var(--tdeck-border);border-radius:15px;padding:10px 11px}
.tdeck-lp-expiry strong{font-size:13px}
.tdeck-lp-expiry em{font-style:normal;color:var(--tdeck-muted-text);font-size:11px;font-weight:500;text-align:right}
.tdeck-lp-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
.tdeck-lp-card dl div{background:color-mix(in srgb,var(--tdeck-panel-alt-bg) 74%,transparent);border:1px solid color-mix(in srgb,var(--tdeck-border) 80%,transparent);border-radius:14px;padding:8px}
.tdeck-lp-card dt{font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:500;color:var(--tdeck-muted-text)}
.tdeck-lp-card dd{margin:3px 0 0;font-size:12px;font-weight:500;color:var(--tdeck-panel-text)}
.tdeck-lp-warning,.tdeck-lp-restrictions{margin:0;border-radius:14px;padding:9px 10px;font-size:12px;line-height:1.35}
.tdeck-lp-warning{background:color-mix(in srgb,var(--tdeck-danger) 11%,var(--tdeck-panel-alt-bg));border:1px solid color-mix(in srgb,var(--tdeck-danger) 28%,var(--tdeck-border));color:var(--tdeck-panel-text);font-weight:500}
.tdeck-lp-restrictions{background:color-mix(in srgb,var(--tdeck-warning) 10%,var(--tdeck-panel-alt-bg));border:1px solid color-mix(in srgb,var(--tdeck-warning) 24%,var(--tdeck-border));color:var(--tdeck-panel-text)}
.tdeck-lp-actions{display:flex;justify-content:flex-end}
.tdeck-lp-card.is-hidden{display:none}
.tdeck-badge-missing_data{background:color-mix(in srgb,var(--tdeck-danger) 12%,var(--tdeck-panel-alt-bg));color:var(--tdeck-danger);border-color:color-mix(in srgb,var(--tdeck-danger) 35%,var(--tdeck-border))}
@media(max-width:1100px){.tdeck-lp-control-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.tdeck-lp-grid{grid-template-columns:1fr}}
@media(max-width:680px){.tdeck-lp-control-strip{grid-template-columns:1fr 1fr}.tdeck-lp-column{padding:10px;border-radius:16px}.tdeck-lp-card dl{grid-template-columns:1fr}.tdeck-lp-expiry{display:grid}.tdeck-lp-expiry em{text-align:left}}
.tdeck-lp-dashboard-risk .tdeck-table td a{color: var(--tdeck-panel-text); font-weight:500; text-decoration: none;}
.tdeck-drawer{position:fixed;inset:0;z-index:10060;display:none;background:var(--tdeck-scrim-background);backdrop-filter:var(--tdeck-scrim-blur)}
.tdeck-drawer.is-open{display:flex;justify-content:flex-end;align-items:stretch}
.tdeck-drawer-panel{width:min(760px,96vw);height:100dvh;background:var(--tdeck-panel-bg);color:var(--tdeck-panel-text);box-shadow:-30px 0 90px rgba(0,0,0,.30);padding:0;overflow:auto;border-left:1px solid color-mix(in srgb,var(--tdeck-border) 60%,transparent)}
/* Approved glass surface: the drawer head floats over the scrolling panel. */
.tdeck-drawer-head{margin:0;padding:20px 24px;background:linear-gradient(135deg,color-mix(in srgb,var(--tdeck-brand-accent) 8%,var(--tdeck-glass-background)),var(--tdeck-glass-background));-webkit-backdrop-filter:var(--tdeck-glass-blur);backdrop-filter:var(--tdeck-glass-blur);color:var(--tdeck-ui-primary-text);display:flex;align-items:flex-start;justify-content:space-between;gap:18px;position:sticky;top:0;z-index:4;border-bottom:1px solid var(--tdeck-glass-border)}
.tdeck-drawer-head h2{margin:4px 0 3px;font-size:20px;line-height:1.15;letter-spacing:-.025em;color:var(--tdeck-ui-primary-text)}
.tdeck-drawer-head p{margin:0;color:var(--tdeck-muted-text);font-size:13px;line-height:1.45;max-width:560px}
.tdeck-drawer-head button{width:40px;height:40px;border:1px solid var(--tdeck-ui-border);border-radius:var(--tdeck-border-radius-full);background:var(--tdeck-ui-surface);color:var(--tdeck-ui-secondary-text);font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:var(--tdeck-shadow-sm)}
.tdeck-drawer-head button:hover{color:var(--tdeck-brand-accent);border-color:var(--tdeck-brand-accent-light);transform:translateY(-1px)}
.tdeck-drawer-body{padding:22px;overflow:visible;background:linear-gradient(180deg,var(--tdeck-panel-bg),color-mix(in srgb,var(--tdeck-panel-bg) 88%,var(--tdeck-panel-alt-bg)));min-height:0}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
.tdeck-drawer-head{background:var(--tdeck-ui-surface);border-bottom-color:var(--tdeck-ui-border)}
}
.tdeck-drawer-body .tdeck-form{grid-template-columns:repeat(2,minmax(220px,1fr));gap:15px;align-items:start}
.tdeck-drawer-body .tdeck-field{color:var(--tdeck-muted-text);font-size:12px;text-transform:none;letter-spacing:0}
.tdeck-drawer-body .tdeck-field input,.tdeck-drawer-body .tdeck-field select,.tdeck-drawer-body .tdeck-field textarea{background:var(--tdeck-input-bg);border-color:var(--tdeck-border);color:var(--tdeck-panel-text);border-radius:16px;min-height:44px;padding:11px 13px;box-shadow:0 8px 20px rgba(8,25,43,.04)}
.tdeck-drawer-body .tdeck-field input:focus,.tdeck-drawer-body .tdeck-field select:focus,.tdeck-drawer-body .tdeck-field textarea:focus{outline:2px solid color-mix(in srgb,var(--tdeck-secondary) 45%,transparent);border-color:var(--tdeck-secondary)}
.tdeck-drawer-body .tdeck-check{background:var(--tdeck-panel-alt-bg);border-color:var(--tdeck-border);color:var(--tdeck-panel-text);border-radius:16px}
.tdeck-drawer-body .tdeck-form-actions{position:sticky;bottom:-22px;margin:12px -22px -22px;padding:14px 22px;background:linear-gradient(180deg,color-mix(in srgb,var(--tdeck-panel-bg) 82%,transparent),var(--tdeck-panel-alt-bg));border-top:1px solid var(--tdeck-border);z-index:3;gap:10px}
.tdeck-drawer-body .tdeck-form-actions button{background:var(--tdeck-primary);color:var(--tdeck-button-text);border-radius:16px;min-height:46px;padding:12px 20px;font-size:14px;box-shadow:0 14px 28px rgba(8,25,43,.14)}
.tdeck-drawer-active,.tdeck-dashboard-drawer-open{overflow:hidden}
@media(max-width:760px){.tdeck-drawer-panel{width:100vw}.tdeck-drawer-head{padding:18px}.tdeck-drawer-head h2{font-size:23px}.tdeck-drawer-head p{font-size:12px}.tdeck-drawer-body{padding:16px}.tdeck-drawer-body .tdeck-form{grid-template-columns:1fr}.tdeck-drawer-body .tdeck-form-actions{bottom:-16px;margin:10px -16px -16px;padding:12px 16px}.tdeck-drawer-body .tdeck-form-actions button{width:100%}}
.tdeck-panel,.tdeck-card,.tdeck-metric-card,.tdeck-table-wrap,.tdeck-file-summary div,.tdeck-pack-summary div,.tdeck-mini-grid div,.tdeck-profile-grid div,.tdeck-settings-register-card,.tdeck-import-upload-card,.tdeck-import-type-card,.tdeck-template-card{background:var(--tdeck-panel-bg)!important;
  color:var(--tdeck-panel-text)!important;
  border-color:var(--tdeck-border)!important;}
.tdeck-panel,.tdeck-card,.tdeck-metric-card,.tdeck-settings-register-card,.tdeck-import-upload-card,.tdeck-import-type-card,.tdeck-template-card{box-shadow:0 14px 34px color-mix(in srgb,var(--tdeck-bg-start) 10%,transparent)!important;}
.tdeck-panel-head{align-items:center;
  padding:0 0 var(--tdeck-space-4);
  margin-bottom:var(--tdeck-space-5);
  border-bottom:1px solid color-mix(in srgb,var(--tdeck-border) 70%,transparent);}
.tdeck-panel-head h2,.tdeck-panel-head h3,.tdeck-panel h2,.tdeck-panel h3{color:var(--tdeck-panel-text);
  letter-spacing:-.025em;}
.tdeck-muted,.tdeck-panel p,.tdeck-card span,.tdeck-metric-card span,.tdeck-field em,.tdeck-import-type-card span,.tdeck-template-card p{color:var(--tdeck-muted-text)!important;}
.tdeck-form{gap:14px;
  align-items:start;}
.tdeck-panel .tdeck-form,.tdeck-settings-tab-panel .tdeck-form,.tdeck-import-upload-card .tdeck-form{background:linear-gradient(135deg,color-mix(in srgb,var(--tdeck-panel-alt-bg) 84%,transparent),transparent);
  border:1px solid color-mix(in srgb,var(--tdeck-border) 75%,transparent);
  border-radius:18px;
  padding:14px;}
.tdeck-field{gap:8px;
  color:var(--tdeck-muted-text)!important;
  font-size:11px;
  font-weight:500;
  letter-spacing:.01em;}
.tdeck-field>span,.tdeck-check>span{display:block;
  min-height:16px;
  color:var(--tdeck-muted-text);}
.tdeck-field input,.tdeck-field select,.tdeck-field textarea,.tdeck-filterbar input[type=search],.tdeck-inline-form input,.tdeck-inline-form select,.tdeck-inline-form textarea{background:var(--tdeck-input-bg)!important;
  color:var(--tdeck-panel-text)!important;
  border-color:var(--tdeck-border)!important;
  border-radius:15px!important;
  min-height:42px;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tdeck-border) 30%,transparent);}
.tdeck-field input:focus,.tdeck-field select:focus,.tdeck-field textarea:focus,.tdeck-filterbar input[type=search]:focus{outline:0;
  border-color:var(--tdeck-primary)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--tdeck-primary) 16%,transparent),inset 0 0 0 1px var(--tdeck-primary);}
.tdeck-field input[type=file]{padding:8px;
  background:linear-gradient(135deg,var(--tdeck-input-bg),var(--tdeck-panel-alt-bg))!important;}
.tdeck-check{background:var(--tdeck-panel-alt-bg)!important;
  border-color:var(--tdeck-border)!important;
  color:var(--tdeck-panel-text)!important;}
.tdeck-form-actions{margin-top:2px;
  padding-top:12px;
  border-top:1px solid color-mix(in srgb,var(--tdeck-border) 70%,transparent);
  gap:8px;}
/* Canonical button treatments (match the command-bar chrome pills). */
/* .tdeck-inline-action is a bare form wrapper around a row action button. */
.tdeck-inline-action{display:inline-flex;}
.tdeck-link-button,.tdeck-form-actions button,.tdeck-inline-form button,.tdeck-template-card a,.tdeck-panel-head>button[data-tdeck-open-drawer]{appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  cursor:pointer;
  font-size:var(--tdeck-font-size-sm);
  font-weight:var(--tdeck-font-weight-semibold);
  padding:var(--tdeck-space-2) var(--tdeck-space-4);
  white-space:nowrap;
  background:var(--tdeck-brand-gradient)!important;
  color:var(--tdeck-brand-contrast)!important;
  border:1px solid transparent!important;
  border-radius:var(--tdeck-border-radius-full);
  box-shadow:var(--tdeck-shadow-brand);
  transition:all var(--tdeck-transition-duration) var(--tdeck-transition-timing);}
.tdeck-link-button:hover,.tdeck-form-actions button:hover,.tdeck-inline-form button:hover,.tdeck-panel-head>button[data-tdeck-open-drawer]:hover{transform:translateY(-1px);
  filter:brightness(1.1);
  box-shadow:0 6px 18px rgb(0 82 255 / 0.32);}
.tdeck-mini-button,.tdeck-button-secondary{background:var(--tdeck-ui-surface)!important;
  color:var(--tdeck-ui-primary-text)!important;
  border:1px solid var(--tdeck-ui-border)!important;
  border-radius:var(--tdeck-border-radius-full);
  box-shadow:var(--tdeck-shadow-sm)!important;}
.tdeck-mini-button:hover,.tdeck-button-secondary:hover{color:var(--tdeck-brand-accent);
  border-color:var(--tdeck-brand-accent-light)!important;
  box-shadow:var(--tdeck-shadow-md)!important;}
.tdeck-table-wrap{border-radius:18px;
  overflow:auto;}
.tdeck-table th{background:var(--tdeck-ui-background)!important;
  color:var(--tdeck-muted-text)!important;
  border-bottom:1px solid var(--tdeck-ui-border)!important;
  font-weight:500;}
.tdeck-table td{color:var(--tdeck-panel-text);
  border-bottom-color:color-mix(in srgb,var(--tdeck-border) 70%,transparent)!important;}
.tdeck-table tbody tr:hover td{background:color-mix(in srgb,var(--tdeck-brand-accent) 4%,var(--tdeck-ui-surface));}
.tdeck-badge{font-weight:500;border:1px solid transparent}
.tdeck-badge-valid,.tdeck-badge-no_expiry{background:var(--tdeck-success-background)!important;color:var(--tdeck-success-text)!important;border-color:color-mix(in srgb,var(--tdeck-success-text) 24%,transparent)!important}
.tdeck-badge-due_90,.tdeck-badge-due_60{background:var(--tdeck-warning-background)!important;color:var(--tdeck-warning-text)!important;border-color:color-mix(in srgb,var(--tdeck-warning-text) 24%,transparent)!important}
.tdeck-badge-due_30,.tdeck-badge-expired,.tdeck-badge-missing,.tdeck-badge-missing_evidence{background:var(--tdeck-danger-background)!important;color:var(--tdeck-danger-text)!important;border-color:color-mix(in srgb,var(--tdeck-danger-text) 24%,transparent)!important}
.tdeck-empty{background:linear-gradient(135deg,var(--tdeck-panel-alt-bg),color-mix(in srgb,var(--tdeck-panel-bg) 86%,var(--tdeck-secondary)))!important;
  border:1px dashed color-mix(in srgb,var(--tdeck-border) 82%,var(--tdeck-primary))!important;
  color:var(--tdeck-muted-text)!important;
  border-radius:18px;}
.tdeck-empty strong{color:var(--tdeck-panel-text)!important}
.tdeck-settings-tabs,.tdeck-report-tabs,.tdeck-dashboard-tabs{scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--tdeck-secondary) 55%,transparent) transparent;}
.tdeck-settings-tabs button,.tdeck-report-tabs button,.tdeck-dashboard-tabs button{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease;}
.tdeck-settings-tabs button:hover,.tdeck-report-tabs button:hover,.tdeck-dashboard-tabs button:hover{transform:translateY(-1px);}
.tdeck-drawer-panel{display:block!important;
  padding:0!important;
  overflow:auto!important;}
.tdeck-drawer-head{margin:0!important;
  padding:20px 22px!important;}
.tdeck-drawer-body{overflow:visible;
  padding:18px 22px 22px!important;}
.tdeck-drawer-body .tdeck-form{background:transparent!important;
  border:0!important;
  padding:0!important;}
.tdeck-drawer-body .tdeck-form-actions{position:sticky;
  bottom:-22px;
  margin:18px -22px -22px;
  padding:13px 22px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--tdeck-panel-bg) 72%,transparent),var(--tdeck-panel-bg));
  border-top:1px solid var(--tdeck-border);
  z-index:2;}
.tdeck-drawer-body::-webkit-scrollbar,.tdeck-table-wrap::-webkit-scrollbar{height:7px;width:7px}
.tdeck-drawer-body::-webkit-scrollbar-thumb,.tdeck-table-wrap::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--tdeck-primary) 42%,transparent);border-radius:999px}
@media(max-width:900px){.tdeck-panel-head{display:grid;grid-template-columns:1fr;gap:9px;align-items:start}.tdeck-form,.tdeck-filterbar{grid-template-columns:1fr!important}.tdeck-form-actions,.tdeck-inline-actions{justify-content:stretch}.tdeck-form-actions button,.tdeck-link-button,.tdeck-inline-actions a,.tdeck-inline-actions button{width:100%}.tdeck-panel .tdeck-form,.tdeck-settings-tab-panel .tdeck-form,.tdeck-import-upload-card .tdeck-form{padding:12px;border-radius:16px}.tdeck-drawer-head{padding:17px 16px!important}.tdeck-drawer-body{padding:15px 16px 18px!important}.tdeck-drawer-body .tdeck-form-actions{margin:16px -16px -18px;padding:12px 16px}}
@media print{.tdeck-panel,.tdeck-table-wrap,.tdeck-card{box-shadow:none!important;background:#fff!important;color:#111827!important}.tdeck-form-actions,.tdeck-inline-actions,.tdeck-settings-tabs,.tdeck-dashboard-tabs,.tdeck-report-tabs{display:none!important}}
.tdeck-dashboard-command:before,.tdeck-personnel-hero:before,.tdeck-report-centre-hero:before,.tdeck-theme-lab:before,.tdeck-report-flightdeck:before,.tdeck-training-timeline li:after{display:none!important}
.tdeck-panel,.tdeck-workflow-hero,.tdeck-ops-calendar,.tdeck-dashboard-tabs-shell,.tdeck-personnel-hero,.tdeck-report-flightdeck,.tdeck-report-output,.tdeck-report-selector,.tdeck-quality-card,.tdeck-comp-card{border-radius:16px!important;
  box-shadow:0 1px 2px rgba(15,23,42,.04),0 4px 12px rgba(15,23,42,.05)!important}
.tdeck-card,.tdeck-metric-card,.tdeck-action-list li,.tdeck-drawer-callout,.tdeck-dashboard-tabs button,.tdeck-profile-grid div,.tdeck-personnel-strip div{border-radius:12px!important}
.tdeck-card,.tdeck-metric-card{box-shadow:0 1px 2px rgba(15,23,42,.05)!important}
.tdeck-kicker{color:var(--tdeck-primary)!important;letter-spacing:.09em}
.tdeck-command-copy p,.tdeck-command-copy .tdeck-kicker{color:var(--tdeck-muted-text)!important}
.tdeck-calendar-legend span{background:var(--tdeck-panel-alt-bg)!important;color:var(--tdeck-panel-text)!important}
.tdeck-calendar-legend .blue,.tdeck-calendar-chip.blue{color:var(--tdeck-brand-accent)!important}
.tdeck-notice{border-radius:12px!important}
.tdeck-empty{background:var(--tdeck-panel-alt-bg)!important;border:1px dashed var(--tdeck-border)!important;color:var(--tdeck-muted-text)!important}
.tdeck-empty strong{color:var(--tdeck-panel-text)!important}
.tdeck-ic{width:20px;height:20px;display:block;flex:0 0 auto}
.tdeck-instrument-ic .tdeck-ic{width:22px;height:22px}
.tdeck-metric-card{position:relative}
.tdeck-card-ic{position:absolute;top:13px;right:13px;width:34px;height:34px;display:grid!important;place-items:center;border-radius:11px;background:var(--tdeck-panel-alt-bg);border:1px solid var(--tdeck-border);color:var(--tdeck-muted-text)!important}
.tdeck-card-ic .tdeck-ic{width:18px;height:18px}
.tdeck-metric-card .tdeck-card-label{padding-right:44px}
.tdeck-metric-card.danger .tdeck-card-ic{background:color-mix(in srgb,var(--tdeck-danger) 12%,transparent);border-color:color-mix(in srgb,var(--tdeck-danger) 34%,transparent);color:var(--tdeck-danger)!important}
.tdeck-metric-card.warn .tdeck-card-ic{background:color-mix(in srgb,var(--tdeck-warning) 14%,transparent);border-color:color-mix(in srgb,var(--tdeck-warning) 36%,transparent);color:var(--tdeck-warning)!important}
.tdeck-metric-card.success .tdeck-card-ic{background:color-mix(in srgb,var(--tdeck-success) 14%,transparent);border-color:color-mix(in srgb,var(--tdeck-success) 36%,transparent);color:var(--tdeck-success)!important}
.tdeck-metric-board-priority .tdeck-metric-card strong{font-size:var(--tdeck-kpi-number-size)}
.tdeck-tab-ic .tdeck-ic{width:17px;height:17px}
@media(max-width:1300px){.tdeck-tower{grid-template-columns:1fr}}
@media(max-width:900px){.tdeck-tower{padding:15px;border-radius:18px}.tdeck-card-ic{display:none!important}.tdeck-metric-card .tdeck-card-label{padding-right:0}}
@media print{.tdeck-tower{background:#fff!important;color:#111!important;border:1px solid #111!important;box-shadow:none!important}.tdeck-tower:before{display:none!important}}

/* Shared compact KPI blocks.
   Mirrors the staff-profile card language across metric/summary blocks
   without changing each template's markup. */
.tdeck-card,
.tdeck-metric-card,
.tdeck-file-summary>div,
.tdeck-pack-summary>div,
.tdeck-mini-grid>div,
.tdeck-profile-grid>div,
.tdeck-personnel-strip>div,
.tdeck-register-summary-grid>div,
.tdeck-settings-status-strip>span,
.tdeck-theme-preview-cards>span{
  --tdeck-kpi-tone:var(--tdeck-kpi-accent);
  position:relative;
  overflow:hidden;
  background:var(--tdeck-panel-bg)!important;
  color:var(--tdeck-panel-text)!important;
  border:1px solid var(--tdeck-border)!important;
  border-radius:8px!important;
  box-shadow:none!important;
  padding:15px 16px!important;
  min-height:96px;
  display:grid;
  align-content:start;
  gap:6px;
}
.tdeck-card:before,
.tdeck-metric-card:before,
.tdeck-file-summary>div:before,
.tdeck-pack-summary>div:before,
.tdeck-mini-grid>div:before,
.tdeck-profile-grid>div:before,
.tdeck-register-summary-grid>div:before,
.tdeck-settings-status-strip>span:before,
.tdeck-theme-preview-cards>span:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:color-mix(in srgb,var(--tdeck-kpi-tone) 72%,transparent);
}
.tdeck-card span,
.tdeck-metric-card span,
.tdeck-file-summary span,
.tdeck-pack-summary span,
.tdeck-mini-grid span,
.tdeck-profile-grid span,
.tdeck-personnel-strip span,
.tdeck-register-summary-grid span,
.tdeck-settings-status-strip small,
.tdeck-theme-preview-cards small{
  color:var(--tdeck-ui-secondary-text)!important;
  font-size:var(--tdeck-kpi-meta-size)!important;
  font-weight:500!important;
  letter-spacing:.04em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}
.tdeck-card .tdeck-card-label,
.tdeck-metric-card .tdeck-card-label,
.tdeck-file-summary span:first-child,
.tdeck-pack-summary span:first-child,
.tdeck-mini-grid span:first-child,
.tdeck-profile-grid span:first-child,
.tdeck-personnel-strip span:first-child,
.tdeck-register-summary-grid span:first-child,
.tdeck-settings-status-strip small,
.tdeck-theme-preview-cards small{
  display:block;
  color:var(--tdeck-muted-text)!important;
  font-size:var(--tdeck-kpi-label-size)!important;
  font-weight:500!important;
}
.tdeck-card strong,
.tdeck-metric-card strong,
.tdeck-file-summary strong,
.tdeck-pack-summary strong,
.tdeck-mini-grid strong,
.tdeck-profile-grid strong,
.tdeck-personnel-strip strong,
.tdeck-register-summary-grid strong,
.tdeck-settings-status-strip strong,
.tdeck-theme-preview-cards strong{
  display:block;
  margin:0!important;
  color:var(--tdeck-panel-text)!important;
  font-size:var(--tdeck-kpi-number-size)!important;
  font-weight:500!important;
  line-height:1!important;
  letter-spacing:0!important;
}
.tdeck-card em,
.tdeck-metric-card em,
.tdeck-file-summary em,
.tdeck-pack-summary em,
.tdeck-mini-grid em,
.tdeck-profile-grid em,
.tdeck-personnel-strip em{
  display:block;
  margin:0!important;
  color:var(--tdeck-muted-text)!important;
  font-size:var(--tdeck-kpi-meta-size)!important;
  font-style:normal!important;
  line-height:1.25!important;
}
.tdeck-card-ic{
  top:13px!important;
  right:13px!important;
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  background:color-mix(in srgb,var(--tdeck-kpi-accent) 8%,#fff)!important;
  border:1px solid color-mix(in srgb,var(--tdeck-kpi-accent) 28%,#fff)!important;
  color:var(--tdeck-kpi-accent)!important;
}
.tdeck-card-ic .tdeck-ic{width:18px!important;height:18px!important}
.tdeck-card.danger,
.tdeck-metric-card.danger,
.tdeck-card.tone-danger,
.tdeck-metric-card.tone-danger,
.tdeck-personnel-strip .is-red{--tdeck-kpi-tone:var(--tdeck-danger);box-shadow:none!important}
.tdeck-card.warn,
.tdeck-metric-card.warn,
.tdeck-card.tone-warn,
.tdeck-metric-card.tone-warn,
.tdeck-personnel-strip .is-orange{--tdeck-kpi-tone:var(--tdeck-warning);box-shadow:none!important}
.tdeck-card.success,
.tdeck-metric-card.success,
.tdeck-card.stable,
.tdeck-metric-card.stable,
.tdeck-card.info,
.tdeck-metric-card.info,
.tdeck-card.tone-stable,
.tdeck-metric-card.tone-stable{box-shadow:none!important}
.tdeck-card.success,
.tdeck-metric-card.success,
.tdeck-card.stable,
.tdeck-metric-card.stable,
.tdeck-card.tone-stable,
.tdeck-metric-card.tone-stable{--tdeck-kpi-tone:var(--tdeck-success)}
.tdeck-card.info,
.tdeck-metric-card.info{--tdeck-kpi-tone:var(--tdeck-kpi-accent)}
.tdeck-card.danger strong,
.tdeck-metric-card.danger strong,
.tdeck-card.tone-danger strong,
.tdeck-metric-card.tone-danger strong,
.tdeck-personnel-strip .is-red strong{color:var(--tdeck-danger)!important}
.tdeck-card.warn strong,
.tdeck-metric-card.warn strong,
.tdeck-card.tone-warn strong,
.tdeck-metric-card.tone-warn strong,
.tdeck-personnel-strip .is-orange strong{color:var(--tdeck-warning)!important}
.tdeck-card.success strong,
.tdeck-metric-card.success strong,
.tdeck-card.stable strong,
.tdeck-metric-card.stable strong,
.tdeck-card.tone-stable strong,
.tdeck-metric-card.tone-stable strong{color:var(--tdeck-success)!important}
.tdeck-metric-card.danger .tdeck-card-ic,
.tdeck-card.danger .tdeck-card-ic{background:color-mix(in srgb,var(--tdeck-danger) 10%,#fff)!important;border-color:color-mix(in srgb,var(--tdeck-danger) 36%,#fff)!important;color:var(--tdeck-danger)!important}
.tdeck-metric-card.warn .tdeck-card-ic,
.tdeck-card.warn .tdeck-card-ic{background:color-mix(in srgb,var(--tdeck-warning) 10%,#fff)!important;border-color:color-mix(in srgb,var(--tdeck-warning) 36%,#fff)!important;color:var(--tdeck-warning)!important}
.tdeck-metric-card.success .tdeck-card-ic,
.tdeck-card.success .tdeck-card-ic{background:color-mix(in srgb,var(--tdeck-success) 10%,#fff)!important;border-color:color-mix(in srgb,var(--tdeck-success) 36%,#fff)!important;color:var(--tdeck-success)!important}
@media(max-width:900px){
  .tdeck-card,
  .tdeck-metric-card,
  .tdeck-file-summary>div,
  .tdeck-pack-summary>div,
  .tdeck-mini-grid>div,
  .tdeck-profile-grid>div,
  .tdeck-personnel-strip>div,
  .tdeck-register-summary-grid>div,
  .tdeck-settings-status-strip>span,
  .tdeck-theme-preview-cards>span{padding:14px!important}
  .tdeck-card strong,
  .tdeck-metric-card strong,
  .tdeck-file-summary strong,
  .tdeck-pack-summary strong,
  .tdeck-mini-grid strong,
  .tdeck-profile-grid strong,
  .tdeck-personnel-strip strong,
  .tdeck-register-summary-grid strong,
  .tdeck-settings-status-strip strong,
  .tdeck-theme-preview-cards strong{font-size:24px!important}
}
