:root{--orange: #B4470F;--orange-d: #963A0B;--orange-txt: #8F3709;--orange-bg: #FBEDE5;--orange-soft: #FFFBF8;--ink: #1F2328;--ink2: #2B3038;--muted: #5B6370;--line: #E3E5E9;--line2: #EEF0F2;--bg: #F6F7F9;--card: #FFFFFF}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:14px}a{color:#a8420d}a:hover{color:#7e3009}h1,h2{font-family:Montserrat,sans-serif;margin:0}h1{font-size:24px}h2{font-size:16px}.muted{color:var(--muted)}.small{font-size:13px}.top{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 24px;background:#fff;border-bottom:1px solid var(--line)}.brand{font-family:Montserrat,sans-serif;font-size:22px;font-weight:700;color:#5b5f66;text-decoration:none}.brand span{color:var(--orange)}.brand b{color:var(--ink);font-size:16px;margin-left:8px}.spacer{flex:1 1 20px}.user{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--orange-bg);color:var(--orange-txt);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.shell{display:flex;flex-wrap:wrap;min-height:calc(100vh - 61px)}.nav{flex:1 1 220px;max-width:260px;min-width:200px;background:#fff;border-right:1px solid var(--line);padding:20px 12px;display:flex;flex-direction:column;gap:4px}.nav a{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 12px;border-radius:8px;color:var(--ink2);text-decoration:none;font-weight:500}.nav a:hover{background:var(--bg)}.nav a.active{background:var(--orange-bg);color:var(--orange-txt);font-weight:600}.badge{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--orange);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.main{flex:999 1 560px;min-width:0;padding:28px 32px 48px;display:flex;flex-direction:column;gap:20px}@media (max-width: 700px){.nav{max-width:none;border-right:0;border-bottom:1px solid var(--line)}.main{padding:20px 16px 40px}}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.between{justify-content:space-between}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.cols{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.col-main{flex:2 1 560px;min-width:0;display:flex;flex-direction:column;gap:20px}.col-side{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:16px}.kpi .label{font-size:13px;color:var(--muted);font-weight:500}.kpi .value{font-family:Montserrat,sans-serif;font-size:28px;font-weight:700;margin-top:8px;font-variant-numeric:tabular-nums}.kpi .sub{font-size:12px;color:var(--muted);margin-top:4px}.lbl{display:block;font-size:12px;font-weight:600;color:#4a505a;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.in{width:100%;height:42px;border:1px solid #CDD1D7;border-radius:8px;padding:0 12px;font:inherit;color:var(--ink);background:#fff}.in:focus{outline:2px solid #E9B08C;border-color:var(--orange)}textarea.in{height:84px;padding:10px 12px;resize:vertical}.in[readonly]{background:var(--bg);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:8px;font:inherit;font-weight:600;cursor:pointer;border:1px solid transparent;text-decoration:none}.btn:disabled{opacity:.55;cursor:wait}.btn-p{background:var(--orange);color:#fff}.btn-p:hover{background:var(--orange-d);color:#fff}.btn-g{background:#fff;color:var(--ink);border-color:#cdd1d7}.btn-g:hover{background:#f1f2f4;color:var(--ink)}.btn-ok{background:#0e6248;color:#fff}.btn-ok:hover{background:#0a4d38}.btn-ko{background:#fff;color:#9e1f17;border-color:#e9b3ae}.btn-ko:hover{background:#fbe3e1}.btn-sm{min-height:36px;padding:0 12px;font-size:13px}.lnk{background:none;border:0;padding:0;font:inherit;font-weight:600;color:#a8420d;cursor:pointer;text-align:left;text-decoration:none}.lnk:hover{text-decoration:underline}.chip{min-height:36px;padding:0 14px;border-radius:999px;font:inherit;font-size:13px;cursor:pointer;background:#fff;color:var(--ink2);border:1px solid #CDD1D7}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}.tblw{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-weight:600;color:#4a505a;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap;background:#fafbfc}.tbl td{padding:12px 14px;border-bottom:1px solid var(--line2);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl .in{height:38px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.s-brouillon{background:#ecedef;color:#3f4550}.s-attente{background:#fff1d1;color:#7a4f00}.s-validee{background:#ddeffa;color:#0b5a80}.s-refusee{background:#fbe3e1;color:#9e1f17}.s-commandee{background:#e6e9fa;color:#2f3f9e}.s-recue{background:#ddf2ea;color:#0e6248}.p-orange{background:var(--orange-bg);color:var(--orange-txt)}.p-green{background:#ddf2ea;color:#0e6248}.alert{padding:12px 16px;border-radius:10px;font-weight:500}.alert-err{background:#fbe3e1;color:#7f1912}.alert-ok{background:#ddf2ea;color:#0a4d38}.alert-warn{background:#fff1d1;color:#6b4500}.quote{border:1px solid var(--line);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px}.quote.preco{border-color:var(--orange);background:var(--orange-soft)}.msg{padding:10px 12px;border-radius:10px;background:var(--bg)}.msg.val{background:var(--orange-bg)}.msg .who{font-size:12px;font-weight:600;color:#4a505a}.msg .txt{margin-top:4px;white-space:pre-line}.tl{display:flex;gap:12px;padding:8px 0}.tl .dot{width:10px;height:10px;margin-top:5px;flex:0 0 10px;border-radius:50%;background:#8a919c}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login .card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px}
