*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:#f4f7fb;color:#14233a}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.side{background:#162a4d;color:#fff;padding:14px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;margin-bottom:28px}.brand b{background:#ff8a00;width:38px;height:38px;border-radius:11px;display:grid;place-items:center}.brand span,.brand strong{display:block}.brand span{font-size:12px;color:#cad5e5}.label{font-size:11px;color:#ff8a00;font-weight:800;letter-spacing:.12em;margin:4px 8px 8px}.nav{border:0;background:transparent;color:#eef4ff;padding:12px;border-radius:9px;text-align:left;font-weight:750;cursor:pointer}.nav.active,.nav:hover{background:#30476f}.spacer{flex:1}.version{border:1px solid #ffffff28;border-radius:10px;padding:10px;margin-bottom:10px}.side a{color:#eef4ff;text-decoration:none;font-size:13px}main{padding:22px 28px}header{display:flex;justify-content:space-between;align-items:flex-start}header small{color:#ff8a00;font-weight:800}h1{margin:2px 0 0}header p{margin:4px 0;color:#687791}.user{background:#fff;border:1px solid #d8e0eb;padding:10px 15px;border-radius:22px;font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.stats article,.panel{background:#fff;border:1px solid #d8e0eb;border-radius:14px;padding:16px}.stats span{color:#687791}.stats b{display:block;font-size:28px;margin-top:4px}.toolbar{display:grid;grid-template-columns:1fr 220px 190px auto;gap:9px;margin-bottom:14px}.toolbar input,.toolbar select,.toolbar button{border:1px solid #cfd8e6;border-radius:9px;padding:10px;background:#fff}.toolbar button{cursor:pointer;font-weight:700}.items{display:flex;flex-direction:column;gap:9px}.item{display:grid;grid-template-columns:10px 1fr auto;gap:12px;border:1px solid #e0e6ee;border-radius:11px;padding:12px;background:#fff}.item.unread{border-color:#a9c6e5;background:#f8fbff}.dot{width:9px;height:9px;border-radius:50%;background:#8ba0b7;margin-top:6px}.dot.Haute{background:#e58b27}.dot.Urgente{background:#c95353}.item h3{margin:0;font-size:14px}.item p{margin:4px 0;color:#5e6f84;font-size:13px}.meta{font-size:11px;color:#8591a1}.actions{display:flex;gap:6px;align-items:flex-start}.actions button,.actions a{border:1px solid #d6dee8;background:#fff;border-radius:8px;padding:7px 9px;text-decoration:none;color:#203550;cursor:pointer;font-size:12px}.hidden{display:none!important}.empty{text-align:center;color:#7d8998;padding:40px}.toast{position:fixed;right:20px;bottom:20px;background:#162a4d;color:#fff;padding:11px 15px;border-radius:9px}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{display:none}.stats{grid-template-columns:repeat(2,1fr)}.toolbar{grid-template-columns:1fr}}
/* V0.1.1 - contexte métier enrichi */
.item-main{min-width:0}.item-title-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.source-badge{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#edf2f7;color:#4b5f75;border-radius:999px;padding:3px 7px}.context-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:5px 14px;margin:9px 0;padding:9px 10px;background:#f7f9fc;border:1px solid #e4eaf1;border-radius:9px}.context-grid span{font-size:11px;color:#465874}.context-grid b{color:#7a8796;text-transform:uppercase;font-size:9px;margin-right:5px}.actions a{font-weight:750;background:#f7fbff;border-color:#b8cee5}.item p{line-height:1.4}@media(max-width:1050px){.item{grid-template-columns:10px 1fr}.actions{grid-column:2;flex-wrap:wrap}.context-grid{grid-template-columns:1fr}}


/* V0.1.2 — cartes compactes métier */
.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(410px,1fr));gap:12px;align-items:stretch}
.notification-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid #dbe3ec;border-radius:14px;background:#fff;box-shadow:0 2px 7px rgba(22,42,77,.05);overflow:hidden}
.notification-card.unread{border-color:#9ec0e5;box-shadow:0 3px 12px rgba(40,93,150,.08)}
.card-top{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;padding:12px 13px 9px}
.card-dot{width:8px;height:8px;border-radius:50%;background:#8ba0b7;margin-top:5px}.card-dot.Haute{background:#e58b27}.card-dot.Urgente{background:#c95353}.card-dot.Basse{background:#75a983}
.card-title-wrap{min-width:0}.title-line{display:flex;align-items:center;gap:7px;min-width:0}.title-line h3{margin:0;font-size:14px;line-height:1.25;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-title-wrap p{margin:4px 0 0;color:#66758a;font-size:11px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.source-badge{flex:0 0 auto;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.045em;background:#edf2f7;color:#4b5f75;border-radius:999px;padding:3px 7px}
.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#e6ebf1;border-top:1px solid #e3e9f0;border-bottom:1px solid #e3e9f0}
.info-cell{min-width:0;background:#f8fafc;padding:9px 11px}.info-cell>span{display:block;color:#8793a2;text-transform:uppercase;letter-spacing:.045em;font-size:8px;font-weight:900;margin-bottom:3px}.info-cell>strong{display:block;color:#24364f;font-size:11px;line-height:1.25;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.state-cell>strong{white-space:normal;overflow:visible}
.state-pill{display:inline-flex;max-width:100%;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:850;line-height:1.2;background:#edf1f5;color:#46596e;white-space:normal}.state-pill.blue{background:#e7f0ff;color:#155da6}.state-pill.orange{background:#fff0d8;color:#9b5800}.state-pill.green{background:#e4f6eb;color:#277646}.state-pill.red{background:#fdeaea;color:#9f3030}
.card-foot-meta{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;color:#8995a4;font-size:9px}.card-foot-meta span:last-child{text-align:right}
.card-actions{margin-top:auto;display:flex;gap:7px;align-items:center;padding:9px 11px;border-top:1px solid #e8edf3;background:#fbfcfe}
.card-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d6dee8;background:#fff;border-radius:8px;padding:6px 9px;text-decoration:none;color:#203550;cursor:pointer;font-size:10px;font-weight:750;line-height:1}.card-action:hover{background:#f2f6fa}.card-action.primary-action{background:#edf5ff;border-color:#b5cee8;color:#174d81}.card-action span{font-size:11px}
@media(max-width:1150px){.items{grid-template-columns:1fr}}
@media(max-width:620px){.business-grid{grid-template-columns:1fr}.card-actions{flex-wrap:wrap}.card-foot-meta{flex-direction:column;gap:3px}.card-foot-meta span:last-child{text-align:left}}


/* QSE Horizon - Navigation commune V0.2.0 */
.sidebar,.side{overflow-y:auto;scrollbar-width:thin}
.horizon-common-nav{margin-top:10px}
.horizon-nav-section{border-top:1px solid rgba(255,255,255,.11);padding-top:6px;margin-top:6px}
.horizon-nav-toggle{width:100%;border:0;background:transparent;color:#ff9a21;display:flex;align-items:center;justify-content:space-between;padding:7px 9px;font-size:10px;font-weight:900;letter-spacing:.11em;cursor:pointer;text-align:left}
.horizon-nav-chevron{font-size:14px;transition:transform .16s ease;line-height:1}.horizon-nav-section.open .horizon-nav-chevron{transform:rotate(180deg)}
.horizon-nav-body{display:none;flex-direction:column;gap:2px;padding-bottom:3px}.horizon-nav-section.open .horizon-nav-body{display:flex}
.horizon-nav-link{display:flex;align-items:center;gap:8px;min-height:32px;padding:7px 9px;border-radius:8px;text-decoration:none;color:#eaf1fb;font-size:12px;font-weight:650;line-height:1.15}
.horizon-nav-link:hover{background:rgba(255,255,255,.09)}.horizon-nav-link.current{background:#30476f;color:#fff}
.horizon-nav-link.shortcut{color:#dbe6f6;font-weight:550}.horizon-nav-icon{width:19px;text-align:center;flex:0 0 19px}
.horizon-cross-app{display:inline-flex;align-items:center;gap:7px;text-decoration:none}

.card-action.danger-action{color:#9f3030;border-color:#efc4c1;background:#fff7f6}.card-action.danger-action:hover{background:#fff0ef}

.action-stat{border-color:#f6c26b!important;background:#fff9ed!important}.action-stat b{color:#ad5d00!important}
