/* ==========================================================================
   AURORA STORE — ESPACE CLIENT V7.0.0
   Couche chargee apres aurora-v700.css sur les 5 pages connectees.
   Tout est porte par .client-v700 : rien ne fuit vers la vitrine.
   Le vocabulaire .cv-* de la V6.0.0 est conserve, ses styles refaits.
   ========================================================================== */

.client-v700{
  --cv-side:250px;
  --cv-max:1360px;
  display:block;
  padding-block:24px 60px;
}

/* La vitrine plafonne a 1200px ; l'espace client a besoin de plus de
   largeur pour poser un rail et une grille de cartes cote a cote. */
.cv-shell{
  width:min(100% - 36px,var(--cv-max));
  margin-inline:auto;
  display:grid;
  grid-template-columns:var(--cv-side) minmax(0,1fr);
  gap:26px;
  align-items:start;
}

/* --- Rail lateral --------------------------------------------------------- */

.cv-side{
  position:sticky;top:calc(var(--header-h) + 20px);
  display:grid;gap:14px;align-content:start;
  padding:14px;
  border:1px solid var(--line);border-radius:var(--r-lg);
  background:var(--surface);
}

.cv-side-user{
  display:flex;align-items:center;gap:11px;
  padding:6px 6px 14px;border-bottom:1px solid var(--line);
}
.cv-side-user>div{min-width:0}
.cv-side-user strong{display:block;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-side-user span{font-size:12px;color:var(--muted-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}

.cv-avatar{
  display:grid;place-items:center;flex:none;
  width:36px;height:36px;border-radius:50%;overflow:hidden;
  background:var(--brand-grad);
  font-size:14px;font-weight:700;color:#fff;
}
.cv-avatar img{width:100%;height:100%;object-fit:cover}

.cv-nav{display:grid;gap:2px}
.cv-nav-label{
  padding:12px 10px 6px;
  font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--muted-2);
}
.cv-nav-label:first-child{padding-top:2px}
.cv-nav a{
  position:relative;
  display:flex;align-items:center;gap:10px;
  padding:9px 11px;border-radius:var(--r-sm);
  font-size:13.5px;font-weight:580;color:var(--muted);
  transition:background var(--t-fast),color var(--t-fast);
}
.cv-nav a svg{width:17px;height:17px;flex:none;opacity:.85}
.cv-nav a span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-nav a:hover{background:rgba(255,255,255,.05);color:var(--text)}
.cv-nav a.active{
  background:var(--brand-soft);color:#e3dcff;
}
.cv-nav a.active svg{color:var(--brand-3);opacity:1}
.cv-nav a.active::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:2px;height:17px;border-radius:2px;background:var(--brand);
}

.cv-badge{
  display:inline-grid;place-items:center;flex:none;
  min-width:19px;height:19px;padding:0 5px;border-radius:var(--r-full);
  background:var(--brand);
  font-size:10.5px;font-weight:700;font-style:normal;color:#fff;
}

.cv-logout{
  display:flex;align-items:center;gap:9px;width:100%;
  padding:9px 11px;border-radius:var(--r-sm);
  border:1px solid var(--line);
  font-size:13px;font-weight:580;color:var(--muted);
  transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast);
}
.cv-logout svg{width:16px;height:16px}
.cv-logout:hover{background:var(--bad-soft);border-color:rgba(251,113,133,.26);color:#ffa8b6}

/* --- Colonne principale --------------------------------------------------- */

.cv-main{display:grid;gap:20px;min-width:0}

.cv-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:18px;flex-wrap:wrap;
}
.cv-head-copy{min-width:0}
.cv-head h1{font-size:clamp(23px,2.4vw,29px)}
.cv-head p{font-size:14px;margin-top:6px}
.cv-eyebrow{
  display:block;margin-bottom:7px;
  font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--muted-2);
}
.cv-head-actions{display:flex;gap:9px;flex-wrap:wrap;flex:none}

/* --- Tuiles de synthese --------------------------------------------------- */

.cv-stats{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));
  gap:12px;
}
.cv-stat{
  display:grid;gap:5px;padding:15px 16px;
  border:1px solid var(--line);border-radius:var(--r);
  background:var(--surface);
}
.cv-stat-top{
  display:flex;align-items:center;gap:8px;
  font-size:11.5px;font-weight:620;letter-spacing:.05em;text-transform:uppercase;
  color:var(--muted-2);
}
.cv-stat-top svg{width:15px;height:15px;opacity:.8}
.cv-stat b{font-size:24px;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.cv-stat small{font-size:12px;color:var(--muted-2)}
.cv-stat.ok b{color:var(--ok)}
.cv-stat.ok .cv-stat-top svg{color:var(--ok)}
.cv-stat.bad b{color:var(--bad)}
.cv-stat.bad .cv-stat-top svg{color:var(--bad)}
.cv-stat.warn b{color:var(--warn)}

/* --- Panneaux ------------------------------------------------------------- */

.cv-card{
  border:1px solid var(--line);border-radius:var(--r);
  background:var(--surface);
}
.cv-panel{padding:18px}
.cv-panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding-bottom:13px;margin-bottom:13px;border-bottom:1px solid var(--line);
}
.cv-panel-head h2{font-size:15px;letter-spacing:-.02em}
.cv-panel-head a{
  font-size:12.5px;font-weight:600;color:var(--brand-ink);
  transition:color var(--t-fast);
}
.cv-panel-head a:hover{color:#e2dbff}

.cv-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:var(--gap)}

/* --- Listes d'activite ---------------------------------------------------- */

.cv-feed{display:grid;gap:2px}
.cv-feed-row{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  gap:11px;align-items:center;
  padding:10px 11px;border-radius:var(--r-sm);
  transition:background var(--t-fast);
}
a.cv-feed-row:hover{background:rgba(255,255,255,.035)}
.cv-feed-row>div{min-width:0}
.cv-feed-row strong{display:block;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-feed-row span{
  display:block;font-size:12.5px;color:var(--muted-2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.cv-feed-row time{font-size:11.5px;color:var(--muted-2);white-space:nowrap;flex:none}
.cv-feed-dot{
  width:7px;height:7px;border-radius:50%;flex:none;
  background:var(--muted-2);
}
.cv-feed-dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}
.cv-feed-dot.warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}
.cv-feed-dot.bad{background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}

.cv-empty{
  display:grid;gap:5px;justify-items:center;text-align:center;
  padding:30px 20px;
  border:1px dashed var(--line-2);border-radius:var(--r);
  background:rgba(255,255,255,.012);
  font-size:13px;color:var(--muted-2);
}
.cv-empty strong{font-size:14px;color:var(--text)}

.cv-incident{
  display:flex;gap:12px;align-items:flex-start;
  padding:14px 16px;margin-bottom:4px;
  border:1px solid rgba(251,113,133,.3);border-radius:var(--r);
  background:var(--bad-soft);
}
.cv-incident.warn{border-color:rgba(251,191,36,.3);background:var(--warn-soft)}
.cv-incident svg{width:17px;height:17px;flex:none;margin-top:2px;color:var(--bad)}
.cv-incident.warn svg{color:var(--warn)}
.cv-incident strong{display:block;font-size:13.5px}
.cv-incident span{font-size:12.5px;color:var(--muted)}

/* --- Barre d'outils ------------------------------------------------------- */

.cv-toolbar{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
.cv-search{
  position:relative;display:flex;align-items:center;
  flex:1;min-width:210px;
}
.cv-search svg{
  position:absolute;left:12px;width:16px;height:16px;
  color:var(--muted-2);pointer-events:none;
}
.cv-search input{padding-left:38px}

.cv-filters{display:flex;gap:7px;flex-wrap:wrap}
.cv-filter{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 12px;border:1px solid var(--line);border-radius:var(--r-full);
  background:rgba(255,255,255,.025);
  font-size:13px;font-weight:600;color:var(--muted);
  transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast);
}
.cv-filter:hover{color:var(--text);border-color:var(--line-2)}
.cv-filter b{
  font-size:11px;font-weight:700;color:var(--muted-2);
  font-variant-numeric:tabular-nums;
}
.cv-filter.active{border-color:var(--brand-line);background:var(--brand-soft);color:#ddd3ff}
.cv-filter.active b{color:var(--brand-ink)}

/* --- Boutons de l'espace client ------------------------------------------- */

.cv-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:36px;padding:0 13px;
  border:1px solid var(--line-2);border-radius:var(--r-sm);
  background:rgba(255,255,255,.04);
  font-size:13px;font-weight:620;color:var(--text);
  transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast);
}
.cv-btn svg{width:15px;height:15px;flex:none}
.cv-btn:hover{background:rgba(255,255,255,.08);border-color:var(--line-3)}
.cv-btn.primary{
  border-color:transparent;background:var(--brand-grad);color:#fff;
  box-shadow:0 6px 20px rgba(109,90,240,.24);
}
.cv-btn.primary:hover{background:linear-gradient(135deg,#a76bff,#6472ff)}
.cv-btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}
.cv-btn.ghost:hover{background:rgba(255,255,255,.06);color:var(--text)}
.cv-btn.icon{width:36px;padding:0}
.cv-btn[disabled]{opacity:.4;pointer-events:none}

/* --- Etiquettes ----------------------------------------------------------- */

.cv-pill{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 9px;border-radius:var(--r-full);
  border:1px solid var(--line-2);background:rgba(255,255,255,.05);
  font-size:11px;font-weight:660;color:var(--text-2);white-space:nowrap;
}
.cv-pill::before{
  content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.9;
}
.cv-pill.ok{border-color:rgba(52,211,153,.28);background:var(--ok-soft);color:#7ce3bd}
.cv-pill.warn{border-color:rgba(251,191,36,.28);background:var(--warn-soft);color:#f6cf74}
.cv-pill.bad{border-color:rgba(251,113,133,.28);background:var(--bad-soft);color:#ffa8b6}

.cv-tag{
  display:inline-flex;align-items:center;
  padding:3px 9px;border-radius:var(--r-full);
  border:1px solid var(--line-2);background:rgba(10,11,18,.7);
  font-size:11px;font-weight:620;color:var(--text-2);
}
.cv-tag.accent{border-color:var(--brand-line);background:var(--brand-soft);color:#d5c9ff}

/* --- Grille des ressources possedees -------------------------------------- */

.cv-resource-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
  gap:var(--gap);
}
.cv-resource{
  display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--line);border-radius:var(--r);
  background:var(--surface);
  transition:border-color var(--t);
  scroll-margin-top:calc(var(--header-h) + 24px);
}
.cv-resource:hover{border-color:var(--line-2)}

.cv-resource-cover{
  position:relative;aspect-ratio:16/8;overflow:hidden;
  border-bottom:1px solid var(--line);
  background:linear-gradient(140deg,#171b28,#0c0e17);
}
.cv-resource-cover img{width:100%;height:100%;object-fit:cover}
.cv-resource-fallback{
  display:grid;place-items:center;height:100%;
  font-size:30px;font-weight:700;color:var(--brand-3);
  background:radial-gradient(120px 80px at 50% 35%,rgba(139,92,246,.18),transparent 70%);
}
.cv-resource-tags{
  position:absolute;left:11px;top:11px;right:11px;
  display:flex;gap:6px;flex-wrap:wrap;
}

.cv-resource-body{display:grid;gap:13px;padding:16px;flex:1;align-content:start}
.cv-resource-title h2{font-size:16px;letter-spacing:-.02em}
.cv-resource-title p{
  font-size:13px;margin-top:4px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

.cv-resource-meta{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
  padding:12px 0;border-block:1px solid var(--line);
}
.cv-resource-meta>div{display:grid;gap:3px;min-width:0}
.cv-resource-meta small{
  font-size:10.5px;font-weight:620;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);
}
.cv-resource-meta strong{font-size:13.5px;letter-spacing:-.015em}

.cv-seats{
  height:4px;border-radius:99px;overflow:hidden;
  background:rgba(255,255,255,.08);margin-top:2px;
}
.cv-seats i{display:block;height:100%;border-radius:99px;background:var(--brand);transition:width var(--t)}
.cv-seats.full i{background:var(--warn)}

.cv-maintenance{
  display:flex;gap:10px;align-items:flex-start;
  padding:11px 13px;border-radius:var(--r-sm);
  border:1px solid rgba(251,191,36,.26);background:var(--warn-soft);
}
.cv-maintenance svg{width:16px;height:16px;flex:none;margin-top:1px;color:var(--warn)}
.cv-maintenance strong{display:block;font-size:13px}
.cv-maintenance span{font-size:12.5px;color:var(--muted)}

/* Cle de licence : masquee par defaut, revelee a la demande.
   La logique reste celle de la V6.0.0, seule la presentation change. */
.cv-key{
  display:flex;align-items:center;gap:10px;
  padding:9px 10px 9px 13px;
  border:1px solid var(--line);border-radius:var(--r-sm);
  background:rgba(255,255,255,.028);
}
.cv-key-label{
  font-size:10.5px;font-weight:660;letter-spacing:.07em;text-transform:uppercase;
  color:var(--muted-2);flex:none;
}
.cv-key code{
  flex:1;min-width:0;padding:0;border:0;background:none;
  font-family:var(--mono);font-size:12.5px;color:var(--text-2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.cv-key code.masked{letter-spacing:.14em;color:var(--muted-2)}
.cv-key-actions{display:flex;gap:5px;flex:none}
.cv-key-actions .cv-btn{min-height:30px;width:30px}
.cv-key-actions .cv-btn svg{width:14px;height:14px}

.cv-resource-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.cv-resource-actions .cv-btn{flex:1;min-width:112px}
.cv-resource-actions .cv-btn.ghost{flex:none;min-width:0}

/* --- Installations -------------------------------------------------------- */

.cv-install-list{display:grid;gap:12px}
.cv-install{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;
  padding:16px;
  border:1px solid var(--line);border-radius:var(--r);
  background:var(--surface);
  transition:border-color var(--t-fast);
}
.cv-install:hover{border-color:var(--line-2)}
.cv-install-icon{
  display:grid;place-items:center;width:40px;height:40px;flex:none;
  border:1px solid var(--line);border-radius:var(--r-sm);
  background:rgba(255,255,255,.035);font-size:18px;
}
.cv-install-body{display:grid;gap:12px;min-width:0}
.cv-install-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cv-install-head strong{font-size:14.5px}
.cv-install-head em{font-style:normal;font-size:12.5px;color:var(--muted-2)}
.cv-install-meta{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;
  padding-top:12px;border-top:1px solid var(--line);
}
.cv-install-meta>div{display:grid;gap:3px;min-width:0}
.cv-install-meta small{
  font-size:10.5px;font-weight:620;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);
}
.cv-install-meta strong,.cv-install-meta code{
  font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.cv-install-meta code{
  padding:0;border:0;background:none;font-family:var(--mono);font-size:12px;color:var(--text-2);
}
.cv-install-actions{display:flex;gap:8px;flex-wrap:wrap}

/* --- Notifications -------------------------------------------------------- */

.cv-notif-list{display:grid;gap:9px}
.cv-notif{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;
  padding:15px 16px;
  border:1px solid var(--line);border-radius:var(--r);
  background:var(--surface);
  transition:border-color var(--t-fast),background var(--t-fast);
}
.cv-notif.unread{border-color:var(--brand-line);background:rgba(139,92,246,.045)}
.cv-notif-icon{
  display:grid;place-items:center;width:34px;height:34px;flex:none;
  border:1px solid var(--line);border-radius:var(--r-sm);
  background:rgba(255,255,255,.04);color:var(--muted);
}
.cv-notif-icon svg{width:16px;height:16px}
.cv-notif.unread .cv-notif-icon{border-color:var(--brand-line);background:var(--brand-soft);color:var(--brand-3)}
.cv-notif-body{display:grid;gap:5px;min-width:0}
.cv-notif-body strong,.cv-notif-body h3{font-size:14px;margin:0}
.cv-notif-body p{font-size:13px;line-height:1.55}
.cv-notif-icon.ok{border-color:rgba(52,211,153,.26);background:var(--ok-soft);color:var(--ok)}
.cv-notif-icon.warn{border-color:rgba(251,191,36,.26);background:var(--warn-soft);color:var(--warn)}
.cv-notif-icon.bad{border-color:rgba(251,113,133,.26);background:var(--bad-soft);color:var(--bad)}
.cv-notif-meta a{color:var(--brand-ink);font-weight:600}
.cv-notif>.cv-btn.icon{align-self:start}
.cv-notif-meta{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-size:12px;color:var(--muted-2);margin-top:2px;
}

/* --- Factures ------------------------------------------------------------- */

.cv-invoice-list{display:grid;gap:10px}
.cv-invoice{
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;
  padding:15px 16px;
  border:1px solid var(--line);border-radius:var(--r);
  background:var(--surface);
  transition:border-color var(--t-fast),background var(--t-fast);
}
a.cv-invoice:hover{border-color:var(--line-2);background:var(--surface-2)}
.cv-invoice-icon{
  display:grid;place-items:center;width:38px;height:38px;flex:none;
  border:1px solid var(--line);border-radius:var(--r-sm);
  background:rgba(255,255,255,.035);color:var(--muted);
}
.cv-invoice-icon svg{width:17px;height:17px}
.cv-invoice-body{display:grid;gap:3px;min-width:0;flex:1}
.cv-invoice-body strong{font-size:14px}
.cv-invoice-body span{font-size:12.5px;color:var(--muted-2)}
.cv-invoice-total{
  font-size:15.5px;font-weight:680;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;flex:none;
}
.cv-pill.mute{border-color:var(--line);background:rgba(255,255,255,.04);color:var(--muted-2)}

/* --- Guide d'installation et diagnostic ----------------------------------- */

.install-guide-head{
  display:flex;align-items:center;gap:12px;
  padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line);
}
.install-guide-icon{
  display:grid;place-items:center;width:42px;height:42px;flex:none;
  border:1px solid var(--line);border-radius:var(--r-sm);
  background:rgba(255,255,255,.04);font-size:19px;
}
.install-guide-head strong{display:block;font-size:15px}
.install-guide-head span{font-size:12.5px;color:var(--muted-2)}

.install-steps{display:grid;gap:10px;margin-bottom:18px}
.install-steps article{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;
  padding:13px 14px;
  border:1px solid var(--line);border-radius:var(--r-sm);
  background:rgba(255,255,255,.02);
}
.install-steps b{
  font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--brand-3);
  padding-top:2px;
}
.install-steps strong{display:block;font-size:13.5px}
.install-steps p{font-size:12.5px;margin-top:3px;line-height:1.55}

.install-info{margin-top:14px}
.install-info strong{
  display:block;margin-bottom:8px;
  font-size:11px;font-weight:660;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2);
}
.chip-list{display:flex;gap:6px;flex-wrap:wrap}

.install-warning{
  display:grid;gap:3px;margin-top:16px;padding:13px 15px;
  border:1px solid rgba(251,191,36,.26);border-radius:var(--r-sm);
  background:var(--warn-soft);
}
.install-warning strong{font-size:13px;color:#f6cf74}
.install-warning span{font-size:12.5px;color:var(--muted)}

/* La V6.0.0 utilisait .code-card ; on garde le nom pour ne pas toucher
   aux scripts, avec l'apparence du bloc de code de la V7. */
.code-card{
  border:1px solid var(--line);border-radius:var(--r);
  background:#0a0c14;overflow:hidden;
}
.code-card-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:8px 10px 8px 14px;border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.022);
  font-size:11px;font-weight:620;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);
}
.code-card pre{
  margin:0;padding:14px;overflow-x:auto;
  font-family:var(--mono);font-size:12.5px;line-height:1.7;color:#d9dee9;
}
.code-card pre code{padding:0;border:0;background:none;color:inherit;font-size:inherit}

.diagnostic-score{
  display:flex;align-items:center;gap:16px;
  padding:16px;margin-bottom:16px;
  border:1px solid var(--line);border-radius:var(--r);
  background:rgba(255,255,255,.025);
}
.diagnostic-score>strong{
  display:grid;place-items:center;width:56px;height:56px;flex:none;
  border-radius:50%;
  border:2px solid var(--brand-line);background:var(--brand-soft);
  font-size:19px;letter-spacing:-.02em;color:#e3dcff;
  font-variant-numeric:tabular-nums;
}
.diagnostic-score b{font-size:15px}
.diagnostic-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;
  border:1px solid var(--line);border-radius:var(--r);background:var(--line);overflow:hidden;
}
.diagnostic-grid>div{display:grid;gap:3px;padding:12px 14px;background:var(--surface)}
.diagnostic-grid small{
  font-size:10.5px;font-weight:620;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);
}
.diagnostic-grid strong{font-size:13.5px}

/* Listes generiques utilisees par le diagnostic */
.feed{display:grid;gap:2px}
.feed-row{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;
  padding:9px 10px;border-radius:var(--r-sm);
}
.feed-row:hover{background:rgba(255,255,255,.03)}
.feed-row>i{width:7px;height:7px;border-radius:50%;background:var(--muted-2);flex:none}
.feed-row>i.ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}
.feed-row>i.warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}
.feed-row>i.error{background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}
.feed-row strong{display:block;font-size:13.5px}
.feed-row span{display:block;font-size:12.5px;color:var(--muted-2)}
.feed-row time{font-size:11.5px;color:var(--muted-2);white-space:nowrap}

/* --- Responsive ----------------------------------------------------------- */

@media (max-width:1080px){
  .cv-shell{grid-template-columns:1fr;gap:18px}
  .cv-side{
    position:static;
    display:grid;grid-template-columns:1fr;gap:12px;
  }
  .cv-nav{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));display:grid}
  .cv-nav-label{grid-column:1/-1;padding-top:6px}
  .cv-nav a.active::before{display:none}
  .cv-logout{width:auto;justify-self:start;padding-inline:14px}
}
@media (max-width:680px){
  .client-v700{padding-block:18px 48px}
  .cv-shell{width:min(100% - 28px,var(--cv-max))}
  .cv-resource-grid{grid-template-columns:1fr}
  .cv-resource-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cv-install{grid-template-columns:1fr}
  .cv-install-icon{display:none}
  .cv-invoice{grid-template-columns:auto minmax(0,1fr);row-gap:10px}
  .cv-invoice-total{grid-column:1/-1;justify-items:start}
  .cv-head{align-items:flex-start}
  .cv-head-actions{width:100%}
  .cv-head-actions .btn,.cv-head-actions .cv-btn{flex:1}
  .cv-nav{grid-template-columns:1fr}
}
