
/* Kreiz 1.0.126 — Adaptation de Pulse 0.3.318-dev.
   Scope: interface authentifiée hors .topbar et pages d'authentification.
   Original Kreiz topbar and application behavior preserved. */
:root{--kreiz-p-bg:#f0f2f8;--kreiz-p-surface:#fff;--kreiz-p-accent:#6366f1;--kreiz-p-border:rgba(30,40,80,.11);--kreiz-p-ink:#18213b;--kreiz-p-muted:#7480a0;--kreiz-p-side:#242631;--kreiz-p-side-hover:rgba(255,255,255,.07);--kreiz-p-side-active:linear-gradient(108deg,#6967f0,#4c4eaa)}
body:not(:has(.auth-shell)){--bg:var(--kreiz-p-bg);--panel:var(--kreiz-p-surface);--text:var(--kreiz-p-ink);--muted:var(--kreiz-p-muted);--line:var(--kreiz-p-border);--primary:var(--kreiz-p-accent);--primary-dark:#4b4ec8;background:radial-gradient(circle at 90% 6%,rgba(99,102,241,.07),transparent 31%),#f0f2f8;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body:not(:has(.auth-shell)) .shell{grid-template-columns:272px minmax(0,1fr);min-height:calc(100dvh - 122px)}
body:not(:has(.auth-shell)) .sidebar{background:#252733;background-image:linear-gradient(180deg,#252733 0%,#222531 100%);border-right:1px solid rgba(255,255,255,.08);padding:19px 12px;box-shadow:3px 0 20px rgba(18,19,44,.06)}
body:not(:has(.auth-shell)) .sidebar>nav{gap:5px}
body:not(:has(.auth-shell)) .nav-group{border:0!important;box-shadow:none!important;background:transparent!important;margin:0 0 3px!important}
body:not(:has(.auth-shell)) .nav-group-heading{color:#e5e7f1;display:flex;align-items:center;gap:12px;padding:11px 13px;font-size:14px;font-weight:500;line-height:1.35;min-height:45px;border:0;border-radius:9px;transition:background .18s ease,color .18s ease}
body:not(:has(.auth-shell)) .nav-group-heading:hover{background:var(--kreiz-p-side-hover);color:#fff}
body:not(:has(.auth-shell)) .nav-group-heading::after{content:none!important}
body:not(:has(.auth-shell)) .nav-icon{width:19px;height:20px;flex:none;font-size:18px;font-family:system-ui,sans-serif;line-height:20px;text-align:center;color:#d8d9e7;font-weight:400}
body:not(:has(.auth-shell)) .nav-title{min-width:0;flex:1}
body:not(:has(.auth-shell)) .nav-chevron{width:8px;height:8px;flex:none;border:solid #bac0d4;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);transition:transform .2s ease;margin-right:3px;margin-top:-4px}
body:not(:has(.auth-shell)) .nav-group[open]>.nav-group-heading .nav-chevron{transform:rotate(225deg);margin-top:4px}
body:not(:has(.auth-shell)) .nav-group-links{padding:0 0 4px 29px;gap:2px}
body:not(:has(.auth-shell)) .nav-group-links .nav-link{position:relative;min-height:40px;margin:0;border:0!important;border-radius:9px;box-shadow:none;font-size:14px;font-weight:450;padding:10px 13px;color:#cbd0df;line-height:1.35}
body:not(:has(.auth-shell)) .nav-group-links .nav-link:hover{background:var(--kreiz-p-side-hover);color:#fff}
body:not(:has(.auth-shell)) .nav-group-links .nav-link.active{background:var(--kreiz-p-side-active);color:#fff;box-shadow:0 6px 18px rgba(99,102,241,.22);font-weight:570}
body:not(:has(.auth-shell)) .main{max-width:1850px;width:100%;padding:30px clamp(18px,3vw,45px) 48px}
body:not(:has(.auth-shell)) .page-head h1{font-size:clamp(24px,2.2vw,30px);font-weight:740;letter-spacing:-.035em;color:#18213b}
body:not(:has(.auth-shell)) .page-head p{color:#6f7995;line-height:1.6}
body:not(:has(.auth-shell)) .card,body:not(:has(.auth-shell)) .stat{background:#fff;border:1px solid rgba(30,40,80,.10);border-radius:16px;box-shadow:0 5px 24px rgba(30,40,100,.055),0 1px 4px rgba(30,40,100,.025)}
body:not(:has(.auth-shell)) .card{padding:clamp(17px,2vw,26px)}
body:not(:has(.auth-shell)) .stat{border-top:1px solid rgba(30,40,80,.10);padding:20px}
body:not(:has(.auth-shell)) .stat strong{color:#4247a7;font-weight:730}
body:not(:has(.auth-shell)) .card h2,body:not(:has(.auth-shell)) .request-selection h3{color:#252e48;letter-spacing:-.018em}
body:not(:has(.auth-shell)) .btn{border:1px solid #d9deeb;border-radius:10px;min-height:40px;background:#fff;color:#303a53;font-weight:570;box-shadow:none}
body:not(:has(.auth-shell)) .btn:hover{background:#f4f5fb;border-color:#bdc3de;color:#272f57}
body:not(:has(.auth-shell)) .btn.primary{background:linear-gradient(110deg,#6869ed,#5054bd);border-color:#575bd4;color:#fff;box-shadow:0 4px 12px rgba(99,102,241,.18)}
body:not(:has(.auth-shell)) .btn.primary:hover{background:linear-gradient(110deg,#575be0,#4449a8);color:#fff}
body:not(:has(.auth-shell)) input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body:not(:has(.auth-shell)) select,body:not(:has(.auth-shell)) textarea{border-color:#cfd5e6;border-radius:10px;background:#fff;color:#232c43;max-width:100%}
body:not(:has(.auth-shell)) input:focus-visible,body:not(:has(.auth-shell)) select:focus-visible,body:not(:has(.auth-shell)) textarea:focus-visible{outline:2px solid rgba(99,102,241,.47);outline-offset:1px}
body:not(:has(.auth-shell)) .table-wrap{border-radius:12px;max-width:100%}
body:not(:has(.auth-shell)) .table-wrap th{font-size:12px;letter-spacing:.035em;color:#6c7897;border-bottom:1px solid #e6e9f3;background:#f8f9fd}
body:not(:has(.auth-shell)) .table-wrap td{border-bottom:1px solid #eceef5;color:#303b56}
body:not(:has(.auth-shell)) .table-wrap tbody tr:hover{background:#fafaff}
body:not(:has(.auth-shell)) .badge.admin{background:#ececff;color:#5054b9}
body:not(:has(.auth-shell)) .request-summary>div,body:not(:has(.auth-shell)) .request-plan,body:not(:has(.auth-shell)) .request-selection{background:#f8f9fd;border-color:#e2e5f0}
body:not(:has(.auth-shell)) .request-notice{background:#f3f4ff;border-color:#dde0f8;color:#414b77}
body:not(:has(.auth-shell)) a:not(.nav-link):not(.link-button){color:#4f51bc}
body:not(:has(.auth-shell)) a:not(.nav-link):not(.link-button):hover{color:#35389e}
body:not(:has(.auth-shell)) .footer{color:#777f99}
@media(max-width:900px){body:not(:has(.auth-shell)) .shell{grid-template-columns:230px minmax(0,1fr)}body:not(:has(.auth-shell)) .sidebar{padding:14px 8px}body:not(:has(.auth-shell)) .main{padding:22px 16px}}
@media(max-width:760px){body:not(:has(.auth-shell)) .shell{display:block}body:not(:has(.auth-shell)) .sidebar{border-right:0;border-bottom:1px solid #34394f}body:not(:has(.auth-shell)) .sidebar>nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:4px}body:not(:has(.auth-shell)) .nav-group-links{padding-left:14px}body:not(:has(.auth-shell)) .main{padding:20px 13px}}
@media(prefers-reduced-motion:reduce){body:not(:has(.auth-shell)) .nav-group-heading,body:not(:has(.auth-shell)) .nav-chevron{transition:none}}

/* Synthèse de supervision : cartes compactes, sans dépendance JS. */
.sv-overview{margin-top:1.2rem}.sv-overview .card-head{align-items:flex-start}.sv-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin:1rem 0}.sv-summary>div{border:1px solid var(--border,#46505b);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:3px}.sv-summary strong{font-size:1.45rem;font-variant-numeric:tabular-nums}.sv-summary span{font-size:.8rem;opacity:.8}.sv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,305px),1fr));gap:1rem}.sv-card{border:1px solid var(--border,#46505b);border-radius:12px;padding:16px;min-width:0}.sv-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.sv-card h3{margin:0;font-size:1.02rem;overflow-wrap:anywhere}.sv-pill{border-radius:20px;padding:4px 8px;font-size:.74rem;background:#67717c;color:white;white-space:nowrap}.sv-healthy{background:#23775c}.sv-warning{background:#95630f}.sv-incident{background:#9e3840}.sv-unknown{background:#657181}.sv-meters{display:grid;gap:12px;margin:16px 0}.sv-meter-label{display:flex;justify-content:space-between;gap:10px;font-size:.85rem}.sv-track{height:7px;border-radius:20px;background:#82909f50;overflow:hidden;margin-top:5px}.sv-track span{display:block;height:100%;background:#388c83;border-radius:20px}.sv-details{display:grid;gap:8px}.sv-details>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #82909f30;padding-top:7px;font-size:.8rem}.sv-details span{opacity:.75}.sv-details strong{text-align:right;font-weight:600;overflow-wrap:anywhere}@media(max-width:700px){.sv-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sv-overview .card-head{display:block}}

/* Vue de pilotage */
.dashboard-alert{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:8px 0;border:1px solid var(--border,#39404a);border-radius:10px;flex-wrap:wrap}.dashboard-alert strong{min-width:190px}.dashboard-alert span{flex:1}.dashboard-alert a{font-weight:650}.dashboard-alert--warning{border-left:4px solid #d69a48}.dashboard-alert--muted{border-left:4px solid #6882a3}.dashboard-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.dashboard-link{display:grid;grid-template-columns:14px 1fr;gap:2px 10px;align-items:center;padding:18px;border-radius:12px;border:1px solid var(--border,#39404a)}.dashboard-link span:last-child{grid-column:2;font-size:.88rem;opacity:.8}.dashboard-link-dot{width:12px;height:12px;border-radius:50%;background:#d69a48}.dashboard-link--ok .dashboard-link-dot{background:#319b78}.dashboard-link--nok .dashboard-link-dot{background:#d05f59}

/* Diagnostic technique partagé : fiche client et dossier d’hébergement. */
.tech-overview{margin-top:1.2rem}.tech-overview .card-head{align-items:flex-start;gap:18px}.tech-intro{text-align:left!important;margin:4px 0 0;max-width:760px}.tech-updated{font-size:.78rem;opacity:.72;white-space:nowrap}.tech-identity{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;margin:1rem 0 1.2rem}.tech-identity>div{background:#f8f9fd;border:1px solid #e2e5f0;border-radius:11px;padding:11px 13px;min-width:0}.tech-identity span{display:block;font-size:.72rem;opacity:.68;text-transform:uppercase;letter-spacing:.035em;margin-bottom:4px}.tech-identity strong{display:block;font-size:.9rem;overflow-wrap:anywhere}.tech-columns{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1rem}.tech-section{border:1px solid var(--border,#46505b);border-radius:13px;padding:16px;min-width:0}.tech-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.tech-section-head h3{margin:0;font-size:1rem}.tech-section-head span{font-size:.77rem;opacity:.68;text-align:right}.tech-resource-grid,.tech-server-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.tech-resource,.tech-metric{border:1px solid #82909f38;border-radius:11px;padding:13px;min-width:0;background:#fbfcfe}.tech-resource-label,.tech-metric-label{display:block;font-size:.76rem;opacity:.72;margin-bottom:7px}.tech-resource-value{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.tech-resource-value strong,.tech-metric>strong{font-size:1.12rem;font-variant-numeric:tabular-nums}.tech-resource-value span{font-size:.78rem;opacity:.72}.tech-progress{display:block;width:100%;height:8px;margin:10px 0 6px;border:0}.tech-resource small,.tech-metric small{display:block;font-size:.73rem;opacity:.7;line-height:1.35;overflow-wrap:anywhere}.tech-empty{border:1px dashed #82909f70;border-radius:10px;padding:14px;font-size:.86rem;opacity:.82}.tech-foot{display:flex;gap:12px 22px;flex-wrap:wrap;border-top:1px solid #82909f30;margin-top:15px;padding-top:12px;font-size:.75rem;opacity:.72}@media(max-width:980px){.tech-columns{grid-template-columns:1fr}}@media(max-width:680px){.tech-resource-grid,.tech-server-grid{grid-template-columns:1fr}.tech-section-head{display:block}.tech-section-head span{display:block;text-align:left;margin-top:4px}.tech-updated{white-space:normal}}
