/* FREEV GESTION · PRIORITÉ 3 · Interface premium et responsive.
   Couche de présentation conservant les comportements et les données existants. */
:root {
  --p3-brand: #2563eb;
  --p3-accent: #0d9488;
  --p3-ink: #12253f;
  --p3-radius: 18px;
  --p3-ease: cubic-bezier(.22,1,.36,1);
  --p3-ring: 0 0 0 3px rgba(37,99,235,.32);
  --p3-depth: 0 14px 36px rgba(25,48,85,.065), 0 2px 9px rgba(25,48,85,.035);
}

body.freev-premium-v3 {
  --bg-app: #f4f7fc;
  --bg-main: #f4f7fc;
  --bg-card: #fff;
  --bg-topbar: rgba(255,255,255,.96);
  --border-color: #e4eaf3;
  --text-primary: #14243b;
  --text-secondary: #50617b;
  --text-muted: #687890;
  background: var(--bg-app);
}
body.freev-premium-v3.dark-mode {
  --bg-app: #0b1424;
  --bg-main: #0b1424;
  --bg-card: #142238;
  --bg-topbar: #121f32;
  --bg-input: #101c2e;
  --border-color: #2b3d57;
  --text-primary: #f0f5ff;
  --text-secondary: #c3d1e2;
  --text-muted: #a5b5c9;
  --p3-ink: #eff6ff;
  --p3-depth: 0 12px 32px rgba(0,0,0,.19);
}

/* Clavier, lecteur d'écran et états natifs. */
.freev-skip-link {position:fixed;left:1rem;top:-6rem;z-index:100000;background:#fff;color:#123b74;padding:.75rem 1rem;border:2px solid #2563eb;border-radius:.7rem;font-weight:750}
.freev-skip-link:focus {top:1rem}
.freev-premium-v3 :is(button,input,select,textarea,a,[tabindex]):focus-visible {outline:3px solid #3b82f6;outline-offset:3px;box-shadow:var(--p3-ring)}
.freev-premium-v3 .sidebar-nav .nav-item {width:calc(100% - 1.5rem);margin:.16rem .75rem;border:1px solid transparent;border-radius:12px;text-align:left;background:transparent;font:600 .875rem/1.35 Inter,system-ui,sans-serif;min-height:44px;position:relative}
.freev-premium-v3 .sidebar-nav .nav-item:hover {background:rgba(180,206,249,.09);border-color:rgba(160,191,244,.12);color:#fff}
.freev-premium-v3 .sidebar-nav .nav-item.active,
.freev-premium-v3 .sidebar-nav .nav-item[aria-current="page"] {background:linear-gradient(108deg,rgba(69,124,235,.24),rgba(21,189,174,.09));border-color:rgba(138,182,250,.23);color:#fff;box-shadow:inset 3px 0 0 #60a5fa}
.freev-premium-v3 .sidebar-nav .nav-item i {width:22px;flex-shrink:0;color:#b3c7e4;transition:transform .22s var(--p3-ease),color .2s}
.freev-premium-v3 .sidebar-nav .nav-item:hover i {transform:scale(1.08);color:#93f5e5}
.freev-premium-v3 .sidebar-nav .nav-item[aria-current="page"] i {color:#93f5e5}
.freev-premium-v3 .sidebar-mobile-sep {padding:.55rem 1.5rem .35rem;color:#a4bbd6;font-size:.65rem;letter-spacing:.14em;font-weight:800}

/* Sidebar premium, identité et profondeur. */
.freev-premium-v3 .sidebar {background:linear-gradient(177deg,#101f39 0%,#0e1930 52%,#121d32 100%);box-shadow:9px 0 26px rgba(6,17,35,.075)}
.freev-premium-v3 .sidebar-header {background:linear-gradient(140deg,rgba(29,65,116,.92),rgba(20,42,72,.96));padding:1.65rem 1.3rem 1.25rem;border-bottom:1px solid rgba(216,234,255,.12)}
.premium-brand {display:flex;align-items:center;gap:.85rem;min-width:0}
.premium-brand-mark {display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:14px;background:linear-gradient(135deg,#60a5fa,#2dd4bf);color:#062139;font-size:1.2rem;box-shadow:0 10px 24px rgba(21,197,192,.22),inset 0 1px rgba(255,255,255,.4)}
.premium-brand-copy {min-width:0;display:flex;flex-direction:column;gap:.15rem}
.premium-brand-copy strong {color:#fff;font-size:1.5rem;letter-spacing:.08em;line-height:1.1;font-weight:850}
.premium-brand-copy small {font-size:.57rem;letter-spacing:.11em;color:#b9d5f2;font-weight:750;white-space:nowrap}
.premium-brand-tagline {margin:1rem 0 0;color:#b6cfe8;font-size:.77rem}
.freev-premium-v3 .sidebar-nav {padding-top:1rem;scrollbar-color:#465c79 transparent;scrollbar-width:thin}

/* Espaces clairs, barre d'outils compactée. */
.freev-premium-v3 .main-content {background:var(--bg-main);min-width:0}
.freev-premium-v3 .top-bar {position:relative;z-index:10;padding:1rem 1.4rem;background:var(--bg-topbar);border-color:var(--border-color);box-shadow:0 3px 19px rgba(38,56,93,.045);gap:.65rem;flex-wrap:wrap}
.freev-premium-v3 .top-bar > div {min-width:0;flex-wrap:wrap}
.freev-premium-v3 .content-area {padding:1.4rem 1.8rem 2rem;scrollbar-color:#c0cee2 transparent}
.freev-premium-v3 .month-picker {border-radius:13px;box-shadow:0 1px 5px rgba(31,65,103,.04)}
.freev-premium-v3 .month-nav-btn {border-radius:10px;min-width:34px;min-height:34px}
.freev-premium-v3 .month-nav-btn:hover {background:rgba(37,99,235,.08);color:#2563eb}

/* Bandeau dynamique : accessible, sans chiffres fictifs. */
.premium-workspace-head {position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:180px;overflow:hidden;padding:1.8rem 2rem;margin-bottom:1.4rem;border-radius:24px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(112deg,#142a4b 0%,#1c4676 54%,#0e6872 100%);box-shadow:0 20px 50px rgba(21,52,99,.15)}
.premium-workspace-head::before {content:"";position:absolute;z-index:-1;top:-130px;right:-90px;width:420px;height:360px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 50px rgba(255,255,255,.024),0 0 0 100px rgba(255,255,255,.018)}
.premium-workspace-intro {min-width:0;max-width:680px}
.premium-workspace-kicker {display:inline-flex;align-items:center;gap:.48rem;color:#b4f2e7;font-size:.68rem;letter-spacing:.13em;font-weight:850}
.premium-live-dot {display:inline-block;background:#5eead4;width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 4px rgba(94,234,212,.15)}
.premium-workspace-head h1 {font-size:clamp(1.5rem,2.4vw,2.35rem);font-weight:825;letter-spacing:-.045em;color:#fff;line-height:1.18;margin:.65rem 0 .5rem;text-wrap:balance}
.premium-workspace-head p {color:#d8eaf9;font-size:.84rem;line-height:1.65;max-width:55ch}
.premium-workspace-actions {display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;flex-shrink:0}
.premium-workspace-add-wrap {position:relative;display:inline-flex;flex:0 0 auto}
.premium-workspace-head.workspace-add-open {overflow:visible!important;z-index:130}
.premium-workspace-head.workspace-add-open::before {display:none!important}
.premium-workspace-add-chevron {font-size:.65rem;opacity:.72;margin-left:.08rem}
.premium-workspace-add-panel {position:absolute;z-index:120;top:calc(100% + .5rem);right:0;display:grid;gap:.2rem;width:min(19rem,calc(100vw - 2rem));max-height:min(70vh,28rem);overflow:auto;padding:.4rem;border:1px solid var(--border-color,#cbd5e1);border-radius:13px;background:var(--bg-card,#fff);color:var(--text-primary,#0f172a);box-shadow:0 16px 38px rgba(15,23,42,.2)}
.premium-workspace-add-panel[hidden] {display:none!important}
.premium-workspace-add-item {display:flex;align-items:center;gap:.7rem;width:100%;min-height:44px;padding:.62rem .72rem;border:0;border-radius:9px;background:transparent;color:inherit;font:inherit;font-size:.82rem;font-weight:650;text-align:left;cursor:pointer}
.premium-workspace-add-item[hidden] {display:none!important}
.premium-workspace-add-item > i {width:1.15rem;color:var(--v4-accent,#2563eb);text-align:center}
.premium-workspace-add-item:hover,.premium-workspace-add-item:focus-visible {background:var(--apple-hover,#eff6ff)}
.premium-workspace-add-item:focus-visible,#workspaceAddTrigger:focus-visible {outline:3px solid var(--v4-accent,#2563eb);outline-offset:2px}
.premium-workspace-add-wrap > #workspaceAddTrigger {width:100%}
.premium-workspace-action {display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:45px;padding:.7rem .9rem;border:1px solid rgba(240,249,255,.29);border-radius:12px;color:#fff;font-size:.8rem;font-weight:750;cursor:pointer;white-space:nowrap;transition:transform .24s var(--p3-ease),box-shadow .24s,background .24s}
.premium-workspace-action-secondary {background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}
.premium-workspace-action-primary {background:#e9fbff;color:#13506b;border-color:#e9fbff;box-shadow:0 10px 22px rgba(0,0,0,.1)}
.premium-workspace-action:hover {transform:translateY(-2px);box-shadow:0 12px 20px rgba(6,19,38,.14)}
.premium-workspace-action:active {transform:translateY(0) scale(.98)}

/* Cartes, finance et tableaux. Cohérence jour/nuit. */
.freev-premium-v3 .card,
.freev-premium-v3 .stat-card,
.freev-premium-v3 .fp2-metric,
.freev-premium-v3 .fp2-panel {border:1px solid var(--border-color);background:var(--bg-card);box-shadow:var(--p3-depth);border-radius:var(--p3-radius)}
.freev-premium-v3 .card:hover,
.freev-premium-v3 .stat-card:hover,
.freev-premium-v3 .fp2-panel:hover {box-shadow:0 18px 36px rgba(33,60,101,.11)}
.freev-premium-v3 .stat-card {min-width:0;padding:1.25rem;gap:1.05rem;transition:box-shadow .24s,transform .24s;align-items:center}
.freev-premium-v3 .stat-card .text-2xl {font-size:clamp(1.23rem,1.75vw,1.8rem);letter-spacing:-.035em;overflow-wrap:anywhere;line-height:1.22;color:var(--text-primary)}
.freev-premium-v3 .stat-card .stat-icon {width:54px;height:54px;flex-shrink:0;border-radius:16px;font-size:1.3rem}
.freev-premium-v3 .stat-card .flex-1 {min-width:0}
.freev-premium-v3 .fp2-heading h2 {font-size:1.36rem;letter-spacing:-.025em}
.freev-premium-v3 .fp2-metric,.freev-premium-v3 .fp2-panel {padding:1.3rem}
.freev-premium-v3 .fp2-metric-value {font-size:clamp(1.22rem,1.8vw,1.72rem);letter-spacing:-.03em}
.freev-premium-v3 .fp2-alert {border:1px solid var(--border-color);border-radius:12px;padding:.75rem .85rem}
.freev-premium-v3 .fp2-progress {height:9px}
.freev-premium-v3 .progress-bar {border-radius:999px;overflow:hidden}
.freev-premium-v3 .table-container {border-radius:14px}
.freev-premium-v3 .table tbody tr {transition:background .16s ease}
.freev-premium-v3 .form-input,.freev-premium-v3 .form-select,.freev-premium-v3 .form-textarea {border-radius:11px}
.freev-premium-v3 .btn {justify-content:center}
.freev-premium-v3 .bottom-nav-item {transition:transform .2s var(--p3-ease),color .2s,background .2s}
.freev-premium-v3 .bottom-nav-item[aria-current="page"] {color:#2563eb}

/* Moins de mouvement, plus de contrôle : les actions restent visibles au clavier. */
@media (hover:none) { .freev-premium-v3 .card:hover,.freev-premium-v3 .stat-card:hover,.freev-premium-v3 .fp2-panel:hover {transform:none;box-shadow:var(--p3-depth)} }
@media (min-width:1300px) {
  .freev-premium-v3 .premium-stat-grid {grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1rem!important}
  .freev-premium-v3 .stat-card {flex-direction:column;align-items:flex-start;gap:.8rem}
}
@media (max-width:1250px) {
  .premium-workspace-head {padding:1.55rem 1.6rem}
  .premium-workspace-actions {max-width:230px}
  .premium-workspace-action {width:100%}
  .freev-premium-v3 .top-bar {padding:.9rem 1.2rem}
}
@media (max-width:900px) {
  .premium-workspace-head {align-items:flex-start;flex-direction:column;gap:1rem}
  .premium-workspace-actions {max-width:none;width:100%;justify-content:flex-start}
  .premium-workspace-action {width:auto}
  .freev-premium-v3 .content-area {padding:1.1rem 1.2rem 1.5rem}
}
@media (max-width:768px) {
  .freev-premium-v3 .sidebar {width:min(86vw,21.5rem)}
  .freev-premium-v3 .sidebar-nav .nav-item {width:calc(100% - 1.35rem);margin:.13rem .675rem;min-height:48px;padding:.7rem .88rem}
  .freev-premium-v3 .sidebar-header {padding:1.2rem 1.05rem}
  .freev-premium-v3 .top-bar {position:relative;padding:.55rem .85rem;min-height:57px;gap:.5rem;flex-wrap:nowrap}
  .freev-premium-v3 .top-bar > div:first-child {min-width:0;flex-wrap:nowrap;gap:.4rem}
  .freev-premium-v3 .top-bar > div:last-child {display:none}
  .freev-premium-v3 .content-area {padding:.85rem .8rem calc(6rem + env(safe-area-inset-bottom))}
  .premium-workspace-head {min-height:unset;margin-bottom:1rem;border-radius:18px;padding:1.2rem 1.1rem;gap:.85rem;box-shadow:0 13px 26px rgba(16,42,83,.14)}
  .premium-workspace-head h1 {font-size:1.55rem;margin:.52rem 0 .3rem}
  .premium-workspace-head p {font-size:.77rem}
  .premium-workspace-kicker {font-size:.58rem}
  .premium-workspace-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.55rem}
  .premium-workspace-action {width:100%;min-height:43px;padding:.58rem .42rem;font-size:.72rem;white-space:normal}
  .freev-premium-v3 #dashboard-view > .premium-stat-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.65rem!important}
  .freev-premium-v3 .stat-card {padding:.8rem;min-width:0;align-items:flex-start;gap:.35rem}
  .freev-premium-v3 .stat-card .stat-icon {width:37px;height:37px;font-size:1rem;border-radius:11px}
  .freev-premium-v3 .stat-card .text-2xl {font-size:clamp(1.03rem,4vw,1.32rem)}
  .freev-premium-v3 .fp2-panel,.freev-premium-v3 .fp2-metric {padding:1rem}
  .freev-premium-v3 .fp2-panel h3 {line-height:1.45}
  .freev-premium-v3 .bottom-nav-item {min-width:0}
}
@media (max-width:375px) {
  .freev-premium-v3 .stat-card .text-2xl {font-size:1rem}
  .freev-premium-v3 .month-picker input[type="month"] {width:112px;font-size:.75rem}
  .freev-premium-v3 .month-nav-btn {min-width:29px;min-height:29px;width:29px;height:29px}
  .premium-workspace-action {font-size:.68rem}
}
@media (max-width:760px) {
  .premium-workspace-add-wrap {width:100%}
  .premium-workspace-add-panel {left:0;right:auto}
}
@media (prefers-reduced-motion:reduce) {
  .freev-premium-v3 *, .freev-premium-v3 *::before, .freev-premium-v3 *::after {animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .freev-premium-v3 .stat-card:hover,.freev-premium-v3 .premium-workspace-action:hover {transform:none!important}
}
