:root{--navy:#062b62;--blue:#0879df;--green:#159447;--purple:#6f42c1;--red:#d62828;--bg:#f5f8fc;--text:#10295a;--line:#dce5ef}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}aside{position:fixed;inset:0 auto 0 0;width:255px;background:linear-gradient(180deg,#062b62,#031e46);color:#fff;padding:18px 14px;overflow:auto}.brand{text-align:center;border-bottom:1px solid #466b98;padding-bottom:18px}.logo{width:74px;height:74px;border-radius:50%;border:3px solid #f3c400;background:#0c64c7;margin:0 auto 10px;display:grid;place-items:center;font-weight:900}.brand b,.brand strong,.brand span{display:block}.brand b{font-size:16px}.brand strong{color:#ffd000;margin:7px}.brand span{font-size:10px;line-height:1.4}nav{margin-top:14px}nav a{display:block;padding:11px 12px;margin:4px 0;border-radius:9px;font-size:14px}nav a.active,nav a:hover{background:var(--blue)}.logout{display:block;color:#ff4d4d;padding:12px;margin-top:14px}main{margin-left:255px}header{min-height:88px;background:#fff;border-bottom:1px solid var(--line);padding:16px 28px;display:flex;justify-content:space-between;align-items:center}header h1{font-size:21px;margin:0}header p{margin:6px 0 0;color:#d62828;font-weight:700}.content{padding:25px;max-width:1500px;margin:auto}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 4px 14px rgba(16,41,90,.05)}.card b{font-size:11px}.card strong{display:block;font-size:32px;margin-top:10px}.grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}.bar{display:grid;grid-template-columns:210px 1fr 35px;gap:10px;align-items:center;margin:13px 0;font-size:13px}.bar i{display:block;height:9px;border-radius:10px;background:var(--blue)}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick a{padding:16px;border-radius:10px;background:#eef6ff;color:#0759a5;font-weight:700}.title{display:flex;justify-content:space-between;align-items:center}.btn{border:0;border-radius:8px;padding:11px 16px;background:var(--blue);color:white;font-weight:700;cursor:pointer}.btn.green{background:var(--green)}.search{display:flex;gap:8px;margin:16px 0}.input,.search input,.form input,.form select{width:100%;padding:11px;border:1px solid #ccd8e5;border-radius:8px;background:#fff}.search input{flex:1}.form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form label{font-size:12px;font-weight:700}.form button{grid-column:1/-1}.table-wrap{overflow:auto;margin-top:16px}table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}th,td{text-align:left;padding:12px;border-bottom:1px solid #e7edf4;white-space:nowrap}.tag{padding:5px 9px;border-radius:12px;background:#e8f7ed;color:#16803c}.danger{color:#c00}.hide{display:none}.empty{text-align:center;padding:60px;background:#fff;border-radius:12px}.login{min-height:100vh;display:grid;place-items:center;background:var(--navy)}.login-card{width:min(420px,92%);background:white;padding:34px;border-radius:16px;text-align:center}.login-card input,.login-card button{width:100%;padding:13px;margin:7px 0;border:1px solid #ccd8e5;border-radius:8px}.login-card button{background:var(--blue);color:white;border:0;font-weight:700}.error{background:#ffe8e8;color:#a00;padding:10px;border-radius:8px}.muted{color:#65748a}@media(max-width:1000px){aside{position:static;width:100%;height:auto}main{margin-left:0}.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.quick{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){header{padding:14px;align-items:flex-start;gap:8px}header h1{font-size:15px}.content{padding:14px}.cards,.quick,.form{grid-template-columns:1fr}.bar{grid-template-columns:120px 1fr 30px}.search{flex-direction:column}}

/* LOGO OFFICIEL IPP */
aside img.logo-ipp {
    display: block !important;
    width: 90px !important;
    height: 90px !important;
    max-width: 90px !important;
    max-height: 90px !important;
    min-width: 90px !important;
    min-height: 90px !important;
    object-fit: contain !important;
    margin: 0 auto 15px !important;
    border-radius: 50% !important;
}
