
:root{
    --bg:#f6f7fb;
    --surface:#ffffff;
    --surface-soft:#fbfcfe;
    --text:#151922;
    --muted:#697386;
    --muted-2:#97a0b3;
    --line:#e8ebf1;
    --primary:var(--brand-primary, #173f6f);
    --primary-2:var(--brand-primary-hover, #2367a8);
    --accent:var(--brand-secondary, #2f7dd1);
    --success:#1f9d70;
    --warning:#d88918;
    --danger:#d84a4a;
    --purple:#7657d6;
    --shadow:0 24px 70px rgba(16, 24, 40, .08);
    --shadow-soft:0 12px 28px rgba(16, 24, 40, .06);
    --radius:22px;
    --radius-sm:14px;
    --sidebar:284px;
    --topbar:84px;

    /* Bootstrap 5.3 — surcharge thème */
    --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-light:#f4f6fa;
    --bs-light-rgb:244,246,250;
    --bs-dark:var(--text);
    --bs-dark-rgb:21,25,34;
    --bs-body-color:var(--text);
    --bs-body-color-rgb:21,25,34;
    --bs-body-bg:var(--bg);
    --bs-body-bg-rgb:246,247,251;
    --bs-emphasis-color:var(--text);
    --bs-secondary-color:var(--muted);
    --bs-tertiary-color:var(--muted-2);
    --bs-border-color:var(--line);
    --bs-link-color:var(--primary);
    --bs-link-hover-color:var(--primary-2);
    --bs-font-sans-serif:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --bs-border-radius:14px;
    --bs-border-radius-sm:12px;
    --bs-border-radius-lg:16px;
    --bs-border-radius-xl:18px;
    --bs-border-radius-pill:999px;
    --bs-focus-ring-color:rgba(47,125,209,.22);
    --bs-primary-text-emphasis:#0f2a4a;
    --bs-secondary-text-emphasis:#3a4150;
    --bs-success-text-emphasis:#127a58;
    --bs-info-text-emphasis:#1a5a96;
    --bs-warning-text-emphasis:#9a5c0f;
    --bs-danger-text-emphasis:#a83232;
    --bs-primary-bg-subtle:#eef4ff;
    --bs-secondary-bg-subtle:#f4f6fa;
    --bs-success-bg-subtle:#edf9f4;
    --bs-info-bg-subtle:#eef4ff;
    --bs-warning-bg-subtle:#fff7e8;
    --bs-danger-bg-subtle:#fff2f2;
}

.test{
    border: 1px solid red !important;
}
*{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,textarea{font-family:inherit}

/* ── Bootstrap — composants ── */
.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;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;box-shadow:0 18px 40px rgba(35,103,168,.28)
}
.btn-outline-secondary{
    background:var(--bs-secondary-bg-subtle);border-color:var(--line);color:var(--text)
}
.btn-outline-secondary:hover,.btn-outline-secondary:focus{
    background:#eef2f7;border-color:var(--line);color:var(--text)
}
.btn-outline-danger{
    background:var(--bs-danger-bg-subtle);border-color:#f3d4d4;color:var(--danger)
}
.btn-outline-danger:hover,.btn-outline-danger:focus{
    background:#ffe8e8;border-color:#f3d4d4;color:var(--danger)
}
.btn-light{
    background:#f4f6fa;border-color:var(--line);color:var(--text)
}
.btn-light:hover,.btn-light:focus{
    background:#eef2f7;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
}
.badge{
    font-weight:800;padding:5px 10px;border-radius:999px;font-size:12px
}
.link-primary{font-weight:800;text-decoration:none}
.link-primary:hover{color:var(--primary-2)}
.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)
}
textarea.form-control{min-height:110px;resize:vertical}
.panel .table,.table-responsive .table{
    --bs-table-hover-bg:#fbfcfe;margin-bottom:0
}
.panel .table th,.table-responsive .table th{
    font-size:11px;text-transform:uppercase;letter-spacing:.08em;
    color:var(--muted-2);font-weight:800;border-bottom-width:1px
}
.panel .table td,.table-responsive .table td{
    padding:15px 12px;font-size:14px;color:#414a5d;vertical-align:middle
}
.panel .table tbody tr:first-child td,.table-responsive .table tbody tr:first-child td{
    border-top:0
}
.text-muted{color:var(--muted)!important}

.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{position:relative;transition:.18s ease}
.icon-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft);color:var(--text)}
.icon-button svg,.nav-item svg,.dropdown-item svg{width:19px;height:19px}

.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;position:relative
}
.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
}
.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)}

.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:820px;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)
}
.mail-launcher{
    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:800;
    color:var(--primary);box-shadow:0 10px 24px rgba(16,24,40,.035);transition:.16s ease;position:relative
}
.mail-launcher:hover{
    transform:translateY(-1px);box-shadow:var(--shadow-soft);border-color:rgba(47,125,209,.35);color:var(--primary-2)
}
.mail-launcher svg{width:18px;height:18px}
.mail-launcher-badge{
    min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;
    font-size:11px;font-weight:800;display:grid;place-items:center;line-height:1
}
.global-search svg{color:var(--muted-2);width:20px}
.global-search input{border:0;outline:0;flex:1;font-size:14px}
.global-search kbd{border:1px solid var(--line);background:#f7f8fa;color:var(--muted);border-radius:8px;font-size:12px}
.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.dot{position:absolute;width:9px;height:9px;background:var(--danger);border-radius:50%;right:10px;top:10px;border:2px solid #fff}

.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{text-align:left;line-height:1.1}
.profile-text strong{display:block;font-size:13px}
.profile-text small{display:block;font-size:12px;color:var(--muted)}
.soft-dropdown{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:8px;min-width:230px}
.dropdown-item{border-radius:12px;display:flex;gap:10px;align-items:center;font-size:14px;padding:10px 12px}
.dropdown-item.active{background:#eef4ff;color:var(--primary)}

.app-content{padding:32px 34px 44px}
.hero-panel{
    background:
        linear-gradient(135deg,rgba(23,63,111,.94),rgba(35,103,168,.90)),
        radial-gradient(circle at 80% 20%,rgba(255,255,255,.18),transparent 28%);
    color:#fff;border-radius:30px;padding:34px;display:flex;justify-content:space-between;gap:24px;
    box-shadow:var(--shadow);position:relative;overflow:hidden
}
.hero-panel:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-80px;bottom:-130px;background:rgba(255,255,255,.09)}
.eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;opacity:.72}
.hero-panel h1{font-size:34px;letter-spacing:-.06em;margin:8px 0 8px;max-width:730px}
.hero-panel p{margin:0;color:rgba(255,255,255,.76);max-width:680px}
.hero-actions{display:flex;align-items:flex-start;gap:10px;z-index:1}

.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}
.stat-card{
    background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;
    display:flex;align-items:center;gap:15px;box-shadow:0 10px 28px rgba(16,24,40,.035)
}
.stat-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center}
.stat-icon svg{width:22px}
.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.purple{background:#f3efff;color:var(--purple)}
.stat-card span{font-size:13px;color:var(--muted);font-weight:600}
.stat-card strong{display:block;font-size:29px;letter-spacing:-.06em;margin:1px 0}
.stat-card small{font-size:12px;font-weight:700}

.dashboard-grid{display:grid;grid-template-columns:1.65fr .85fr;gap:18px;margin-top:22px}
.panel{
    background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 10px 28px rgba(16,24,40,.035)
}
.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.panel h2{font-size:18px;letter-spacing:-.04em;margin:0 0 4px}
.panel p{font-size:13px;color:var(--muted);margin:0}
.chart{min-height:280px}

.alert-list{display:flex;flex-direction:column;gap:10px}
.alert-row{display:grid;grid-template-columns:10px 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:16px;background:#fff}
.alert-row>span{width:10px;height:10px;border-radius:50%}
.alert-row strong{font-size:13px;display:block}
.alert-row small{font-size:12px;color:var(--muted)}
.alert-row em{font-style:normal;font-size:12px;font-weight:800;color:var(--muted)}
.alert-row.critical>span{background:var(--danger)}
.alert-row.warning>span{background:var(--warning)}
.alert-row.info>span{background:var(--accent)}

.page-heading{
    display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:4px
}
.page-heading h1{font-size:30px;letter-spacing:-.05em;margin:0}
.page-heading p{margin:8px 0 0;color:var(--muted);font-size:14px}
.page-heading .eyebrow{color:var(--muted-2);opacity:1}
.page-heading-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 0}
.page-heading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.page-heading-meta{
    text-align:right;background:#fff;border:1px solid var(--line);border-radius:18px;
    padding:14px 18px;box-shadow:0 10px 28px rgba(16,24,40,.035)
}
.page-heading-meta small{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-bottom:4px}
.page-heading-meta strong{display:block;font-size:22px;letter-spacing:-.04em;margin-bottom:6px}

.filter-grid{
    display:grid;grid-template-columns:repeat(6,1fr) auto;gap:14px;align-items:end
}
.filter-grid label{
    display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:#303849
}

.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
}

.action-bar{display:flex;flex-wrap:wrap;gap:10px}

.dossier-stack{display:flex;flex-direction:column;gap:18px}
.field-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.field-grid .col-6{grid-column:span 6}
.field-grid .col-3{grid-column:span 3}
.field-grid .col-12{grid-column:span 12}
.field-block span{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-bottom:4px}
.field-block strong{display:block;font-size:14px;margin-bottom:2px}
.field-block .text-muted{font-size:13px;line-height:1.5}

.info-box{
    padding:14px 16px;background:#f8fafc;border:1px solid var(--line);border-radius:16px;
    font-size:14px;line-height:1.6;color:#414a5d
}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid.single-col{grid-template-columns:1fr}
.form-grid label{
    display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:#303849
}
.form-grid .full{grid-column:1/-1}

.mailbox-list{display:flex;flex-direction:column;gap:10px}
.mailbox-item{
    display:grid;grid-template-columns:1fr auto;gap:16px;padding:14px 16px;
    border:1px solid var(--line);border-radius:16px;background:#fff;transition:.16s ease
}
.mailbox-item:hover{background:#fbfcfe;border-color:rgba(47,125,209,.22)}
.mailbox-item.unread{background:#fbfcfe;border-color:rgba(47,125,209,.18)}
.mailbox-item strong{font-size:13px;display:block;margin-bottom:2px}
.mailbox-subject{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}
.mailbox-item small{font-size:12px;color:var(--muted);line-height:1.5}
.mailbox-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.mailbox-meta em{font-style:normal;font-size:12px;color:var(--muted)}

.timeline{display:flex;flex-direction:column;gap:16px;padding-top:2px}
.timeline-item{display:grid;grid-template-columns:14px 1fr;gap:13px;position:relative}
.timeline-item span{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:28px;background:var(--line)}
.timeline-item strong{font-size:13px;display:block}
.timeline-item small{font-size:12px;color:var(--muted)}

.login-body{
    min-height:100vh;background:
    radial-gradient(circle at 80% 10%,rgba(47,125,209,.18),transparent 30%),
    radial-gradient(circle at 15% 85%,rgba(23,63,111,.12),transparent 28%),
    #f6f7fb;
}
.login-shell{padding:0 28px}
.login-panel{background:#fff;border:1px solid var(--line);border-radius:34px;padding:38px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center;height:100%}
.login-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:54px}
.login-brand img{height:150px;max-width:230px;object-fit:contain}
.login-brand span{font-size:12px;font-weight:800;color:var(--muted);background:#f4f6fa;border-radius:999px;padding:7px 10px}
.login-copy h1{font-size:38px;letter-spacing:-.07em;line-height:1.05;margin:10px 0 12px}
.login-copy p{color:var(--muted);font-size:15px;line-height:1.7}
.login-form{margin-top:30px;display:flex;flex-direction:column;gap:16px}
.login-form label{font-size:13px;font-weight:800;color:#303849;display:flex;flex-direction:column;gap:8px}
.login-options{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}
.login-options a{color:var(--primary);font-weight:800}
.checkline{flex-direction:row!important;align-items:center!important;font-weight:600!important}

.login-visual{position:relative;border-radius:34px;background:linear-gradient(135deg,#12345e,#2367a8);overflow:hidden;min-height:calc(100vh - 56px)}
.login-visual:before{content:"";position:absolute;inset:40px;border:1px solid rgba(255,255,255,.12);border-radius:34px}
.floating-card{position:absolute;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.60);border-radius:22px;padding:18px;box-shadow:0 32px 80px rgba(0,0,0,.18);width:260px}
.floating-card svg{color:var(--primary);width:24px}
.floating-card strong{display:block;margin-top:10px}
.floating-card small{display:block;color:var(--muted);margin-top:4px;line-height:1.5}
.card-one{left:12%;top:20%}
.card-two{right:14%;bottom:22%}
.orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55}
.orb-a{width:280px;height:280px;background:rgba(255,255,255,.12);right:20%;top:18%}
.orb-b{width:190px;height:190px;background:rgba(47,125,209,.28);left:18%;bottom:20%}

/* Messagerie — interface type boîte mail */
.mail-app{padding:0;overflow:hidden}
.mail-layout{display:flex;flex-direction:column;min-height:620px}
.mail-folders{
    display:grid;grid-template-columns:1fr minmax(240px,420px) 1fr;align-items:center;gap:14px;
    padding:14px 16px;border-bottom:1px solid var(--line);background:var(--surface-soft)
}
.mail-compose-btn{width:auto;justify-self:end;flex-shrink:0}
.mail-filter-label{
    display:flex;align-items:center;gap:10px;margin:0;justify-self:center;width:100%;
    font-size:12px;font-weight:700;color:var(--muted)
}
.mail-filter-label .form-select{flex:1;min-width:180px;padding:8px 12px;font-size:13px;border-radius:12px}
.mail-nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px;justify-self:start}
.mail-nav button{
    width:auto;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:0;background:transparent;
    border-radius:12px;font-size:13px;font-weight:700;color:#586174;text-align:left;transition:.14s ease
}
.mail-nav button svg{width:17px;height:17px;flex-shrink:0}
.mail-nav button span{flex:0 1 auto}
.mail-nav button em{
    font-style:normal;font-size:11px;font-weight:800;background:#eef4ff;color:var(--primary);
    border-radius:999px;padding:2px 8px;min-width:22px;text-align:center
}
.mail-nav button:hover{background:#eef2f7;color:var(--text)}
.mail-nav button.active{background:#eef4ff;color:var(--primary)}

.mail-center{display:flex;flex-direction:column;min-width:0;flex:1}
.mail-toolbar{
    display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;
    border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap
}
.mail-toolbar-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mail-check-all{display:flex;align-items:center;padding:0 4px}
.mail-check-all input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}
.mail-toolbar-meta{font-size:12px;color:var(--muted);font-weight:600}

.mail-split{display:grid;grid-template-columns:minmax(300px,.82fr) 1.18fr;flex:1;min-height:0}
.mail-list-wrap{overflow:auto;border-right:1px solid var(--line);max-height:min(68vh,640px)}
.mail-list{display:flex;flex-direction:column}
.mail-row{
    display:grid;grid-template-columns:auto 1fr;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);
    cursor:pointer;transition:.14s ease;background:#fff
}
.mail-row:hover{background:#fbfcfe}
.mail-row.selected{background:#eef4ff;border-left:3px solid var(--accent);padding-left:13px}
.mail-row.unread .mail-row-subject{font-weight:800}
.mail-row.unread .mail-row-top strong{font-weight:800;color:var(--text)}
.mail-row-check{margin-top:4px;width:16px;height:16px;accent-color:var(--primary);cursor:pointer}
.mail-row-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:3px}
.mail-row-top strong{font-size:13px;color:#586174;font-weight:600}
.mail-row-top time{font-size:11px;color:var(--muted-2);white-space:nowrap}
.mail-row-subject{font-size:13px;color:var(--text);margin-bottom:3px}
.mail-row-preview{font-size:12px;color:var(--muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mail-row-tag{
    display:inline-flex;margin-top:6px;font-size:10px;font-weight:800;letter-spacing:.04em;
    color:var(--primary);background:#eef4ff;border-radius:999px;padding:3px 8px
}

.mail-reader{display:flex;flex-direction:column;min-width:0;background:#fff}
.mail-reader-header{
    padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;
    gap:16px;align-items:flex-start
}
.mail-reader-header h2{font-size:18px;letter-spacing:-.03em;margin:8px 0 10px}
.mail-reader-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.mail-reader-meta strong{color:#414a5d;font-weight:700}
.mail-reader-to-line{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap}
.mailjet-dot{
    width:9px;height:9px;border-radius:50%;flex-shrink:0;cursor:help;display:inline-block
}
.mailjet-dot--opened{background:var(--success);box-shadow:0 0 0 4px rgba(31,157,112,.16)}
.mailjet-dot--delivered{background:var(--warning);box-shadow:0 0 0 4px rgba(216,137,24,.16)}
.mailjet-dot--failed{background:var(--danger);box-shadow:0 0 0 4px rgba(216,74,74,.16)}
.mailjet-tooltip .tooltip-inner{max-width:280px;text-align:left;font-size:12px;font-weight:600;line-height:1.45}
.mail-reader-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}
.mail-reader-body{padding:22px 20px;font-size:14px;line-height:1.75;color:#414a5d;overflow:auto;max-height:min(62vh,560px)}
.mail-reader-body p{margin:0 0 14px}

.mail-compose{
    display:flex;flex-direction:column;background:#fff;border-left:1px solid var(--line);min-width:0
}
.mail-compose.hidden{display:none}
.mail-compose-header{
    display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)
}
.mail-compose-header h2{font-size:17px;margin:0;letter-spacing:-.03em}
.mail-compose-form{padding:18px 20px;display:flex;flex-direction:column;gap:14px;overflow:auto}
.mail-compose-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:#303849}
.mail-compose-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}
.hidden{display:none!important}

.sidebar-backdrop{display:none}

@media(max-width:1180px){
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .dashboard-grid{grid-template-columns:1fr}
    .topbar-search-zone{max-width:none}
    .mail-split{grid-template-columns:1fr}
    .mail-reader,.mail-compose{border-top:1px solid var(--line)}
    .mail-folders{grid-template-columns:1fr;justify-items:stretch}
    .mail-nav{justify-self:stretch;width:100%}
    .mail-filter-label{justify-self:stretch;max-width:none}
    .mail-compose-btn{justify-self:stretch;width:100%}
    .mail-launcher-label{display:none}
    .filter-grid{grid-template-columns:repeat(2,1fr)}
    .field-grid .col-6,.field-grid .col-3{grid-column:span 12}
    .form-grid{grid-template-columns:1fr}
    .page-heading{flex-direction:column}
    .page-heading-actions{align-items:flex-start}
}
@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}
    .profile-text{display:none}
    .profile-switch{min-width:auto}
    .hero-panel{flex-direction:column}
    .login-shell{padding:0 14px}
}
@media(max-width:640px){
    .app-content{padding:20px 14px 32px}
    .hero-panel{padding:24px;border-radius:24px}
    .hero-panel h1{font-size:27px}
    .hero-actions{flex-direction:column}
    .stats-grid{grid-template-columns:1fr}
    .global-search kbd{display:none}
    .mail-toolbar-group .btn-sm span{display:none}
    .mail-nav button span{display:none}
}

