:root{--blue: #0e5ec7;--blue-dark: #0b4ea6;--blue-soft: #e8f2fc;--ink: #122033;--muted: #66758a;--line: #e4eaf3;--bg: #f4f7fb;--card: #ffffff;--danger: #c2413c;--ok: #157a45;--ok-soft: #e8f7ee;--warn: #9a6700;--warn-soft: #fff6df;--shadow: 0 8px 24px rgba(18, 42, 79, .05);--sidebar: 272px;--radius: 16px;color:var(--ink);font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.45}*{box-sizing:border-box}html{scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--ink);overflow-x:clip}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh;align-items:stretch}.sidebar{width:var(--sidebar);flex:0 0 var(--sidebar);background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:18px 14px 14px}.brand{padding:4px 8px 14px;border-bottom:1px solid var(--line)}.brand img{width:100%;height:auto;object-fit:contain;object-position:left center}.nav{display:flex;flex-direction:column;gap:4px;padding:16px 6px;overflow:auto}.nav-label{margin:14px 10px 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#93a0b3}.nav-label.on{color:var(--blue)}.nav a{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:10px;color:#3d4c63;font-weight:500}.nav a svg{flex:0 0 auto;color:#7d8ba0}.nav a.active{background:var(--blue-soft);color:var(--blue)}.nav a.active svg{color:var(--blue)}.sidebar-user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}.sidebar-user span:last-child,.user-chip span:last-child{min-width:0}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#1f2a3a;color:#fff;font-weight:700;flex:0 0 auto}.avatar.online{box-shadow:0 0 0 2px #fff,0 0 0 4px #31c46a}.who{display:flex;flex-direction:column;min-width:0}.who strong{font-size:13px}.who small{color:var(--muted);font-size:12px}.icon-btn{margin-left:auto;width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:#7d8ba0;display:grid;place-items:center}.menu-app,.voile-nav{display:none}.workspace{flex:1;min-width:0;max-width:100%}.topbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:16px;padding:16px 28px 8px;background:#f4f7fbeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search{flex:1;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e7edf5;border-radius:999px;padding:0 14px;min-height:44px;box-shadow:0 1px 2px #1024440a}.search svg{color:#90a0b5;flex:0 0 auto}.search input{flex:1;border:0;outline:none;background:transparent;min-width:0;padding:10px 0}.search button{border:0;background:transparent;color:var(--muted);font-size:18px;line-height:1}.top-actions{display:flex;align-items:center;gap:10px}.bell{position:relative;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:#31445f;display:grid;place-items:center}.bell i{position:absolute;top:10px;right:11px;width:8px;height:8px;border-radius:50%;background:#ef4444;border:2px solid #fff}.notif{position:absolute;top:48px;right:0;width:240px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);color:var(--muted);text-align:left}.user-chip{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;background:#fff;border:1px solid var(--line);border-radius:999px}.content{padding:12px 28px 48px}.page-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.page-head h1{margin:0;font-size:28px;letter-spacing:-.03em;font-weight:700}.page-head p{margin:4px 0 0;color:var(--muted)}.back{width:36px;height:36px;margin-top:2px;border-radius:10px;display:grid;place-items:center;color:#31445f}.back:hover{background:#fff}.title-line{display:flex;align-items:center;gap:8px}.title-line svg{color:var(--blue)}.card{background:var(--card);border:1px solid rgba(214,223,235,.9);border-radius:var(--radius);box-shadow:var(--shadow)}.stepper-card{padding:18px 22px;margin-bottom:16px}.stepper{list-style:none;display:flex;align-items:center;margin:0;padding:0;gap:0;overflow-x:auto}.stepper li{display:flex;align-items:center;flex:1;min-width:140px;color:#8b98ab}.stepper button{display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:0;min-width:0;color:inherit;font-weight:600}.stepper button:disabled{cursor:default}.bubble{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1.5px solid #d5deea;background:#fff;font-size:13px;flex:0 0 auto}.stepper .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stepper .bar{height:1.5px;background:#d7deea;flex:1;margin:0 12px;min-width:18px}.stepper li.active{color:var(--blue)}.stepper li.active .bubble,.stepper li.done .bubble{background:var(--blue);border-color:var(--blue);color:#fff}.stepper li.done{color:#3d4c63}.stepper li.done .bar,.stepper li.active .bar{background:#b9d2f5}.form-card{padding:26px 28px 20px}.form-card h2{margin:0;font-size:20px;letter-spacing:-.02em}.lede{margin:4px 0 8px;color:var(--muted)}.block{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.block h3{margin:0 0 14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#7b8798}.grid-2,.grid-3{display:grid;gap:16px 22px}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr 1fr}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field.span-2{grid-column:1/-1}.field>span,.sheet caption,.block h3{font-weight:700}.field>span{font-size:13.5px;font-weight:700;color:#1d2b3f}.field em{color:#e11d2e;font-style:normal}.field small{color:var(--muted);font-size:12px}.field input,.field select,.field textarea,.sheet input,.sheet select{width:100%;border:1px solid #e1e7f0;background:#fff;border-radius:10px;padding:10px 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field textarea{min-height:84px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.sheet input:focus,.sheet select:focus{border-color:#8eb6ee;box-shadow:0 0 0 3px #0e5ec71f}.field input[readonly]{background:#f7f9fc;color:#3d4c63}.field-error{color:var(--danger);font-size:12px;font-weight:600}.segmented{display:flex;padding:4px;background:#f4f7fb;border-radius:12px;gap:4px}.segmented button{flex:1;border:0;background:transparent;border-radius:9px;min-height:38px;font-weight:600;color:#52637a}.segmented button.on{background:#fff;color:var(--blue);box-shadow:0 1px 2px #10244414}.alert{margin-top:14px;padding:10px 12px;border-radius:10px;background:#fff4f4;color:var(--danger);font-weight:600}.avis{margin:0 0 12px;color:var(--ok);font-weight:600}.table-wrap{overflow-x:auto;max-width:100%;margin-top:4px}.barre-liste{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.recherche-liste{display:flex;align-items:center;gap:8px;min-width:min(280px,100%);flex:1;max-width:420px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted)}.recherche-liste input{width:100%;border:0;outline:none;background:transparent;min-height:38px}.filtres-liste{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:-4px 0 14px}.filtres-liste label{display:flex;flex-direction:column;gap:4px;min-width:150px;flex:1 1 150px;color:var(--muted);font-size:12px;font-weight:600}.filtres-liste select{min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:13px;font-weight:500}.barre-outils{display:flex;align-items:center;gap:8px;margin-left:auto}.icone{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--line);background:#fff;color:#3d4c63}.icone.excel{color:#157a45;background:#e8f7ee;border-color:#c9ead6}.icone.pdf{color:#c2413c;background:#fdecec;border-color:#f6d0d0}.icone:hover{filter:brightness(.97)}.points{width:34px;height:34px;border:0;border-radius:8px;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:3px}.points span{width:4px;height:4px;border-radius:50%;background:#52637a}.points:hover,.menu-actions:focus-within .points{background:#f1f5fb}.menu-pop{position:fixed;z-index:40;min-width:160px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #122a4f1f}.menu-pop button{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:8px 10px;font-weight:650}.menu-pop button:hover{background:#f4f7fb}.menu-pop button.danger{color:var(--danger)}.voile{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#12203373}.dialogue{width:min(560px,100%);max-height:min(86vh,760px);overflow:auto;background:#fff;border-radius:16px;padding:22px 22px 18px;box-shadow:0 24px 60px #122a4f33}.dialogue header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.dialogue.large{width:min(860px,100%)}.dialogue h2{margin:0;font-size:22px}.fermer{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:22px;line-height:1}.colonnes-attendues{margin:0 0 16px;color:#3d4c63}.import-ligne{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.lien-modele{border:0;background:#e8f7ee;color:#157a45;border-radius:999px;min-height:36px;padding:0 14px;font-weight:700}.depot{display:grid;place-items:center;gap:6px;min-height:180px;margin-bottom:14px;padding:20px;text-align:center;border:1.5px dashed #c5d0df;border-radius:14px;cursor:pointer;position:relative}.depot.compact{min-height:96px}.depot.glisse{border-color:var(--blue);background:var(--blue-soft)}.depot input{position:absolute;inset:0;opacity:0;cursor:pointer}.depot small{color:var(--muted)}.fleche{font-size:22px;color:#52637a}.apercu{margin-bottom:14px}.apercu p{margin:0 0 8px;color:var(--muted);font-size:13px}.apercu .alert{margin-top:0}.apercu-table{overflow-x:auto}.apercu table{width:100%;border-collapse:collapse;font-size:13px}.apercu th,.apercu td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}.apercu th.absente{color:var(--danger)}.dialogue footer,.dialogue form .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.dialogue form{display:grid;gap:12px}.th-num,.td-num{width:52px;color:var(--muted);font-variant-numeric:tabular-nums}.th-actions,.td-actions{width:72px;text-align:right}@media(max-width:980px){.barre-outils{width:100%;justify-content:flex-end}.dialogue{padding:16px}}.sheet{width:100%;min-width:760px;border-collapse:collapse}.sheet th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:8px;border-bottom:1px solid var(--line)}.sheet td{padding:6px;border-bottom:1px solid #f0f3f8;vertical-align:middle}.sheet .label-cell{font-weight:600;min-width:180px}.sheet input,.sheet select{min-height:36px;padding:7px 8px}.sheet tfoot td{font-weight:700;background:#f8fafc;border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.unit{margin:0 0 10px;color:var(--muted);font-size:12px}.wizard-actions{display:flex;align-items:center;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.wizard-actions .spacer{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:10px;border:1px solid transparent;font-weight:700}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-dark)}.btn.ghost{background:#fff;border-color:#d9e1ec;color:#24344a}.btn.ghost:hover{background:#f8fafc}.btn:disabled{opacity:.45;cursor:default}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:8px 0 18px}.repartitions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.repartition{padding:18px 18px 8px}.repartition h2{margin:0 0 12px;font-size:16px}.repartition ul{list-style:none;margin:0;padding:0}.repartition li+li{margin-top:10px}.rep-meta{display:flex;justify-content:space-between;gap:12px;font-size:13px}.rep-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rep-meta strong{font-variant-numeric:tabular-nums}.rep-barre{height:6px;margin-top:6px;border-radius:99px;background:#e8eef6;overflow:hidden}.rep-barre i{display:block;height:100%;border-radius:inherit;background:var(--blue)}.rep-vide{margin:0 0 10px;color:var(--muted);font-size:13px}.stat{padding:18px 18px 16px}.stat span{display:block;color:var(--muted);font-size:13px;font-weight:600}.stat strong{display:block;margin-top:8px;font-size:32px;letter-spacing:-.04em}.stat.montant strong{font-size:22px;letter-spacing:-.03em}.td-montant{white-space:nowrap;font-variant-numeric:tabular-nums}.stat em{display:block;margin-top:4px;color:#8b98ab;font-style:normal;font-size:12px}.panel{padding:20px 22px 10px}.panel-head,.list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.panel h2,.list-head h2{margin:0;font-size:18px}.list-card{padding:8px 8px 4px}.data{width:100%;border-collapse:collapse}.data th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px;border-bottom:1px solid var(--line)}.data td{padding:13px 12px;border-bottom:1px solid #eef2f7;vertical-align:middle}.data tbody tr{cursor:pointer}.data tbody tr:hover{background:#f7faff}.data a{color:var(--blue);font-weight:700}.pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 8px 10px}.pager p{margin:0 auto 0 4px;color:var(--muted);font-size:13px;font-weight:600}.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:700;background:var(--blue-soft);color:var(--blue)}.badge.selection{background:var(--warn-soft);color:var(--warn)}.badge.terminee{background:var(--ok-soft);color:var(--ok)}.badge.brouillon{background:#f1f4f8;color:#52637a}.empty{padding:42px 20px;text-align:center}.empty h2{margin:0 0 6px}.empty p{margin:0 auto 16px;max-width:460px;color:var(--muted)}.recap.detail{margin-top:8px}.recap.detail>.card{padding:18px 20px}.recap.detail .wide{grid-column:1/-1}.page-head .btn{margin-left:auto;align-self:center}.recap{display:grid;grid-template-columns:1fr 1fr;gap:14px}.recap section{border:1px solid var(--line);border-radius:12px;padding:14px 14px 6px;background:#fbfcfe}.recap h3{margin:0 0 8px;text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink)}.recap dl{margin:0}.recap dl div{display:grid;grid-template-columns:140px 1fr;gap:8px;padding:7px 0;border-top:1px solid #eef2f7}.recap dt{color:var(--muted)}.recap dd{margin:0;font-weight:600}.recap .wide{grid-column:1/-1}.recap ul{margin:0;padding-left:18px}.recap li+li{margin-top:4px}.static{padding:24px 26px;max-width:760px}.static p{color:#3d4c63}.static ul{color:#3d4c63;padding-left:18px}.config{display:grid;grid-template-columns:240px 1fr;gap:16px;align-items:start}.config-nav{display:flex;flex-direction:column;gap:4px;padding:10px}.config-nav button{text-align:left;border:0;border-radius:8px;background:transparent;padding:10px 12px;font-weight:700;cursor:pointer}.config-nav button.on{background:var(--blue-soft);color:var(--blue)}.config-panel{padding:22px 24px 16px}.config-panel h2{margin:0 0 4px;font-size:20px}.config-panel h3{margin:22px 0 10px;font-size:16px}.config-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;margin:16px 0}.config-form .btn{min-height:42px}.field.check{justify-content:flex-end}.field.check input{width:18px;height:18px}.data tr.on{background:#f3f7ff}.row-actions{white-space:nowrap}.row-actions button{border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer;padding:0 8px 0 0}.login{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:var(--bg)}.login-card{width:min(420px,100%);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 28px 28px}.login-card img{display:block;width:100%;height:auto;margin:0 auto 8px;object-fit:contain}.login-card h1{margin:18px 0 16px;font-size:22px;text-align:center}.login-card form{display:flex;flex-direction:column;gap:14px}.login-card .btn{width:100%;justify-content:center}@media(max-width:980px){body:has(.menu-ouvert){overflow:hidden}.shell{display:block}.menu-app{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;order:1;border:1px solid var(--line);border-radius:12px;background:#fff;color:#31445f}.voile-nav{display:block;position:fixed;inset:0;z-index:30;border:0;padding:0;background:#12203373}.sidebar{position:fixed;z-index:31;top:0;left:0;width:min(300px,86vw);height:100vh;height:100dvh;flex-basis:auto;transform:translate(-105%);visibility:hidden;transition:transform .2s ease;padding-bottom:max(14px,env(safe-area-inset-bottom))}.sidebar.ouvert{transform:none;visibility:visible;box-shadow:0 16px 40px #122a4f2e}.topbar{flex-wrap:wrap;gap:10px;padding:max(12px,env(safe-area-inset-top)) 16px 8px}.topbar .search{order:3;flex:1 1 100%}.top-actions{order:2;margin-left:auto}.deconnexion,.user-chip .who{display:none}.user-chip{padding-right:6px}.content{padding:8px 16px max(32px,env(safe-area-inset-bottom))}.page-head{align-items:flex-start}.page-head h1{font-size:22px}.page-head p{font-size:13px}.title-line{flex-wrap:wrap}.grid-2,.grid-3,.recap,.config,.config-form{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr;gap:10px}.repartitions{grid-template-columns:1fr}.stat{padding:14px}.stat strong{font-size:26px}.config-nav{flex-direction:row;overflow-x:auto;gap:6px;padding:8px}.config-nav button{flex:0 0 auto;white-space:nowrap;min-height:44px}.config-panel,.form-card,.panel,.stepper-card{padding:16px}.list-card{padding:8px}.field input,.field select,.segmented button,.btn{min-height:44px}.field textarea{min-height:96px}.dialogue,.dialogue.large{width:min(100%,100vw - 24px)}.dialogue footer,.dialogue form .actions{flex-wrap:wrap}.dialogue footer .btn,.dialogue form .actions .btn{flex:1 1 140px}.stepper li{min-width:0;flex:0 0 auto}.stepper .label{max-width:72px}.wizard-actions{flex-direction:column;align-items:stretch}.wizard-actions .spacer{display:none}.wizard-actions .btn{width:100%}.pager{flex-wrap:wrap}.notif{width:min(240px,100vw - 32px)}}
