/*
 * PULSE Sync Web V2.3.1 — Harmonisation PULSE Desk Web
 * Identité produit : mauve / violet.
 * Cette feuille est volontairement chargée après les couches historiques.
 */
:root{
  --sync-purple:#8b5cf6;
  --sync-purple-2:#a855f7;
  --sync-purple-dark:#6d28d9;
  --sync-purple-soft:rgba(139,92,246,.12);
  --sync-sidebar:#111827;
  --sync-sidebar-dark:#0a0f16;
  --sync-sidebar-text:#cbd5e1;
  --sidebar:250px;
}
html[data-theme="light"]{
  --bg:#f5f7fb;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --surface-3:#eef2f7;
  --text:#162033;
  --muted:#6c778a;
  --line:#e4e8f0;
  --line-strong:#d6dce6;
  --accent:var(--sync-purple);
  --accent-2:var(--sync-purple-2);
  --accent-soft:var(--sync-purple-soft);
  --cyan:#c084fc;
  --shadow:0 10px 30px rgba(27,39,64,.08);
  --shadow-strong:0 22px 60px rgba(27,39,64,.14);
  --field-bg:#fff;
  --panel-gradient:#fff;
}
html[data-theme="dark"]{
  --bg:#0d1119;
  --surface:#141a24;
  --surface-2:#18202c;
  --surface-3:#202938;
  --text:#edf2f7;
  --muted:#95a0b2;
  --line:#263142;
  --line-strong:#354156;
  --accent:#a78bfa;
  --accent-2:#c084fc;
  --accent-soft:rgba(167,139,250,.14);
  --cyan:#d8b4fe;
  --shadow:0 18px 44px rgba(0,0,0,.22);
  --shadow-strong:0 26px 70px rgba(0,0,0,.32);
  --field-bg:#18202c;
  --panel-gradient:#141a24;
}
html,body{background:var(--bg)!important;color:var(--text)!important}
html[data-theme="light"] body,html[data-theme="dark"] body{background:var(--bg)!important}

/* Logo PULSE Sync — 7 barres mauves */
.sync-brand-bars{display:flex;align-items:flex-end;gap:2px;height:25px;flex:none}
.sync-brand-bars i{display:block;width:4px;border-radius:4px}
.sync-brand-bars i:nth-child(1){height:10px;background:#e9d5ff}
.sync-brand-bars i:nth-child(2){height:16px;background:#d8b4fe}
.sync-brand-bars i:nth-child(3){height:22px;background:#c084fc}
.sync-brand-bars i:nth-child(4){height:25px;background:#a855f7}
.sync-brand-bars i:nth-child(5){height:21px;background:#9333ea}
.sync-brand-bars i:nth-child(6){height:16px;background:#7e22ce}
.sync-brand-bars i:nth-child(7){height:10px;background:#6b21a8}
.brand-word{color:inherit!important;background:none!important;-webkit-text-fill-color:currentColor!important;letter-spacing:-.02em!important;font-size:18px!important}
.brand-product{color:#d8b4fe!important;background:none!important;-webkit-text-fill-color:currentColor!important;letter-spacing:-.02em!important;font-size:18px!important;font-weight:500!important}

/* Structure interne alignée sur PULSE Desk Web */
.sidebar{
  width:250px!important;
  padding:0 10px 15px!important;
  background:var(--sync-sidebar)!important;
  color:var(--sync-sidebar-text)!important;
  border-right:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
html[data-theme="dark"] .sidebar{background:var(--sync-sidebar-dark)!important}
.main{margin-left:250px!important}
.pulse-brand,.sidebar>.brand{
  min-height:72px!important;height:72px!important;
  padding:0 10px!important;gap:10px!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  color:#fff!important;
}
.pulse-brand .brand-word{color:#fff!important}
.pulse-brand .brand-product{color:#d8b4fe!important}
.sidebar-org{
  margin:14px 6px 8px!important;padding:12px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:rgba(255,255,255,.035)!important;
  color:#fff!important;border-radius:11px!important;
}
.sidebar-org small{color:#7f8ba0!important}.sidebar-org strong{color:#fff!important}
.nav-section-label{color:#718096!important;margin:16px 12px 7px!important}
.nav-list{gap:2px!important}
.nav-item{
  min-height:40px!important;margin:2px 0!important;padding:10px 12px!important;
  border:0!important;border-radius:11px!important;
  color:#aeb8c8!important;font-size:13px!important;font-weight:600!important;
  background:transparent!important;box-shadow:none!important;
}
.nav-item:hover{background:rgba(255,255,255,.07)!important;color:#fff!important;transform:none!important}
.nav-item.active{background:rgba(168,85,247,.22)!important;color:#fff!important;font-weight:700!important;box-shadow:none!important}
.nav-icon{color:#c084fc!important}.nav-item.active .nav-icon{color:#e9d5ff!important}
.sidebar-bottom{border-top:1px solid rgba(255,255,255,.08)!important;padding:14px 4px 0!important;color:#fff!important}
.sidebar-bottom strong{color:#fff!important}.sidebar-bottom small{color:#8491a5!important}
.sidebar-bottom .icon-btn{color:#cbd5e1!important;border-color:rgba(255,255,255,.08)!important;background:rgba(255,255,255,.035)!important}
.avatar{background:linear-gradient(135deg,#a855f7,#7e22ce)!important;box-shadow:none!important}

.topbar{
  height:72px!important;min-height:72px!important;padding:0 24px!important;
  background:color-mix(in srgb,var(--surface) 92%,transparent)!important;
  border-bottom:1px solid var(--line)!important;backdrop-filter:blur(12px)!important;
  box-shadow:none!important;
}
.content{padding:24px!important;max-width:1680px!important}
.topbar-context,.top-actions{font-size:12px!important;gap:10px!important}
.version{border-radius:999px!important;background:var(--surface)!important}
.theme-choice.active{background:linear-gradient(135deg,#a855f7,#7e22ce)!important;box-shadow:none!important}
.top-icon-btn:hover,.icon-btn:hover,.mobile-menu:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))!important;color:var(--accent)!important}

/* Cartes, tableaux et actions */
.panel,.kpi-card,.table-panel,.request-card,.location-card,.course-card,.feed-card,.settings-grid>*,.license-status-card,.site-license-card,.access-card,.open-shift-card,.planning-action,.setup-site-row,.connector-note,.modal-card{
  border:1px solid var(--line)!important;border-radius:18px!important;background:var(--surface)!important;box-shadow:var(--shadow)!important;
}
.kpi-card:after{background:var(--sync-purple-soft)!important}
.kpi-icon{background:var(--sync-purple-soft)!important;color:var(--accent)!important}
.eyebrow,.micro-label{color:var(--accent)!important}
.btn.primary{background:linear-gradient(135deg,#a855f7,#7e22ce)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 8px 22px rgba(126,34,206,.18)!important}
.btn.primary:hover{box-shadow:0 10px 25px rgba(126,34,206,.24)!important}
.btn.ghost,.btn:not(.primary):not(.danger){background:var(--surface)!important}
input,select,textarea{background:var(--field-bg)!important;border-color:var(--line)!important;color:var(--text)!important;border-radius:10px!important}
input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--sync-purple-soft)!important}
.data-table th{background:var(--surface-2)!important}.data-table tr:hover{background:color-mix(in srgb,var(--accent) 4%,var(--surface))!important}
.pagination a.active{background:linear-gradient(135deg,#a855f7,#7e22ce)!important}
.text-link,.panel-head>a{color:var(--accent)!important}

/* Connexion — même architecture que PULSE Desk Web */
.sync-login-body{min-height:100vh!important;overflow:auto!important;background:var(--bg)!important}
.sync-login-body:before,.sync-login-body .login-glow{display:none!important}
.sync-login-shell{
  min-height:100vh!important;max-width:none!important;margin:0!important;padding:0!important;gap:0!important;
  display:grid!important;grid-template-columns:60% 40%!important;align-items:stretch!important;
}
.sync-login-panel{
  min-height:100vh;padding:34px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;
  background:linear-gradient(155deg,#111827,#191d37)!important;color:#fff!important;
}
.sync-login-brand{display:flex!important;align-items:center!important;gap:10px!important;color:#fff!important;font-size:20px!important;letter-spacing:-.03em!important;padding:0!important;min-height:auto!important}
.sync-login-brand span:last-child{color:#fff!important}.sync-login-brand strong{font-weight:850!important;color:#fff!important}
.sync-login-copy{max-width:610px;margin:auto 0!important}
.sync-login-copy .eyebrow{color:#c084fc!important;font-size:10px!important;letter-spacing:.14em!important}
.sync-login-copy h1{font-size:clamp(38px,4vw,54px)!important;letter-spacing:-.055em!important;line-height:1.02!important;margin:14px 0 16px!important;color:#fff!important}
.sync-login-copy p{max-width:620px;color:#cbd5e1!important;font-size:15px!important;line-height:1.65!important;margin:0!important}
.sync-login-signature{font-size:10px;color:#6f7b91;letter-spacing:.02em}
.sync-login-form-wrap{display:grid!important;place-items:center!important;padding:35px!important;background:var(--bg)!important}
.sync-login-card{width:min(420px,100%)!important;padding:28px!important;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:22px!important;box-shadow:var(--shadow)!important;color:var(--text)!important}
.sync-login-card .login-card-head{margin-bottom:18px!important}
.sync-login-card .login-card-head h2{font-size:24px!important;letter-spacing:-.03em!important;margin:5px 0 6px!important;color:var(--text)!important}
.sync-login-card .login-card-head p{font-size:11px!important;line-height:1.5!important;color:var(--muted)!important;margin:0!important}
.sync-login-card label{display:flex!important;flex-direction:column!important;gap:7px!important;margin-top:14px!important;color:var(--text)!important;font-size:10px!important;font-weight:700!important}
.sync-login-card input{min-height:40px!important;background:var(--surface-2)!important}
.sync-login-card .btn{margin-top:17px!important;min-height:42px!important}
.sync-login-card .login-help{margin-top:15px!important;padding:11px 12px!important;background:var(--surface-2)!important;border:1px solid var(--line)!important;border-radius:11px!important}
.sync-login-card .login-help strong{font-size:10px!important}.sync-login-card .login-help small{font-size:9px!important;color:var(--muted)!important;line-height:1.45!important;margin-top:3px!important}
.sync-login-card .login-foot{border-top:1px solid var(--line)!important;margin-top:17px!important;padding-top:13px!important;color:var(--muted)!important}
.sync-login-card .login-foot a{color:var(--accent)!important}
.login-version{text-align:center;color:var(--muted)!important;font-size:9px!important;margin-top:15px!important}
.login-theme-switch{position:fixed!important;right:18px!important;top:16px!important;z-index:100!important}
.pulse-mfa-setup{background:var(--surface-2)!important;border-color:var(--line)!important}
.pulse-mfa-copy summary{color:var(--accent)!important}

/* Installation */
.installer-brand .sync-brand-bars{margin-right:3px}.installer-brand .brand-lockup{color:var(--text)!important}.installer-brand .brand-lockup span:last-child{color:var(--accent)!important}

@media(max-width:1180px){:root{--sidebar:250px}.content{padding:20px!important}}
@media(max-width:900px){
  .main{margin-left:0!important}.sidebar{transform:translateX(-102%)}.sidebar.open{transform:none}.mobile-menu{display:grid!important}
  .sync-login-shell{grid-template-columns:1fr!important}.sync-login-panel{display:none!important}.sync-login-form-wrap{min-height:100vh!important;padding:24px!important}
}
@media(max-width:560px){.sync-login-form-wrap{padding:18px!important}.sync-login-card{padding:22px!important}.login-theme-switch{right:12px!important;top:12px!important}}
