:root {
    --cti-navy: #0f1b3d;
    --cti-text: #26304a;
    --cti-tab: #10184a;
    --cti-blue: #1683f8;
    --cti-border: #e4e7ec;
    --cti-muted: #858998;
    --cti-page: #f7f8fa;
    --cti-white: #ffffff;
    --cti-secondary: #596174;
    --cti-control-border: #d9dde5;
    --cti-divider: #edf0f3;
    --cti-action: #1976d2;
}

* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    background: var(--cti-page);
    color: var(--cti-text);
    font-size: 14px;
}

.cti-header {
    height: 52px;
    background: #fff;
    color: var(--cti-navy);
    border-bottom: 1px solid var(--cti-border);
    box-shadow: 0 1px 2px rgba(15, 27, 61, .08);
    display: flex;
    align-items: center;
    padding: 0 12px;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.cti-brand {
    display: flex;
    align-items: center;
    gap: 7px;
    text-decoration: none;
    color: var(--cti-navy);
    margin-right: 18px;
    flex-shrink: 0;
}

.cti-logo {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: var(--cti-action);
    color: white;
    display: grid;
    place-items: center;
    font-size: 13px;
    font-weight: 800;
}

.cti-brand-text {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .2px;
    white-space: nowrap;
}

.cti-nav {
    display: flex;
    align-items: stretch;
    height: 52px;
    flex: 1;
    min-width: 0;
    overflow-x: auto;
}

.cti-nav a {
    min-height: 52px;
    display: flex;
    align-items: center;
    padding: 0 13px;
    color: var(--cti-tab);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
}

.cti-nav a:hover {
    background: #f4f9ff;
}

.cti-nav a.active {
    color: var(--cti-blue);
    background: #f8fbff;
    border-bottom-color: var(--cti-blue);
}

.cti-user {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    color: var(--cti-text);
    font-size: 13px;
    flex-shrink: 0;
}

.cti-user button { min-width: 0; padding: 6px 9px; border: 1px solid #ccd6e1; border-radius: 4px; cursor: pointer; }

.cti-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--cti-blue);
    color: white;
    display: grid;
    place-items: center;
    font-weight: 700;
}

.page {
    padding: 24px;
    max-width: 1800px;
    margin: 0 auto;
}

.page-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 22px;
}

.page-title {
    margin: 0;
    color: #202124;
    font-size: 24px;
    font-weight: 700;
}

.page-description {
    margin: 5px 0 0;
    color: #6b7280;
    font-size: 14px;
}

.card {
    background: #fff;
    border: 1px solid var(--cti-border);
    border-radius: 6px;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.metric {
    padding: 18px;
}

.metric-label {
    color: #6b7280;
    font-size: 13px;
    font-weight: 600;
}

.metric-value {
    margin-top: 8px;
    color: var(--cti-navy);
    font-size: 28px;
    font-weight: 700;
}

.metric-sub {
    margin-top: 5px;
    color: #858998;
    font-size: 12px;
}

.section {
    margin-top: 20px;
    padding: 20px;
}

.section h2 {
    margin: 0 0 6px;
    color: var(--cti-navy);
    font-size: 17px;
}

.section p {
    margin: 0;
    color: #6b7280;
}

@media (max-width: 1180px) {
    .cti-nav {
        overflow-x: auto;
    }

    .cti-user-name {
        display: none;
    }

    .dashboard-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 700px) {
    .page {
        padding: 16px;
    }

    .cti-brand-text {
        display: none;
    }

    .cti-nav a {
        padding: 0 9px;
    }

    .dashboard-grid {
        grid-template-columns: 1fr;
    }
}

/* Shared operational components. Page CSS may specialize layout, not this visual language. */
.recovery-app .page,
.recovery-app .library-page,
.recovery-app .intake-page { max-width:1600px; margin:0 auto; padding:24px; }
.recovery-app .page-header { margin:0 0 22px; }
.recovery-app .page-title,
.recovery-app .library-intro h1,
.recovery-app .intake-intro h1 { margin:0; font-size:24px; line-height:1.25; font-weight:700; color:var(--cti-text); }
.recovery-app .page-description,
.recovery-app .library-intro p,
.recovery-app .intake-intro p { margin:6px 0 0; color:var(--cti-secondary); font-size:13px; line-height:1.5; }
.recovery-app main h2 { font-size:16px; font-weight:700; color:var(--cti-text); }
.recovery-app .card,
.recovery-app .panel { background:#fff; border:1px solid var(--cti-border); border-radius:7px; box-shadow:none; }
.recovery-app :is(button,.btn,.btn-primary,.btn-secondary) { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 14px; border:1px solid var(--cti-control-border); border-radius:5px; background:#fff; color:var(--cti-text); font-family:inherit; font-size:13px; font-weight:600; text-decoration:none; cursor:pointer; }
.recovery-app :is(.btn-primary,.primary) { background:var(--cti-action); border-color:var(--cti-action); color:#fff; }
.recovery-app :is(button,.btn,.btn-secondary):hover:not(:disabled) { background:#f8fbff; }
.recovery-app :is(.btn-primary,.primary):hover:not(:disabled) { background:#1976d2; filter:brightness(.96); }
.recovery-app button:disabled { opacity:.5; cursor:not-allowed; }
.recovery-app input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.recovery-app select,
.recovery-app textarea { min-width:0; height:40px; padding:0 11px; border:1px solid var(--cti-control-border); border-radius:5px; background:#fff; color:var(--cti-text); font-family:inherit; font-size:13px; }
.recovery-app textarea { height:auto; min-height:88px; padding:10px 11px; resize:vertical; }
.recovery-app :is(input,select,textarea):focus-visible { outline:0; border-color:var(--cti-blue); box-shadow:0 0 0 2px rgba(22,131,248,.10); }
.recovery-app :is(button,a):focus-visible { outline:2px solid var(--cti-blue); outline-offset:2px; }
.recovery-app label { font-size:12px; font-weight:600; color:var(--cti-secondary); }
.recovery-app main table { width:100%; border-collapse:collapse; font-size:12px; }
.recovery-app main th { padding:10px 12px; background:#f8fbff; color:var(--cti-secondary); border-bottom:1px solid var(--cti-border); font-size:11px; font-weight:700; text-align:left; }
.recovery-app main td { padding:10px 12px; border-bottom:1px solid var(--cti-divider); text-align:left; }
.recovery-app main tbody tr:hover { background:#f8fbff; }
.recovery-app .table-wrap,
.recovery-app .scroll { width:100%; overflow:auto; }
.recovery-app .subtle { color:var(--cti-muted); font-size:12px; line-height:1.5; }
.recovery-app .workflow-card { padding:20px; margin:0 0 18px; }
.recovery-app .workflow-card > h2 { margin:0 0 16px; }
.recovery-app .workflow-form { max-width:900px; }
.recovery-app .workflow-form label { display:block; margin:0 0 16px; }
.recovery-app .workflow-form :is(input,select,textarea) { display:block; width:100%; margin-top:6px; }
.recovery-app .workflow-form p { color:var(--cti-secondary); font-size:12px; line-height:1.5; }
.recovery-app .workflow-form [hidden] { display:none; }
.recovery-app .workflow-page fieldset { margin:0 0 18px; padding:20px; border:1px solid var(--cti-border); border-radius:7px; background:#fff; }
.recovery-app .workflow-page legend { padding:0 6px; font-size:14px; font-weight:700; }
.recovery-app .workflow-page .notice { margin:0 0 18px; padding:12px 16px; border:1px solid var(--cti-border); border-left:3px solid var(--cti-blue); border-radius:5px; background:#fff; color:var(--cti-secondary); font-size:12px; }
.recovery-app .workflow-page :is(#message,#result) { white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.5; font-family:inherit; }
.recovery-app .workflow-page :is(#message,#result):empty { display:none; }
.recovery-app .workflow-page #message:not(:empty) { padding:12px 16px; border:1px solid var(--cti-border); border-radius:5px; background:#fff; }
.recovery-app .workflow-page #message.ok { background:#ecfdf3; color:#067647; }
.recovery-app .workflow-page #message.error { background:#fff4f2; color:#b42318; }
.recovery-app .workflow-footer { font-size:12px; color:var(--cti-secondary); }
.recovery-app .workflow-footer a { color:var(--cti-action); }
.recovery-app .analysis-page .panel { padding:18px; margin-bottom:18px; }
.recovery-app .analysis-page .panel h2 { margin:0 0 16px; }
.recovery-app .analysis-page .filters { display:grid; grid-template-columns:repeat(5,minmax(130px,1fr)); gap:12px; }
.recovery-app .analysis-page label :is(input,select) { display:block; width:100%; margin-top:6px; }
.recovery-app .analysis-page .metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.recovery-app .analysis-page .metric { padding:16px; background:#fff; border:1px solid var(--cti-border); border-radius:7px; font-size:12px; color:var(--cti-secondary); }
.recovery-app .analysis-page .metric strong { display:block; margin-top:8px; font-size:24px; color:var(--cti-navy); }
.recovery-app .analysis-page .dimensions { display:flex; flex-wrap:wrap; gap:8px; }
.recovery-app .analysis-page .chip { display:inline-flex; align-items:center; gap:4px; padding:4px 6px; border:1px solid var(--cti-control-border); border-radius:5px; font-size:12px; background:#fff; }
.recovery-app .analysis-page .chip button { min-height:28px; padding:0 8px; }
.recovery-app .analysis-page details { margin:8px 0 8px 12px; border-left:2px solid var(--cti-border); padding-left:10px; }
.recovery-app .analysis-page summary { cursor:pointer; padding:12px; background:#f8fbff; font-size:13px; }
.recovery-app .analysis-page .group-metrics { font-size:12px; color:var(--cti-secondary); margin-left:16px; line-height:1.8; }
.recovery-app .analysis-page .actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:16px; }
.recovery-app .analysis-page .actions h2 { margin:0; }
.recovery-app .analysis-page #summaryNote { margin-top:12px; font-size:12px; color:var(--cti-muted); }
.recovery-app .login-page { max-width:440px; margin:8vh auto; padding:24px; }
.recovery-app .login-page .card { padding:24px; }
.recovery-app .login-page .cti-brand { margin:0 0 24px; }
.recovery-app .login-page h1 { font-size:24px; margin:0 0 8px; }
.recovery-app .login-page .workflow-form { margin-top:20px; }
.recovery-app .login-page .btn-primary { width:100%; }
.recovery-app .path-card:hover { transform:none; box-shadow:none; background:#f8fbff; }
.recovery-app :is(.route-badge,.route-pill,.path-pill) { display:inline-flex; align-items:center; min-height:26px; padding:4px 10px; border-radius:6px; font-size:11px; font-weight:700; letter-spacing:.2px; line-height:1.2; white-space:nowrap; }
.recovery-app :is(.route-whatnot,.path-card.whatnot .path-name) { background:#B9FFCC; color:#087A36; border:1px solid #72F59A; box-shadow:0 0 7px rgba(72,255,128,.16); }
.recovery-app :is(.route-wholesale,.path-card.wholesale .path-name) { background:#C7E8FF; color:#075A9C; border:1px solid #72C8FF; box-shadow:0 0 7px rgba(55,170,255,.14); }
.recovery-app :is(.route-repair,.path-card.repair .path-name) { background:#FFE2A8; color:#9A4B00; border:1px solid #FFBE55; box-shadow:0 0 7px rgba(255,166,0,.15); }
.recovery-app :is(.route-harvest,.path-card.harvest .path-name) { background:#E4CCFF; color:#6521A8; border:1px solid #C58BFF; box-shadow:0 0 7px rgba(170,75,255,.14); }
.recovery-app .route-review { background:#FFF59A; color:#786000; border:1px solid #F4DC52; box-shadow:0 0 7px rgba(255,225,50,.14); }
.recovery-app .route-scrap { background:#FFC1C1; color:#9B2020; border:1px solid #FF8585; box-shadow:0 0 7px rgba(255,70,70,.13); }
.recovery-app :is(.route-unknown,.route-default) { background:#E9EDF2; color:#58616D; border:1px solid #CDD3DA; box-shadow:none; }
.recovery-app .path-card .path-name { display:inline-flex; padding:4px 10px; border-radius:6px; font-size:12px; }
.recovery-app .path-card.whatnot::before { background:#72F59A; }
.recovery-app .path-card.wholesale::before { background:#72C8FF; }
.recovery-app .path-card.repair::before { background:#FFBE55; }
.recovery-app .path-card.harvest::before { background:#C58BFF; }
@media(max-width:1000px) { .recovery-app .analysis-page .filters,.recovery-app .analysis-page .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .recovery-app .page,.recovery-app .library-page,.recovery-app .intake-page { padding:16px; } .recovery-app .workflow-card { padding:16px; } .recovery-app .page-header { flex-wrap:wrap; } .recovery-app .workflow-form { max-width:none; } }

/* Reference workspace: compact dark ERP shell, dense tables and guided operations. */
.recovery-app { background:#f4f8fc; }
.recovery-app .cti-header { height:46px; background:#20364f; color:#fff; border:0; box-shadow:none; padding:0 16px; gap:12px; }
.recovery-app .cti-brand { margin-right:4px; }
.erp-wordmark { font-size:24px; font-weight:900; font-style:italic; color:white; letter-spacing:-1px; white-space:nowrap; }
.erp-wordmark small { font-size:11px; font-style:normal; letter-spacing:.3px; color:#69c4ff; }
.recovery-app .cti-nav { height:46px; scrollbar-width:thin; }
.recovery-app .cti-nav a { min-height:46px; padding:0 9px; font-size:11px; font-weight:500; color:#ecf4ff; border:0; gap:6px; }
.recovery-app .cti-nav a.active { background:#087cf0; color:#fff; }
.recovery-app .cti-nav a:hover { background:#2d4967; }
.recovery-app .cti-nav a.active:hover { background:#087cf0; }
.nav-icon { color:#c6d6e6; font-size:16px; }
.recovery-app .cti-nav a.active .nav-icon { color:white; }
.recovery-app .cti-user { color:#edf4fc; gap:7px; }
.recovery-app .cti-user-name strong { display:block; font-size:11px; font-weight:500; }
.recovery-app .cti-user-name small { display:block; font-size:9px; color:#bbcee2; }
.recovery-app .cti-avatar { height:28px; width:28px; background:#e6eef8; color:#375d7b; font-size:11px; }
.recovery-app .cti-user button { min-height:28px; padding:0 6px; color:white; background:transparent; border-color:#52708a; }
.recovery-app .header-search input { height:28px; width:130px; background:#344e68; color:white; border-color:#526980; font-size:11px; }
.header-search input::placeholder { color:#c7d5e2; }
.recovery-app .page { padding:18px 20px; }
.recovery-app .page-title { font-size:24px; color:#142c4e; }
.recovery-app .page-description { font-size:12px; color:#63799a; }
.recovery-app .page-header { margin-bottom:16px; }
.breadcrumb { display:flex; align-items:center; gap:8px; margin-bottom:12px; color:#70849f; font-size:10px; }
.breadcrumb a { color:#4f7199; text-decoration:none; }
.recovery-app .card,.recovery-app .panel { border-color:#e0e8f2; border-radius:4px; }
.recovery-app main :is(button,.btn-primary,.btn-secondary,.btn) { min-height:34px; font-size:11px; padding:0 12px; border-color:#dbe6f2; border-radius:4px; }
.recovery-app main :is(.btn-primary,.primary) { background:#087cf0; color:#fff; border-color:#087cf0; }
.recovery-app main :is(.btn-primary,.primary):hover:not(:disabled) { background:#087cf0; }
.recovery-app main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.recovery-app main select { height:34px; font-size:11px; border-color:#dbe6f2; border-radius:4px; }
.recovery-app main label { font-size:11px; color:#546e90; }
.recovery-app main h2 { font-size:14px; color:#183352; }
.recovery-app main th { background:#f1f6fc; color:#536d8e; font-size:10px; padding:9px; border-color:#e0e8f2; }
.recovery-app main td { font-size:11px; padding:8px 9px; border-color:#edf2f8; }
.recovery-app .route-badge { min-height:22px; padding:3px 8px; font-size:10px; border-radius:4px; box-shadow:none; }
.recovery-app .workflow-card { padding:16px; margin-bottom:12px; }
.inventory-kpis { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.inventory-kpi { display:flex; align-items:center; gap:12px; padding:16px 12px; }
.inventory-kpi strong { display:block; color:#183352; font-size:23px; line-height:1.2; }
.inventory-kpi span:not(.kpi-icon) { display:block; font-size:11px; color:#546e90; margin-top:3px; }
.inventory-kpi small { display:block; font-size:9px; color:#94a3b8; margin-top:6px; }
.kpi-icon { width:40px; height:40px; border-radius:5px; display:grid; place-items:center; font-size:23px; flex-shrink:0; }
.kpi-icon.neutral { background:#f0f4f8; color:#40566f; }
.kpi-icon.whatnot { background:#ebdefc; color:#7527cc; }
.kpi-icon.wholesale { background:#e0f5ed; color:#00a271; }
.kpi-icon.repair { background:#fff0e2; color:#f48529; }
.kpi-icon.aging { background:#ffe7eb; color:#db4249; }
.kpi-icon.rerouted { background:#eaf3ff; color:#087cf0; }
.inventory-tabs { display:flex; overflow:auto; border-bottom:1px solid #e0e8f2; }
.recovery-app .inventory-tabs button { border:0; border-right:1px solid #e5edf6; border-bottom:2px solid transparent; border-radius:0; padding:10px 24px; color:#617996; background:#f5f8fc; white-space:nowrap; }
.recovery-app .inventory-tabs button.active { background:#fff; color:#087cf0; border-bottom-color:#087cf0; }
.inventory-filters { display:grid; grid-template-columns:repeat(6,minmax(90px,1fr)) 135px minmax(160px,1.5fr) auto; gap:8px; padding:15px 12px; align-items:end; }
.inventory-filters label :is(input,select) { width:100%; display:block; margin-top:5px; }
.inventory-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; padding:10px 12px; border-top:1px solid #edf2f8; border-bottom:1px solid #e0e8f2; }
.inventory-toolbar > div { display:flex; gap:7px; align-items:center; }
#inventorySelected { font-size:11px; color:#607898; margin-right:8px; }
.recovery-app main .serialized-table { white-space:nowrap; }
.recovery-app .serialized-table th button { min-height:0; border:0; background:transparent; font-size:10px; color:#536d8e; padding:0; }
.recovery-app .serialized-table td { font-size:10px; }
.serial-link { color:#087cf0; font-weight:600; }
.status-badge { display:inline-block; padding:3px 6px; border-radius:3px; background:#e8f0fa; color:#4d739a; font-size:9px; }
.inventory-pagination { display:flex; justify-content:space-between; align-items:center; padding:12px; font-size:11px; color:#607898; }
.inventory-pagination > div { display:flex; align-items:center; gap:8px; }
.workflow-steps { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #e0e8f2; border-radius:4px; background:white; padding:12px 16px; margin-bottom:14px; gap:12px; }
.workflow-step { display:flex; align-items:center; gap:12px; color:#8a9caf; font-size:11px; position:relative; }
.workflow-step > span { display:grid; place-items:center; height:32px; width:32px; border-radius:50%; background:#e5ebf3; color:#71849a; font-weight:700; }
.workflow-step.is-active { color:#087cf0; }
.workflow-step.is-active > span { background:#087cf0; color:white; }
.workflow-step:not(:last-child)::after { content:''; height:1px; flex:1; background:#e5edf6; }
.handoff-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:14px; align-items:start; }
.handoff-layout aside label { display:block; margin-bottom:14px; }
.handoff-layout aside :is(input,select) { width:100%; margin-top:5px; }
.handoff-content { min-width:0; }
.section-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.section-toolbar h2 { margin:0 0 3px; }
.section-toolbar p { margin:0; }
.group-identity { display:flex; gap:10px; align-items:center; border-bottom:1px solid #edf2f8; padding-bottom:12px; margin-bottom:12px; font-size:12px; }
.context-icon { color:#087cf0; font-size:30px; }
.summary-list { display:grid; grid-template-columns:1fr auto; gap:12px; font-size:11px; margin:16px 0; }
.summary-list dt { color:#7489a5; }
.summary-list dd { margin:0; font-weight:600; color:#203e62; text-align:right; overflow-wrap:anywhere; }
.flow-table { max-height:290px; overflow:auto; }
.flow-table th { position:sticky; top:0; z-index:1; }
.reference-flow .workflow-form { max-width:none; }
.reference-flow .workflow-form > label,.reference-flow .workflow-form > div > label { max-width:700px; }
.reference-flow .workflow-form #exportFields { max-width:700px; }
.reroute-reference-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:14px; align-items:start; }
.reroute-reference-layout > div { min-width:0; }
.route-choice-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:16px; }
.recovery-app .route-choice-grid button { min-height:80px; padding:10px; display:flex; flex-direction:column; gap:5px; font-size:12px; }
.route-choice-grid button > span { font-size:24px; color:#087cf0; }
.route-choice-grid small { font-size:10px; color:#8093ae; }
.recovery-app .route-choice-grid button.active { border-color:#087cf0; background:#f2f8ff; }
.scan-notice { padding:12px; border:1px solid #ffdc94; background:#fff7e8; color:#926623; font-size:11px; line-height:1.6; border-radius:4px; }
.analysis-workspace { display:grid; grid-template-columns:220px minmax(0,1fr); gap:14px; align-items:start; }
.analysis-content { min-width:0; }
.recovery-app .analysis-page .filters { grid-template-columns:repeat(7,minmax(110px,1fr)); gap:10px; }
.recovery-app .analysis-page .panel { padding:14px; margin-bottom:12px; }
.recovery-app .analysis-page .metrics { grid-template-columns:repeat(9,minmax(0,1fr)); gap:8px; }
.recovery-app .analysis-page .metric { padding:12px 10px; font-size:10px; background:#fff; border-color:#e5edf6; }
.recovery-app .analysis-page .metric strong { font-size:19px; }
.recovery-app .analysis-page .dimensions { display:flex; flex-direction:column; gap:7px; }
.recovery-app .analysis-page .chip { width:100%; justify-content:flex-end; font-size:11px; }
.recovery-app .analysis-page .chip button { min-height:24px; padding:0 6px; font-size:10px; }
.recovery-app .analysis-page details { margin:0 0 0 10px; border:0; padding-left:0; }
.recovery-app .analysis-page summary { display:grid; grid-template-columns:minmax(150px,2fr) repeat(7,minmax(55px,.7fr)); align-items:center; gap:8px; padding:10px; border-bottom:1px solid #e6edf6; background:white; font-size:11px; }
.recovery-app .analysis-page summary:hover { background:#f5f9ff; }
.group-column-head { display:grid; grid-template-columns:minmax(150px,2fr) repeat(7,minmax(55px,.7fr)); gap:8px; padding:10px; background:#f1f6fc; color:#526f91; font-size:10px; font-weight:700; }
.group-label::before { content:'›'; display:inline-block; margin-right:8px; color:#557da7; }
.recovery-app .analysis-page details[open] > summary .group-label::before { transform:rotate(90deg); }
.recovery-app .analysis-page .actions { gap:7px; margin-bottom:12px; }
.recovery-app .analysis-page .actions h2 { margin-right:auto; }
#analysisViews button { display:block; width:100%; margin-bottom:7px; text-align:left; justify-content:flex-start; }
@media(max-width:1200px) { .header-search { display:none; } .inventory-filters { grid-template-columns:repeat(4,minmax(0,1fr)); } .inventory-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); } .recovery-app .analysis-page .filters { grid-template-columns:repeat(4,minmax(0,1fr)); } .recovery-app .analysis-page .metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:850px) { .handoff-layout,.reroute-reference-layout,.analysis-workspace { grid-template-columns:1fr; } .handoff-layout aside { display:grid; grid-template-columns:1fr 1fr; gap:12px; } .workflow-steps { grid-template-columns:1fr 1fr; } .group-column-head { display:none; } .analysis-content { overflow:auto; } .inventory-toolbar { align-items:flex-start; } .inventory-toolbar > div { flex-wrap:wrap; } }
@media(max-width:600px) { .inventory-kpis,.inventory-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .handoff-layout aside { display:block; } .route-choice-grid { grid-template-columns:1fr 1fr; } }
.recovery-app .flow-configuration { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr); gap:16px; }
.flow-configuration > h2 { grid-column:1/-1; margin-bottom:0; }
.listing-preview { background:#f5f9fe; border:1px solid #e3edf8; padding:14px; border-radius:4px; font-size:12px; color:#27466b; }
.listing-preview h3 { margin:0 0 12px; font-size:12px; }
.listing-device-placeholder { display:grid; place-items:center; width:76px; height:90px; background:#e5edf6; color:#6b86a2; border-radius:4px; font-size:44px; margin-bottom:12px; }
.preview-price { font-size:24px; color:#183352; font-weight:700; margin:10px 0; }
.listing-preview p { color:#6a83a4; font-size:11px; line-height:1.6; }
@media(max-width:1000px) { .recovery-app .flow-configuration { grid-template-columns:1fr; } }

.recovery-app .cti-header .header-search input{background:#354e69;color:#fff;border-color:#52677f}.recovery-app .cti-header .header-search input::placeholder{color:#c0ccda}
/* Reroute reference layout */
.reroute-screen{max-width:none}.reroute-screen .reroute-reference-layout{grid-template-columns:minmax(0,1fr) 300px;gap:14px}.reroute-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.reroute-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.reroute-card-heading h2{margin:0}.reroute-add-device{display:flex;align-items:center;gap:8px;margin-bottom:12px}.reroute-add-device input{max-width:260px}.reroute-add-device a{font-size:11px}.reroute-screen .workflow-card{padding:14px}.reroute-screen .route-choice-grid{margin:0}.reroute-screen .route-choice-grid button{min-height:92px;font-weight:600}.reroute-screen #path{height:28px;font-size:11px}.reroute-screen .workflow-form{gap:16px}.reroute-screen #notes{min-height:115px}.reroute-screen #notesCount{text-align:right;margin-top:-12px}.reroute-label{display:flex;flex-direction:column;gap:8px;font-size:12px;margin:14px 0}.required{color:#d94646}.reroute-scan-box{background:#f1f5fa;padding:14px;border-radius:4px;margin:16px 0}.reroute-scan-box p{font-size:11px;color:#75849d}.reroute-scan-input{display:flex;gap:8px}.reroute-scan-input input{min-width:0;flex:1}.reroute-screen h3{font-size:12px;margin:18px 0 8px}.reroute-summary{display:flex;flex-direction:column;align-self:stretch}.reroute-summary .summary-list{font-size:11px;grid-template-columns:100px minmax(0,1fr)}.reroute-summary .summary-list dd{overflow-wrap:anywhere}.reroute-summary .route-badge{display:inline-block;margin:0 3px 4px 0}.reroute-important{background:#fff5e4;border:1px solid #ffdfaa;border-radius:4px;padding:12px;color:#985b06;font-size:12px;line-height:1.6;margin-top:auto}.reroute-summary-actions{display:flex;gap:10px;margin-top:8px}.reroute-summary-actions button{flex:1;min-height:45px}.reroute-summary-actions small{display:block;font-size:9px;font-weight:400;margin-top:3px}.reroute-pending-link{font-size:11px;margin-top:16px}.reroute-screen .serialized-table{font-size:10px}.reroute-screen .serialized-table td{padding:8px}.reroute-screen #message{white-space:pre-wrap}.reroute-screen [disabled]{cursor:default}@media(max-width:1050px){.reroute-screen .reroute-reference-layout{grid-template-columns:1fr}.reroute-summary{min-height:0}.reroute-important{margin-top:16px}}@media(max-width:700px){.reroute-config-grid{grid-template-columns:1fr}.reroute-add-device{flex-wrap:wrap}}
.reroute-screen .reroute-label{display:block}.reroute-screen .reroute-label select,.reroute-screen .reroute-label input{display:block;width:100%;margin-top:8px}.reroute-screen .reroute-summary-actions .btn-primary{display:block;text-align:center}.reroute-screen .reroute-config-grid .scan-notice{background:#eaf3ff;border-color:#d5e7ff;color:#0869cc}.reroute-screen .workflow-step small{display:block;font-size:10px;color:#7c8da6;margin-top:4px}.reroute-screen #notesCount{display:block}.reroute-screen .route-choice-grid [data-route=REC_WHATNOT]>span{color:#803ac1}.reroute-screen .route-choice-grid [data-route=REC_WHOLESALE]>span{color:#08a56a}.reroute-screen .route-choice-grid [data-route=REC_REPAIR]>span{color:#f78a24}.reroute-screen .route-choice-grid [data-route=REC_HARVEST]>span{color:#7a889c}
.reroute-inline-error{background:#fff0f0;border:1px solid #efb6b6;color:#9d2424;padding:10px;border-radius:4px;font-size:12px;line-height:1.5}.reroute-inline-status{background:#edf4ff;border:1px solid #ccdff9;color:#244366;padding:10px;border-radius:4px;font-size:12px;line-height:1.5}
