/* Design bleu intégré au moteur Proprynex : composants natifs et vue tableau de bord. */
:root{--px150-navy:#25374b;--px150-blue:#306994;--px150-border:#d6e0ea;--px150-ink:#1c293a;--px150-bg:#f3f6fb}
body{background:var(--px150-bg)}
.shell aside{background:linear-gradient(160deg,#233448,#1b2a3c)!important;color:#f7f9fc!important}
.shell aside .brand{color:#fff!important}
.shell aside .nav{border-radius:10px!important}
.shell aside .nav.active{background:#326a99!important;color:#fff!important}
#main{min-width:0}
#main button,#main input,#main select,#main textarea{font-family:inherit}
#main .card,#main .panel{border-radius:15px}
.px150-dashboard{color:var(--px150-ink);padding:0 0 40px;max-width:1560px;margin:0 auto;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
.px150-dashboard *{box-sizing:border-box}
.px150-dashboard svg{width:23px;height:23px;flex:none}
.px150-heading{background:linear-gradient(110deg,#25384d,#354a60);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-radius:15px;margin-bottom:20px}
.px150-heading>div{display:flex;align-items:center;gap:15px}.px150-heading svg{width:31px;height:31px}.px150-heading h1{font-size:clamp(21px,2.5vw,29px);margin:0;color:#fff}.px150-heading p{font-size:13px;color:#d9e4ef;margin:4px 0 0}.px150-avatar{background:#396f9d;color:#fff;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-weight:700}
.px150-greeting{background:#e8f0f9;border:1px solid #d5e4f1;border-radius:15px;padding:20px 23px;margin-bottom:20px}.px150-greeting span{font-size:11px;letter-spacing:.12em;color:#37668b;font-weight:800}.px150-greeting h2{font-size:23px;margin:6px 0;color:#203c55}.px150-greeting p{margin:0;color:#617389;font-size:14px}
.px150-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.px150-kpi{border:1px solid var(--px150-border);border-radius:16px;padding:19px;text-align:left;background:#fff;min-height:138px;display:grid;grid-template-columns:49px 1fr;grid-template-rows:auto 1fr;align-items:center;column-gap:13px;box-shadow:0 5px 18px #22334a0a;color:var(--px150-ink);cursor:pointer}.px150-kpi-icon{display:grid;place-items:center;width:49px;height:49px;border-radius:12px;background:linear-gradient(140deg,#405a75,#2c4059);color:#fff;box-shadow:0 5px 10px #263d5a20}.px150-kpi-label{font-size:14px;font-weight:700}.px150-kpi strong{grid-column:2;font-size:30px;line-height:1.2}
.px150-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px;align-items:start}.px150-panel{background:#fff;border:1px solid var(--px150-border);border-radius:16px;padding:19px;min-width:0;box-shadow:0 5px 18px #22334a0a}.px150-panel-title{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid #e0e7ef;margin-bottom:9px;flex-wrap:wrap}.px150-panel-title>svg{color:#ad7648}.px150-panel-title h2{font-size:19px;margin:0;flex:1}.px150-panel-title button{background:transparent;color:#28608a;font-size:13px;font-weight:700;padding:6px;cursor:pointer}.px150-job{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:14px 4px;border:0;border-bottom:1px solid #e8edf2;background:transparent;color:inherit;cursor:pointer;min-width:0}.px150-job:last-child{border-bottom:0}.px150-job-date{font-size:13px;font-weight:750;flex:0 0 75px}.px150-job-desc{flex:1;min-width:0}.px150-job-desc strong{display:block;font-size:14px;overflow-wrap:anywhere}.px150-job-desc small{display:block;color:#657587;font-size:12px;margin-top:3px;overflow-wrap:anywhere}.px150-job-status{font-size:12px;color:#3a6586;max-width:100px;overflow-wrap:anywhere}.px150-job>svg{width:17px;height:17px;color:#6b7f92}.px150-empty{padding:17px 4px;color:#657587;font-size:14px}
.px150-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:7px}.px150-action{min-height:106px;background:#f6f8fb;border:1px solid #d5dfea;border-radius:12px;color:#233448;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px 8px;text-align:center;font-size:13px;font-weight:700;cursor:pointer}.px150-action:hover,.px150-kpi:hover{border-color:#8eb3d0;background:#f4f9ff}.px150-action svg{width:28px;height:28px}.px150-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.px150-summary>div{padding:13px;background:#f5f8fc;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:10px}.px150-summary span{font-size:13px;color:#66768a}.px150-summary strong{font-size:21px}.px150-note{color:#728095;font-size:12px;line-height:1.5;margin:15px 0 0}
@media(max-width:1050px){.px150-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.px150-columns{grid-template-columns:1fr}}
@media(max-width:650px){.px150-dashboard{padding:0 0 80px}.px150-heading{border-radius:0;padding:17px 16px;margin:0 -12px 15px}.px150-heading h1{font-size:21px}.px150-heading p{font-size:11px}.px150-greeting{padding:16px;margin-bottom:15px}.px150-greeting h2{font-size:20px}.px150-kpis{gap:10px;margin-bottom:15px}.px150-kpi{min-height:116px;padding:12px;grid-template-columns:37px 1fr;gap:9px}.px150-kpi-icon{width:37px;height:37px;border-radius:9px}.px150-kpi-icon svg{width:21px;height:21px}.px150-kpi-label{font-size:12px;line-height:1.3}.px150-kpi strong{font-size:25px}.px150-columns{gap:15px;margin-bottom:15px}.px150-panel{padding:15px}.px150-panel-title h2{font-size:17px}.px150-job-date{flex-basis:57px;font-size:12px}.px150-job-status{font-size:11px;max-width:72px}.px150-job>svg{display:none}.px150-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
