:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#17324d;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}.topbar{height:64px;background:#fff;border-bottom:1px solid #dfe7ef;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.topbar a{color:#245f89}.layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 64px)}aside{background:#173f5f;padding:20px 12px}aside a{display:block;color:#eaf4fb;text-decoration:none;padding:12px 14px;border-radius:9px;margin-bottom:6px}aside a:hover,aside a.active{background:#2c678f}.content{padding:28px}.muted{color:#6b7f90}.cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px;margin:24px 0}.cards article,.panel{background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:20px;box-shadow:0 5px 18px rgba(32,64,96,.05)}.cards span{display:block;color:#6b7f90}.cards strong{display:block;font-size:32px;margin-top:10px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#e8f5f2,#edf4fb)}.login-card{width:min(430px,92vw);background:#fff;padding:30px;border-radius:18px;box-shadow:0 16px 50px rgba(23,63,95,.15)}label{display:block;margin:16px 0 6px;font-weight:600}input{width:100%;padding:12px;border:1px solid #c8d5df;border-radius:9px;margin-top:6px}button{width:100%;margin-top:18px;border:0;border-radius:9px;padding:13px;background:#1f7a8c;color:white;font-weight:700;cursor:pointer}.alert{padding:12px;border-radius:9px;margin:14px 0}.error{background:#fdecec;color:#9f2525}.success{background:#e9f7ef;color:#17683a}@media(max-width:850px){.layout{grid-template-columns:1fr}aside{display:flex;overflow:auto}aside a{white-space:nowrap}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.cards{grid-template-columns:1fr}.content{padding:18px}.topbar{padding:0 14px}}

.page-head,.section-head,.actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.button,button{display:inline-block;background:#1769aa;color:#fff;border:0;border-radius:8px;padding:.7rem 1rem;text-decoration:none;cursor:pointer;font-weight:600}.button.secondary{background:#eef3f7;color:#234}.button.small,button.small{padding:.4rem .65rem;font-size:.88rem}.filters{display:flex;gap:.75rem;margin:1rem 0}.filters input{flex:1}.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:.72rem;border:1px solid #cfd9e2;border-radius:8px;background:#fff}.table-wrap{overflow:auto;padding:0}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:.85rem;border-bottom:1px solid #e8edf1;text-align:left;vertical-align:middle}.table-wrap small{display:block;color:#687985;margin-top:.2rem}.signal-cell{width:28px}.red-dot{display:inline-block;width:12px;height:12px;background:#d92d20;border-radius:50%;box-shadow:0 0 0 3px rgba(217,45,32,.12)}.badge{background:#eef3f7;border-radius:999px;padding:.25rem .55rem;font-size:.82rem}.empty{text-align:center;color:#687985;padding:2rem!important}.narrow{max-width:900px;margin:0 auto}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid label{font-weight:600}.form-grid .full{grid-column:1/-1}.form-grid textarea{resize:vertical}.alert{padding:.8rem 1rem;border-radius:8px;margin:1rem 0}.alert.error{background:#fee4e2;color:#912018}.alert.success{background:#dcfae6;color:#176b3a}.detail-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem}.full-span{grid-column:1/-1}.phone-link{display:inline-block;font-size:1.1rem;margin:.2rem 0}.instruction{border-left:5px solid #98a2b3;background:#f8fafc;padding:1rem;margin:.8rem 0;border-radius:6px}.instruction.important{border-left-color:#f79009}.instruction.urgent{border-left-color:#d92d20}.instruction form{margin-top:.75rem}.ack{display:block;color:#18794e;margin-top:.5rem}.note-box{white-space:normal;min-height:90px;background:#f8fafc;padding:1rem;border-radius:8px}.checkbox{display:flex!important;align-items:center;gap:.6rem}.checkbox input{width:auto!important}@media(max-width:800px){.form-grid,.detail-grid{grid-template-columns:1fr}.filters,.page-head{align-items:stretch;flex-direction:column}.full-span{grid-column:auto}}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.admin-card{display:flex;flex-direction:column;gap:.55rem;padding:1.4rem;background:#fff;border:1px solid #dfe7ef;border-radius:14px;text-decoration:none;color:#17324d;box-shadow:0 5px 18px rgba(32,64,96,.05)}.admin-card:hover{border-color:#7ca8c4;transform:translateY(-1px)}.admin-card strong{font-size:1.08rem}.admin-card span{color:#6b7f90}.badge-ok{background:#dcfae6;color:#176b3a}.badge-off{background:#f2f4f7;color:#475467}@media(max-width:700px){.admin-grid{grid-template-columns:1fr}}
.brand{display:flex;align-items:center;gap:.7rem}.brand img{max-height:42px;max-width:150px;object-fit:contain}.app-footer{margin-top:2rem;padding:1rem 0;color:#6b7f90;font-size:.85rem;text-align:center}.logo-preview img{max-height:100px;max-width:280px;object-fit:contain;border:1px solid #dfe7ef;padding:.6rem;border-radius:8px}.timeline{list-style:none;padding:0;margin:0}.timeline li{padding:.8rem 0;border-bottom:1px solid #e8edf1}.timeline small{color:#6b7f90}.contact-card{border:1px solid #e1e8ef;border-radius:10px;padding:1rem;margin:.7rem 0}.status-active{background:#dcfae6;color:#176b3a}.status-archived,.status-suspended{background:#f2f4f7;color:#475467}

/* En-tete ProxiCCAS 0.5.1 */
.topbar{min-height:72px;height:auto;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-logo{width:52px;height:52px;display:flex;align-items:center;justify-content:center;flex:0 0 52px}
.brand-logo img{display:block;max-width:52px;max-height:52px;width:auto;height:auto;object-fit:contain}
.brand-logo-placeholder{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#173f5f;color:#fff;font-weight:800;letter-spacing:.04em}
.brand-text{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.brand-text strong{font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-text small{margin-top:5px;color:#6b7f90;font-size:.76rem;font-weight:600}
.user-menu{display:flex;align-items:center;gap:8px;white-space:nowrap}
@media(max-width:620px){.topbar{align-items:flex-start;gap:10px}.brand-logo{width:44px;height:44px;flex-basis:44px}.brand-logo img{max-width:44px;max-height:44px}.brand-logo-placeholder{width:42px;height:42px}.brand-text strong{font-size:1rem}.user-menu span:first-child{display:none}}
.danger{background:#b42318!important;color:#fff!important;border-color:#b42318!important}.contact-card{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.contact-actions{display:flex;gap:.4rem;align-items:center}.contact-actions form,.page-head form{margin:0}.status-active{background:#d1fadf;color:#05603a}.status-suspended{background:#fef0c7;color:#93370d}.status-archived{background:#eaecf0;color:#344054}.status-deceased{background:#f2f4f7;color:#101828}.status-transferred{background:#e0e7ff;color:#3730a3}.app-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}.environment-badge{border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.env-development{background:#d1fadf;color:#05603a}.env-preproduction{background:#dbeafe;color:#1d4ed8}.env-production{background:#e5e7eb;color:#374151}.info-list>div{display:flex;justify-content:space-between;gap:2rem;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.info-list>div:last-child{border-bottom:0}.info-list span{color:#667085}
