:root{color-scheme:dark;--fond: #0b0d12;--carte: #141824;--bord: #232838;--texte: #e7eaf2;--doux: #98a0b4;--or: #c9a35a;--or-clair: #e0c07f;--danger: #e06666;--ok: #7bbf8a}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 600px at 50% -10%,#171c2b 0%,var(--fond) 60%);color:var(--texte);font:15px/1.6 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}.centre{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.carte{width:100%;max-width:26rem;background:var(--carte);border:1px solid var(--bord);border-radius:14px;padding:2rem;box-shadow:0 20px 60px #0006}.sur-titre{margin:0 0 .3rem;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--or);font-family:ui-monospace,SFMono-Regular,monospace}h1{margin:0 0 1.4rem;font-size:1.5rem;letter-spacing:-.01em}label{display:block;margin:0 0 .35rem;font-size:.85rem;color:var(--doux)}input{width:100%;padding:.7rem .8rem;margin:0 0 1rem;background:#0e111a;border:1px solid var(--bord);border-radius:9px;color:var(--texte);font-size:1rem}input:focus{outline:none;border-color:var(--or)}button{width:100%;padding:.75rem 1rem;background:linear-gradient(180deg,var(--or-clair),var(--or));color:#1a1408;border:none;border-radius:9px;font-size:1rem;font-weight:600;cursor:pointer}button:disabled{opacity:.55;cursor:default}button.discret{background:transparent;color:var(--doux);border:1px solid var(--bord);font-weight:500}.message{margin:0 0 1rem;padding:.6rem .8rem;border-radius:8px;font-size:.9rem}.message.erreur{background:#e066661f;border:1px solid rgba(224,102,102,.4);color:#f0a9a9}.message.succes{background:#7bbf8a1f;border:1px solid rgba(123,191,138,.4);color:#a6d9b2}.message.avertissement{background:#e0b2661f;border:1px solid rgba(224,178,102,.4);color:#e8c98a}.indice{margin:1.2rem 0 0;font-size:.8rem;color:var(--doux)}.tableau-bord{width:100%;max-width:40rem}.entete{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.entete button{width:auto;padding:.5rem .9rem}.grille{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.bloc{background:var(--carte);border:1px solid var(--bord);border-radius:12px;padding:1.2rem}.bloc h2{margin:0 0 .5rem;font-size:1rem}.bloc p{margin:0 0 1rem;color:var(--doux);font-size:.9rem}.doux{color:var(--doux)}.app-admin{max-width:72rem;margin:0 auto;padding:1.5rem 1.25rem 4rem}.barre{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.barre button{width:auto;padding:.5rem .9rem}.onglets{display:flex;gap:.35rem;border-bottom:1px solid var(--bord);margin-bottom:1.5rem;flex-wrap:wrap}.onglets button{width:auto;display:inline-flex;align-items:center;gap:.4rem;background:transparent;color:var(--doux);border:none;border-bottom:2px solid transparent;border-radius:0;padding:.6rem .9rem;font-weight:500;cursor:pointer}.onglet-icone{font-size:.95rem;line-height:1}.onglets button.actif{color:var(--or-clair);border-bottom-color:var(--or)}.cartes-stats{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.carte-stat{background:var(--carte);border:1px solid var(--bord);border-radius:12px;padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.25rem}.carte-stat .valeur{font-size:1.6rem;font-weight:700;color:var(--texte)}.carte-stat .etiquette{font-size:.8rem;color:var(--doux)}.barre-recherche{display:flex;gap:.6rem;margin-bottom:1rem}.barre-recherche input{margin:0}.barre-recherche button{width:auto;padding:.7rem 1.1rem}.table-wrap{overflow-x:auto;border:1px solid var(--bord);border-radius:12px}.tableau{width:100%;border-collapse:collapse;font-size:.9rem;min-width:46rem}.tableau th,.tableau td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--bord);vertical-align:top}.tableau th{color:var(--doux);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.tableau tr:last-child td{border-bottom:none}.tableau tr.suspendu{background:#e066660f}.badge{display:inline-block;margin-left:.4rem;padding:.05rem .4rem;border-radius:6px;font-size:.68rem;background:#c9a35a2e;color:var(--or-clair);vertical-align:middle}.etat{font-size:.82rem;font-weight:600}.etat.vert{color:var(--ok)}.etat.rouge{color:var(--danger)}.actions{white-space:nowrap}button.mini{width:auto;padding:.35rem .65rem;font-size:.82rem;margin-left:.35rem;background:transparent;color:var(--texte);border:1px solid var(--bord);font-weight:500}button.mini:first-child{margin-left:0}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.2rem}.pagination button{width:auto;padding:.5rem 1rem}.liste-droits{list-style:none;margin:0 0 1rem;padding:0;font-size:.85rem;display:grid;gap:.2rem}.deux-colonnes{display:flex;gap:.8rem}.deux-colonnes>div{flex:1}.ligne-case{display:flex;align-items:center;gap:.5rem;margin:0 0 .6rem;color:var(--texte);font-size:.9rem}.ligne-case input{width:auto;margin:0}.ligne-droit{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:0 0 .5rem;font-size:.85rem}.ligne-droit input{width:8rem;margin:0}select{width:100%;padding:.7rem .8rem;margin:0 0 1rem;background:#0e111a;border:1px solid var(--bord);border-radius:9px;color:var(--texte);font-size:1rem}select:focus{outline:none;border-color:var(--or)}.deux-colonnes select{margin-bottom:0}textarea{width:100%;padding:.7rem .8rem;margin:0 0 1rem;background:#0e111a;border:1px solid var(--bord);border-radius:9px;color:var(--texte);font:inherit;resize:vertical}textarea:focus{outline:none;border-color:var(--or)}.sous-onglets{display:flex;gap:.4rem;margin-bottom:1.2rem}.sous-onglets button{width:auto;background:transparent;color:var(--doux);border:1px solid var(--bord);border-radius:9px;padding:.4rem .9rem;font-weight:500}.sous-onglets button.actif{color:var(--fond);background:var(--or);border-color:var(--or);font-weight:600}.apercu-skin{display:inline-block;width:40px;height:40px;border-radius:8px;border:1px solid var(--bord);object-fit:cover;vertical-align:middle}.grille-textures{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}.grille-textures .bloc{text-align:center}.apercu-texture{width:100%;height:120px;object-fit:contain;background:#0e111a;border-radius:8px;margin-bottom:.5rem}input[type=color]{height:2.6rem;padding:.2rem;cursor:pointer}input[type=file]{padding:.5rem}.grille-des-textures{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1rem;margin-bottom:1rem}.die-texture{display:flex;align-items:center;gap:.5rem}.die-texture-label{min-width:2.5rem;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.85rem;color:var(--or)}.die-texture select{flex:1;margin:0}.bac-a-sable{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:1rem;align-items:start}@media(max-width:900px){.bac-a-sable{grid-template-columns:1fr}}.bac-a-sable-vue{position:relative;border:1px solid var(--bord);border-radius:.75rem;overflow:hidden;background:var(--fond-2, #0d1526)}.bac-a-sable-canvas{display:block;width:100%;height:28rem;touch-action:none;outline:none}.bac-a-sable-etat{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;padding:2rem;background:#060b16cc}.bac-a-sable-aide{position:absolute;left:1rem;right:1rem;bottom:.75rem;margin:0;padding:.4rem .75rem;border-radius:.4rem;background:#060b16b8;text-align:center;font-size:.78rem;color:var(--doux, #9aa4bd);pointer-events:none}.bac-a-sable-controles{max-height:32rem;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.bac-a-sable-groupe{border:1px solid var(--bord);border-radius:.6rem;padding:.6rem .75rem;margin:.25rem 0}.bac-a-sable-groupe legend{padding:0 .35rem;font-size:.82rem;color:var(--or)}.bac-a-sable-groupe[disabled]{opacity:.5}.bac-a-sable-des{display:flex;flex-wrap:wrap;gap:.35rem}button.mini.actif{border-color:var(--or);color:var(--or)}.bac-a-sable-fichier{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer}.bac-a-sable-fichier input[type=file]{display:none}.bac-a-sable-souvenir{min-height:1rem;margin:.25rem 0 0;text-align:center;font-size:.8rem;color:var(--ok, #6fcf97)}.fil-ariane{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin-bottom:.75rem}.fil-ariane button{width:auto;margin:0;padding:.25rem .6rem;background:transparent;border:1px solid var(--bord);color:var(--texte);font-size:.85rem}.fil-ariane button.actif{border-color:var(--or);color:var(--or)}.fil-sep{color:var(--doux, #9aa4bd);margin:0 .15rem}.barre-textures{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem;padding:.75rem;border:1px solid var(--bord);border-radius:.6rem}.barre-textures input[type=text],.barre-textures input:not([type]){flex:1;min-width:8rem;margin:0}.barre-textures button{width:auto;margin:0}.grille-dossiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.6rem;margin-bottom:1rem}.dossier-carte{display:flex;flex-direction:column;gap:.4rem;border:1px solid var(--bord);border-radius:.6rem;padding:.6rem .75rem}.dossier-ouvrir{display:flex;align-items:center;gap:.5rem;width:100%;background:transparent;border:none;color:var(--texte);text-align:left;padding:0;font-size:.95rem}.dossier-icone{font-size:1.2rem}.dossier-nom{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.texture-carte strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.texture-carte select{margin:0}.utilisations-texture{list-style:none;margin:0 0 .4rem;padding:0;font-size:.8rem;overflow-wrap:anywhere}.utilisations-texture b{font-weight:600}.petit-label{display:block;font-size:.72rem;margin-bottom:.2rem}.apercu-vide{display:grid;place-items:center;min-height:6rem;border:1px dashed var(--bord);border-radius:.4rem}.liste-droits li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.sous-titre-droits{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--or);margin:1rem 0 .4rem}.droit-edit{border:1px solid var(--bord);border-radius:.5rem;padding:.5rem .7rem;margin-bottom:.5rem}.droit-tete{display:flex;align-items:center;justify-content:space-between;gap:1rem}.droit-illimite{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--doux, #9aa4bd);margin:0}.droit-illimite input{width:auto;margin:0}.petit-aide{font-size:.78rem;margin:.15rem 0 .4rem;line-height:1.4}.champ-unite{display:flex;align-items:center;gap:.5rem}.champ-unite input{margin:0;max-width:10rem}.champ-unite .unite{font-size:.82rem;color:var(--doux, #9aa4bd)}.droit-feature{display:flex;align-items:flex-start;gap:.6rem;padding:.4rem 0;border-bottom:1px solid var(--bord)}.droit-feature input{width:auto;margin:.2rem 0 0}.fiche-infos{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0;font-size:.9rem}.fiche-infos dt{color:var(--doux, #9aa4bd);white-space:nowrap}.fiche-infos dd{margin:0;text-align:right;word-break:break-word}.journal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.journal-ligne{display:flex;gap:.75rem;padding:.7rem .9rem;background:var(--carte);border:1px solid var(--bord);border-radius:10px}.pastille{margin-top:.45rem;width:.55rem;height:.55rem;border-radius:50%;flex-shrink:0;background:var(--doux)}.pastille.positif{background:var(--ok)}.pastille.sensible{background:var(--danger)}.pastille.neutre{background:var(--or)}.journal-corps{min-width:0;flex:1}.journal-tete{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.journal-cible{font-size:.72rem;padding:.1rem .5rem;border:1px solid var(--bord);border-radius:999px;color:var(--doux)}.journal-meta{display:flex;gap:.4rem;font-size:.8rem;margin-top:.15rem}.journal-details{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.journal-tag{font-size:.8rem;padding:.15rem .5rem;background:#0e111a;border:1px solid var(--bord);border-radius:6px}.groupe-stats{margin-bottom:1.6rem}.titre-groupe{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--or);margin:0 0 .7rem}.carte-stat .etiquette-aide{font-size:.72rem;color:var(--doux);opacity:.8;line-height:1.3;margin-top:.2rem}.toasts{position:fixed;right:1rem;bottom:1rem;z-index:100;display:flex;flex-direction:column;gap:.5rem;max-width:min(24rem,calc(100vw - 2rem))}.toast{width:100%;text-align:left;padding:.7rem .9rem;border-radius:10px;font-size:.9rem;font-weight:500;color:var(--texte);border:1px solid var(--bord);background:var(--carte);box-shadow:0 12px 34px #00000073;cursor:pointer;animation:toast-entree .18s ease-out}.toast-succes{border-color:#7bbf8a80;background:#7bbf8a24;color:#c3e7cc}.toast-erreur{border-color:#e0666680;background:#e0666624;color:#f0bcbc}.toast-info{border-color:#c9a35a80;background:#c9a35a1f;color:var(--or-clair)}@keyframes toast-entree{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.pile-cartes{display:flex;flex-direction:column;gap:1rem}.bandeau-etat{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem 1rem;border-radius:10px;border:1px solid var(--bord);margin:0 0 1rem}.bandeau-etat .bandeau-pastille{margin-top:.35rem;width:.7rem;height:.7rem;border-radius:50%;flex-shrink:0}.bandeau-etat.ouvert{border-color:#7bbf8a66;background:#7bbf8a1a}.bandeau-etat.ouvert .bandeau-pastille{background:var(--ok)}.bandeau-etat.ferme{border-color:#e0666666;background:#e066661a}.bandeau-etat.ferme .bandeau-pastille{background:var(--danger)}.carte-sauvegarde-tete{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.carte-sauvegarde-tete h2{margin:0}.pastille-kdrive{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--doux)}.pastille-kdrive .bandeau-pastille{width:.5rem;height:.5rem;border-radius:50%}.pastille-kdrive.ok .bandeau-pastille{background:var(--ok)}.pastille-kdrive.ko .bandeau-pastille{background:var(--danger)}.pastille-kdrive.ko{color:var(--danger)}.actions-sauvegarde{display:flex;flex-wrap:wrap;gap:.6rem}.actions-sauvegarde button{width:auto;flex:1 1 12rem}.derniere-sauvegarde{margin-top:.7rem;font-size:.82rem}.entete-tri{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}.entete-tri:hover,.entete-tri.actif{color:var(--or-clair)}.entete-tri:focus-visible{outline:2px solid var(--or);outline-offset:2px;border-radius:4px}.fleche-tri{font-size:.7rem;opacity:.7}.barre-filtres{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;margin:-.3rem 0 1rem}.pastille-en-ligne{display:inline-flex;align-items:center;gap:.45rem;padding:.25rem .7rem;border:1px solid rgba(123,191,138,.4);border-radius:999px;color:var(--ok);font-weight:600;font-size:.85rem}.point-en-ligne{display:inline-block;width:.5rem;height:.5rem;margin-right:.35rem;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px #7bbf8a33}.pastille-en-ligne .point-en-ligne{margin-right:0}.case-filtre{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;cursor:pointer}.case-filtre input{width:auto;margin:0}.petit{font-size:.8rem}.tableau td.date{white-space:nowrap}.actions-empilees{display:flex;flex-direction:column;align-items:stretch;gap:.35rem}.actions-empilees button.mini{margin-left:0}.rangee-boutons{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.rangee-boutons button{width:auto}.liste-avis{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.75rem}.liste-avis blockquote{border-left:3px solid var(--or, #c9a35a);padding-left:.75rem}.liste-failles{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.75rem}.gravite{border:1px solid;border-radius:999px;padding:.05rem .55rem;font-size:.78rem;font-weight:600}
