/* Commandes SI — adaptation au socle Verdannet UI v0.1.0 */
:root {
  --ink: var(--vd-text);
  --ink-soft: var(--vd-text-muted);
  --muted: var(--vd-text-muted);
  --paper: var(--vd-bg);
  --surface: var(--vd-surface);
  --line: var(--vd-border);
  --line-strong: var(--vd-border-strong);
  --accent: var(--vd-primary);
  --accent-ink: var(--vd-primary-soft);
  --accent-strong: var(--vd-primary-hover);
  --ok: var(--vd-success);
  --warn: var(--vd-warning);
  --danger: var(--vd-danger);
  --font-ui: var(--vd-font-sans);
  --font-mono: var(--vd-font-mono);
  --radius: var(--vd-radius-sm);
  --shadow-card: var(--vd-shadow-card);
}
html, body { background: var(--vd-bg); color: var(--vd-text); }
#app-shell { grid-template-columns: 248px minmax(0,1fr); }
.sidebar {
  background: linear-gradient(180deg, var(--vd-green-950), #052d25);
  color: #dce8e3;
  padding: 22px 0 16px;
  box-shadow: 8px 0 30px rgb(7 58 47 / .08);
}
.sidebar .brand { border-bottom-color: rgb(255 255 255 / .12); }
.sidebar .brand .eyebrow { color: #9fc2b7; }
.sidebar .brand .title { font-size: 17px; letter-spacing: -.01em; }
.sidebar nav a { color:#c5d8d1; border-left-width:3px; padding:10px 20px; transition:background var(--vd-duration-fast) var(--vd-ease),color var(--vd-duration-fast) var(--vd-ease); }
.sidebar nav a:hover { background:rgb(255 255 255 / .07); color:#fff; }
.sidebar nav a.active { background:rgb(255 255 255 / .11); color:#fff; border-left-color:var(--vd-accent); }
.sidebar nav .section-label { color:#86a99d; }
.sidebar .user-box { border-top-color:rgb(255 255 255 / .12); color:#a9c1b9; }
.sidebar .logout-btn { color:#b9d0c8; }
main { padding:32px 38px 64px; min-width:0; }
.view-header { margin-bottom:24px; }
.view-header .eyebrow { color:var(--vd-accent-action); font-weight:800; }
.view-header h1 { font-size:var(--vd-text-2xl); }
.card,.kpi,.login-card { border-color:var(--vd-border); border-radius:var(--vd-radius-md); box-shadow:var(--vd-shadow-card); background:var(--vd-surface); }
.card { padding:20px 22px; }
table.data th { background:var(--vd-surface-2); color:var(--vd-text-muted); padding:10px var(--vd-table-pad-x); }
table.data td { padding:var(--vd-table-pad-y) var(--vd-table-pad-x); }
table.data tbody tr:hover { background:color-mix(in srgb,var(--vd-primary) 5%,transparent); }
input,select,textarea { min-height:var(--vd-control-height); padding:.5rem var(--vd-control-pad-x); border-color:var(--vd-border-strong); border-radius:var(--vd-radius-sm); background:var(--vd-surface); color:var(--vd-text); }
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible { outline:none; border-color:var(--vd-focus); box-shadow:0 0 0 3px color-mix(in srgb,var(--vd-focus) 18%,transparent); }
.btn { min-height:var(--vd-control-height); border-radius:var(--vd-radius-sm); border-color:var(--vd-border-strong); background:var(--vd-surface); color:var(--vd-text); font-size:var(--vd-text-sm); transition:background var(--vd-duration-fast),border-color var(--vd-duration-fast),transform var(--vd-duration-fast); }
.btn:hover { background:var(--vd-hover); border-color:color-mix(in srgb,var(--vd-primary) 55%,var(--vd-border)); }
.btn:active { transform:translateY(1px); }
.btn.primary { background:var(--vd-primary); border-color:var(--vd-primary); color:var(--vd-primary-contrast); }
.btn.primary:hover { background:var(--vd-primary-hover); border-color:var(--vd-primary-hover); }
.btn.ghost { color:var(--vd-primary); }
.stamp { border-radius:var(--vd-radius-pill); text-transform:none; letter-spacing:0; padding:4px 9px; }
.kpi .num { color:var(--vd-primary); }
.kpi .label { color:var(--vd-text-muted); }
.toast { border-radius:var(--vd-radius-sm); box-shadow:var(--vd-shadow-float); }
.login-wrap { background:radial-gradient(circle at 15% 10%,var(--vd-primary-soft),transparent 35%),var(--vd-bg); }
.login-card { width:min(420px,calc(100% - 32px)); padding:34px; }
.login-card .entra-mark { width:48px; height:48px; display:grid; place-items:center; border-radius:var(--vd-radius-md); background:linear-gradient(145deg,var(--vd-green-700),var(--vd-green-950)); color:#fff; font-weight:900; margin-bottom:18px; }
.login-card .login-copy { color:var(--vd-text-muted); margin:-8px 0 22px; font-size:var(--vd-text-sm); }
.theme-toggle { margin-top:10px; width:100%; justify-content:center; }
@media (max-width:860px) {
  #app-shell { grid-template-columns:1fr; }
  .sidebar { background:var(--vd-green-950); }
  main { padding:20px 16px 48px; }
}
