/* PULSE Connect V4.3.6 — harmonisation PULSE Desk Web
   Identité Connect : logo PULSE 7 barres arc-en-ciel.
   Les couleurs métier restent sémantiques (succès/avertissement/danger). */
:root{
  --pc-bg:#f5f7fb;--pc-panel:#ffffff;--pc-panel2:#f8fafc;--pc-text:#162033;--pc-muted:#6c778a;
  --pc-line:#e4e8f0;--pc-sidebar:#111827;--pc-sidebar2:#171d2e;--pc-shadow:0 10px 30px rgba(27,39,64,.08);
  --pc-red:#ff5b62;--pc-orange:#ff8c42;--pc-yellow:#ffc857;--pc-green:#34c98b;--pc-cyan:#35c4e8;--pc-blue:#5b7cff;--pc-violet:#a66cff;
  --pc-accent:#5b7cff;--pc-accent2:#8b5cf6;--pc-accent-soft:rgba(91,124,255,.10);
  --pc-rainbow:linear-gradient(90deg,var(--pc-red),var(--pc-orange),var(--pc-yellow),var(--pc-green),var(--pc-cyan),var(--pc-blue),var(--pc-violet));
  --bg:var(--pc-bg);--card:var(--pc-panel);--ink:var(--pc-text);--muted:var(--pc-muted);--line:var(--pc-line);
  --blue:var(--pc-accent);--blue2:#4d69dc;--shadow:var(--pc-shadow);
}
*{box-sizing:border-box}
html,body{background:var(--pc-bg)!important;color:var(--pc-text)!important;color-scheme:light;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body{background:radial-gradient(circle at 8% 5%,rgba(53,196,232,.06),transparent 30%),radial-gradient(circle at 94% 8%,rgba(166,108,255,.07),transparent 32%),var(--pc-bg)!important}
:focus-visible{outline:2px solid var(--pc-blue);outline-offset:2px}
a{color:var(--pc-blue)}

/* Logo PULSE Connect — 7 barres arc-en-ciel */
.logo{width:auto!important;height:30px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;padding:0!important;color:transparent!important;font-size:0!important}
.pulse-bars{height:26px;display:flex;align-items:flex-end;gap:2px}.pulse-bars i{display:block;width:4px;border-radius:4px 4px 2px 2px;box-shadow:none!important}
.pulse-bars i:nth-child(1){height:10px;background:var(--pc-red)}.pulse-bars i:nth-child(2){height:15px;background:var(--pc-orange)}.pulse-bars i:nth-child(3){height:20px;background:var(--pc-yellow)}.pulse-bars i:nth-child(4){height:26px;background:var(--pc-green)}.pulse-bars i:nth-child(5){height:21px;background:var(--pc-cyan)}.pulse-bars i:nth-child(6){height:16px;background:var(--pc-blue)}.pulse-bars i:nth-child(7){height:11px;background:var(--pc-violet)}
.brand{gap:10px}.brand h1{letter-spacing:-.035em}.brand p{color:var(--pc-muted)}

/* Connexion : même structure 60/40 que PULSE Desk Web */
.connect-login-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;background:var(--pc-bg)}
.connect-login-panel{position:relative;padding:54px 56px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:linear-gradient(155deg,var(--pc-sidebar),#191d37);color:#fff}
.connect-login-panel:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--pc-rainbow)}
.connect-login-panel:before{content:"";position:absolute;width:540px;height:540px;border-radius:50%;right:-220px;bottom:-250px;background:radial-gradient(circle,rgba(166,108,255,.18),rgba(53,196,232,.07) 44%,transparent 70%);pointer-events:none}
.connect-login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:11px;font-size:22px;letter-spacing:-.035em}.connect-login-brand strong{font-weight:850}.connect-login-brand span:last-child{white-space:nowrap}
.connect-login-copy{position:relative;z-index:1;max-width:610px;margin:auto 0}.connect-eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:850;color:#73e3bd;margin-bottom:12px}.connect-login-copy h2{font-size:54px;line-height:1.02;letter-spacing:-.055em;margin:0 0 17px;color:#fff}.connect-login-copy p{max-width:600px;font-size:18px;line-height:1.62;margin:0;color:#cbd5e1}
.connect-login-foot{position:relative;z-index:1;color:#77869e;font-size:11px;letter-spacing:.03em}
.connect-login-form{display:grid;place-items:center;padding:36px;background:var(--pc-bg)}
.connect-login-form .setup-card.login-card{width:min(420px,100%);padding:28px;border:1px solid var(--pc-line)!important;border-radius:22px!important;background:var(--pc-panel)!important;box-shadow:var(--pc-shadow)!important;color:var(--pc-text)!important;backdrop-filter:none!important}
.connect-card-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:850;color:var(--pc-violet);margin-bottom:8px}.connect-login-form .login-card>h1{font-size:26px;letter-spacing:-.035em;margin:0 0 5px;color:var(--pc-text)}.connect-login-form .login-card>.connect-card-subtitle{margin:0 0 16px;color:var(--pc-muted);font-size:13px;line-height:1.5}
.connect-login-form .login-card form>.btn.primary{width:100%}

/* Installation / diagnostic */
.setup-body{background:radial-gradient(circle at 15% 15%,rgba(53,196,232,.08),transparent 34%),radial-gradient(circle at 86% 8%,rgba(166,108,255,.08),transparent 35%),var(--pc-bg)!important}
.setup-card{background:var(--pc-panel)!important;border:1px solid var(--pc-line)!important;color:var(--pc-text)!important;box-shadow:var(--pc-shadow)!important;backdrop-filter:none!important}
.setup-card>.brand{position:relative;padding-bottom:18px}.setup-card>.brand:after{content:"";position:absolute;left:0;bottom:0;width:88px;height:3px;border-radius:999px;background:var(--pc-rainbow)}

/* Application */
.app-shell{grid-template-columns:250px minmax(0,1fr);background:var(--pc-bg)}
.sidebar{background:linear-gradient(180deg,var(--pc-sidebar),#121827)!important;color:#fff;border-right:1px solid rgba(255,255,255,.06);padding:24px 16px;box-shadow:none;position:sticky;top:0;height:100vh}
.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--pc-rainbow)}
.sidebar .brand{padding:2px 8px 21px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.07)}.sidebar .brand h1{font-size:18px;color:#fff;margin:0}.sidebar .brand p{font-size:10px;color:#7f8ba0;text-transform:uppercase;letter-spacing:.08em;margin-top:4px}
.nav{gap:4px}.nav a{position:relative;color:#aeb8c8!important;border:0!important;padding:11px 12px 11px 15px;border-radius:11px;font-weight:620;transition:background .16s ease,color .16s ease,transform .16s ease}.nav a:hover{background:rgba(255,255,255,.06)!important;color:#fff!important;transform:translateX(1px)}.nav a.active{background:rgba(91,124,255,.12)!important;color:#fff!important}.nav a.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:999px;background:linear-gradient(180deg,var(--pc-green),var(--pc-blue),var(--pc-violet))}
.side-footer{border-top-color:rgba(255,255,255,.09);color:#748197}
.content{padding:36px 42px 70px;min-width:0}.topbar{align-items:flex-end;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--pc-line)}.topbar h1{font-size:34px;line-height:1.05;letter-spacing:-.045em;color:var(--pc-text)}.topbar .userbox{color:var(--pc-muted)}

/* Surfaces */
.card{position:relative;background:var(--pc-panel)!important;border:1px solid var(--pc-line)!important;color:var(--pc-text)!important;border-radius:18px!important;box-shadow:var(--pc-shadow)!important;backdrop-filter:none!important}.cards>.card{overflow:hidden}.cards>.card:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--pc-rainbow);opacity:.72}
.stat span,.muted,.footer-note,label small{color:var(--pc-muted)!important}.stat b{color:var(--pc-text)}
.section-head h2{letter-spacing:-.025em}.footer-note{border-top:1px solid var(--pc-line);padding-top:18px;margin-top:32px}

/* Tableaux */
.table{background:transparent!important;color:var(--pc-text)}.table th{background:var(--pc-panel2)!important;color:#7b8798!important;border-bottom-color:var(--pc-line)!important}.table td{border-bottom-color:var(--pc-line)!important}.table tbody tr{transition:background .14s ease}.table tbody tr:hover{background:#fafbfe}
.table-wrap.card{padding:0;overflow:auto}.table-wrap.card .table th:first-child,.table-wrap.card .table td:first-child{padding-left:18px}.table-wrap.card .table th:last-child,.table-wrap.card .table td:last-child{padding-right:18px}

/* Formulaires et boutons */
input,select,textarea{background:#fff!important;color:var(--pc-text)!important;border-color:#d6dde8!important;border-radius:11px!important}input:focus,select:focus,textarea:focus{border-color:rgba(91,124,255,.68)!important;box-shadow:0 0 0 3px rgba(91,124,255,.10)!important}input[readonly],input:disabled,select:disabled,textarea:disabled{background:#f3f5f8!important;color:#788396!important}
.btn{background:#fff!important;color:var(--pc-text)!important;border-color:#d6dde8!important;border-radius:10px!important;box-shadow:none!important}.btn:hover{background:#f7f9fc!important;border-color:#c6cfdd!important;color:#111827!important}.btn.primary{position:relative;overflow:hidden;border:0!important;background:linear-gradient(90deg,#4969dc,#655ee8 54%,#855be7)!important;color:#fff!important;font-weight:800;box-shadow:0 8px 20px rgba(91,124,255,.18)!important}.btn.primary:hover{filter:brightness(.97);transform:translateY(-1px)}.btn.primary:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--pc-yellow),var(--pc-green),var(--pc-cyan),var(--pc-violet));opacity:.9}.btn.danger{background:#fff!important;color:var(--danger)!important;border-color:#f2c3c0!important}.btn.danger:hover{background:#fff7f6!important}

/* États : volontairement sémantiques */
.badge.active{background:var(--successbg)!important;color:var(--success)!important}.badge.suspended{background:var(--warnbg)!important;color:var(--warn)!important}.badge.revoked,.badge.expired{background:var(--dangerbg)!important;color:var(--danger)!important}.alert.success{background:var(--successbg)!important;color:var(--success)!important}.alert.warning{background:var(--warnbg)!important;color:var(--warn)!important}.alert.danger{background:var(--dangerbg)!important;color:var(--danger)!important}
.notice{background:#f3f6ff!important;border-left-color:var(--pc-blue)!important;color:#34405a}.check,.step{background:#fafbfe!important;border-color:var(--pc-line)!important}.step b{background:var(--pc-accent-soft)!important;color:var(--pc-blue)!important}.qr-box{background:#fff!important}.recovery-grid code,code{background:#f4f6fa;color:#3e4a60}.client-avatar{background:linear-gradient(135deg,rgba(53,196,232,.12),rgba(166,108,255,.14))!important;color:#5965d8!important;border-color:#dbe1f5!important}.client-group{background:#fff!important;border-color:var(--pc-line)!important;box-shadow:var(--pc-shadow)!important}.client-group>summary{background:linear-gradient(180deg,#fff,#fbfcff)!important}.client-summary-stats>span{background:#f7f9fc!important;border-color:var(--pc-line)!important}.clients-page-header,.client-detail-hero{background:linear-gradient(135deg,#fff,#f6f7ff)!important;border-color:var(--pc-line)!important}.eyebrow{color:var(--pc-violet)!important}.expiry-banner{box-shadow:0 8px 24px rgba(181,71,8,.07)!important}
.danger-zone{background:#fff8f7!important}

@media(max-width:1000px){
  .connect-login-shell{grid-template-columns:1fr}.connect-login-panel{display:none}.connect-login-form{min-height:100vh;padding:22px}
  .app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar .brand{border-bottom:0}.nav{grid-template-columns:repeat(3,minmax(0,1fr))}.side-footer{position:static;margin-top:18px}.content{padding:24px 20px 55px}.topbar h1{font-size:30px}
}
@media(max-width:680px){.nav{grid-template-columns:1fr}.content{padding:18px 14px 45px}.connect-login-form{padding:16px}.connect-login-form .setup-card.login-card{padding:22px}.topbar{align-items:flex-start}.topbar h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}

/* PULSE Connect V4.3.7 — organisation, lisibilité et cohérence des données */
.nav-organized{display:block!important}.nav-group{display:grid;gap:3px;margin:0 0 15px}.nav-label{padding:0 11px 5px;color:#5f6b7d;font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.nav-session{margin-top:10px;padding-top:11px;border-top:1px solid rgba(255,255,255,.07)}
.dashboard-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;padding:22px 24px;border:1px solid var(--pc-line);border-radius:18px;background:linear-gradient(135deg,#fff,#f8f9ff);box-shadow:var(--pc-shadow)}.dashboard-intro h2{margin:3px 0 7px;font-size:27px;letter-spacing:-.035em}.dashboard-intro p{margin:0;color:var(--pc-muted);max-width:760px}.dashboard-stats .stat small{display:block;margin-top:6px;color:#8a94a5}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:16px;margin-top:16px}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-actions a{display:flex;flex-direction:column;gap:4px;padding:14px 15px;border:1px solid var(--pc-line);border-radius:13px;background:#fafbfe;color:var(--pc-text);transition:.16s ease}.quick-actions a:hover{background:#fff;border-color:#ccd5e4;transform:translateY(-1px);box-shadow:0 8px 20px rgba(22,38,65,.06)}.quick-actions a b{font-size:14px}.quick-actions a span{font-size:12px;color:var(--pc-muted);line-height:1.4}.quality-summary-card{display:flex;flex-direction:column}.quality-summary-card>.btn{margin-top:auto;align-self:flex-start}.quality-score{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.quality-score.ok{background:var(--successbg);color:var(--success)}.quality-score.warn,.quality-score.attention{background:var(--warnbg);color:var(--warn)}.quality-mini{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0 16px}.quality-mini>div{padding:12px;border:1px solid var(--pc-line);border-radius:12px;background:#fafbfe}.quality-mini span{display:block;color:var(--pc-muted);font-size:11px;line-height:1.35}.quality-mini b{display:block;margin-top:4px;font-size:22px}.quality-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.quality-checklist{margin-top:16px}.quality-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.quality-lines>div{display:flex;justify-content:space-between;gap:16px;padding:12px 2px;border-bottom:1px solid var(--pc-line)}.quality-lines span{color:#4b5669}.quality-lines b{min-width:28px;text-align:right}.badge.neutral{background:#eef1f6!important;color:#596579!important}
.license-filterbar{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(150px,.55fr) minmax(180px,.7fr) auto;gap:12px;align-items:end;padding:14px 16px;margin:0 0 14px;border:1px solid var(--pc-line);border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(22,38,65,.04)}.license-filterbar label{font-size:12px;color:#596579}.license-filterbar input,.license-filterbar select{margin-top:5px}.filter-actions{display:flex;gap:7px;align-items:center;padding-bottom:1px}.client-filterbar{grid-template-columns:minmax(240px,1fr) minmax(170px,.35fr);max-width:760px}.audit-filterbar{grid-template-columns:minmax(260px,620px);max-width:760px}.subtle-notice{margin:0 0 14px!important;background:#fafbfe!important;border-left-color:#a3adc0!important;color:#536078!important}.client-group>summary{min-height:78px}.summary-attention{background:#fff7e7!important;color:#9a5b00!important;border-color:#f0d38e!important}.license-table{min-width:1120px}.license-table td{vertical-align:middle}.machine-cell{display:flex;flex-direction:column;gap:2px;max-width:190px}.machine-cell b{overflow:hidden;text-overflow:ellipsis}.machine-cell small,.table-subline,.muted-data{display:block;color:#8a94a5;font-size:11px;margin-top:3px}.license-actions{flex-wrap:nowrap;position:relative}.action-menu{position:relative}.action-menu>summary{list-style:none;cursor:pointer}.action-menu>summary::-webkit-details-marker{display:none}.action-popover{position:absolute;z-index:30;right:0;top:calc(100% + 6px);width:190px;padding:6px;border:1px solid var(--pc-line);border-radius:12px;background:#fff;box-shadow:0 18px 40px rgba(16,24,40,.16)}.action-popover form{display:block;width:100%}.action-link{display:block;width:100%;padding:9px 10px;border:0;background:transparent;color:#283449;text-align:left;border-radius:8px;cursor:pointer;font:inherit;font-size:13px}.action-link:hover{background:#f4f6fa}.danger-text{color:var(--danger)!important}
.organized-form{align-items:start}.form-section-title{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin:6px 0 1px;padding:13px 0 8px;border-bottom:1px solid var(--pc-line)}.form-section-title:first-of-type{margin-top:0}.form-section-title b{font-size:15px}.form-section-title span{color:var(--pc-muted);font-size:12px;text-align:right}.form-submit-row{display:flex;gap:8px;align-items:center;padding-top:5px}
.product-panels{display:grid;gap:12px;margin-top:16px}.product-panel{padding:0!important;overflow:visible!important}.product-panel>summary,.technical-details>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 20px;cursor:pointer}.product-panel>summary::-webkit-details-marker,.technical-details>summary::-webkit-details-marker{display:none}.product-panel>summary>div,.technical-details>summary>div{display:flex;flex-direction:column;gap:4px}.product-panel>summary>div span,.technical-details>summary>div span{font-size:12px;color:var(--pc-muted)}.product-panel[open]>summary,.technical-details[open]>summary{border-bottom:1px solid var(--pc-line);background:#fbfcff}.product-panel-body,.technical-details-body{padding:20px}.new-product-panel{margin-top:16px;border-style:dashed!important}.table-clean th{position:sticky;top:0;z-index:2}.table-clean td{white-space:normal;vertical-align:middle}.table-clean code{white-space:nowrap}.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.integration-note{margin-top:12px;color:var(--pc-muted);font-size:12px}.integration-product-list{display:grid;gap:7px}.integration-product-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--pc-line)}.integration-product-list>div:last-child{border-bottom:0}.copy-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.copy-row input{min-width:min(620px,100%);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.technical-details{margin-top:18px;padding:0!important}.technical-details-body h3{margin:18px 0 8px}.technical-details-body h3:first-child{margin-top:0}.technical-details-body pre{white-space:pre-wrap;overflow:auto;padding:14px;border-radius:12px;background:#f5f7fb;border:1px solid var(--pc-line);color:#3e4a60}.audit-details>summary{cursor:pointer;color:var(--pc-blue);font-weight:700;font-size:12px}.audit-details code{display:block;max-width:440px;margin-top:6px;white-space:pre-wrap;word-break:break-word}.audit-action{font-weight:700;color:#33405a}.audit-table{min-width:920px}
.clients-cards .client-directory-card{min-width:0}.client-directory-card .client-card-main h2{overflow:hidden;text-overflow:ellipsis}.client-directory-info span{overflow-wrap:anywhere}
@media(max-width:1180px){.dashboard-grid{grid-template-columns:1fr}.license-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-actions{grid-column:1/-1}.quality-lines{grid-template-columns:1fr}}
@media(max-width:1000px){.nav-organized{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.nav-group{margin:0}.nav-label{padding-top:8px}.nav-session{grid-column:1/-1}.dashboard-intro{align-items:flex-start;flex-direction:column}.quality-cards{grid-template-columns:1fr}.integration-grid{grid-template-columns:1fr}}
@media(max-width:700px){.nav-organized{grid-template-columns:1fr!important}.quick-actions{grid-template-columns:1fr}.quality-mini{grid-template-columns:1fr}.license-filterbar{grid-template-columns:1fr}.filter-actions{grid-column:auto;flex-wrap:wrap}.form-section-title{align-items:flex-start;flex-direction:column;gap:3px}.form-section-title span{text-align:left}.dashboard-intro{padding:18px}.dashboard-intro h2{font-size:24px}.product-panel>summary,.technical-details>summary{align-items:flex-start}.form-submit-row{flex-wrap:wrap}}
.action-popover{position:static!important;margin-top:6px}
