/* SOLUT360 — finition visuelle (aucune fonction : que du CSS, chargé après app.css ; supprimer ce fichier rétablit l'ancien look). */
:root{
  --accent:#F5A300;--accent-2:#FF8A00;--accent-soft:#FFF4D6;
  --rad:10px;--rad-sm:8px;
  --ombre-1:0 1px 2px rgba(16,16,16,.06),0 1px 1px rgba(16,16,16,.04);
  --ombre-2:0 4px 14px rgba(16,16,16,.10),0 1px 3px rgba(16,16,16,.06);
  --ombre-3:0 18px 48px rgba(0,0,0,.28);
  --ease:cubic-bezier(.2,.7,.2,1);
}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background:linear-gradient(180deg,#F7F7F5 0,#F2F2F0 100%) fixed}

/* Focus : anneau net, visible sur fond clair comme foncé */
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 5px rgba(0,0,0,.85);border-radius:var(--rad-sm)}

/* Boutons : coins arrondis, relief discret, retour visuel au survol et au clic */
.btn,.tabs button,.seg button{transition:background-color .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),transform .12s var(--ease)}
.btn{border-radius:var(--rad-sm);box-shadow:var(--ombre-1)}
.btn:hover:not(:disabled){box-shadow:var(--ombre-2);transform:translateY(-1px)}
.btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--ombre-1)}
.btn.ghost:hover:not(:disabled){background:#FAFAF8;border-color:#000}
.btn.ink:hover:not(:disabled){background:#1c1c1c}
.btn:disabled{box-shadow:none}

/* Barre du haut */
.brand{box-shadow:0 1px 0 var(--line),0 6px 18px rgba(0,0,0,.05);position:relative;z-index:5}
.stripe{height:7px}
.logout .btn,.brand .btn{border-width:1.5px}

/* Menu latéral : actif ambré, survol doux, repère à gauche */
.menu{background:linear-gradient(180deg,#0E0E0E 0,#050505 100%);box-shadow:inset -1px 0 0 #1f1f1f}
.menu .tabs button,.menu .tabs .tablink{border-radius:var(--rad-sm)!important;transition:background-color .15s var(--ease),color .15s var(--ease),transform .15s var(--ease)}
.menu .tabs button:hover,.menu .tabs .tablink:hover{background:#1e1e1e;transform:translateX(2px)}
.menu .tabs button[aria-selected="true"]{box-shadow:0 2px 10px rgba(245,163,0,.25)}
.menu .ico{opacity:.92}

/* Titres de page : filet ambré sous le titre */
.wrap>header h1,.wrap>header .cond:first-child{position:relative;padding-bottom:10px}
.wrap>header h1::after{content:"";position:absolute;left:0;bottom:0;width:44px;height:4px;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}
h2{border-bottom-color:#111;letter-spacing:.005em}

/* Cartes et blocs */
.card,.accarte,.unit,.rjcarte,.dpcol,.dpcam,.acpj{border-radius:var(--rad);}
.card,.accarte{box-shadow:var(--ombre-1);transition:box-shadow .2s var(--ease),border-color .2s var(--ease)}
.card:hover,.accarte:hover{box-shadow:var(--ombre-2)}
.accarte{border-top:3px solid var(--accent)}
.unit{box-shadow:var(--ombre-1);transition:box-shadow .18s var(--ease),transform .18s var(--ease),border-color .18s var(--ease)}
.unit:hover{box-shadow:var(--ombre-2);transform:translateY(-2px)}
.rjcarte,.dpcam,.dpit{transition:box-shadow .18s var(--ease),transform .18s var(--ease),border-color .18s var(--ease),background-color .18s var(--ease)}
.rjcarte:hover,.dpcam:hover{box-shadow:var(--ombre-2);transform:translateY(-1px)}
.dpcol{box-shadow:var(--ombre-1)}
.dpit{border-radius:var(--rad-sm)}
.dpit:hover{box-shadow:var(--ombre-1);background:#fff}

/* Contrôles segmentés, compteurs, champs de recherche */
.seg,.tabs{border-radius:var(--rad-sm);box-shadow:var(--ombre-1)}
.seg button:hover:not([aria-pressed="true"]){background:#F0EFEA}
.search,.dlg input:not([type=checkbox]):not([type=radio]),.dlg select,.dlg textarea,.card input:not([type=file]),.card select,.card textarea{border-radius:var(--rad-sm)!important;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
.search:focus,.dlg input:focus,.dlg select:focus,.dlg textarea:focus,.card input:focus,.card select:focus,.card textarea:focus{border-color:#000;box-shadow:0 0 0 3px var(--accent-soft),0 0 0 4px var(--accent);outline:0}
.count{border-radius:var(--rad);box-shadow:var(--ombre-1)}

/* Tableaux : en-tête discret en capitales, lignes qui réagissent au survol */
.kxtab{box-shadow:var(--ombre-1)}
.kxtab th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#3a3a3a;background:#FAFAF8;border-bottom:2px solid #111}
.kxtab tr.u{transition:background-color .12s var(--ease)}
.kxtab tr.u:hover td{background:var(--accent-soft)}
.cscroll{border-radius:var(--rad)}

/* Pastilles de statut */
.pill{letter-spacing:.01em}

/* Fenêtres : coins arrondis, ombre profonde, flou d'arrière-plan et entrée animée */
dialog{border-radius:14px;box-shadow:var(--ombre-3)}
dialog::backdrop{background:rgba(10,10,10,.55);backdrop-filter:blur(2px)}
.dlg{border-radius:14px;border-top-width:5px}
dialog[open]{animation:dlgIn .2s var(--ease)}
dialog[open]::backdrop{animation:fondIn .2s ease}
@keyframes dlgIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes fondIn{from{opacity:0}to{opacity:1}}

/* Messages */
.toast{border-radius:var(--rad);box-shadow:var(--ombre-3);padding:12px 18px;transition:opacity .2s var(--ease),transform .2s var(--ease);transform:translateX(-50%) translateY(6px)}
.toast.show{transform:translateX(-50%) translateY(0)}

/* Écran de connexion */
.login-box{border-radius:16px!important;box-shadow:var(--ombre-3)!important;overflow:hidden}

/* Accueil : indicateurs et barres de progression plus vivants */
.acn{border-radius:var(--rad);transition:transform .18s var(--ease),box-shadow .18s var(--ease);box-shadow:var(--ombre-1)}
.acn:hover{transform:translateY(-2px);box-shadow:var(--ombre-2)}
.acn.fort{background:linear-gradient(180deg,#fff,var(--accent-soft));border-color:#111}
.acbarre{height:10px;background:#E7E5DE}
.acbarre i{background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:99px;transition:width .6s var(--ease)}
.acli{transition:background-color .12s var(--ease)}
.acli:hover{background:#FAFAF8}

/* Défilement plus discret */
*{scrollbar-width:thin;scrollbar-color:#BDBDB7 transparent}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#C6C6C0;border-radius:99px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#9E9E98;background-clip:content-box;border:2px solid transparent}

/* Respect des préférences : pas d'animation si l'utilisateur les réduit */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Impression : aucune décoration */
@media print{body{background:#fff!important}.btn,.card,.kxtab,dialog{box-shadow:none!important}}
