:root{color-scheme:light;--nav:#102638;--nav-text:#bdcdd7;--ink:#172c3a;--muted:#536a78;--bg:#f1f6f6;--line:#dce7e9;--green:#006c5a;--mint:#e0f4ec;--white:#fff;font-family:Rubik,"Segoe UI",Tahoma,Arial,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;font-size:15px}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{outline-offset:4px}
a{color:var(--green)}
button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);padding:.66rem .92rem;border-radius:9px;font-weight:650}
button:hover{background:#f1f8f5}
button:disabled{opacity:.45;cursor:default}
.primary,.primary:hover{background:var(--green);border-color:var(--green);color:white}
.primary:hover{background:#005548}
.sidebar{position:fixed;inset:0 0 0 auto;width:238px;background:var(--nav);color:white;padding:25px 15px 18px;display:flex;flex-direction:column;z-index:4}
.brand{display:flex;align-items:center;gap:12px;padding:2px 8px 26px;color:white;text-decoration:none}
.logo,.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#72e8bc;color:var(--nav);font-size:23px;font-weight:900;flex:none}
.brand strong{font-size:19px}.brand small,.profile small{color:var(--nav-text);display:block;margin-top:5px;font-size:12px}
nav{display:grid;gap:5px}
nav a{color:var(--nav-text);text-decoration:none;padding:12px 12px;display:flex;align-items:center;gap:13px;border-radius:9px}
nav a:hover,nav a[aria-current=page]{background:#1d4050;color:#8cf0cb}
.icon{width:19px;height:19px;flex:none;vertical-align:middle}
.profile{margin-top:auto;padding:14px 6px 0;border-top:1px solid #345060;display:flex;gap:10px;align-items:center}
.profile .avatar{height:35px;width:35px;font-size:17px;background:#274b55;color:#9cf1cf}
.profile a{margin-inline-start:auto;color:white;text-decoration:none;padding:6px}
.workspace{margin-inline-start:238px;min-height:100vh}
header{display:flex;align-items:center;gap:12px;min-height:72px;padding:12px 29px;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3}
.crumb{margin-inline-end:auto;color:var(--muted)}.crumb b{color:var(--ink)}.crumb span{margin:0 6px}
.currency{padding:.4rem .65rem;border-radius:7px;background:var(--mint);color:var(--green);font-weight:700}
.mobile{display:none}
main{padding:28px clamp(16px,3vw,44px) 48px;max-width:1500px;margin:auto}
h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-.025em}h2{font-size:20px}h3{font-size:17px}
.title{margin-bottom:24px;display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}.title p,.hint,.subtext{color:var(--muted);line-height:1.65}.title p{margin-top:6px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.metric,.panel{background:white;border:1px solid var(--line);border-radius:13px;min-width:0}
.metric{padding:16px}.metric .icon{color:var(--green);box-sizing:content-box;padding:8px;border-radius:9px;background:var(--mint)}.metric span,.metric strong{display:block}.metric span{color:var(--muted);margin-top:12px;font-size:14px}.metric strong{font-size:27px;margin-top:7px}
.panel{margin-bottom:16px;overflow:hidden}.panel-title{padding:17px 18px;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px;align-items:center}.toolbar label{font-size:13px;color:var(--muted)}
.table-wrap{overflow:auto}
table{border-collapse:collapse;width:100%;text-align:start;white-space:nowrap}
th,td{text-align:start;padding:13px 16px;border-bottom:1px solid #e9eff0}
th{color:var(--muted);font-size:13px;background:#f7fafb}tbody tr:last-child td{border-bottom:0}
td small{display:block;color:var(--muted);margin-top:4px}
td button{padding:.4rem .58rem;font-size:13px}
.badge{display:inline-block;font-size:12px;font-weight:700;border-radius:40px;padding:.38rem .65rem;background:#edf2f4;color:#46606d}
.badge.green{background:var(--mint);color:var(--green)}.badge.amber{background:#fff1d5;color:#805600}
.empty{padding:25px;color:var(--muted);text-align:center;line-height:1.6}
.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.pad{padding:18px}.list{margin:9px 0 0;padding-inline-start:18px;line-height:1.9}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.field{display:grid;gap:6px;align-content:start;color:#415767;font-size:14px}
.wide{grid-column:1/-1}
input,select,textarea{border:1px solid #bccdd2;border-radius:8px;padding:9px 10px;color:var(--ink);background:#fff;max-width:100%;min-width:0}
textarea{resize:vertical;min-height:76px}
input[type=checkbox]{accent-color:var(--green)}
.check{display:flex;gap:8px;align-items:center}
.preview{padding:11px 13px;background:#edf7f4;color:var(--green);border-radius:8px;min-height:40px}
form .actions{margin-top:16px}fieldset{margin:12px 0 0;border:1px solid var(--line);border-radius:10px;padding:12px;min-width:0}
dialog{border:1px solid var(--line);border-radius:15px;padding:0;width:min(650px,calc(100% - 24px));max-height:90dvh;color:var(--ink);box-shadow:0 24px 70px #0e263548}
dialog::backdrop{background:#102638a0}
.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:16px 19px;border-bottom:1px solid var(--line);gap:10px}.dialog-head button{padding:.35rem .6rem}
.dialog-body{padding:18px 19px}.error{color:#9d2929;margin:10px 0}.error:empty{display:none}
#toast{display:none;position:fixed;z-index:10;inset:auto auto 20px 20px;border-radius:10px;padding:13px 18px;background:var(--nav);color:white;max-width:80vw}
#toast.show{display:block}
@media(max-width:1080px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sidebar{transform:translateX(100%);transition:transform .18s}.sidebar.open{transform:none;box-shadow:-12px 0 34px #10263833}.workspace{margin-inline-start:0}.mobile{display:inline-block}.crumb{display:none}header{padding:10px 14px;min-height:60px}.currency{margin-inline-start:auto}.two{grid-template-columns:1fr}main{padding-top:20px}h1{font-size:27px}}
@media(max-width:480px){.fields{grid-template-columns:1fr}.metric strong{font-size:22px}.metric{padding:12px}}

[dir=ltr] .sidebar{inset:0 auto 0 0}
[dir=ltr] #toast{inset:auto 20px 20px auto}
#language{padding:7px 5px;font-size:13px}
@media(max-width:760px){[dir=ltr] .sidebar{transform:translateX(-100%)}[dir=ltr] .sidebar.open{transform:none}}
@media(max-width:410px){header{gap:6px;padding-inline:8px}header .primary{padding-inline:7px;font-size:13px}.currency{display:none}}
.auth{max-width:530px;padding-top:min(14vh,120px)}
.auth h1{margin-bottom:12px}
.auth p[lang=fr]{text-align:start;color:var(--muted)}
