:root {
  --bg:#080E1B; --sidebar:#0B1322; --panel:#101B2D;
  --panel2:#132139; --border:rgba(125,166,220,.12);
  --blue:#2878FF; --cyan:#54D4FF; --text:#F1F6FF;
  --muted:#8494AC; --green:#35D6A0;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px}
button,a{font:inherit}
.app{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:258px;background:var(--sidebar);border-right:1px solid var(--border);padding:27px 17px 16px;display:flex;flex-direction:column;z-index:10}
.brand{display:flex;align-items:center;gap:11px;padding:0 8px 27px}
.brand-symbol{width:42px;height:42px;filter:drop-shadow(0 0 9px #238aff66)}
.brand-symbol svg{width:100%;height:100%}
.brand-name{font-size:23px;font-weight:800;letter-spacing:2px}
.brand-name span{color:var(--cyan)}
.brand-sub{font-size:8px;letter-spacing:1.1px;color:#8295B2;margin-top:2px}
.workspace{display:flex;align-items:center;gap:10px;padding:12px;background:#14233A;border:1px solid var(--border);border-radius:10px;margin-bottom:28px}
.workspace-icon,.avatar,.top-avatar{display:grid;place-items:center;background:linear-gradient(140deg,#2878FF,#42CFFF);color:white;font-weight:800}
.workspace-icon{width:34px;height:34px;border-radius:8px}
.workspace strong,.profile strong{display:block;font-size:12px}
.workspace small,.profile small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.chevron{margin-left:auto;color:var(--muted)}
.nav-label{font-size:9px;letter-spacing:1.4px;color:#60738F;font-weight:700;padding:0 10px 10px}
nav{display:grid;gap:4px}
.nav-item{height:41px;display:flex;align-items:center;gap:12px;padding:0 11px;text-decoration:none;color:#9AAAC0;border-radius:7px;font-size:12px;transition:.2s}
.nav-item>span{font-size:17px;width:19px;text-align:center;color:#8299B9}
.nav-item small{margin-left:auto;font-size:8px;color:#657995}
.nav-item:hover{background:#15243A;color:white}
.nav-item.active{background:linear-gradient(90deg,#1B4D8C66,#1A74C51A);color:#73CFFF;border:1px solid #328BFF35}
.nav-item.active>span{color:#5BCFFF}
.second-label{margin-top:28px}
.sidebar-bottom{margin-top:auto}
.profile{border-top:1px solid var(--border);margin-top:14px;padding:17px 7px 3px;display:flex;align-items:center;gap:10px}
.avatar{width:32px;height:32px;border-radius:50%}
.online-dot,.system-status i,.eyebrow span{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block}
.online-dot{margin-left:auto}
.main{margin-left:258px;min-height:100vh}
.topbar{height:69px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 37px;background:#0B1322CC}
.breadcrumb{font-size:11px;color:#8B9BB2;letter-spacing:.3px}
.breadcrumb span{padding:0 10px;color:#526781}
.breadcrumb strong{color:#E8F2FF}
.top-actions{display:flex;align-items:center;gap:22px}
.system-status{font-size:10px;color:#9BB0C9;display:flex;align-items:center;gap:8px}
.system-status i{box-shadow:0 0 9px #35D6A088}
.icon-button{background:none;border:0;color:#A9BCD5;font-size:21px;position:relative}
.icon-button b{position:absolute;width:5px;height:5px;background:#4FCBFF;border-radius:50%;right:0;top:1px}
.top-avatar{width:31px;height:31px;border-radius:50%;font-size:12px}
.menu-toggle{display:none}
.content{max-width:1500px;margin:auto;padding:39px 38px 22px}
.welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}
.eyebrow{font-size:9px;letter-spacing:2px;color:#65BFFF;font-weight:700;display:flex;align-items:center;gap:9px}
.eyebrow span{background:#43BFFF;box-shadow:0 0 10px #43BFFF}
h1{font-size:29px;letter-spacing:-1px;margin:10px 0 6px;font-weight:700}
h1 span{background:linear-gradient(90deg,#53C9FF,#4385FF);background-clip:text;color:transparent}
.welcome p,.section-heading p,.panel-heading p{margin:0;color:var(--muted);font-size:12px}
.date-card{border:1px solid var(--border);background:#101B2D;padding:11px 16px;border-radius:9px;min-width:145px}
.date-card span{display:block;color:#7186A2;font-size:8px;letter-spacing:1.3px}
.date-card strong{display:block;margin-top:5px;font-size:12px}
.notice{display:flex;align-items:center;gap:14px;background:linear-gradient(100deg,#12376A88,#10233B);border:1px solid #2E80D94D;padding:15px 18px;border-radius:10px;margin-bottom:33px}
.notice-icon{font-size:21px;color:#61D6FF}
.notice strong{font-size:12px}
.notice p{margin:4px 0 0;color:#91A9C6;font-size:11px}
.notice-tag{margin-left:auto;font-size:9px;letter-spacing:1px;color:#70CFFF;border:1px solid #3999E955;padding:6px 9px;border-radius:5px}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}
h2{font-size:16px;margin:0 0 5px}
.period{font-size:8px;color:#7890AE;letter-spacing:1px}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.stat-card,.panel{background:linear-gradient(145deg,#111D30,#0E192A);border:1px solid var(--border);border-radius:11px}
.stat-card{padding:17px;min-height:137px}
.stat-top{display:flex;justify-content:space-between;align-items:center;color:#A8B8CE;font-size:11px}
.stat-icon{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;font-size:16px}
.stat-icon.blue{color:#63A6FF;background:#2878FF20}
.stat-icon.cyan{color:#5BD8FF;background:#40CFFF18}
.stat-icon.purple{color:#B9A0FF;background:#9670FF1B}
.stat-icon.green{color:#55DBAC;background:#35D6A018}
.stat-value{font-size:29px;font-weight:700;margin:12px 0 6px;letter-spacing:-1px}
.stat-value small{font-size:10px;color:#8094AE}
.stat-foot{font-size:9px;color:#7488A3}
.lower-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:15px;margin-top:19px}
.panel{min-height:260px;padding:19px}
.panel-heading{display:flex;justify-content:space-between;align-items:center}
.panel-heading h3{font-size:13px;margin:0 0 5px}
.panel-heading p{font-size:10px}
.panel-symbol{color:#5CBFFF;font-size:22px}
.empty-state{height:174px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}
.empty-icon{width:42px;height:42px;border-radius:12px;background:#1A3455;color:#63C9FF;display:grid;place-items:center;font-size:22px;margin-bottom:12px}
.empty-state strong{font-size:11px}
.empty-state p{font-size:10px;color:var(--muted);max-width:240px;line-height:1.6;margin:6px 0}
.infra-row{display:flex;align-items:center;gap:11px;padding:17px 0;border-bottom:1px solid var(--border)}
.infra-row:last-child{border:0}
.infra-icon{width:31px;height:31px;border-radius:8px;background:#1A3455;color:#62C8FF;display:grid;place-items:center;font-size:16px}
.infra-row strong{font-size:10px;display:block}
.infra-row small{font-size:9px;color:var(--muted);display:block;margin-top:4px}
.pending{margin-left:auto;font-size:8px;letter-spacing:.5px;color:#D6AD70;background:#C58D2618;border:1px solid #C58D2638;padding:5px 7px;border-radius:5px}
footer{display:flex;justify-content:space-between;margin-top:29px;padding-top:15px;border-top:1px solid var(--border);font-size:8px;letter-spacing:.8px;color:#6F829C}
footer strong{color:#A8C6E8}
footer i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#50CFFF;margin:0 6px}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
 .sidebar{transform:translateX(-100%);transition:.25s;box-shadow:20px 0 60px #0008}
 .sidebar.open{transform:translateX(0)}
 .main{margin-left:0}
 .topbar{padding:0 17px}
 .menu-toggle{display:block;background:none;border:0;color:#B9D6F5;font-size:21px}
 .breadcrumb{margin-right:auto;margin-left:13px}
 .system-status{display:none}
 .content{padding:27px 17px}
 .welcome{align-items:flex-start;gap:15px}
 h1{font-size:23px}
 .date-card{min-width:auto}
 .date-card strong{font-size:10px}
 .notice{align-items:flex-start}
 .notice-tag{display:none}
 .section-heading{align-items:flex-start;gap:12px;flex-direction:column}
 .stats-grid{gap:9px}
 .stat-card{padding:13px;min-height:130px}
 .stat-value{font-size:25px}
 .lower-grid{grid-template-columns:1fr}
 footer{gap:12px;flex-direction:column}
}
@media(max-width:390px){.stats-grid{grid-template-columns:1fr}.welcome{flex-direction:column}.date-card{width:100%}}

/* ==========================================
   KOVEXIS — AUTHENTIFICATION
========================================== */

#authScreen {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    overflow-y: auto;
    background:
        radial-gradient(ellipse at 50% 0%, rgba(40,120,255,.17), transparent 48%),
        radial-gradient(ellipse at 100% 100%, rgba(84,212,255,.07), transparent 38%),
        #080E1B;
    font-family: 'DM Sans', sans-serif;
    color: #F4F7FC;
}

#authScreen::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: .18;
    background-image: radial-gradient(rgba(120,160,220,.35) .7px, transparent .7px);
    background-size: 26px 26px;
}

.login-card {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 460px;
    padding: 46px 42px 32px;
    background: linear-gradient(145deg, #132139, #0D1728 72%);
    border: 1px solid rgba(117,158,220,.17);
    border-radius: 20px;
    box-shadow: 0 30px 100px rgba(0,0,0,.42), 0 0 60px rgba(40,120,255,.07);
}

.login-brand {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 52px;
}

.login-symbol {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: #fff;
    font-size: 25px;
    font-weight: 800;
    background: linear-gradient(135deg, #2878FF, #54D4FF);
    box-shadow: 0 6px 22px rgba(40,120,255,.25);
}

.login-name {
    font-size: 21px;
    font-weight: 800;
    letter-spacing: 2px;
}

.login-name span {
    color: #54D4FF;
}

.login-sub {
    margin-top: 3px;
    color: #8194B1;
    font-size: 9px;
    letter-spacing: 1.5px;
}

.login-eyebrow {
    color: #54D4FF;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
}

.login-heading h1 {
    margin: 12px 0 8px;
    color: #F4F7FC;
    font-size: 34px;
    font-weight: 800;
    letter-spacing: -1px;
}

.login-heading p {
    margin: 0 0 34px;
    color: #91A2BC;
    font-size: 13px;
    line-height: 1.7;
}

#loginForm {
    display: flex;
    flex-direction: column;
}

#loginForm label {
    margin: 0 0 9px;
    color: #D5DFEF;
    font-size: 12px;
    font-weight: 600;
}

#loginForm input {
    width: 100%;
    height: 49px;
    margin-bottom: 23px;
    padding: 0 15px;
    color: #F4F7FC;
    background: #091323;
    border: 1px solid #263852;
    border-radius: 9px;
    outline: none;
    font-family: inherit;
    font-size: 13px;
    transition: border-color .2s, box-shadow .2s;
}

#loginForm input::placeholder {
    color: #60728D;
}

#loginForm input:focus {
    border-color: #2878FF;
    box-shadow: 0 0 0 3px rgba(40,120,255,.13);
}

#loginButton {
    height: 51px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 19px;
    color: #fff;
    background: linear-gradient(100deg, #2878FF, #1764E8);
    border: 0;
    border-radius: 9px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 25px rgba(40,120,255,.2);
    transition: transform .2s, box-shadow .2s, opacity .2s;
}

#loginButton:hover {
    transform: translateY(-1px);
    box-shadow: 0 11px 30px rgba(40,120,255,.3);
}

#loginButton:disabled {
    opacity: .65;
    cursor: wait;
}

#loginError {
    min-height: 0;
    margin: -7px 0 15px;
    color: #FF929B;
    font-size: 12px;
    line-height: 1.5;
}

#loginError:empty {
    display: none;
}

.login-footer {
    margin-top: 32px;
    padding-top: 22px;
    border-top: 1px solid rgba(117,158,220,.13);
    color: #71839F;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-align: center;
}

.login-lock {
    margin-right: 7px;
    color: #54D4FF;
}

#logoutButton {
    display: block;
    margin-top: 8px;
    padding: 6px 10px;
    color: #91A2BC;
    background: transparent;
    border: 1px solid rgba(145,162,188,.2);
    border-radius: 6px;
    font-family: inherit;
    font-size: 11px;
    cursor: pointer;
}

#logoutButton:hover {
    color: #fff;
    border-color: #2878FF;
}

@media (max-width: 520px) {
    #authScreen {
        padding: 16px;
    }

    .login-card {
        padding: 34px 24px 26px;
        border-radius: 16px;
    }

    .login-brand {
        margin-bottom: 40px;
    }

    .login-heading h1 {
        font-size: 29px;
    }
}


/* KOVEXIS — CORRECTION LARGEUR PRINCIPALE */
.main {
    flex: 1;
    min-width: 0;
}

.content {
    width: 100%;
}

