@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.0mrjj4bg00-he.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.3ms9vq719j3f8.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__iaM1Ya__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__iaM1Ya__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#08090a;--surface:#0e0f12;--surface-2:#15171b;--sunken:#050607;--border-subtle:#ffffff12;--border-strong:#ffffff2e;--gauge-track:#22252a;--text:#f5f6f7;--text-2:#a1a5ab;--text-3:#8f959d;--text-4:#7c828b;--accent:#0062ff;--accent-fg:#a8c7ff;--accent-bg:#0062ff24;--primary-hover:#dfe2e4;--success:#38d67a;--warn:#d6a138;--warn-bg:#d6a13824;--danger:#ec5d5e;--danger-bg:#ec5d5e24;--danger-bg-strong:#ec5d5e38;--mono:var(--font-geist-mono), ui-monospace, "SF Mono", Menlo, monospace;--sans:var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-base:14px;--text-lg:15px;--text-h1:28px;--text-h2:18px;--text-panel-head:16px;--text-stat:22px;--space-1:4px;--space-2:6px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:24px;--space-7:32px;--space-8:64px;--pad-cell:9px 12px;--pad-control:4px 10px;--pad-field:6px 10px;--pad-box:12px 14px;--pad-callout:10px 14px;--radius-card:12px;--radius-well:8px;--radius:6px;--radius-control:4px;--radius-check:2px;--radius-full:9999px;--glass:#15171bb8;--glass-hover:#ffffff12;--shadow-float:0 18px 44px -14px #000000b8, 0 6px 16px -6px #00000080;--lip:inset 0 1px #ffffff0d;--h-topbar:48px;--w-rail:48px;--w-panel:256px;--page-max:1200px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;padding:0;line-height:1.55}a{color:inherit;text-decoration:none}.link{text-underline-offset:2px;text-decoration:underline}.link:hover{color:var(--text)}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}button,input,textarea{font:inherit;color:inherit}button{background:0 0;border:0}::placeholder{color:var(--text-4)}::selection{color:var(--text);background:#0062ff4d}code,kbd,.mono{font-family:var(--mono);font-size:.92em}kbd{border:1px solid var(--border-strong);color:var(--text-2);padding:1px 5px}h1,h2,h3{margin:0;font-weight:600}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-md)}.shell{grid-template-rows:var(--h-topbar) 1fr;height:100dvh;display:grid}.shell-body{grid-template-columns:var(--w-rail) auto 1fr;min-height:0;display:grid;position:relative}.shell-body:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,#ffffff07 1px,#0000 0),linear-gradient(#ffffff07 1px,#0000 0);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 0,#000 20%,#0000 78%);mask-image:radial-gradient(70% 60% at 50% 0,#000 20%,#0000 78%)}.shell-body:has(.page[data-width=full]):before{display:none}.topbar{align-items:center;gap:var(--space-3);padding:0 var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex}.topbar-brand{align-items:center;gap:var(--space-3);letter-spacing:-.02em;font-weight:600;display:flex}.topbar-mark{color:var(--text);align-items:center;display:flex}.topbar-mark svg{width:auto;height:13px;display:block}.topbar-sep{color:var(--border-strong);font-size:var(--text-lg)}.topbar-picker{align-items:center;gap:var(--space-2);padding:3px var(--space-3);border-radius:var(--radius);color:var(--text);cursor:pointer;font-size:var(--text-base);background:0 0;border:1px solid #0000;display:flex}.topbar-picker:hover{background:var(--surface);border-color:var(--border-strong)}.topbar-picker svg{color:var(--text-3)}.overlay{z-index:10;position:fixed;inset:0}.topbar-picker-wrap{position:relative}.topbar-menu{z-index:20;min-width:260px;position:absolute;top:calc(100% + 6px);left:0}.topbar-menu-item{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius-well);color:var(--text-2);display:flex}.topbar-menu-item:hover{background:var(--surface-2);color:var(--text)}.topbar-menu-item[data-active=true]{color:var(--text)}.rail{z-index:15;width:var(--w-rail);padding:var(--space-3);align-items:stretch;gap:var(--space-1);background:var(--bg);flex-direction:column;transition:width .12s;display:flex;position:absolute;top:0;bottom:0;left:0;overflow:hidden}.rail:hover{border-right:1px solid var(--border-subtle);width:208px}.rail:has(:focus-visible){border-right:1px solid var(--border-subtle);width:208px}@media (prefers-reduced-motion:reduce){.rail{transition:none}}.rail-link{align-items:center;gap:var(--space-3);height:32px;padding:0 var(--space-3);border-radius:var(--radius);color:var(--text-4);white-space:nowrap;display:flex;overflow:hidden}.rail-link svg{flex:none}.rail-label{opacity:0;transition:opacity .12s}.rail:hover .rail-label{opacity:1}.rail:has(:focus-visible) .rail-label{opacity:1}@media (prefers-reduced-motion:reduce){.rail-label{transition:none}}.rail-link:hover,.rail-link[data-active=true]{background:var(--surface-2);color:var(--text)}.rail-sep{background:var(--border-subtle);height:1px;margin:var(--space-2) 0;flex:none}.rail-foot{margin-top:auto}.panel{width:var(--w-panel);border-right:1px solid var(--border-subtle);flex-direction:column;grid-column:2;min-height:0;display:flex;overflow-y:auto}.panel-head{height:var(--h-topbar);justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-6);border-bottom:1px solid var(--border-subtle);font-size:var(--text-md);flex:none;display:flex}.panel-title{font-size:var(--text-panel-head);margin:0;font-weight:600}.panel-group{padding:var(--space-4) 0;border-bottom:1px solid var(--border-subtle)}.panel-group:last-child{border-bottom:none}.panel-label{padding:0 var(--space-6) var(--space-2);font-family:var(--mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}.panel-body{padding:var(--space-4) var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.panel-link{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-6);color:var(--text-2);font-size:var(--text-base);display:flex}.panel-link:hover{background:var(--surface);color:var(--text)}.panel-link[data-active=true]{background:var(--surface-2);color:var(--text);font-weight:500}.panel-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-6);color:var(--text-2);font-size:var(--text-md);border-left:2px solid #0000;display:flex}.panel-item:hover{background:var(--surface);color:var(--text)}.panel-item[data-active=true]{background:var(--surface-2);border-left-color:var(--text);color:var(--text)}.panel .code-block{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-xs)}.panel-empty{margin:var(--space-4) var(--space-5);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-card);color:var(--text-3);font-size:var(--text-md);text-align:center}.main{background-image:radial-gradient(52% 44% at 50% 0, color-mix(in srgb, var(--accent) 11%, transparent) 0, color-mix(in srgb, var(--accent) 4%, transparent) 42%, transparent 72%);background-repeat:no-repeat;grid-column:3;min-width:0;overflow-y:auto}.main:has(.page[data-width=full]){background-image:none}.page{padding:28px var(--space-7) var(--space-8);max-width:var(--page-max);margin:0 auto}.page[data-width=wide]{max-width:none;padding:var(--space-6) 71px var(--space-8)}.page[data-width=full]{max-width:none;height:100%;padding:0}.te{grid-template-rows:48px 48px auto minmax(0,1fr) 40px;height:100%;display:grid}.te-tabs{border-bottom:1px solid var(--border-subtle);grid-row:1;align-items:stretch;display:flex;overflow-x:auto}.te-tab{align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-right:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-3);white-space:nowrap;font-weight:300;display:flex}.te-tab[data-active=true]{background:var(--surface);color:var(--text)}.te-tab-close{border-radius:var(--radius-check);width:16px;height:16px;color:var(--text-4);flex:none;justify-content:center;align-items:center;display:flex}.te-tab-close:hover{background:var(--surface-2);color:var(--text)}.te-add{align-items:stretch;display:flex;position:relative}.te-add>summary{cursor:pointer;width:36px;color:var(--text-3);justify-content:center;align-items:center;list-style:none;display:flex}.te-add>summary::-webkit-details-marker{display:none}.te-add>summary:hover{color:var(--text)}.te-add-menu{z-index:20;min-width:220px;max-height:320px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.te-toolbar{align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--border-subtle);grid-row:2;display:flex;overflow-x:auto}.te-toolbar form{align-items:center;gap:var(--space-2);display:flex}.te-right{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.te-filter{width:340px;max-width:100%;height:24px;padding:0 var(--space-3);border-radius:var(--radius-well);color:var(--text);font-size:var(--text-sm);background:0 0;border:1px solid #0000}.te-filter:hover{border-color:var(--border-subtle)}.te-filter:focus{background:var(--surface);border-color:var(--border-strong);outline:none}.te-actions{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--border-subtle);grid-row:3;display:flex}.te-grid{grid-row:4;overflow:auto}.te-foot{align-items:center;gap:var(--space-4);padding:0 var(--space-4);border-top:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-3);grid-row:5;display:flex}table[data-variant=grid]{width:max-content;min-width:100%}table[data-variant=grid] th,table[data-variant=grid] td{height:35px;padding:0 var(--space-4);border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);white-space:nowrap;vertical-align:middle}table[data-variant=grid] th{z-index:1;background:var(--bg);font-family:var(--sans);font-size:var(--text-md);text-transform:none;letter-spacing:normal;color:var(--text);font-weight:700;position:sticky;top:0}table[data-variant=grid] th:not(.col-shrink){min-width:250px}table[data-variant=grid] th.col-narrow{min-width:150px}table[data-variant=grid] td{font-size:var(--text-md)}table[data-variant=grid] tbody tr:last-child td{border-bottom:1px solid var(--border-subtle)}.reveal{align-items:flex-start;gap:var(--space-3);display:flex}.reveal .code-block{flex:1;min-width:0}.file-link{align-items:center;gap:var(--space-3);min-width:0;max-width:420px;display:flex}.file-link .mono{text-overflow:ellipsis;min-width:0;overflow:hidden}.te-preset{align-items:center;gap:var(--space-2);white-space:nowrap;font-size:var(--text-sm);color:var(--text-3);flex:none;display:flex}.te-tab-title{font-size:var(--text-md);color:var(--text-2)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--space-2);left:var(--space-2);z-index:40;padding:var(--pad-control);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-2);color:var(--text);font-size:var(--text-sm);text-decoration:none;position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}.page[data-width=form]{max-width:780px}.page-head{justify-content:space-between;align-items:baseline;gap:var(--space-5);margin-bottom:var(--space-1);display:flex}.page-head-aside{align-items:center;gap:var(--space-3);display:flex}.page-meta{font-family:var(--mono);font-size:var(--text-md);color:var(--text-3);white-space:nowrap}.page-sub{color:var(--text-2);margin:0 0 var(--space-6)}.section-head{justify-content:space-between;align-items:center;gap:var(--space-4);margin:var(--space-7) 0 var(--space-4);display:flex}.section-titre{align-items:center;gap:var(--space-2);min-width:0;display:flex}.note{color:var(--text-3);margin:0 0 var(--space-4)}.ev-list{margin:var(--space-5) 0 0;border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:0;list-style:none;overflow:hidden}.ev-row{align-items:baseline;gap:var(--space-5);padding:14px var(--space-6);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.ev-row+.ev-row{border-top:1px solid var(--border-subtle)}.ev-row:hover{background:var(--surface)}.ev-body{align-items:baseline;column-gap:var(--space-4);flex-flow:wrap;row-gap:3px;min-width:0;display:flex}.ev-source{overflow-wrap:anywhere}.ev-facts{font-size:var(--text-sm);color:var(--text-3);overflow-wrap:anywhere}.ev-when{font-size:var(--text-sm);color:var(--text-3);white-space:nowrap}.table-wrap{border-radius:var(--radius-card);border:1px solid var(--border-subtle);margin-top:var(--space-5);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-md)}th{text-align:left;font-weight:500;font-family:var(--mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);background:var(--surface);padding:var(--pad-cell);border-bottom:1px solid var(--border-subtle);white-space:nowrap}td{padding:var(--pad-cell);border-bottom:1px solid var(--border-subtle);vertical-align:top}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface)}td.num,td.id{font-family:var(--mono);font-size:var(--text-sm);white-space:nowrap}td.mono{font-family:var(--mono);font-size:var(--text-sm)}td.id{color:var(--text-2)}.col-head{align-items:center;gap:var(--space-2);display:inline-flex}.col-head svg{width:12px;height:12px;color:var(--text-4);flex:none}.col-shrink{white-space:nowrap;width:1px}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:48ch;display:block;overflow:hidden}.row-feedback td{background:var(--surface);padding-top:0}.cards{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.card{border-radius:var(--radius-card);box-shadow:var(--lip);background:var(--surface);border:1px solid var(--border-subtle);padding:var(--space-5);flex-direction:column;gap:10px;display:flex}a.card:hover{background:var(--surface-2)}.card-title{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.card-name{letter-spacing:-.01em;font-weight:600}.stat{font-size:var(--text-stat);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-weight:600}.kv{gap:var(--space-1) var(--space-5);font-size:var(--text-md);grid-template-columns:max-content 1fr;display:grid}.kv dt{color:var(--text-3)}.kv dd{font-family:var(--mono);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0}.project-list{border:1px solid var(--border-subtle);border-radius:var(--radius-card);column-gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr) auto auto;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.project-list>li+li{border-top:1px solid var(--border-subtle)}.project-row{grid-column:1/-1;grid-template-columns:subgrid;min-height:48px;padding:var(--space-3) var(--space-6);align-items:center;display:grid;position:relative}.project-row:hover{background:var(--surface)}.project-row-lien{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);grid-column:1;font-weight:600;overflow:hidden}.project-row-lien:after{content:"";position:absolute;inset:0}.project-row-lien:focus-visible{outline:none}.project-row:has(.project-row-lien:focus-visible){outline:1px solid var(--accent);outline-offset:-2px}.project-row-hote{z-index:1;justify-self:start;align-items:center;gap:var(--space-2);min-width:0;max-width:100%;font-family:var(--mono);font-size:var(--text-sm);color:var(--text-3);grid-column:2;display:inline-flex;position:relative}.project-row-hote:hover{color:var(--text)}.project-row-hote-texte{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-row-hote svg{flex:none;width:12px;height:12px}.project-row-faits{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-md);color:var(--text-3);grid-column:3;overflow:hidden}.project-row-trafic{align-items:center;gap:var(--space-3);grid-column:4;display:flex}.spark{align-items:flex-end;gap:1px;width:44px;height:18px;display:flex}.spark-barre{background:var(--accent);border-radius:1px;flex:1;min-height:2px}.spark[data-ton=erreur] .spark-barre{background:var(--danger)}.spark .spark-barre[data-zero]{background:var(--gauge-track)}.project-row-vie{font-size:var(--text-md);color:var(--text-2);white-space:nowrap;grid-column:5;justify-self:end}.empty[data-lead=true]{padding:var(--space-8) var(--space-7)}.empty[data-lead=true] .empty-title{font-size:var(--text-h2);margin-bottom:var(--space-3)}.empty-icone{color:var(--text-4);margin-bottom:var(--space-4)}.meta-tiles{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,360px));display:grid}.meta-tile{align-items:center;gap:var(--space-5);min-width:0;height:64px;color:inherit;display:flex}.meta-icon{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);width:64px;height:64px;color:var(--text-3);flex:none;justify-content:center;align-items:center;display:flex}.meta-icon[data-rond="1"]{border-radius:var(--radius-full)}.meta-icon svg{width:20px;height:20px}a.meta-tile:hover .meta-icon{border-color:var(--border-strong);color:var(--text)}.meta-text{flex-direction:column;min-width:0;display:flex}.meta-label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);font-weight:500}.meta-value{font-size:var(--text-lg);overflow-wrap:anywhere}.meta-value[data-empty=true]{color:var(--text-4)}.overview-url{align-items:center;gap:var(--space-3);color:var(--text-2);font-size:var(--text-lg);margin:14px 0 34px;display:flex}.overview-url .mono{overflow-wrap:anywhere}.app-head{justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-7);flex-wrap:wrap;display:flex}.app-head-app{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.app-head-titre{align-items:center;gap:var(--space-4);display:flex}.app-head-adresse{align-items:center;gap:var(--space-2);max-width:100%;margin-top:var(--space-2);font-family:var(--mono);font-size:var(--text-md);color:var(--text-2);align-self:flex-start;display:inline-flex}.app-head-adresse>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}a.app-head-adresse:hover{color:var(--text)}.app-head-adresse svg,.app-head-actions svg{flex:none;width:12px;height:12px}.app-head-deploi{font-size:var(--text-sm);color:var(--text-3)}.app-head-actions{gap:var(--space-3);display:flex}.app-trafic{gap:var(--space-4);margin-bottom:var(--space-7);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.app-trafic-carte{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface);flex-direction:column;display:flex}.app-trafic-nom{font-size:var(--text-sm);color:var(--text-2)}.app-trafic-corps{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.app-trafic-chiffres{font-size:var(--text-sm);flex-direction:column;gap:2px;display:flex}.app-trafic-nombre{font-size:var(--text-stat);font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.app-trafic-erreurs{color:var(--danger)}.app-trafic .spark{gap:2px;width:112px;height:36px}.app-colonnes{gap:var(--space-6);margin-bottom:var(--space-7);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);display:grid}@media (max-width:1000px){.app-trafic,.app-colonnes{grid-template-columns:minmax(0,1fr)}}.app-liste{border:1px solid var(--border-subtle);border-radius:var(--radius-card);margin:0;padding:0;list-style:none;overflow:hidden}.app-liste-ligne{align-items:center;gap:var(--space-4);min-height:40px;padding:var(--space-3) var(--space-5);font-size:var(--text-md);display:flex;position:relative}.app-liste-ligne+.app-liste-ligne{border-top:1px solid var(--border-subtle)}.app-liste-ligne>svg{color:var(--text-3);flex:none}.app-liste-ligne[data-ton=warn]>svg{color:var(--warn)}.app-liste-ligne[data-ton=danger]>svg{color:var(--danger)}.app-liste-texte{overflow-wrap:anywhere;flex:1;min-width:0}.app-liste-issue{color:var(--text-3)}.app-liste-meta{font-size:var(--text-sm);color:var(--text-3);white-space:nowrap;flex:none}.app-liste-lien{min-width:0;color:var(--text);flex:1}.app-liste-lien:after{content:"";position:absolute;inset:0}.app-liste-ligne:has(.app-liste-lien):hover{background:var(--surface)}.app-liste-lien:focus-visible{outline:none}.app-liste-ligne:has(.app-liste-lien:focus-visible){outline:1px solid var(--accent);outline-offset:-2px}.app-liste-ligne .badge{z-index:1;position:relative}.badge{border-radius:var(--radius-full);padding:1px var(--space-2);border:1px solid var(--border-strong);font-family:var(--mono);font-size:var(--text-xs);color:var(--text-2);white-space:nowrap;display:inline-block}.badge[data-tone=accent]{border-color:var(--accent);color:var(--accent-fg)}.badge-link:hover>.badge:not([data-tone]){border-color:var(--text-3);color:var(--text)}.badge[data-tone=success]{border-color:var(--success);color:var(--success)}.badge[data-tone=warn]{border-color:var(--warn);color:var(--warn)}.badge[data-tone=danger]{border-color:var(--danger);color:var(--danger)}.btn{border-radius:var(--radius);align-self:center;align-items:center;gap:var(--space-2);min-height:26px;padding:var(--pad-control);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;font-size:var(--text-sm);white-space:nowrap;background:0 0;line-height:16px;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--text-3)}.btn[data-variant=primary]{background:var(--text);border-color:var(--text);color:var(--bg)}.btn[data-variant=primary]:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn[data-variant=danger]{border-color:var(--danger);color:var(--danger)}.btn[data-variant=danger]:hover{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-kbd{font-family:var(--mono);font-size:var(--text-xs);opacity:.65}.segmented{border:1px solid var(--border-strong);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented a{padding:var(--pad-control);font-size:var(--text-sm);color:var(--text-3);line-height:16px}.segmented a+a{border-left:1px solid var(--border-strong)}.segmented a:hover{color:var(--text)}.segmented a[data-active=true]{background:var(--surface-2);color:var(--text)}.period-choice{border:1px solid var(--border-strong);border-radius:var(--radius);align-self:flex-start;display:inline-flex;overflow:hidden}.period-choice button{min-height:26px;padding:var(--pad-control);font-size:var(--text-sm);color:var(--text-3);cursor:pointer;background:0 0;border:0;align-items:center;line-height:16px;display:inline-flex}.period-choice button+button{border-left:1px solid var(--border-strong)}.period-choice button:hover{color:var(--text)}.period-choice button[data-on]{background:var(--surface-2);color:var(--text)}.modal{border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);box-shadow:var(--shadow-float), var(--lip);color:var(--text);width:min(440px,100vw - 32px);margin:auto;padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c}.modal-corps{padding:var(--space-6);gap:var(--space-5);flex-direction:column;display:flex}.modal-titre{font-size:var(--text-h2);margin:0}.modal-champ{gap:var(--space-2);flex-direction:column;display:flex}.modal-champ .form-row-help{margin:0}.modal-pied{justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}.conso-ligne+.conso-ligne{margin-top:var(--space-5)}.conso-tete{flex-direction:column;gap:2px;display:flex}.conso-valeur{font-size:var(--text-sm);color:var(--text);white-space:nowrap}.bulle-declencheur{border-radius:var(--radius-full);width:18px;height:18px;color:var(--text-4);vertical-align:middle;flex:none;justify-content:center;align-items:center;display:inline-flex}.bulle-declencheur:hover,.bulle-declencheur[aria-expanded=true]{color:var(--text-2)}.bulle-declencheur svg{width:14px;height:14px}.bulle{z-index:20;padding:var(--pad-box);border-radius:var(--radius-card);background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);border:1px solid var(--border-strong);box-shadow:var(--shadow-float), var(--lip);font-size:var(--text-md);color:var(--text-2);max-width:calc(100vw - 24px);position:fixed}.bulle-note{margin:0 0 var(--space-4);color:inherit}.bulle strong{color:var(--text);font-weight:500}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.bulle{background:var(--surface-2)}}.metriques{gap:var(--space-6) var(--space-7);margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.metrique-tete{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-2);display:flex}.metrique-nom{color:var(--text-2);font-size:var(--text-md)}.metrique-valeur{font-family:var(--mono);font-size:var(--text-sm);color:var(--text);white-space:nowrap}.menu-wrap{display:inline-block;position:relative}.menu-wrap[data-width=xs]{width:140px}.menu-wrap[data-width=sm]{width:200px}.menu-wrap[data-width=lg]{width:280px}.menu-wrap[data-width=full]{width:100%}.menu-wrap[data-width]{max-width:100%}.menu-trigger{justify-content:space-between;align-items:center;gap:var(--space-2);text-align:left;cursor:pointer;display:flex}.menu-trigger[data-placeholder]{color:var(--text-4)}.menu-trigger:disabled{cursor:not-allowed;opacity:.55}.menu-trigger svg{width:14px;height:14px;color:var(--text-4);flex:none}.menu{flex-direction:column;gap:1px;max-height:300px;display:flex;overflow-y:auto}.menu[data-defile]{-webkit-mask-image:linear-gradient(#000 calc(100% - 32px),#0000);mask-image:linear-gradient(#000 calc(100% - 32px),#0000)}.menu-search{align-items:center;gap:var(--space-2);padding:0 var(--space-3);margin-bottom:var(--space-1);border-radius:var(--radius-well);background:var(--sunken);border:1px solid var(--border-subtle);flex:none;height:36px;display:flex}.menu-search svg{width:14px;height:14px;color:var(--text-4);flex:none}.menu-search input{min-width:0;color:var(--text);font-size:var(--text-md);background:0 0;border:0;outline:none;flex:1}.menu-vide{padding:var(--space-4) var(--space-3);color:var(--text-3);font-size:var(--text-md)}.menu-panneau,.topbar-menu,.te-add-menu{padding:var(--space-1);border-radius:var(--radius-card);background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);border:1px solid var(--border-strong);box-shadow:var(--shadow-float), var(--lip)}.menu-panneau{z-index:20;flex-direction:column;min-width:220px;max-width:min(420px,100vw - 24px);display:flex;position:fixed}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.menu,.topbar-menu,.te-add-menu{background:var(--surface-2)}}.menu::-webkit-scrollbar{width:8px}.menu::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--border-strong);border-radius:var(--radius-full);border:2px solid #0000}.menu-item{justify-content:space-between;align-items:baseline;gap:var(--space-4);width:100%;min-height:32px;padding:var(--space-2) 10px;border-radius:calc(var(--radius-card) - var(--space-1));color:var(--text-2);font-size:var(--text-md);text-align:left;cursor:pointer;border:0;flex:none;display:flex}.menu-item[data-active]{background:var(--glass-hover);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-subtle)}.menu-item[data-active] .menu-item-aside{color:var(--text-2)}.menu-item[aria-selected=true]{color:var(--text)}.menu-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.menu-item-hint{color:var(--text-3);font-size:var(--text-sm);white-space:normal;line-height:1.4}.menu-item-aside{color:var(--text-3);font-family:var(--mono);font-size:var(--text-xs);flex:none}.file-picker{align-items:center;gap:var(--space-3);min-width:0;display:inline-flex}.file-picker-name{color:var(--text-4);font-size:var(--text-sm);max-width:160px}.file-picker input:focus-visible+.btn{outline:1px solid var(--accent);outline-offset:1px}.input,.textarea,.menu-trigger{border-radius:var(--radius-well);width:100%;padding:var(--pad-field);background:var(--surface-2);border:1px solid var(--border-strong);box-shadow:var(--lip);color:var(--text);font-size:var(--text-md);transition:border-color .12s,box-shadow .12s}.input:hover,.textarea:hover,.menu-trigger:hover{border-color:var(--text-3)}.input:focus,.textarea:focus,.menu-trigger:focus{border-color:var(--accent);box-shadow:var(--lip), 0 0 0 3px var(--accent-bg);outline:none}.input:focus-visible,.textarea:focus-visible,.menu-trigger:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.sql-editor{border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:var(--lip);background:var(--surface-2);overflow:hidden}.sql-editor .textarea{box-shadow:none;min-height:160px;padding:var(--space-4);background:0 0;border:0;border-radius:0;line-height:1.7;display:block}.sql-editor .textarea:focus,.sql-editor .textarea:focus-visible{box-shadow:none;outline:none}.sql-editor:focus-within{border-color:var(--accent);box-shadow:var(--lip), 0 0 0 3px var(--accent-bg)}.sql-editor-foot{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle);background:var(--sunken);display:flex}.sql-editor-foot>:first-child:not(:last-child){margin-right:auto}.textarea{font-family:var(--mono);resize:vertical;min-height:120px}.w-xs{width:140px;max-width:100%}.w-sm{width:200px;max-width:100%}.w-lg{width:280px;max-width:100%}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field label{font-size:var(--text-sm);color:var(--text-2)}.check{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);font-size:var(--text-md);color:var(--text-2);cursor:pointer;display:flex}.check input[type=checkbox]{appearance:none;border:1px solid var(--border-strong);border-radius:var(--radius-check);background:var(--surface-2);width:14px;height:14px;box-shadow:var(--lip);cursor:pointer;flex:none;place-content:center;margin:3px 0 0;display:grid}.check input[type=checkbox]:hover{border-color:var(--text-3)}.check input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.check input[type=checkbox]:checked:after{content:"";border:2px solid var(--text);border-top:0;border-right:0;width:8px;height:4px;transform:translateY(-1px)rotate(-45deg)}.check a{color:var(--text)}.form-inline{gap:var(--space-2);display:inline-flex}.form-narrow{max-width:480px}.field-glyphe{border-radius:var(--radius-well);background:var(--surface-2);border:1px solid var(--border-strong);box-shadow:var(--lip);align-items:center;transition:border-color .12s,box-shadow .12s;display:flex}.field-glyphe:hover{border-color:var(--text-3)}.field-glyphe:focus-within{border-color:var(--accent);box-shadow:var(--lip), 0 0 0 3px var(--accent-bg)}.field-glyphe input{border-radius:var(--radius-well);min-width:0;padding:var(--pad-field);color:var(--text);font-size:var(--text-md);background:0 0;border:0;outline:none;flex:1}.field-glyphe-bouton{border-radius:0 var(--radius-well) var(--radius-well) 0;width:32px;color:var(--text-4);cursor:pointer;flex:none;justify-content:center;align-self:stretch;align-items:center;display:flex}.field-glyphe-bouton:hover{color:var(--text)}.field-glyphe-bouton[data-echec],.btn[data-echec]{color:var(--danger)}.field-glyphe-bouton svg{width:14px;height:14px}.field-with-button{gap:var(--space-2);display:flex}.field-with-button .input{min-width:0}.form-card{border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--lip);background:var(--surface);margin-bottom:var(--space-6)}.form-row{gap:var(--space-5);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle);grid-template-columns:58% minmax(0,1fr);align-items:start;display:grid}.form-row:last-of-type{border-bottom:none}.form-row-wide{grid-template-columns:1fr}.form-card[data-tone=danger]{border-color:var(--danger)}.form-row>.btn{justify-self:start}.form-row-label{font-size:var(--text-base)}.form-row-help{margin:var(--space-1) 0 0;color:var(--text-3);font-size:var(--text-md)}.form-foot{justify-content:flex-end;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle);background:var(--sunken);border-radius:0 0 var(--radius-card) var(--radius-card);display:flex}.form-foot>:first-child:not(:last-child){margin-right:auto}.box{border-radius:var(--radius-card);box-shadow:var(--lip);border:1px solid var(--border-subtle);background:var(--surface);padding:var(--pad-box)}.callout{border-radius:var(--radius-card);box-shadow:var(--lip);border-left:2px solid var(--accent);background:var(--accent-bg);padding:var(--pad-callout);margin:var(--space-4) 0;font-size:var(--text-md)}.callout[data-tone=warn]{border-left-color:var(--warn);background:var(--warn-bg)}.callout[data-tone=danger]{border-left-color:var(--danger);background:var(--danger-bg)}.callout .code-block{margin-top:var(--space-3)}.feedback-hint{margin-top:var(--space-2)}.error-box{border-radius:var(--radius-card);box-shadow:var(--lip);border:1px solid var(--danger);background:var(--danger-bg-strong);padding:var(--pad-box);margin:var(--space-4) 0}.error-code{font-family:var(--mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--danger)}.error-hint{margin-top:var(--space-2);color:var(--text-2);font-size:var(--text-md)}.error-meta{margin-top:var(--space-3);font-family:var(--mono);font-size:var(--text-xs);color:var(--text-3)}.empty{border-radius:var(--radius-card);border:1px dashed var(--border-strong);padding:var(--space-7);text-align:center;color:var(--text-2);margin-top:var(--space-5)}.empty-eyebrow{font-family:var(--mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:var(--space-2)}.empty-title{color:var(--text);font-size:var(--text-base);margin:0 0 var(--space-2);font-weight:500}.empty-action{margin-top:var(--space-5);justify-content:center;gap:var(--space-3);display:flex}.gauge-wrap{max-width:240px;margin-bottom:var(--space-4)}.gauge{border-radius:var(--radius-control);background:var(--gauge-track);height:4px;margin-top:var(--space-2)}.gauge[data-inconnu="1"]{background:repeating-linear-gradient(-45deg, var(--gauge-track), var(--gauge-track) 3px, transparent 3px, transparent 6px)}.gauge-fill{border-radius:var(--radius-control);background:var(--accent);height:100%}.gauge-fill[data-tone=warn]{background:var(--warn)}.gauge-fill[data-tone=danger]{background:var(--danger)}.skeleton{border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--surface);padding:var(--space-5);gap:var(--space-4);margin-top:var(--space-5);flex-direction:column;display:flex}.card .code-block,.box .code-block,.form-card .code-block{background:var(--sunken)}.chip{align-items:center;gap:var(--space-1);border-radius:var(--radius-well);padding:1px var(--space-2);background:var(--sunken);border:1px solid var(--border-subtle);font-family:var(--mono);font-size:var(--text-xs);color:var(--text-3);white-space:nowrap;vertical-align:baseline;display:inline-flex}.chip>strong{color:var(--text-2);font-weight:400}.chip>svg{width:12px;height:12px;color:var(--text-4);flex:none}.line-skeleton{border-radius:var(--radius);background:var(--sunken);color:#0000;-webkit-user-select:none;user-select:none;min-width:8ch;display:inline-block}.line-skeleton-wide{width:62%}.line-skeleton-narrow{width:38%}.skeleton-bar{background:var(--surface-2);height:10px}.skeleton-bar:first-child{width:22%}.skeleton-bar:nth-child(2){width:55%}.skeleton-bar:nth-child(3){width:40%}.code-block{border-radius:var(--radius-well);background:var(--surface);border:1px solid var(--border-subtle);padding:var(--space-4);font-family:var(--mono);font-size:var(--text-sm);color:var(--text-2);white-space:pre;overflow-x:auto}.code-block[data-scroll=true]{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow-y:auto}.row-actions{gap:var(--space-2);display:flex}.toolbar{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.toolbar-fin{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.projets-barre{margin-top:var(--space-5)}.recherche-projets{width:260px;max-width:100%}.recherche-projets svg{width:14px;height:14px;margin-left:var(--space-3);color:var(--text-4);flex:none}.recherche-projets input::-webkit-search-cancel-button{appearance:none}.toolbar-after{margin-top:var(--space-4);margin-bottom:0}.dot{border-radius:var(--radius-check);background:var(--text-4);flex:none;width:8px;height:8px}.dot[data-tone=warn]{background:var(--warn)}.dot[data-tone=danger]{background:var(--danger)}.muted{color:var(--text-3)}.status-2xx{color:var(--success)}.status-4xx{color:var(--warn)}.status-5xx{color:var(--danger)}@media (max-width:1100px){.panel{width:200px}}@media (max-width:700px){.meta-tiles{grid-template-columns:minmax(0,1fr)}.project-list{column-gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto auto}.project-row{padding:var(--space-3) var(--space-5)}.project-row-hote-texte,.project-row-faits,.project-row-trafic{display:none}.project-row-vie{grid-column:3}.shell-body{grid-template-columns:var(--w-rail) 1fr}.panel{border-right:none;border-bottom:1px solid var(--border-subtle);grid-column:2;width:auto;max-height:40vh}.main{grid-column:2}.page{padding:var(--space-6) var(--space-5) var(--space-8)}.cards,.form-row{grid-template-columns:1fr}}.login-page{min-height:100dvh;padding:var(--space-6);background-image:radial-gradient(52% 44% at 50% 0, color-mix(in srgb, var(--accent) 11%, transparent) 0, color-mix(in srgb, var(--accent) 4%, transparent) 42%, transparent 72%);background-repeat:no-repeat;justify-content:center;align-items:center;display:flex}.auth-bloc{gap:var(--space-5);flex-direction:column;width:100%;max-width:400px;display:flex}.auth-marque{justify-content:center;align-items:center;gap:var(--space-3);color:var(--text);letter-spacing:-.02em;font-weight:600;font-size:var(--text-lg);display:flex}.auth-marque svg{width:auto;height:15px;display:block}.login-card{width:100%;padding:var(--space-7);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--lip);gap:var(--space-5);flex-direction:column;display:flex}.auth-tete{gap:var(--space-2);flex-direction:column;display:flex}.auth-tete h1{font-size:var(--text-h1);letter-spacing:-.02em}.auth-pied{text-align:center;font-size:var(--text-md)}.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-form .field{margin-bottom:0}.auth-form .btn[type=submit],.auth-google{width:100%;min-height:36px;font-size:var(--text-md);justify-content:center}.auth-sep{align-items:center;gap:var(--space-4);color:var(--text-4);font-size:var(--text-sm);display:flex}.auth-sep:before,.auth-sep:after{content:"";background:var(--border-subtle);flex:1;height:1px}.auth-erreur{border-radius:var(--radius-well);border:1px solid var(--danger);background:var(--danger-bg);padding:var(--pad-field);color:var(--text);font-size:var(--text-md)}@media (max-width:420px){.login-page{padding:var(--space-4);padding-top:var(--space-8);align-items:flex-start}.login-card{padding:var(--space-6)}}.topbar-account{border-radius:var(--radius-full);width:26px;height:26px;color:var(--text-3);border:1px solid #0000;flex:none;justify-content:center;align-items:center;margin-left:auto;display:flex}.topbar-account:hover{border-color:var(--border-strong);color:var(--text)}.topbar-account svg{width:15px;height:15px}
