:root{
    --bg:#f6f7fb;
    --surface:#ffffff;
    --surface-soft:#fbfcfe;
    --text:#151922;
    --muted:#697386;
    --muted-2:#97a0b3;
    --line:#e8ebf1;
    --primary:#173f6f;
    --primary-2:#2367a8;
    --accent:#2f7dd1;
    --success:#1f9d70;
    --warning:#d88918;
    --danger:#d84a4a;
    --shadow:0 24px 70px rgba(16,24,40,.08);
    --shadow-soft:0 12px 28px rgba(16,24,40,.06);
    --sidebar:284px;
    --topbar:84px;
    --radius:22px;
    --bs-primary:var(--primary);
    --bs-primary-rgb:23,63,111;
    --bs-secondary:#586174;
    --bs-secondary-rgb:88,97,116;
    --bs-success:var(--success);
    --bs-success-rgb:31,157,112;
    --bs-info:var(--accent);
    --bs-info-rgb:47,125,209;
    --bs-warning:var(--warning);
    --bs-warning-rgb:216,137,24;
    --bs-danger:var(--danger);
    --bs-danger-rgb:216,74,74;
    --bs-body-color:var(--text);
    --bs-body-bg:var(--bg);
    --bs-border-color:var(--line);
    --bs-font-sans-serif:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}
body{
    margin:0;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background:
        radial-gradient(circle at 10% 10%, rgba(35,103,168,.10), transparent 30%),
        radial-gradient(circle at 90% 5%, rgba(47,125,209,.08), transparent 28%),
        var(--bg);
    color:var(--text);
}
a{text-decoration:none;color:inherit}
button,input,select{font-family:inherit}

.btn{
    display:inline-flex;align-items:center;gap:8px;
    font-weight:700;padding:11px 15px;border-radius:14px
}
.btn svg{width:18px;flex-shrink:0}
.btn-sm{padding:8px 11px;font-size:12px;border-radius:12px}
.btn-primary{
    background:linear-gradient(135deg,var(--primary),var(--accent));
    border:0;color:#fff;font-weight:800;border-radius:16px;box-shadow:0 18px 40px rgba(35,103,168,.22)
}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active{
    background:linear-gradient(135deg,var(--primary-2),var(--accent));
    border:0;color:#fff
}
.btn-primary:disabled,.btn-primary.disabled{
    background:linear-gradient(135deg,var(--primary),var(--accent));
    border:0;opacity:.55;color:#fff
}
.fc-login-page{
    background:transparent
}
.fc-login-card{
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    border-color:var(--line)
}
.fc-login-page .btn-primary{
    background:linear-gradient(135deg,var(--primary),var(--accent)) !important;
    border:0 !important;
    color:#fff !important;
    font-size:14px;
    font-weight:800;
    border-radius:16px;
    box-shadow:0 18px 40px rgba(35,103,168,.22);
    padding:12px 16px
}
.fc-login-page .btn-primary:hover,
.fc-login-page .btn-primary:focus,
.fc-login-page .btn-primary:active{
    background:linear-gradient(135deg,var(--primary-2),var(--accent)) !important;
    color:#fff !important
}
.fc-login-page .fc-form .form-control{
    border-radius:16px;
    background:var(--surface-soft);
    padding:11px 14px;
    font-size:14px;
    min-height:48px
}
.fc-login-page .fc-form .form-control:focus{
    border-color:rgba(47,125,209,.55);
    box-shadow:0 0 0 4px rgba(47,125,209,.12)
}
.fc-btn-link{
    color:var(--primary) !important;
    font-size:13px;
    font-weight:700;
    text-decoration:none;
    text-underline-offset:3px
}
.fc-btn-link:hover{
    color:var(--primary-2) !important;
    text-decoration:underline
}
.btn-outline-secondary{
    background:var(--surface-soft) !important;
    border-color:var(--line) !important;
    color:var(--text) !important;
    border-radius:14px
}
.btn-outline-secondary:hover,.btn-outline-secondary:focus{
    background:#fff !important;
    border-color:rgba(47,125,209,.35) !important;
    color:var(--primary) !important
}

/* Boutons CORE des écrans Paramétrage (utilisateurs, paramètres, emails) */
.fc-btn{
    border:1px solid var(--line);
    background:var(--surface-soft);
    color:var(--text) !important;
    padding:8px 14px;
    font-size:13px;
    font-weight:700;
    border-radius:14px;
    box-shadow:none;
    display:inline-flex;
    align-items:center;
    gap:8px
}
.fc-btn:hover,.fc-btn:focus{
    background:#fff;
    border-color:rgba(47,125,209,.35);
    color:var(--primary) !important
}
.fc-btn:disabled{
    background:var(--surface-soft);
    color:var(--muted) !important;
    opacity:.55
}
.fc-btn-outline{
    background:var(--surface-soft);
    border:1px solid var(--line);
    color:var(--text) !important;
    padding:8px 14px;
    font-size:13px;
    font-weight:700;
    border-radius:14px
}
.fc-btn-outline:hover,.fc-btn-outline:focus{
    background:#fff;
    border-color:rgba(47,125,209,.35);
    color:var(--primary) !important
}
a.fc-btn,a.fc-btn-outline{color:inherit;text-decoration:none}
a.fc-btn:hover,a.fc-btn-outline:hover{color:var(--primary) !important}
.fc-table .fc-btn-icon{
    width:38px;height:38px;padding:0;border-radius:12px
}
.fc-panel .dataTables_paginate .paginate_button.current,
.fc-panel .dataTables_paginate .paginate_button.current:hover{
    background:var(--surface-soft) !important;
    color:var(--primary) !important;
    border-color:rgba(47,125,209,.35) !important;
    border-radius:12px !important
}
.btn-light{
    background:#f4f6fa;border-color:var(--line);color:var(--text)
}
.btn-outline-light{
    background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff
}
.btn-outline-light:hover,.btn-outline-light:focus{
    background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.30);color:#fff
}
.form-control,.form-select{
    border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);
    padding:11px 14px;font-size:14px
}
.form-control:focus,.form-select:focus{
    box-shadow:0 0 0 4px rgba(47,125,209,.12);border-color:rgba(47,125,209,.55)
}

.app-shell{min-height:100vh;display:flex}
.app-sidebar{
    width:var(--sidebar);
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(18px);
    border-right:1px solid rgba(232,235,241,.85);
    position:fixed;
    inset:0 auto 0 0;
    z-index:50;
    display:flex;
    flex-direction:column;
    padding:22px 16px;
}
.sidebar-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;padding:0 4px}
.brand-link{display:flex;align-items:center;gap:12px}
.brand-mark{
    width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--accent));
    color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:var(--shadow-soft)
}
.brand-text{font-weight:800;letter-spacing:-.04em;font-size:15px}
.sidebar-toggle,.icon-button{
    width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:14px;
    display:grid;place-items:center;color:var(--muted)
}
.icon-button svg,.nav-item svg,.topbar-chip svg,.reader-chip svg,.btn svg{width:18px;height:18px}
.sidebar-nav{display:flex;flex-direction:column;gap:4px;overflow:auto;padding-right:4px}
.nav-section{
    margin:20px 12px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.10em;color:var(--muted-2);font-weight:700
}
.nav-item{
    height:46px;display:flex;align-items:center;gap:12px;padding:0 12px;border-radius:15px;
    color:#586174;font-size:14px;font-weight:600;transition:.16s ease
}
.nav-item:hover{background:#f2f5f9;color:var(--text)}
.nav-item.active{
    background:linear-gradient(135deg,rgba(23,63,111,.10),rgba(47,125,209,.10));color:var(--primary)
}
.nav-item em{
    margin-left:auto;font-size:12px;font-style:normal;background:#eef4ff;color:var(--primary);
    border-radius:999px;padding:2px 7px
}
.nav-static-card{
    background:#f8fafc;border:1px solid var(--line);padding:14px;border-radius:18px;color:#414a5d
}
.nav-static-card strong{display:block;font-size:13px;margin-bottom:4px}
.nav-static-card small{font-size:12px;color:var(--muted);line-height:1.5}
.sidebar-footer{margin-top:auto;padding:14px 6px 0}
.mini-status{display:flex;gap:11px;align-items:center;background:#f8fafc;border:1px solid var(--line);padding:12px;border-radius:18px}
.mini-status strong{font-size:13px;display:block}
.mini-status small{font-size:12px;color:var(--muted)}
.pulse{width:10px;height:10px;border-radius:50%;background:var(--success);box-shadow:0 0 0 6px rgba(31,157,112,.12)}
.pulse.pulse-off{background:var(--warning);box-shadow:0 0 0 6px rgba(216,137,24,.12)}
.toasts{position:fixed;bottom:2rem;right:1rem;z-index:200}

.app-main{margin-left:var(--sidebar);min-height:100vh;width:calc(100% - var(--sidebar))}
.app-topbar{
    height:var(--topbar);display:flex;align-items:center;gap:22px;padding:18px 34px;
    position:sticky;top:0;background:rgba(246,247,251,.74);backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(232,235,241,.70);z-index:30
}
.topbar-left{display:flex;align-items:center;gap:14px;min-width:250px}
.page-kicker span{display:block;font-size:12px;color:var(--muted);font-weight:600}
.page-kicker strong{display:block;font-size:16px;letter-spacing:-.03em}
.topbar-search-zone{flex:1;max-width:900px;display:flex;align-items:center;gap:10px;min-width:0}
.global-search{
    flex:1;min-width:0;height:50px;background:#fff;border:1px solid var(--line);border-radius:17px;
    display:flex;align-items:center;gap:12px;padding:0 14px;box-shadow:0 10px 24px rgba(16,24,40,.035)
}
.global-search svg{color:var(--muted-2)}
.global-search input{border:0;outline:0;flex:1;font-size:14px;background:transparent}
.topbar-chip{
    flex-shrink:0;height:50px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;background:#fff;
    border:1px solid var(--line);border-radius:17px;font-size:13px;font-weight:700;color:var(--primary)
}
.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.profile-switch{
    border:1px solid var(--line);background:#fff;border-radius:17px;padding:6px 11px 6px 7px;
    display:flex;align-items:center;gap:10px;min-width:178px
}
.avatar{width:38px;height:38px;border-radius:13px;background:#eef4ff;color:var(--primary);display:grid;place-items:center;font-weight:800;font-size:13px}
.profile-text strong{display:block;font-size:13px}
.profile-text small{display:block;font-size:12px;color:var(--muted)}

.app-content{padding:28px 30px 38px}
.eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;opacity:.72}

.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:4px}
.stat-card{
    background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;
    display:flex;align-items:center;gap:12px;box-shadow:0 6px 18px rgba(16,24,40,.03)
}
.stat-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center}
.stat-icon.blue{background:#eef4ff;color:var(--primary)}
.stat-icon.green{background:#edf9f4;color:var(--success)}
.stat-icon.amber{background:#fff7e8;color:var(--warning)}
.stat-icon.red{background:#fff2f2;color:var(--danger)}
.stat-card span{font-size:13px;color:var(--muted);font-weight:600}
.stat-card strong{display:block;font-size:24px;letter-spacing:-.05em;margin:1px 0}
.stat-card small{font-size:12px;font-weight:600;color:#596274}

.page-heading{
    display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:20px 0 12px
}
.page-heading h2{font-size:26px;letter-spacing:-.05em;margin:6px 0 0}
.page-heading p{margin:8px 0 0;color:var(--muted);font-size:14px}
.page-heading-meta{
    text-align:right;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;
    box-shadow:0 6px 18px rgba(16,24,40,.03)
}
.page-heading-meta small,.page-heading-meta span{display:block;font-size:12px;color:var(--muted)}
.page-heading-meta strong{display:block;font-size:18px;letter-spacing:-.04em;margin:3px 0 4px}

.panel{
    background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 6px 18px rgba(16,24,40,.03)
}
.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.panel h3,.panel h4{margin:0}
.panel p{font-size:13px;color:var(--muted);margin:6px 0 0}

.filter-panel{margin-bottom:14px}
.filter-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;align-items:end
}
.filter-grid-stats{
    grid-template-columns:180px 220px auto;max-width:560px
}
.filter-grid label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:#303849}
.filter-actions{display:flex;gap:10px;align-items:end;justify-content:flex-end}
.emission-actions{
    display:flex;flex-wrap:wrap;gap:10px;align-items:center;
    margin-top:12px
}
.emission-upload{
    display:flex;flex-wrap:wrap;gap:10px;align-items:center;flex:1 1 280px
}
.emission-upload .form-control{max-width:280px}
.filter-footer{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    margin-top:14px;padding-top:14px;border-top:1px solid #eef1f6;font-size:13px;color:var(--muted)
}

.invoice-workbench{display:grid;grid-template-columns:minmax(360px,.92fr) 1.08fr;gap:14px;align-items:start}
.invoice-workbench-3col{
    grid-template-columns:minmax(280px,.82fr) minmax(300px,.92fr) minmax(320px,1fr);
    align-items:stretch;
    min-height:calc(100vh - 220px)
}
.invoice-list-panel,.invoice-reader,.invoice-preview-panel{padding:0}
.invoice-list-panel .panel-header,.invoice-reader-header,.invoice-preview-panel .panel-header{padding:18px 18px 0}
.invoice-detail-column,.invoice-preview-column,.invoice-incoming-column{display:flex;flex-direction:column;gap:14px;min-width:0}
.invoice-workbench-3col .invoice-list-panel,
.invoice-workbench-3col .invoice-preview-panel,
.invoice-workbench-3col .invoice-detail-column,
.invoice-workbench-3col .invoice-preview-column{
    height:100%;
    min-height:calc(100vh - 220px)
}
.invoice-workbench-3col .invoice-list-panel,
.invoice-workbench-3col .invoice-preview-panel{
    display:flex;flex-direction:column
}
.invoice-workbench-3col .invoice-mailbox-list{
    flex:1;max-height:none;min-height:0;overflow:auto
}
.invoice-workbench-3col .invoice-preview-panel .preview-actions{
    flex-shrink:0
}
.invoice-workbench-3col .invoice-preview-panel .pdf-viewer-wrap{
    flex:1;min-height:0;display:flex;flex-direction:column;margin-bottom:18px
}
.invoice-workbench-3col .pdf-viewer{
    flex:1;height:auto;min-height:480px
}
.tabs-soft{display:flex;flex-wrap:wrap;gap:8px}
.tabs-soft a{
    padding:9px 14px;border-radius:12px;font-size:13px;font-weight:700;color:var(--muted);
    border:1px solid var(--line);background:#fbfcfe
}
.tabs-soft a.active{background:#eef4ff;color:var(--primary);border-color:rgba(47,125,209,.25)}
.tabs-soft a span{
    margin-left:6px;background:rgba(0,0,0,.06);border-radius:999px;padding:2px 7px;font-size:11px
}

.invoice-mailbox-list{display:flex;flex-direction:column;padding:0 12px 12px;max-height:860px;overflow:auto}
.invoice-mail-row{
    display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;
    transition:.16s ease;margin-top:10px
}
.invoice-mail-row:hover{background:#fbfcfe;border-color:rgba(47,125,209,.22)}
.invoice-mail-row.selected{background:#eef4ff;border-color:rgba(47,125,209,.35)}
.invoice-mail-row-top{display:flex;justify-content:space-between;gap:12px}
.invoice-mail-row-top strong{font-size:14px;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.invoice-mail-row-top time{font-size:11px;color:var(--muted-2);white-space:nowrap}
.direction-pill{
    width:24px;height:24px;border-radius:8px;display:inline-grid;place-items:center;flex-shrink:0
}
.direction-pill svg{width:14px;height:14px}
.direction-pill.incoming{background:#edf9f4;color:var(--success)}
.direction-pill.outgoing{background:#eef4ff;color:var(--primary)}
.invoice-mail-row-subject{font-size:14px;font-weight:700;color:var(--text)}
.invoice-mail-row-preview{font-size:12px;color:var(--muted);line-height:1.55}
.invoice-mail-row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.invoice-ref{
    font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:#f4f6fa;
    color:#445066;border-radius:999px;padding:5px 9px
}
.invoice-fr-code{
    display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:none;
    color:var(--primary);background:#eef4fb;
    border:1px dashed rgba(23,63,111,.28);
    border-radius:8px;padding:3px 7px;line-height:1.2;vertical-align:middle
}
.badge[title]{cursor:help}
.invoice-amount{margin-left:auto;font-size:13px;font-weight:800;color:var(--text)}

.list-footer{
    display:flex;justify-content:center;padding:4px 12px 16px
}

.invoice-right-column{display:flex;flex-direction:column;gap:14px}

.preview-actions{
    display:flex;flex-wrap:wrap;gap:8px;padding:18px 18px 14px
}
.pdf-viewer-wrap{
    margin:0 18px 18px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#f8fafc;min-height:520px
}
.pdf-viewer{
    width:100%;height:520px;border:0;background:#fff
}

.mail-drawer-backdrop{
    position:fixed;inset:0;background:rgba(15,23,42,.34);z-index:80;
    opacity:0;pointer-events:none;transition:opacity .28s ease
}
.mail-drawer{
    position:fixed;top:0;right:0;width:min(560px,100vw);height:100vh;background:#fff;
    border-left:1px solid var(--line);box-shadow:var(--shadow);z-index:90;
    display:flex;flex-direction:column;
    transform:translateX(100%);
    transition:transform .28s cubic-bezier(.22,.61,.36,1)
}
.mail-drawer-backdrop[hidden]{display:block;opacity:0;pointer-events:none}
body.mail-drawer-open .mail-drawer-backdrop{
    opacity:1;pointer-events:auto
}
body.mail-drawer-open .mail-drawer,
.mail-drawer.is-open{
    transform:translateX(0)
}
.mail-drawer-header{
    display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
    padding:22px 24px 16px;border-bottom:1px solid var(--line)
}
.mail-drawer-header strong{display:block;font-size:18px}
.mail-drawer-header small{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.mail-drawer-form{
    padding:22px 24px;display:flex;flex-direction:column;gap:16px;overflow:auto;flex:1
}
.mail-drawer-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:#303849}
.mail-body-field{flex:1;min-height:0}
.mail-body-field textarea{
    min-height:280px;height:100%;resize:vertical
}
.mail-drawer-actions{
    display:flex;justify-content:flex-end;gap:10px;margin-top:auto;padding-top:8px
}
body.mail-drawer-open{overflow:hidden}

.invoice-reader-header{
    display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)
}
.invoice-reader-header h3{font-size:22px;letter-spacing:-.04em;margin:0 0 10px}
.invoice-reader-topline{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.reemission-upload{
    display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px
}
.reemission-upload .form-control{max-width:260px;font-size:13px}
.reader-chip{
    display:inline-flex;align-items:center;gap:7px;background:#f8fafc;border:1px solid var(--line);
    padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#445066
}
.reader-amount-block{
    min-width:170px;text-align:right;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px 14px
}
.reader-amount-block small{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.reader-amount-block strong{font-size:28px;letter-spacing:-.05em}

.reader-body{padding:18px}
.reader-history{
    margin-top:18px;padding-top:16px;border-top:1px solid #eef1f6
}
.reader-history h4{font-size:16px;margin:0 0 14px}
.invoice-summary{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0
}
.invoice-summary div{
    padding:0 0 10px;border-bottom:1px solid #eef1f6
}
.invoice-summary dt{
    font-size:12px;color:var(--muted);font-weight:700;margin-bottom:4px
}
.invoice-summary dd{
    margin:0;font-size:14px;font-weight:600;color:#233044
}
.invoice-summary .summary-primary{
    font-size:16px;font-weight:800;color:var(--text)
}
.invoice-summary .summary-secondary{
    margin-top:4px;font-size:13px;font-weight:600;color:var(--muted)
}
.invoice-lines{margin-top:18px}
.invoice-lines h4{font-size:13px;margin:0 0 10px}
.invoice-lines-table{width:100%;border-collapse:collapse;font-size:12px}
.invoice-lines-table th{
    text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;
    color:var(--muted);font-weight:700;padding:6px 8px;border-bottom:1px solid var(--line)
}
.invoice-lines-table td{padding:8px;border-bottom:1px solid #eef1f6;vertical-align:top}
.invoice-lines-table td strong{display:block}
.invoice-lines-table td small{display:block;color:var(--muted);font-weight:500;margin-top:2px}
.invoice-lines-table th:nth-child(n+2),.invoice-lines-table td:nth-child(n+2){text-align:right;white-space:nowrap}
.invoice-note{
    margin:16px 0 0;padding-top:14px;border-top:1px solid #eef1f6;color:#445066;line-height:1.7
}
.reader-side h4{font-size:16px;margin:2px 0 12px}
.timeline{display:flex;flex-direction:column;gap:16px}
.timeline-item{display:grid;grid-template-columns:14px 1fr;gap:13px;position:relative}
.timeline-item > .timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);margin-top:3px;box-shadow:0 0 0 6px rgba(47,125,209,.10)}
.timeline-item:not(:last-child):after{content:"";position:absolute;left:5px;top:19px;width:1px;height:34px;background:var(--line)}
.timeline-item strong{font-size:13px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.timeline-item small{font-size:12px;color:var(--muted)}

.empty-state,.empty-reader{
    min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
    gap:10px;color:var(--muted)
}
.empty-state svg,.empty-reader svg{width:34px;height:34px;color:var(--muted-2)}

.topbar-title-card{
    flex:1;min-width:0;height:50px;background:#fff;border:1px solid var(--line);border-radius:17px;
    display:flex;flex-direction:column;justify-content:center;padding:0 16px;box-shadow:0 10px 24px rgba(16,24,40,.035)
}
.topbar-title-card strong{font-size:14px}
.topbar-title-card small{font-size:12px;color:var(--muted)}

.stats-layout{
    display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;margin-top:14px
}
.stats-table,.ranking-list{display:flex;flex-direction:column;gap:10px}
.stats-row,.ranking-row{
    display:grid;grid-template-columns:1.2fr auto auto;gap:14px;align-items:center;
    padding:12px 0;border-bottom:1px solid #eef1f6
}
.stats-row:last-child,.ranking-row:last-child{border-bottom:0}
.stats-row strong,.ranking-row strong{font-size:14px}
.stats-row span,.ranking-row small{font-size:12px;color:var(--muted)}
.stats-row em,.ranking-row em{
    font-style:normal;font-size:13px;font-weight:800;color:#233044;text-align:right
}
.ranking-row{
    grid-template-columns:1fr auto;
}
.ranking-row div{display:flex;flex-direction:column;gap:4px}
.indicator-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:12px
}
.indicator-card{
    background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;padding:14px
}
.indicator-card span{display:block;font-size:12px;color:var(--muted);font-weight:700;margin-bottom:6px}
.indicator-card strong{display:block;font-size:22px;letter-spacing:-.04em}

.mini-chart{min-height:220px;margin-bottom:8px}
.chart-panel{margin-top:14px}

.sidebar-backdrop{display:none}

@media(max-width:1280px){
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .invoice-workbench,.invoice-workbench-3col{grid-template-columns:1fr}
    .invoice-workbench-3col,
    .invoice-workbench-3col .invoice-list-panel,
    .invoice-workbench-3col .invoice-preview-panel,
    .invoice-workbench-3col .invoice-detail-column,
    .invoice-workbench-3col .invoice-preview-column{
        min-height:0;height:auto
    }
    .invoice-workbench-3col .pdf-viewer{min-height:420px;height:420px}
    .indicator-grid{grid-template-columns:repeat(2,1fr)}
    .pdf-viewer{height:420px}
    .pdf-viewer-wrap{min-height:420px}
}

@media(max-width:991px){
    .app-sidebar{transform:translateX(-110%);transition:.22s ease;box-shadow:var(--shadow)}
    body.sidebar-open .app-sidebar{transform:translateX(0)}
    body.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.28);z-index:40}
    .app-main{margin-left:0;width:100%}
    .app-topbar{padding:16px 18px}
    .page-kicker{display:none}
    .filter-grid{grid-template-columns:1fr 1fr}
    .filter-grid-stats{grid-template-columns:1fr}
    .filter-search,.filter-actions{grid-column:1/-1}
    .page-heading{flex-direction:column}
    .page-heading-meta{text-align:left}
    .stats-layout{grid-template-columns:1fr}
}

@media(max-width:640px){
    .app-content{padding:20px 14px 32px}
    .stats-grid{grid-template-columns:1fr}
    .topbar-chip{display:none}
    .profile-text{display:none}
    .profile-switch{min-width:auto}
    .filter-grid,.invoice-summary{grid-template-columns:1fr}
    .filter-footer{flex-direction:column;align-items:flex-start}
    .invoice-mail-row-top,.invoice-mail-row-meta,.invoice-reader-header{flex-direction:column;align-items:flex-start}
    .reader-amount-block{width:100%;text-align:left}
    .stats-row{grid-template-columns:1fr;gap:6px}
    .indicator-grid{grid-template-columns:1fr}
}
