/* ===== SaaS d'administration — charte Audacis (navy / or / crème, DM Sans + Playfair Display) ===== */
body.is-admin .site-header,body.is-admin .site-footer,body.is-admin .skip-link{display:none!important}
body.is-admin{background:var(--cream)}
body.is-admin #contenu{outline:none}
#adm-root{--surface:#fff;--surface-2:#f1efe8;--fg:var(--text);--gold-2:var(--gold);--gold-soft:#f6eedc;--ok:#2f7a55;--err:#b23434;--radius:3px;--font-display:var(--font);--font-body:var(--font);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.55;background:var(--cream);min-height:100vh}
#adm-root *{box-sizing:border-box}
#adm-root h2,#adm-root h3{font-family:var(--serif);font-weight:400;color:var(--navy);letter-spacing:-.02em;max-width:none;line-height:1.2}
#adm-root h2{font-size:1.7rem}
#adm-root h3{font-size:1.15rem}
#adm-root p{margin:0}
#adm-root a{color:inherit}
#adm-root .ic{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#adm-root .eyebrow{display:block;font-size:.66rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);margin:0 0 6px}
/* boutons (repris de .button du site) */
#adm-root .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:10px 18px;border-radius:3px;border:1px solid transparent;font:600 .8rem/1.3 var(--font);cursor:pointer;text-decoration:none;transition:background .18s,transform .18s,border-color .18s;text-align:center}
#adm-root .btn:hover{transform:translateY(-1px)}
#adm-root .btn-gold{background:var(--gold-bright);color:var(--navy-deep)}
#adm-root .btn-gold:hover{background:#e0bc73}
#adm-root .btn-navy{background:var(--navy);color:#fff}
#adm-root .btn-navy:hover{background:#153e59}
#adm-root .btn-ghost{background:transparent;color:var(--navy);border-color:#bfc7cb}
#adm-root .btn-ghost:hover{border-color:var(--gold)}
#adm-root .btn-sm{min-height:36px;padding:8px 14px;font-size:.78rem}
#adm-root .btn-xs{min-height:28px;padding:5px 10px;font-size:.72rem}
#adm-root .card{background:#fff;border:1px solid var(--line);border-radius:3px;padding:22px;box-shadow:var(--shadow);min-width:0;display:flex;flex-direction:column;gap:12px}
#adm-root .icon-pill{width:46px;height:46px;border-radius:3px;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold)}
#adm-root .tag{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:2px;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--gold-soft);color:#8a6420}
#adm-root .tag-navy{background:#e7ecef;color:var(--navy)}
#adm-root .num,#adm-root td.num{font-family:var(--font);font-variant-numeric:tabular-nums}
/* formulaires */
#adm-root .field{display:flex;flex-direction:column;gap:6px;min-width:0}
#adm-root .field label{font-size:.74rem;font-weight:600;color:var(--navy);letter-spacing:.02em}
#adm-root input:not([type=checkbox]):not([type=radio]),#adm-root select,#adm-root textarea{width:100%;padding:10px 12px;border:1px solid #cfd6d9;border-radius:3px;background:#fff;color:var(--navy);font:inherit;font-size:.88rem}
#adm-root input:focus,#adm-root select:focus,#adm-root textarea:focus{outline:2px solid var(--gold-bright);outline-offset:1px;border-color:var(--gold)}
#adm-root textarea{min-height:90px;resize:vertical}
#adm-root .form-g{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){#adm-root .form-g{grid-template-columns:1fr}}
#adm-root .hint-box{border-radius:3px;padding:12px 14px;font-size:.86rem;display:flex;gap:10px;align-items:flex-start;margin-top:12px;border-left:3px solid currentColor}
#adm-root .hint-box.ok{background:#e6f1eb;color:#22603f}
#adm-root .hint-box.warn{background:#f8ecdc;color:#8a4d0b}
#adm-root .hint-box.info{background:var(--gold-soft);color:#6e4f12}
#adm-root .hint-box .ic{width:18px;height:18px}
/* tableaux */
#adm-root table{width:100%;border-collapse:collapse}
#adm-root th{text-align:left;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);background:var(--cream)}
#adm-root td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:.86rem}
#adm-root .atbl{overflow-x:auto;-webkit-overflow-scrolling:touch}
#adm-root .atbl table{min-width:640px}
#adm-root .atbl tr:hover td{background:#fbfaf7}
#adm-root .acts{display:flex;gap:6px;flex-wrap:wrap}
#adm-root .kv{display:grid;grid-template-columns:160px 1fr;gap:6px 14px;font-size:.88rem}
#adm-root .kv dt{color:var(--muted);font-weight:600}
#adm-root .kv dd{margin:0}
/* verrou */
#adm-root .adm-lock{min-height:100vh;display:grid;place-items:center;padding:30px 16px;background:linear-gradient(180deg,var(--cream),#fff)}
#adm-root .lockbox{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold-bright);border-radius:3px;box-shadow:0 30px 60px #09283e1a;padding:32px 28px;width:100%;max-width:350px;text-align:center}
#adm-root .lockbox h2{font-size:1.5rem!important}
#adm-root .lockbox .dots4{display:flex;gap:12px;justify-content:center;margin:20px 0}
#adm-root .lockbox .dots4 i{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--navy);transition:.15s}
#adm-root .lockbox .dots4 i.f{background:var(--navy)}
#adm-root .lockbox .dots4.err{animation:admshake .35s}
@keyframes admshake{25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
#adm-root .keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
#adm-root .keypad button{height:56px;border-radius:3px;border:1px solid var(--line);background:var(--cream);font:500 1.25rem var(--font);color:var(--navy);cursor:pointer}
#adm-root .keypad button:hover{border-color:var(--gold)}
#adm-root .keypad button:active{background:var(--gold-soft)}
/* coque */
#adm-root .adm{display:grid;grid-template-columns:262px 1fr;min-height:100vh}
#adm-root .adm-side{background:var(--navy);color:#fff;padding:18px 12px;position:sticky;top:0;height:100vh;overflow-y:auto}
#adm-root .adm-side .brand-a{display:flex;align-items:center;gap:12px;padding:6px 10px 18px;border-bottom:1px solid #ffffff1f;margin-bottom:12px}
#adm-root .adm-side .brand-a img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:3px;padding:3px;filter:none}
#adm-root .adm-side .brand-a span{font:400 1.05rem var(--serif);letter-spacing:.02em;text-transform:none;color:#fff}
#adm-root .adm-side .brand-a span small{display:block;font:700 .58rem var(--font);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-bright)}
#adm-root .adm-side button,#adm-root .adm-side a{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;color:#ffffffd0;padding:9px 12px;border-radius:3px;font:500 .84rem var(--font);cursor:pointer;text-decoration:none}
#adm-root .adm-side button .ic,#adm-root .adm-side a .ic{width:18px;height:18px;color:var(--gold-bright)}
#adm-root .adm-side button:hover,#adm-root .adm-side a:hover{background:#ffffff12;color:#fff}
#adm-root .adm-side button[aria-current="true"]{background:var(--gold-bright);color:var(--navy-deep)}
#adm-root .adm-side button[aria-current="true"] .ic{color:var(--navy-deep)}
#adm-root .adm-side .bc{margin-left:auto;background:#c0463f;color:#fff;border-radius:999px;font-size:.66rem;padding:1px 7px;font-weight:700}
#adm-root .adm-main{padding:28px clamp(14px,3vw,38px) 60px;min-width:0}
#adm-root .adm-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
#adm-root .adm-top h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}
#adm-root .adm-burger{display:none}
@media(max-width:980px){
 #adm-root .adm{grid-template-columns:1fr}
 #adm-root .adm-side{position:fixed;inset:0 auto 0 0;width:280px;z-index:200;transform:translateX(-105%);transition:transform .25s;height:100%}
 #adm-root .adm-side.open{transform:none;box-shadow:20px 0 60px #0000004d}
 #adm-root .adm-burger{display:inline-flex}
}
#adm-root .adm-scrim{display:none;position:fixed;inset:0;background:#061f3180;z-index:150}
#adm-root .adm-scrim.on{display:block}
/* KPI & panneaux */
#adm-root .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:18px}
#adm-root .kpis .k{background:#fff;border-radius:3px;padding:16px 18px;border:1px solid var(--line);border-top:2px solid var(--gold-bright)}
#adm-root .kpis .k span{font-size:.66rem;color:var(--muted);font-weight:700;letter-spacing:.12em;text-transform:uppercase;display:block}
#adm-root .kpis .k b{font:400 2rem/1.2 var(--serif);color:var(--navy);font-variant-numeric:tabular-nums;display:block;margin-top:4px}
#adm-root .kpis .k small{display:block;font-size:.74rem;color:var(--ok);font-weight:600}
#adm-root .kpis .k small.down{color:var(--err)}
#adm-root .panel{background:#fff;border-radius:3px;border:1px solid var(--line);padding:22px;margin-bottom:18px;min-width:0;box-shadow:var(--shadow)}
#adm-root .panel h3{display:flex;gap:9px;align-items:center;margin-bottom:12px}
#adm-root .panel h3 .ic{color:var(--gold)}
#adm-root .panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
#adm-root .panel-head h3{margin:0}
#adm-root .st{display:inline-flex;padding:3px 9px;border-radius:2px;font:700 .66rem var(--font);letter-spacing:.04em;white-space:nowrap}
#adm-root .st.g{background:#e6f1eb;color:#22603f}#adm-root .st.o{background:#f8ecdc;color:#975a12}#adm-root .st.r{background:#f7e2e0;color:#a2372f}#adm-root .st.b{background:#e3eaf0;color:var(--navy)}#adm-root .st.n{background:#efeee9;color:#5d6a74}
#adm-root .two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#adm-root .three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:1100px){#adm-root .three-col{grid-template-columns:1fr 1fr}}
@media(max-width:760px){#adm-root .two-col,#adm-root .three-col{grid-template-columns:1fr}}
#adm-root .bar-row{display:grid;grid-template-columns:150px 1fr 60px;gap:10px;align-items:center;font-size:.84rem;margin:7px 0}
#adm-root .bar-row .bt{height:8px;border-radius:2px;background:#ecebe6;overflow:hidden}
#adm-root .bar-row .bt i{display:block;height:100%;background:var(--navy)}
#adm-root .bar-row .bt i.gold{background:var(--gold-bright)}
@media(max-width:520px){#adm-root .bar-row{grid-template-columns:100px 1fr 46px}}
#adm-root .gauge{height:10px;border-radius:2px;background:#ecebe6;overflow:hidden}
#adm-root .gauge i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-bright),var(--ok));transition:width .6s}
#adm-root .ai-out{background:#fbf7ee;border:1px solid #eadcbc;border-left:3px solid var(--gold-bright);border-radius:3px;padding:16px;font-size:.88rem;white-space:pre-wrap;margin-top:12px;max-height:420px;overflow:auto}
#adm-root .ai-out:empty{display:none}
#adm-root .ai-badge,.amodal .ai-badge{display:inline-flex;gap:6px;align-items:center;background:var(--navy);color:var(--gold-bright);border-radius:2px;padding:3px 9px;font:700 .62rem var(--font);letter-spacing:.12em;text-transform:uppercase}
#adm-root .ai-badge .ic{width:13px;height:13px}
#adm-root .alist{display:flex;flex-direction:column;gap:8px}
#adm-root .alist .it{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:3px;background:#fff}
#adm-root .alist .it .ic{color:var(--gold)}
#adm-root .alist .it .grow{flex:1;min-width:0}
#adm-root .alist .it small{color:var(--muted);display:block}
#adm-root .amodal{position:fixed;inset:0;background:#061f318c;display:none;align-items:center;justify-content:center;padding:16px;z-index:300}
#adm-root .amodal.open{display:flex}
#adm-root .amodal .box{background:#fff;border-radius:3px;border-top:3px solid var(--gold-bright);max-width:720px;width:100%;max-height:90vh;overflow:auto;padding:26px}
#adm-root .amodal .box h3{margin-bottom:14px;font-size:1.4rem}
#adm-root .qi{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line);font-size:.86rem}
#adm-root .qi:last-child{border:0}
#adm-root .qi b{font-family:var(--serif);font-weight:400;font-size:1.05rem;color:var(--navy)}
#adm-root .qi select{width:auto;padding:6px 8px;font-size:.8rem}
@media(max-width:560px){#adm-root .qi{grid-template-columns:44px 1fr}#adm-root .qi select{grid-column:2}}
#adm-root .toggle{position:relative;width:44px;height:24px;flex:none;display:inline-block}
#adm-root .toggle input{opacity:0;width:0;height:0}
#adm-root .toggle span{position:absolute;inset:0;border-radius:999px;background:#cbd2d5;transition:.2s;cursor:pointer}
#adm-root .toggle span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}
#adm-root .toggle input:checked+span{background:var(--navy)}
#adm-root .toggle input:checked+span::before{transform:translateX(20px);background:var(--gold-bright)}
#adm-root .cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:.74rem}
#adm-root .cal div{min-height:54px;border-radius:2px;background:var(--cream);padding:4px}
#adm-root .cal .h{min-height:0;background:none;text-align:center;font-weight:700;color:var(--muted)}
#adm-root .cal .ev{display:block;background:var(--navy);color:#fff;border-radius:2px;padding:1px 4px;margin-top:2px;font-size:.66rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#adm-root .cal .ev.g{background:var(--gold)}
#adm-root .drop{border:1.5px dashed #bfc7cb;border-radius:3px;padding:26px;text-align:center;color:var(--muted)}
#adm-root .drop.over{border-color:var(--gold);background:var(--gold-soft)}
#adm-root input,#adm-root select,#adm-root textarea,#adm-root button{font-size:16px}
@media(min-width:700px){#adm-root input,#adm-root select,#adm-root textarea{font-size:.88rem!important}}
