:root{--bg:#06101f;--panel:#0c1a2d;--line:#18395f;--blue:#0da8ff;--text:#eef7ff;--muted:#9eb4c8;--danger:#ff5f6d;--ok:#48d597}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at top,#0d2a4b 0,#06101f 42%,#030810 100%);color:var(--text);min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 5%;background:rgba(3,8,16,.93);border-bottom:1px solid var(--line);position:sticky;top:0}.brand{font-size:28px;font-weight:800;color:#fff;text-decoration:none}.brand span{color:var(--blue)}.brand small{font-size:14px;color:var(--muted)}nav a{color:#d7eaff;text-decoration:none;margin-left:20px}.container{width:min(1100px,92%);margin:38px auto}.hero,.card{background:linear-gradient(145deg,rgba(15,36,62,.96),rgba(7,18,34,.96));border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 45px rgba(0,0,0,.28)}.hero{padding:48px;text-align:center}.hero h1{font-size:48px;margin:0 0 14px}.hero p{color:var(--muted);font-size:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:24px}.card{padding:24px}.stat{font-size:36px;font-weight:800;color:var(--blue)}h1,h2,h3{margin-top:0}.muted{color:var(--muted)}form{display:grid;gap:15px}label{font-weight:700}input,select,textarea{width:100%;padding:13px 14px;border-radius:10px;border:1px solid #27507d;background:#071425;color:#fff;font-size:16px}button,.button{display:inline-block;background:linear-gradient(90deg,#0077ff,#12b7ff);color:#fff;border:0;border-radius:10px;padding:13px 20px;font-weight:800;cursor:pointer;text-decoration:none}.button.secondary{background:#183451}.button.danger{background:#8f2431}.actions{display:flex;gap:10px;flex-wrap:wrap}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#13395e;color:#bfe8ff}.badge.ok{background:#124936;color:#9bf2c8}.badge.off{background:#532733;color:#ffc0c7}.alert{padding:14px 16px;border-radius:10px;margin-bottom:18px}.alert.success{background:#123f32;color:#a7f3cf}.alert.error{background:#4c222a;color:#ffd2d7}.auth{max-width:520px;margin:70px auto}.auth .card{padding:34px}footer{text-align:center;color:var(--muted);padding:28px}@media(max-width:700px){.topbar{align-items:flex-start;gap:12px;flex-direction:column}.hero{padding:30px 20px}.hero h1{font-size:34px}nav a{margin:0 14px 0 0}}

.page-heading{justify-content:space-between;align-items:center;margin-bottom:22px}.space-form{gap:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .full{grid-column:1/-1}.check-row input{width:auto;margin-right:8px}.admin-only{border-color:#5d4776}.spaces-section{margin-top:32px}.space-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.space-card{display:flex;flex-direction:column;gap:10px}.space-card .button{margin-top:auto;text-align:center}.space-card-top{display:flex;align-items:center;justify-content:space-between}.space-icon{font-size:34px}.service-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.tabs{display:flex;gap:8px;overflow:auto;margin:0 0 22px}.tab{padding:11px 15px;border:1px solid var(--line);border-radius:10px;background:#0b1b30;white-space:nowrap}.tab.active{background:linear-gradient(90deg,#0077ff,#12b7ff);font-weight:800}.tab.disabled{opacity:.45}.health-card{display:grid;grid-template-columns:1fr auto;align-items:center;margin-bottom:22px}.health-score{font-size:42px;font-weight:800;color:var(--ok)}.progress{grid-column:1/-1;background:#071425;border:1px solid var(--line);height:12px;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#0077ff,#48d597)}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}dl{display:grid;grid-template-columns:minmax(110px,.8fr) 1.2fr;gap:12px;margin:0}dt{color:var(--muted);font-weight:700}dd{margin:0;overflow-wrap:anywhere}@media(max-width:700px){.form-grid,.details-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start}.health-card{grid-template-columns:1fr}.health-score{margin-bottom:10px}dl{grid-template-columns:1fr;gap:4px}dd{margin-bottom:10px}}
.button.small{padding:8px 12px;font-size:13px}.service-category-list{display:flex;flex-wrap:wrap;gap:10px}.category-pill{display:flex;gap:15px;justify-content:space-between;align-items:center;min-width:230px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#0a1a2e;color:var(--text);text-decoration:none}.category-pill small{color:var(--muted)}code{color:#aee4ff}.option-admin-list{display:grid;gap:12px;margin-bottom:18px}.option-admin-row{display:grid;grid-template-columns:1.2fr 1.5fr 90px 150px;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:12px}.option-admin-row .checks{display:grid;gap:8px}.option-admin-row .checks input{width:auto}.module-assign-list{display:grid;gap:20px}.module-assign-card{padding:0;overflow:hidden}.module-header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 24px;background:rgba(13,168,255,.08);border-bottom:1px solid var(--line)}.module-toggle{display:flex;align-items:center;gap:12px;font-size:18px}.module-toggle input{width:22px;height:22px}.module-toggle span{display:grid}.module-toggle small{color:var(--muted);font-weight:400}.module-settings{display:flex;align-items:center;gap:12px}.module-settings select{width:auto}.module-settings input{width:auto}.module-assign-card>p{padding:0 24px}.assignment-options{padding:0 24px 24px;display:grid;gap:8px}.assignment-option{display:grid;grid-template-columns:minmax(220px,1.2fr) 90px 150px minmax(180px,1fr);gap:12px;align-items:center;padding:10px 12px;background:#08172a;border:1px solid #173858;border-radius:10px}.assignment-option label{font-size:14px}.assignment-option label input{width:auto}.option-name{display:grid}.option-name small{color:var(--muted)}.sticky-save{position:sticky;bottom:15px;display:flex;justify-content:flex-end;padding:14px;background:rgba(3,8,16,.88);border:1px solid var(--line);border-radius:14px;margin-top:20px;backdrop-filter:blur(8px)}.solutions-section{margin-bottom:25px}.section-heading{margin-bottom:15px}.solution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.solution-card{border-color:#1b527f}.solution-title{display:flex;gap:13px;align-items:center}.solution-icon{font-size:38px}.solution-title h3{margin:3px 0 0}.included-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}.included-list li{display:flex;gap:10px;padding:10px 12px;background:#08172a;border:1px solid #173858;border-radius:10px}.included-list li>span{color:var(--ok);font-weight:900}.included-list li div{display:grid}.included-list small{color:var(--muted);margin-top:3px}.tabs a{text-decoration:none;color:var(--text)}@media(max-width:900px){.option-admin-row,.assignment-option{grid-template-columns:1fr}.module-header{align-items:flex-start;flex-direction:column}.module-settings{flex-wrap:wrap}}
.communication-menu{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.email-role-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.email-role-card{display:flex;flex-direction:column}.email-role-card .button{margin-top:auto;text-align:center}.role-head{justify-content:space-between;align-items:flex-start}.signature-preview{background:#fff;color:#15202b;border-radius:10px;padding:16px;margin:10px 0 18px;min-height:95px}.signature-preview a{color:#0b5ed7}.filter-actions{margin:0 0 18px}.card small{display:block;margin-top:6px}

.nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ff5f6d;color:#fff;font-size:11px;font-weight:800}.welcome-panel{margin-bottom:20px;border-color:#1d5d91}.welcome-panel h1{margin-bottom:14px}.welcome-panel p{max-width:850px}.welcome-panel small{color:#8ed9ff;font-weight:700}.message-alert{display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--text);margin-bottom:22px;border-color:#3d759f}.message-alert>span{font-size:34px}.message-alert div{display:grid;gap:4px}.message-alert small{color:var(--muted)}.badge.warn{background:#6f4f13;color:#ffe6a3}.row-unread{background:rgba(255,95,109,.06)}.conversation-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.conversation-thread{display:flex;flex-direction:column;gap:14px;min-height:260px}.message-bubble{max-width:82%;padding:15px 17px;border-radius:16px;border:1px solid var(--line);background:#08172a}.message-bubble.admin{align-self:flex-start;border-color:#1b6ea8;background:#0a2440}.message-bubble.client{align-self:flex-end;border-color:#1d7152;background:#0b2d24}.message-meta{display:flex;justify-content:space-between;gap:14px;margin-bottom:8px;font-size:13px}.message-meta span{color:var(--muted)}.message-content{line-height:1.6}.conversation-info{align-self:start}.reply-box{margin-top:18px}.status-form{display:flex;gap:8px;align-items:center}.status-form select{width:auto}.back-link{color:#9bdcff;text-decoration:none;display:inline-block;margin-bottom:9px}.message-list{display:grid}.message-list-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text)}.message-list-item:last-child{border-bottom:0}.message-list-item>div{display:flex;gap:8px;align-items:center}.message-list-item>div:first-child{display:grid}.message-list-item small{color:var(--muted)}.message-list-item.unread strong{color:#8ed9ff}.timeline{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:22px 1fr;gap:12px;padding:0 0 22px;position:relative}.timeline-item:before{content:'';position:absolute;left:6px;top:14px;bottom:0;width:2px;background:var(--line)}.timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--blue);margin-top:4px;z-index:1}.timeline-head{display:flex;justify-content:space-between;gap:16px}.timeline-item small{color:var(--muted);margin-top:5px}.filter-bar{display:flex;align-items:end;gap:12px;margin-bottom:18px}.filter-bar label{flex:1}.client-thread{margin-bottom:18px}@media(max-width:850px){.conversation-layout{grid-template-columns:1fr}.message-bubble{max-width:94%}.message-list-item,.timeline-head{align-items:flex-start;flex-direction:column}.status-form{width:100%;flex-wrap:wrap}}
.mail-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px}.mail-sidebar{display:flex;flex-direction:column;gap:8px;align-self:start}.mail-sidebar>a:not(.button){display:flex;justify-content:space-between;color:var(--text);text-decoration:none;padding:11px 8px;border-bottom:1px solid var(--line)}.email-reader{line-height:1.65;overflow-wrap:anywhere}.email-reader img{max-width:100%;height:auto}.email-reader a{color:#8ed9ff}@media(max-width:850px){.mail-layout{grid-template-columns:1fr}.mail-sidebar{display:grid;grid-template-columns:repeat(2,1fr)}}

.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#08172a}.permission-item{font-weight:600}.permission-item input{width:auto;margin-right:8px}.about-card{max-width:650px;margin:40px auto;text-align:center}.about-card dl{max-width:340px;margin:25px auto;text-align:left}.about-card hr{border:0;border-top:1px solid var(--line);margin:28px 0}.version-panel{margin-top:20px;border-color:#1d5d91}

/* Sprint 1 — suppression sécurisée des clients */
.button.danger, button.danger {
  background: #8f2f3a;
  border-color: #a83a47;
  color: #fff;
}
.button.danger:hover, button.danger:hover {
  background: #a83a47;
}

.mail-sidebar a.active{background:rgba(27,110,168,.22);border-radius:10px;padding-left:12px!important;padding-right:12px!important}.message-list-item{display:grid!important;grid-template-columns:28px 1fr}.message-list-item>a{display:flex;justify-content:space-between;gap:16px;align-items:center;text-decoration:none;color:var(--text);min-width:0}.message-list-item>a>div{display:grid;gap:6px;min-width:0}.message-list-item>a span,.message-list-item>a small{overflow-wrap:anywhere}.bulk-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:4px}.bulk-toolbar select{width:auto;min-width:210px}.pagination{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;border:1px solid var(--line);border-radius:8px;color:var(--text);text-decoration:none}.pagination a.active{background:var(--blue);border-color:var(--blue)}.button.danger,button.danger{background:#9b2634;border-color:#c94355}.mail-search label:nth-of-type(2){flex:2}@media(max-width:850px){.message-list-item>a{align-items:flex-start;flex-direction:column}.bulk-toolbar select{width:100%}.mail-search{align-items:stretch;flex-direction:column}}


/* ============================================================
   COOLSERV SHIELD — PORTAL ENTERPRISE
   ============================================================ */
#coolserv-security-notice {
    position: fixed;
    left: 50%;
    bottom: 28px;
    z-index: 999999;
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: calc(100vw - 30px);
    padding: 12px 18px;
    color: #fff;
    background: rgba(3, 14, 32, .97);
    border: 1px solid rgba(31, 169, 255, .68);
    border-radius: 999px;
    box-shadow: 0 14px 40px rgba(0, 0, 0, .40), 0 0 24px rgba(13, 163, 255, .18);
    font-size: .88rem;
    font-weight: 700;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 18px);
    transition: opacity .22s ease, transform .22s ease;
}
#coolserv-security-notice .coolserv-shield-icon {
    font-size: 1rem;
    line-height: 1;
}
#coolserv-security-notice.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}
.coolserv-shield-credit {
    display: inline-block;
    margin-top: 7px;
    color: inherit;
    font-size: .78rem;
    opacity: .78;
    text-decoration: none;
}
.coolserv-shield-credit:hover,
.coolserv-shield-credit:focus {
    opacity: 1;
    text-decoration: underline;
}
img {
    -webkit-user-drag: none;
    user-drag: none;
}
@media (max-width: 520px) {
    #coolserv-security-notice {
        bottom: 18px;
        width: max-content;
        max-width: calc(100vw - 24px);
        padding: 11px 15px;
        border-radius: 18px;
        font-size: .82rem;
    }
}


/* Signatures courriel v1.8.3 */
.signature-editor{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#08172a}.signature-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px}.signature-list{align-self:start}.signature-account{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:12px;margin:8px 0;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--text);background:#08172a}.signature-account small{color:var(--muted);grid-column:1}.signature-account .badge{grid-column:2;grid-row:1/3;align-self:center}.signature-account.active{border-color:#16a9ff;background:rgba(22,169,255,.1)}.signature-live-preview{margin-top:10px;padding:20px;background:#fff;color:#17212b;border-radius:10px;min-height:110px}.signature-live-preview a{color:#0969a8}@media(max-width:850px){.signature-layout{grid-template-columns:1fr}}

/* Centre des opérations et diagnostic v1.8.4 */
.ops-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ops-card{position:relative;overflow:hidden}.ops-icon{font-size:30px;position:absolute;right:18px;top:15px;opacity:.78}.ops-card .stat{margin-top:12px}.status-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.status-head h2{margin-bottom:5px}.status-list{display:grid;gap:0;margin:16px 0}.status-list>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line)}.status-list dt{color:var(--muted)}.status-list dd{margin:0;text-align:right;font-weight:700}.compact-timeline .timeline-item{padding-bottom:15px}.tools-actions{flex-wrap:wrap}.diagnostic-list{display:grid;gap:12px}.diagnostic-item{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:12px;background:#08172a}.diagnostic-item p{margin:5px 0 0;color:var(--muted)}.diagnostic-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-weight:900}.diagnostic-item.is-ok{border-color:#1d7152}.diagnostic-item.is-ok .diagnostic-icon{background:#143f31;color:#8affc6}.diagnostic-item.is-error{border-color:#8f2f3a}.diagnostic-item.is-error .diagnostic-icon{background:#4a1c24;color:#ffadb8}@media(max-width:700px){.status-head,.status-list>div{flex-direction:column}.status-list dd{text-align:left}.tools-actions>*{width:100%}}

/* Navigation regroupée et sécurité propriétaire v1.8.5 */
.topbar{z-index:10000}.topbar nav{display:flex;align-items:center;gap:8px;margin-left:auto}.topbar nav>a{margin-left:0;padding:10px 12px;border-radius:9px}.topbar nav>a:hover{background:rgba(13,168,255,.12)}.nav-group{position:relative}.nav-trigger{background:transparent!important;border:0!important;padding:10px 12px!important;font:inherit!important;font-weight:700!important;color:#d7eaff!important;border-radius:9px!important}.nav-trigger:hover,.nav-group:focus-within>.nav-trigger{background:rgba(13,168,255,.12)!important}.nav-dropdown{display:none;position:absolute;top:calc(100% + 7px);left:0;z-index:10050;min-width:220px;padding:8px;background:#071425;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.45)}.nav-group:hover>.nav-dropdown,.nav-group:focus-within>.nav-dropdown{display:grid}.nav-dropdown a{display:flex;justify-content:space-between;align-items:center;margin:0!important;padding:11px 12px;border-radius:8px;color:#d7eaff;text-decoration:none;white-space:nowrap}.nav-dropdown a:hover{background:#123451}.nav-user{margin-left:8px}.nav-dropdown-right{left:auto;right:0}.nav-owner{display:block;padding:10px 12px;color:#9bf2c8;font-size:13px;border-bottom:1px solid var(--line);margin-bottom:5px}.user-trigger{border:1px solid #24527d!important;background:#0a1a2e!important}.owner-warning{border-color:#80611a;background:linear-gradient(145deg,rgba(73,54,12,.5),rgba(7,18,34,.96))}.critical-action{grid-template-columns:minmax(220px,1fr) auto;align-items:end}.critical-action label{grid-column:1/-1}.inline-security-form{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:8px;min-width:300px}.security-account-grid{display:grid;gap:12px}.security-account{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(360px,1.5fr);gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:#08172a}.security-account small{display:block;color:var(--muted);margin-top:5px}.security-controls{display:flex;gap:8px;align-items:center}.security-controls input[type=password]{min-width:170px}.security-controls input[type=number]{width:80px}@media(max-width:1050px){.topbar{align-items:flex-start}.topbar nav{flex-wrap:wrap;justify-content:flex-end}.security-account{grid-template-columns:1fr}.security-controls{flex-wrap:wrap}.inline-security-form{min-width:240px}}@media(max-width:700px){.topbar nav{width:100%;justify-content:flex-start}.nav-group{position:static}.nav-dropdown{position:absolute;left:5%;right:5%;top:auto;min-width:0}.nav-dropdown-right{left:5%;right:5%}.nav-user{margin-left:0}.critical-action{grid-template-columns:1fr}.inline-security-form{grid-template-columns:1fr;min-width:200px}.security-controls>*{width:100%!important}}

/* v1.8.6 — Catalogue et fiches administratives */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 20px}.check-grid label{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #214b73;border-radius:10px;background:#081c31}.table code{white-space:nowrap}.about-card dl{display:grid;grid-template-columns:130px 1fr;gap:12px 18px}.about-card dt{font-weight:700;color:#9bc9ff}.about-card dd{margin:0}@media(max-width:800px){.grid-2,.check-grid{grid-template-columns:1fr}.table-wrap{overflow-x:auto}}

/* CoolServ Shield Intelligence v1.9.0 */
.shield-intelligence{border:1px solid rgba(46,125,255,.35);background:linear-gradient(145deg,rgba(15,31,63,.98),rgba(7,18,40,.98));}
.shield-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.shield-head h2{margin:0 0 4px}.shield-score{min-width:120px;text-align:center;padding:13px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.14)}.shield-score strong{display:block;font-size:28px}.shield-score span{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.risk-faible{background:rgba(25,160,95,.16)}.risk-modere{background:rgba(230,160,20,.16)}.risk-eleve{background:rgba(220,55,70,.16)}
.shield-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.shield-grid>div{padding:12px;border-radius:12px;background:rgba(255,255,255,.055)}.shield-grid span{display:block;color:#9fb0cc;font-size:12px;margin-bottom:5px}.auth-pass{color:#62d69a}.auth-fail,.auth-softfail,.auth-permerror{color:#ff7b88}.auth-none,.auth-unknown,.auth-neutral{color:#f0bd58}.shield-note{font-size:12px;color:#aebbd0;margin-top:14px}.raw-headers{white-space:pre-wrap;word-break:break-word;max-height:420px;overflow:auto;background:#050b16;padding:14px;border-radius:10px;font-size:12px}
@media(max-width:700px){.shield-head{align-items:flex-start;flex-direction:column}.shield-score{width:100%}}

/* Facturation v1.9.1 */
.invoice-item-row{gap:12px;margin:10px 0}.badge.success{background:#d9f7e5;color:#116b39}.badge.danger{background:#ffe1e1;color:#9d1c1c}.badge.secondary{background:#e9eef5;color:#30465d}.shield-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.invoice-item-row input{margin:0}
/* v1.9.2 — stabilisation facturation et tableau client */
.client-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 22px}.summary-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#0b2038,#0a1729);color:var(--text);text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.12)}.summary-card>span{font-size:30px}.summary-card div{display:grid;gap:3px}.summary-card strong{font-size:22px}.summary-card small{color:var(--muted)}.invoice-head{padding:0 42px 0 0;color:var(--muted);font-size:13px;margin-top:8px}.invoice-item-row{position:relative;grid-template-columns:minmax(220px,2fr) 100px 140px 130px!important;align-items:center}.invoice-item-row .line-total{font-weight:800;text-align:right}.remove-row{position:absolute;right:-40px;top:1px;width:32px;height:32px;padding:0;border-radius:50%;background:#6c2430}.invoice-total-preview{display:flex;justify-content:flex-end;gap:12px;font-size:20px;padding:18px 0}.invoice-notes,.invoice-cancelled{margin-top:18px;padding:16px;border-radius:12px;background:rgba(120,170,220,.08);border:1px solid var(--line)}.invoice-cancelled{background:rgba(130,135,145,.10)}
@media(max-width:950px){.client-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-item-row{grid-template-columns:1fr 90px 120px!important}.invoice-item-row .line-total{grid-column:1/-1;text-align:left}.invoice-head{display:none}.remove-row{right:0;top:-34px}}
@media(max-width:560px){.client-summary-grid{grid-template-columns:1fr}}

/* v1.9.3 — Diagnostic Portal v2 */
.health-summary{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:center;border-color:#27557f;background:linear-gradient(145deg,#0b2038,#08172a)}.health-score{width:132px;height:132px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;border:10px solid #1d8f68;background:#071626;box-shadow:0 0 0 5px rgba(29,143,104,.13)}.health-score strong{font-size:30px}.health-score span{font-size:12px;color:var(--muted)}.health-copy h2{margin:0 0 12px}.health-copy small{color:var(--muted)}.health-bar{height:12px;border-radius:999px;background:#07111f;overflow:hidden;border:1px solid var(--line)}.health-bar span{display:block;height:100%;background:linear-gradient(90deg,#1f9a6e,#34c58c);border-radius:inherit}.health-ok{color:#8affc6}.health-warning{color:#ffd177}.health-critical{color:#ff9ca9}.diagnostic-item.is-warning{border-color:#9c6b19;background:rgba(95,62,10,.18)}.diagnostic-item.is-warning .diagnostic-icon{background:#54380f;color:#ffd177}.diagnostic-item.is-critical{border-color:#a33140;background:rgba(93,20,31,.18)}.diagnostic-item.is-critical .diagnostic-icon{background:#561c27;color:#ffadb8}.diagnostic-item.is-info{border-color:#2e6898;background:rgba(20,67,105,.18)}.diagnostic-item.is-info .diagnostic-icon{background:#153b5d;color:#a8d9ff}@media(max-width:700px){.health-summary{grid-template-columns:1fr}.health-score{margin:auto}}
/* CoolServ Shield Intelligence v4 */
.shield-v3-scores{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin:18px 0}.shield-v3-scores>div{padding:14px;border:1px solid #dce6f2;border-radius:14px;background:#f7fbff}.shield-v3-scores span{display:block;color:#607086;font-size:.82rem}.shield-v3-scores strong{font-size:1.35rem}.shield-findings{margin:18px 0;padding:16px;border-radius:14px;background:#fff8e8;border:1px solid #f2d38a}.finding{margin:8px 0;padding:9px 11px;border-radius:9px}.finding-critical{background:#ffe5e5;color:#8c1717}.finding-high{background:#fff0df;color:#8a3f00}.finding-warning{background:#fff8dc;color:#6c5200}.shield-neutralized-link{display:inline-block;padding:2px 6px;border-radius:6px;background:#fff2cc;color:#6b4c00;word-break:break-all}.shield-blocked-resource{display:inline-block;padding:8px;border:1px dashed #9eb3c8;background:#eef5fb;color:#52677c}.shield-safe-view{overflow-wrap:anywhere}.message-list-item.quarantined{border-left:5px solid #d52222;background:#fff4f4}.shield-actions label{display:block;margin-bottom:12px}@media(max-width:800px){.shield-v3-scores{grid-template-columns:repeat(2,1fr)}}

/* v1.9.6 — CoolServ Update Manager */
.update-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;border-color:#2478ad;background:linear-gradient(145deg,#0d2947,#08182c)}.update-version{min-width:190px;padding:18px;border:1px solid #2f6f9f;border-radius:16px;background:#071729;text-align:center}.update-version span,.update-version small{display:block;color:var(--muted)}.update-version strong{display:block;font-size:34px;color:#24b4ff;margin:5px 0}.update-protected{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;list-style:none}.update-protected li{padding:10px;border:1px solid #24527d;border-radius:9px;background:#081a2d;color:#9bf2c8}.update-manifest{display:grid;grid-template-columns:120px 1fr;gap:10px;margin:18px 0}.update-manifest dt{font-weight:800;color:#9bc9ff}.update-manifest dd{margin:0;word-break:break-all}.restore-form{display:grid;grid-template-columns:auto minmax(150px,1fr) auto;gap:8px;align-items:center;min-width:430px}.restore-form input{margin:0}.migration-list{display:grid;gap:9px;list-style:none;padding:0}.migration-list li{display:grid;grid-template-columns:80px 1fr auto;gap:12px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#08172a}.migration-list span,.migration-list small{color:var(--muted)}button.danger,.button.danger{background:#9e2635}@media(max-width:800px){.update-hero{align-items:flex-start;flex-direction:column}.update-version{width:100%}.restore-form{grid-template-columns:1fr;min-width:240px}.migration-list li{grid-template-columns:1fr}}

/* v1.9.7 Update Manager & Package Builder */
.hash-block{display:block;overflow-wrap:anywhere;padding:12px;border:1px solid #244c73;border-radius:8px;background:#07192d}.update-hero .button{margin-top:12px}input[type=file]{max-width:100%}button:disabled{opacity:.45;cursor:not-allowed}

/* v1.9.8 — Calendrier & Rendez-vous */
.schedule-grid{display:grid;gap:10px;margin:14px 0 20px}.schedule-row{display:grid;grid-template-columns:minmax(150px,1fr) 130px auto 130px;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:10px;background:#08172a}.schedule-row input{margin:0}.calendar-list{display:grid;gap:10px}.calendar-list-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:#08172a}.calendar-list-item small{display:block;color:var(--muted);margin-top:5px}.appointment-status-form{display:grid;grid-template-columns:minmax(130px,1fr) auto;gap:8px;min-width:250px}.appointment-status-form select{margin:0}.appointment-cards{display:grid;gap:12px}.appointment-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#0b2038,#08172a)}.appointment-date{width:64px;height:64px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0b5ed7;color:#fff}.appointment-date strong{font-size:24px}.appointment-date span{font-size:11px;letter-spacing:.08em}.appointment-card h3{margin:0 0 5px}.appointment-card p{margin:4px 0}.badge.warning{background:#fff0bf;color:#745400}@media(max-width:760px){.schedule-row{grid-template-columns:1fr 1fr}.schedule-row span{display:none}.calendar-list-item,.appointment-card{grid-template-columns:1fr}.appointment-date{width:100%;height:auto;padding:10px;flex-direction:row;gap:8px}.appointment-status-form{grid-template-columns:1fr;min-width:180px}}

/* CoolServ Update Manager v1.9.9 */
.preflight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:14px}
.preflight-item{border:1px solid #234e72;border-radius:10px;padding:12px;background:#081b30;display:flex;flex-direction:column;gap:5px}
.preflight-item.ok{border-color:#176c4c;background:#0b2b25}
.preflight-item.danger{border-color:#8a3640;background:#351a22}
.preflight-item strong{font-size:14px}.preflight-item small{color:#9fc9ef;word-break:break-word}


/* CoolServ Enterprise Platform v2.0 */
.section-tag{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:rgba(29,155,240,.12);color:#62c6ff;font-size:.7em;font-weight:800;letter-spacing:.5px;vertical-align:middle}
.license-number-panel,.license-hero{background:linear-gradient(135deg,rgba(8,54,91,.95),rgba(8,27,48,.95));border:1px solid rgba(62,190,255,.35);box-shadow:0 18px 50px rgba(0,0,0,.2)}
.license-number-panel{padding:18px 20px;border-radius:14px;margin-bottom:20px}.license-number-panel small,.license-hero small{display:block;color:#8bcff4;letter-spacing:2px;font-weight:800}.license-number-panel strong,.license-hero h2{display:block;margin-top:6px;font-size:1.65rem;letter-spacing:1px;color:#fff}
.license-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.license-hero p{margin:6px 0 0}.detail-list{display:grid;grid-template-columns:minmax(120px,.8fr) 1.5fr;gap:12px 18px}.detail-list dt{color:#7fa9c2;font-weight:700}.detail-list dd{margin:0;font-weight:700}
.module-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:15px 0 24px}.module-check{display:flex;flex-direction:column;gap:4px;padding:15px;border:1px solid rgba(130,180,210,.22);border-radius:12px;background:rgba(255,255,255,.025);cursor:pointer}.module-check input{width:auto}.module-check span{font-weight:700}.module-check small{color:#7895a8}.module-list{display:grid;gap:10px}.module-line{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(130,180,210,.14)}.license-readonly{text-align:center;margin-top:18px}
@media(max-width:700px){.license-hero{align-items:flex-start;flex-direction:column}.detail-list{grid-template-columns:1fr}.module-check-grid{grid-template-columns:1fr}}

/* v2.0.1 License Manager */
.license-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.license-summary{display:flex;align-items:center;gap:14px;padding:17px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#0b2038,#08172a)}.license-summary>span{font-size:28px}.license-summary div{display:grid;gap:2px}.license-summary strong{font-size:24px}.license-summary small{color:var(--muted)}.license-filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(150px,1fr) auto;gap:12px;align-items:end}.license-filters input,.license-filters select{margin:0}.license-filter-actions,.table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.license-history{display:grid;gap:10px}.license-history article{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#08172a}.license-history-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#0d2947}.license-history small{display:block;color:var(--muted);margin-top:4px}.license-history>article>span{color:#78c9ff;font-size:12px;text-transform:uppercase}.license-notes{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}@media(max-width:900px){.license-summary-grid{grid-template-columns:repeat(2,1fr)}.license-filters{grid-template-columns:1fr 1fr}}@media(max-width:560px){.license-summary-grid,.license-filters{grid-template-columns:1fr}}


/* CoolServ Enterprise Platform v2.0.2 — Enterprise Structure */
.company-hero{background:linear-gradient(145deg,#0c2744,#08172a)}
.company-hero h2{margin:.25rem 0}
.company-logo-preview{width:72px;height:72px;border-radius:16px;object-fit:contain;background:#fff;padding:8px;border:1px solid var(--line)}
.enterprise-address{line-height:1.7}
@media(max-width:700px){.company-hero{align-items:flex-start}}


/* CoolServ Enterprise Platform v2.0.3 — Enterprise Command Center */
.enterprise-command-header{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(145deg,#0c2a49,#07192d);overflow:hidden}
.enterprise-command-brand{display:flex;align-items:center;gap:18px;min-width:0}
.enterprise-command-brand h2{margin:.2rem 0;font-size:clamp(24px,3vw,36px)}
.enterprise-command-brand p{margin:0;color:var(--muted)}
.enterprise-company-mark{width:76px;height:76px;display:grid;place-items:center;border-radius:20px;background:radial-gradient(circle,#145f93,#0a2845 68%);border:1px solid #1a8ed0;font-size:34px;box-shadow:0 0 30px rgba(0,166,255,.22)}
.enterprise-command-state{display:grid;justify-items:end;gap:10px}
.enterprise-license-mini{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#86d6ff;font-size:13px}
.enterprise-tabs{display:flex;gap:8px;overflow:auto;padding:8px;margin:0 0 18px;border:1px solid var(--line);border-radius:14px;background:#07172a}
.enterprise-tabs a{flex:0 0 auto;padding:10px 13px;border-radius:10px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:700}
.enterprise-tabs a:hover,.enterprise-tabs a.active{background:#0e3458;color:#fff;box-shadow:inset 0 0 0 1px #1a79b3}
.enterprise-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.enterprise-kpi{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#0b223c,#07172a);color:inherit;text-decoration:none}
.enterprise-kpi:hover{transform:translateY(-2px);border-color:#148fd0}.enterprise-kpi>span{font-size:27px}.enterprise-kpi div{display:grid;gap:2px;min-width:0}.enterprise-kpi strong{overflow:hidden;text-overflow:ellipsis;font-size:18px}.enterprise-kpi small{color:var(--muted)}.enterprise-kpi.attention{border-color:#8b6520;background:linear-gradient(145deg,#30250f,#171407)}
.enterprise-health-list{display:grid;gap:10px}.enterprise-health-list>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#07172a}
.enterprise-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.enterprise-action-grid a{display:grid;gap:5px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#081b31;color:inherit;text-decoration:none}.enterprise-action-grid a:hover{border-color:#168ed0;background:#0b2947}.enterprise-action-grid a>span{font-size:25px}.enterprise-action-grid small{color:var(--muted)}
.enterprise-license-card{display:grid;gap:12px}.enterprise-license-card>strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:22px;color:#65caff}
.enterprise-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.enterprise-contact-card{padding:15px;border:1px solid var(--line);border-radius:13px;background:#08192d}.enterprise-contact-card small{display:block;color:var(--muted);margin-top:4px}.enterprise-contact-card p{line-height:1.6}
.module-line span small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:900px){.enterprise-kpi-grid,.enterprise-action-grid,.enterprise-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.enterprise-command-header{align-items:flex-start;flex-direction:column}.enterprise-command-state{justify-items:start}.enterprise-kpi-grid,.enterprise-action-grid,.enterprise-contact-grid{grid-template-columns:1fr}.enterprise-company-mark{width:60px;height:60px}.enterprise-tabs{margin-left:-4px;margin-right:-4px}}


/* CoolServ Enterprise Platform v2.0.4 — Réorganisation visuelle */
.primary-nav{display:flex;align-items:center;gap:6px}
.primary-nav>a,.nav-trigger{white-space:nowrap}
.primary-nav small,.nav-dropdown small{font-size:10px;color:#79b5dd;font-weight:700}
.nav-dropdown-wide{min-width:285px}
.nav-section-label{padding:10px 15px 6px;color:#4faee8;font-size:10px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;border-top:1px solid rgba(70,145,195,.16);margin-top:5px}
.nav-section-label:first-child{border-top:0;margin-top:0}
.nav-featured{background:linear-gradient(90deg,rgba(18,105,164,.24),rgba(18,105,164,.05));font-weight:800}
.control-center-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.control-center-card{display:grid;gap:8px;min-height:165px;padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#0b223c,#07172a);color:inherit;text-decoration:none;transition:.2s ease}
.control-center-card:hover{transform:translateY(-3px);border-color:#1798dc;box-shadow:0 14px 34px rgba(0,110,180,.16)}
.control-center-card>span{font-size:31px}.control-center-card strong{font-size:16px}.control-center-card small{color:var(--muted);line-height:1.55}
.shield-card{background:linear-gradient(145deg,#0a2e37,#071c28);border-color:#17666d}
@media(max-width:1180px){.primary-nav{gap:2px}.primary-nav>a,.nav-trigger{padding-left:9px;padding-right:9px}.control-center-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.control-center-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.control-center-grid{grid-template-columns:1fr}.primary-nav small{display:none}}


/* CoolServ Enterprise Platform v2.0.5 — Séparation Portal / Services */
.section-tag{display:none!important}.primary-nav{display:flex;align-items:center;gap:7px}.primary-nav small{display:none}.nav-dropdown-wide{min-width:260px}.nav-featured{font-weight:900;background:linear-gradient(90deg,rgba(16,136,212,.25),rgba(16,136,212,.03))}
.dashboard-intro{margin-bottom:20px}.dashboard-intro h1{margin-bottom:5px}.dashboard-intro p{color:var(--muted);font-size:17px}
.universe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.universe-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:16px;padding:26px;border-radius:20px;border:1px solid var(--line);overflow:hidden}.portal-universe{background:linear-gradient(145deg,#0a2c4f,#07192d);border-color:#147db8}.services-universe{background:linear-gradient(145deg,#123524,#081d17);border-color:#21805b}.universe-icon{font-size:44px}.universe-copy small,.hub-heading small{font-weight:900;letter-spacing:1.7px;color:#64c9ff}.services-universe .universe-copy small,.services-universe .hub-heading small{color:#65e0a7}.universe-copy h2{font-size:29px;margin:4px 0 8px}.universe-copy p{color:var(--muted);line-height:1.55}.universe-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.universe-stats span{padding:11px;border-radius:10px;background:rgba(0,0,0,.16);text-align:center;color:var(--muted)}.universe-stats strong{display:block;color:#fff;font-size:20px}.universe-button{grid-column:1/-1;justify-self:start}.dashboard-secondary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.dashboard-mini-card{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#081a2f;color:inherit;text-decoration:none}.dashboard-mini-card>span{font-size:27px}.dashboard-mini-card div{display:grid}.dashboard-mini-card small{color:var(--muted)}
.hub-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.hub-heading h1{font-size:34px;margin:4px 0}.hub-heading p{color:var(--muted);margin:0}.hub-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.hub-stats>div{display:grid;padding:15px;border:1px solid var(--line);border-radius:13px;background:#081a2f}.hub-stats strong{font-size:25px;color:#2cb8ff}.hub-stats span{color:var(--muted)}.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hub-grid>a{display:grid;gap:7px;min-height:170px;padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#0a223b,#07172a);color:inherit;text-decoration:none}.hub-grid>a:hover{transform:translateY(-3px);border-color:#168fd1}.hub-grid>a>span{font-size:31px}.hub-grid>a>small{color:var(--muted);line-height:1.5}.service-filter-tabs{display:flex;gap:8px;margin-bottom:14px}.service-filter-tabs a{padding:9px 14px;border:1px solid var(--line);border-radius:10px;color:var(--muted);text-decoration:none}.service-filter-tabs a.active{background:#0e4b74;color:#fff;border-color:#198acb}
@media(max-width:1000px){.universe-grid{grid-template-columns:1fr}.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.universe-stats,.dashboard-secondary-grid,.hub-grid,.hub-stats{grid-template-columns:1fr}.hub-heading{align-items:flex-start;flex-direction:column}.universe-card{grid-template-columns:1fr}.universe-icon{font-size:38px}}


/* CoolServ Enterprise Platform v2.0.6 — Gestion simple des entreprises */
.simple-explain{margin:10px 0 18px;padding:14px 16px;border:1px solid #1d6f9f;border-radius:12px;background:#082540;color:#bfe8ff;line-height:1.55}
.advanced-details{margin:18px 0;border:1px solid var(--line);border-radius:14px;background:#07182b;overflow:hidden}
.advanced-details>summary{cursor:pointer;padding:15px 18px;font-weight:800;color:#bfe7ff;background:#0a213a}
.advanced-details[open]>summary{border-bottom:1px solid var(--line)}
.advanced-details>.form-grid,.advanced-details>.card{margin:0;border:0;border-radius:0}
.compact-card{padding:18px}
.simple-counters{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.simple-counters span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#07182b}
.button.danger,button.danger{background:#9b2635;border-color:#b73245;color:#fff}


/* CoolServ Enterprise Platform v2.0.7 — Licence claire par catégories */
.license-step{margin:0 0 24px}.license-step>h2{margin-bottom:12px}
.platform-required-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;border:1px solid #168dcc;border-radius:15px;background:linear-gradient(145deg,#0b3150,#071b30);box-shadow:0 0 26px rgba(0,150,235,.12)}
.platform-required-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#0b4d78;font-size:29px}
.platform-required-card strong{font-size:19px}.platform-required-card p{margin:5px 0 0;color:var(--muted);line-height:1.5}
.license-category-list{display:grid;gap:17px}
.license-category{border:1px solid var(--line);border-radius:15px;background:#07192d;overflow:hidden}
.license-category>header{display:flex;align-items:center;gap:12px;padding:14px 17px;border-bottom:1px solid var(--line);background:#0a223b}
.license-category>header>span{font-size:25px}.license-category>header div{display:grid}.license-category>header small{color:var(--muted);margin-top:2px}
.license-category .module-check-grid{padding:14px}
.module-check span small{display:block;color:var(--muted);font-weight:400;line-height:1.4;margin-top:5px}
.license-groups{display:grid;gap:14px}.license-group{border:1px solid var(--line);border-radius:13px;overflow:hidden}.license-group h3{margin:0;padding:11px 14px;background:#0a223b;font-size:14px}.license-group .module-list{padding:10px}
@media(max-width:650px){.platform-required-card{grid-template-columns:54px 1fr}.platform-required-card>.badge{grid-column:2}.platform-required-icon{width:50px;height:50px}}


/* CoolServ Enterprise Platform v2.1.0 — Client Central */
.nav-add-client{background:#0b79c8!important;border-radius:10px;font-weight:800}
.workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}
.workflow-card{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:15px;background:#081b31;color:inherit;text-decoration:none}.workflow-card:hover{border-color:#159de5;transform:translateY(-2px)}.workflow-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#0c456f;font-size:20px;font-weight:900}.workflow-card.primary{background:linear-gradient(145deg,#0b4772,#08223b)}.workflow-card div{display:grid;gap:4px}.workflow-card small{color:var(--muted);line-height:1.4}
.dashboard-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.dashboard-stat{padding:18px;border:1px solid var(--line);border-radius:14px;background:#081a2f}.dashboard-stat strong{display:block;font-size:29px;color:#20a8ff}.dashboard-stat span{color:var(--muted)}
.logic-path{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:15px 0}.logic-path span{padding:10px 14px;border:1px solid #1b6c9d;border-radius:999px;background:#082743}.logic-path b{color:#41baff}
.client-search{display:grid;grid-template-columns:minmax(250px,1fr) auto auto;gap:10px;align-items:end}
.client-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.client-step{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#081a2f;color:inherit;text-decoration:none}.client-step:hover,.client-step.done{border-color:#179ddd;background:#0a2947}.client-step>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#0c426c;font-weight:900}.client-step div{display:grid;gap:3px}.client-step small{color:var(--muted);line-height:1.35}
.service-selection-groups{display:grid;gap:16px}.optional-portal-banner{display:flex;align-items:center;gap:16px;padding:18px;margin-bottom:18px;border:1px solid #1c91cf;border-radius:15px;background:#092a47}.optional-portal-banner>span{font-size:38px}.optional-portal-banner p{margin:5px 0 0;color:var(--muted)}
@media(max-width:1000px){.workflow-grid,.dashboard-stat-grid,.client-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.workflow-grid,.dashboard-stat-grid,.client-step-grid,.client-search{grid-template-columns:1fr}.logic-path b{display:none}}


/* CoolServ Enterprise Platform v2.1.1 — Client = maison */
.client-neutral-form h2{margin-top:24px}.client-neutral-form h2:first-of-type{margin-top:0}
.manual-password-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:18px;align-items:center;margin:24px 0;padding:18px;border:1px solid #1b78ad;border-radius:15px;background:#082743}
.manual-password-box p{margin:5px 0 0;color:var(--muted);line-height:1.5}
.client-search-211{grid-template-columns:minmax(260px,1fr) 220px auto auto}
.client-overview-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}
.client-overview-strip>div{padding:14px;border:1px solid var(--line);border-radius:13px;background:#081a2f;display:grid;gap:5px}
.client-overview-strip small{color:var(--muted)}.client-overview-strip strong{font-size:17px}
.client-account-grid{align-items:start}.account-actions{display:flex;flex-wrap:wrap;gap:9px}.account-actions form{margin:0}
.password-admin-details{margin-top:15px;border:1px solid var(--line);border-radius:12px;background:#07182b;padding:0}
.password-admin-details summary{cursor:pointer;padding:12px 14px;font-weight:800}.password-admin-details form{padding:0 14px 14px;display:grid;gap:9px}
.compact-heading{margin-bottom:10px}.compact-heading h2{margin-bottom:4px}
.empty-company-state{padding:24px;border:1px dashed #25587a;border-radius:14px;background:#07182b}
.empty-company-state p{margin-bottom:0;color:var(--muted)}
.client-company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.client-company-card{padding:17px;border:1px solid var(--line);border-radius:15px;background:#081b31}
.client-company-card h3{margin:4px 0 0}.client-company-card p{color:var(--muted)}
.company-portal-state{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid rgba(87,148,189,.18);border-bottom:1px solid rgba(87,148,189,.18);margin:12px 0}
.text-ok{color:#55dca1}.danger-step{border-color:#6f2d39!important}.portal-center-note{margin-top:18px}
@media(max-width:980px){.client-overview-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.manual-password-box{grid-template-columns:1fr}.client-company-grid{grid-template-columns:1fr}.client-search-211{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.client-overview-strip,.client-search-211{grid-template-columns:1fr}}


/* CoolServ Enterprise Platform v2.1.2 — Client -> Entreprise -> Services */
.company-services-panel{margin:14px 0;padding:13px;border:1px solid rgba(47,137,190,.35);border-radius:12px;background:#071a2e}
.company-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.company-section-title span{color:var(--muted);font-size:13px}
.company-service-chips{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px}.company-service-chips span{padding:7px 10px;border:1px solid #24597b;border-radius:999px;background:#0a2842;font-size:13px}
.company-empty-service{margin:7px 0 12px}.company-card-212{display:flex;flex-direction:column}
.company-context-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:13px 15px;border:1px solid #1d79aa;border-radius:13px;background:#082743}.company-context-banner b{color:#42baff}
.company-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}
.company-choice-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#081a2f;color:inherit;text-decoration:none}.company-choice-card:hover{border-color:#1aa8f7;background:#0a2947}.company-choice-card>span{font-size:26px}.company-choice-card div{display:grid;gap:3px}.company-choice-card small{color:var(--muted)}.company-choice-card>b{color:#45baff}
.selected-product-banner{margin-bottom:14px;padding:12px 14px;border:1px solid #2e825f;border-radius:12px;background:#0a3328}
.legacy-service-box{margin-top:18px;border-color:#8c6a22}
@media(max-width:760px){.company-choice-grid{grid-template-columns:1fr}.company-choice-card{grid-template-columns:40px minmax(0,1fr)}.company-choice-card>b{grid-column:2}}


/* CoolServ Enterprise Platform v2.1.3 — stabilité, diagnostic et Shield v4 */
.alert-check-row{display:flex!important;align-items:flex-start;gap:11px;padding:12px 0}.alert-check-row input{width:auto!important;min-width:18px;margin-top:3px}.alert-check-row span{display:grid;gap:3px}.alert-check-row small{color:var(--muted);font-weight:400}
.alerts-config-status{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 14px;margin-bottom:14px;border-radius:12px}.alerts-config-status.ready{border:1px solid #1d7e5c;background:#0b3429}.alerts-config-status.not-ready{border:1px solid #8b671b;background:#30250b}.alerts-config-status span{color:var(--muted)}
button:disabled{opacity:.45;cursor:not-allowed}
.repair-button{background:linear-gradient(135deg,#0c8b64,#15ad7e)!important;border-color:#1dc08d!important}.repair-report{border-color:#207b60}.repair-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.repair-columns>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#071a2d}
.shield-v4-verdict{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 15px;margin:12px 0;border-radius:12px}.risk-box-faible{border:1px solid #1c7c59;background:#0b3429}.risk-box-modéré,.risk-box-modere{border:1px solid #9a731d;background:#30250b}.risk-box-élevé,.risk-box-eleve,.risk-box-critique{border:1px solid #9c3545;background:#35151b}
.shield-v4-scores{grid-template-columns:repeat(5,minmax(0,1fr))!important}.shield-location-notice{margin:13px 0;padding:11px 13px;border:1px solid #235a7c;border-radius:11px;background:#082238;color:var(--muted);font-size:13px;line-height:1.45}
@media(max-width:950px){.shield-v4-scores{grid-template-columns:repeat(2,minmax(0,1fr))!important}.repair-columns{grid-template-columns:1fr}}


/* v2.1.13 — rendu courriel protégé Shield v4 */
.shield-mail-document{
    display:block;
    max-width:100%;
    overflow-x:auto;
    background:#fff;
    color:#15202b;
    border-radius:10px;
    padding:0;
    line-height:1.5;
    font-family:Arial,Helvetica,sans-serif;
}
.shield-mail-document table{
    border-collapse:separate;
    border-spacing:0;
    max-width:100%;
}
.shield-mail-document td,
.shield-mail-document th{
    vertical-align:top;
}
.shield-mail-document p{margin:.6em 0}
.shield-mail-document .shield-neutralized-link{
    display:inline;
    padding:0;
    border-radius:0;
    background:transparent;
    color:inherit;
    word-break:normal;
    text-decoration:none;
}
.shield-mail-document .shield-blocked-resource{
    display:inline-block;
    margin:4px 0;
    padding:6px 8px;
    border:1px dashed #9eb3c8;
    background:#eef5fb;
    color:#52677c;
    border-radius:6px;
}
.shield-mail-text{padding:16px}

/* v2.1.14 — rendu courriel central isolé */
.shield-email-frame{display:block;width:100%;min-height:360px;border:0;border-radius:10px;background:#fff}.conversation-email-frame{min-height:260px}.message-content:has(.conversation-email-frame){width:min(760px,100%)}@media(max-width:700px){.shield-email-frame{min-height:420px}.conversation-email-frame{min-height:320px}}
