#noty_layout__bottom,#noty_layout__bottomCenter,#noty_layout__bottomLeft,#noty_layout__bottomRight,#noty_layout__center,#noty_layout__centerLeft,#noty_layout__centerRight,#noty_layout__top,#noty_layout__topCenter,#noty_layout__topLeft,#noty_layout__topRight,.noty_layout_mixin{-webkit-backface-visibility:hidden;backface-visibility:hidden;margin:0;padding:0;position:fixed;-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1);z-index:9999999;-webkit-font-smoothing:subpixel-antialiased;filter:blur(0);-webkit-filter:blur(0);max-width:90%}#noty_layout__top{left:5%;top:0;width:90%}#noty_layout__topLeft{left:20px;top:20px;width:325px}#noty_layout__topCenter{left:50%;top:5%;-webkit-transform:translate(-webkit-calc(-50% - .5px)) translateZ(0) scale(1);transform:translate(calc(-50% - .5px)) translateZ(0) scale(1);width:325px}#noty_layout__topRight{right:20px;top:20px;width:325px}#noty_layout__bottom{bottom:0;left:5%;width:90%}#noty_layout__bottomLeft{bottom:20px;left:20px;width:325px}#noty_layout__bottomCenter{bottom:5%;left:50%;-webkit-transform:translate(-webkit-calc(-50% - .5px)) translateZ(0) scale(1);transform:translate(calc(-50% - .5px)) translateZ(0) scale(1);width:325px}#noty_layout__bottomRight{bottom:20px;right:20px;width:325px}#noty_layout__center{left:50%;top:50%;-webkit-transform:translate(-webkit-calc(-50% - .5px),-webkit-calc(-50% - .5px)) translateZ(0) scale(1);transform:translate(calc(-50% - .5px),calc(-50% - .5px)) translateZ(0) scale(1);width:325px}#noty_layout__centerLeft{left:20px}#noty_layout__centerLeft,#noty_layout__centerRight{top:50%;-webkit-transform:translateY(-webkit-calc(-50% - .5px)) translateZ(0) scale(1);transform:translateY(calc(-50% - .5px)) translateZ(0) scale(1);width:325px}#noty_layout__centerRight{right:20px}.noty_progressbar{display:none}.noty_has_timeout .noty_progressbar{background-color:#646464;bottom:0;display:block;filter:alpha(opacity=10);height:3px;left:0;opacity:.2;position:absolute;width:100%}.noty_bar{-webkit-backface-visibility:hidden;-webkit-transform:translate(0) translateZ(0) scale(1);-ms-transform:translate(0) scale(1);transform:translate(0) scale(1);-webkit-font-smoothing:subpixel-antialiased;overflow:hidden}.noty_effects_open{-webkit-animation:noty_anim_in .5s cubic-bezier(.68,-.55,.265,1.55);animation:noty_anim_in .5s cubic-bezier(.68,-.55,.265,1.55);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;opacity:0;-webkit-transform:translate(50%);-ms-transform:translate(50%);transform:translate(50%)}.noty_effects_close{-webkit-animation:noty_anim_out .5s cubic-bezier(.68,-.55,.265,1.55);animation:noty_anim_out .5s cubic-bezier(.68,-.55,.265,1.55);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.noty_fix_effects_height{-webkit-animation:noty_anim_height 75ms ease-out;animation:noty_anim_height 75ms ease-out}.noty_close_with_click{cursor:pointer}.noty_close_button{background-color:rgba(0,0,0,.05);border-radius:2px;cursor:pointer;font-weight:700;height:20px;line-height:20px;position:absolute;right:2px;text-align:center;top:2px;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;width:20px}.noty_close_button:hover{background-color:rgba(0,0,0,.1)}.noty_modal{background-color:#000;height:100%;left:0;opacity:.3;position:fixed;top:0;width:100%;z-index:10000}.noty_modal.noty_modal_open{-webkit-animation:noty_modal_in .3s ease-out;animation:noty_modal_in .3s ease-out;opacity:0}.noty_modal.noty_modal_close{-webkit-animation:noty_modal_out .3s ease-out;animation:noty_modal_out .3s ease-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes noty_modal_in{to{opacity:.3}}@keyframes noty_modal_in{to{opacity:.3}}@-webkit-keyframes noty_modal_out{to{opacity:0}}@keyframes noty_modal_out{to{opacity:0}}@-webkit-keyframes noty_anim_in{to{opacity:1;-webkit-transform:translate(0);transform:translate(0)}}@keyframes noty_anim_in{to{opacity:1;-webkit-transform:translate(0);transform:translate(0)}}@-webkit-keyframes noty_anim_out{to{opacity:0;-webkit-transform:translate(50%);transform:translate(50%)}}@keyframes noty_anim_out{to{opacity:0;-webkit-transform:translate(50%);transform:translate(50%)}}@-webkit-keyframes noty_anim_height{to{height:0}}@keyframes noty_anim_height{to{height:0}}.noty_theme__relax.noty_bar{border-radius:2px;margin:4px 0;overflow:hidden;position:relative}.noty_theme__relax.noty_bar .noty_body{padding:10px}.noty_theme__relax.noty_bar .noty_buttons{border-top:1px solid #e7e7e7;padding:5px 10px}.noty_theme__relax.noty_type__alert,.noty_theme__relax.noty_type__notification{background-color:#fff;border:1px solid #dedede;color:#444}.noty_theme__relax.noty_type__warning{background-color:#ffeaa8;border:1px solid #ffc237;color:#826200}.noty_theme__relax.noty_type__warning .noty_buttons{border-color:#dfaa30}.noty_theme__relax.noty_type__error{background-color:#ff8181;border:1px solid #e25353;color:#fff}.noty_theme__relax.noty_type__error .noty_buttons{border-color:darkred}.noty_theme__relax.noty_type__info,.noty_theme__relax.noty_type__information{background-color:#78c5e7;border:1px solid #3badd6;color:#fff}.noty_theme__relax.noty_type__info .noty_buttons,.noty_theme__relax.noty_type__information .noty_buttons{border-color:#0b90c4}.noty_theme__relax.noty_type__success{background-color:#bcf5bc;border:1px solid #7cdd77;color:#006400}.noty_theme__relax.noty_type__success .noty_buttons{border-color:#50c24e}.noty_theme__metroui.noty_bar{box-shadow:0 0 5px 0 rgba(0,0,0,.298);margin:4px 0;overflow:hidden;position:relative}.noty_theme__metroui.noty_bar .noty_progressbar{background-color:#000;bottom:0;filter:alpha(opacity=20);height:3px;left:0;opacity:.2;position:absolute;width:100%}.noty_theme__metroui.noty_bar .noty_body{font-size:14px;padding:1.25em}.noty_theme__metroui.noty_bar .noty_buttons{padding:0 10px .5em}.noty_theme__metroui.noty_type__alert,.noty_theme__metroui.noty_type__notification{background-color:#fff;color:#1d1d1d}.noty_theme__metroui.noty_type__warning{background-color:#fa6800;color:#fff}.noty_theme__metroui.noty_type__error{background-color:#ce352c;color:#fff}.noty_theme__metroui.noty_type__info,.noty_theme__metroui.noty_type__information{background-color:#1ba1e2;color:#fff}.noty_theme__metroui.noty_type__success{background-color:#60a917;color:#fff}.noty_theme__mint.noty_bar{border-radius:2px;margin:4px 0;overflow:hidden;position:relative}.noty_theme__mint.noty_bar .noty_body{font-size:14px;padding:10px}.noty_theme__mint.noty_bar .noty_buttons{padding:10px}.noty_theme__mint.noty_type__alert,.noty_theme__mint.noty_type__notification{background-color:#fff;border-bottom:1px solid #d1d1d1;color:#2f2f2f}.noty_theme__mint.noty_type__warning{background-color:#ffae42;border-bottom:1px solid #e89f3c;color:#fff}.noty_theme__mint.noty_type__error{background-color:#de636f;border-bottom:1px solid #ca5a65;color:#fff}.noty_theme__mint.noty_type__info,.noty_theme__mint.noty_type__information{background-color:#7f7eff;border-bottom:1px solid #7473e8;color:#fff}.noty_theme__mint.noty_type__success{background-color:#afc765;border-bottom:1px solid #a0b55c;color:#fff}.noty_theme__sunset.noty_bar{border-radius:2px;margin:4px 0;overflow:hidden;position:relative}.noty_theme__sunset.noty_bar .noty_body{font-size:14px;padding:10px;text-shadow:1px 1px 1px rgba(0,0,0,.1)}.noty_theme__sunset.noty_bar .noty_buttons{padding:10px}.noty_theme__sunset.noty_type__alert,.noty_theme__sunset.noty_type__notification{background-color:#073b4c;color:#fff}.noty_theme__sunset.noty_type__alert .noty_progressbar,.noty_theme__sunset.noty_type__notification .noty_progressbar{background-color:#fff}.noty_theme__sunset.noty_type__warning{background-color:#ffd166;color:#fff}.noty_theme__sunset.noty_type__error{background-color:#ef476f;color:#fff}.noty_theme__sunset.noty_type__error .noty_progressbar{opacity:.4}.noty_theme__sunset.noty_type__info,.noty_theme__sunset.noty_type__information{background-color:#118ab2;color:#fff}.noty_theme__sunset.noty_type__info .noty_progressbar,.noty_theme__sunset.noty_type__information .noty_progressbar{opacity:.6}.noty_theme__sunset.noty_type__success{background-color:#06d6a0;color:#fff}.noty_theme__bootstrap-v3.noty_bar{border:1px solid transparent;border-radius:4px;margin:4px 0;overflow:hidden;position:relative}.noty_theme__bootstrap-v3.noty_bar .noty_body{padding:15px}.noty_theme__bootstrap-v3.noty_bar .noty_buttons{padding:10px}.noty_theme__bootstrap-v3.noty_bar .noty_close_button{background:transparent;color:#000;filter:alpha(opacity=20);font-size:21px;font-weight:700;line-height:1;opacity:.2;text-shadow:0 1px 0 #fff}.noty_theme__bootstrap-v3.noty_bar .noty_close_button:hover{background:transparent;cursor:pointer;filter:alpha(opacity=50);opacity:.5;text-decoration:none}.noty_theme__bootstrap-v3.noty_type__alert,.noty_theme__bootstrap-v3.noty_type__notification{background-color:#fff;color:inherit}.noty_theme__bootstrap-v3.noty_type__warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.noty_theme__bootstrap-v3.noty_type__error{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.noty_theme__bootstrap-v3.noty_type__info,.noty_theme__bootstrap-v3.noty_type__information{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.noty_theme__bootstrap-v3.noty_type__success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.noty_theme__bootstrap-v4.noty_bar{border:1px solid transparent;border-radius:.25rem;margin:4px 0;overflow:hidden;position:relative}.noty_theme__bootstrap-v4.noty_bar .noty_body{padding:.75rem 1.25rem}.noty_theme__bootstrap-v4.noty_bar .noty_buttons{padding:10px}.noty_theme__bootstrap-v4.noty_bar .noty_close_button{background:transparent;color:#000;filter:alpha(opacity=20);font-size:1.5rem;font-weight:700;line-height:1;opacity:.5;text-shadow:0 1px 0 #fff}.noty_theme__bootstrap-v4.noty_bar .noty_close_button:hover{background:transparent;cursor:pointer;filter:alpha(opacity=50);opacity:.75;text-decoration:none}.noty_theme__bootstrap-v4.noty_type__alert,.noty_theme__bootstrap-v4.noty_type__notification{background-color:#fff;color:inherit}.noty_theme__bootstrap-v4.noty_type__warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.noty_theme__bootstrap-v4.noty_type__error{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.noty_theme__bootstrap-v4.noty_type__info,.noty_theme__bootstrap-v4.noty_type__information{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.noty_theme__bootstrap-v4.noty_type__success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.noty_theme__semanticui.noty_bar{border:1px solid transparent;border-radius:.28571429rem;box-shadow:inset 0 0 0 1px rgba(34,36,38,.22),0 0 0 0 transparent;font-size:1em;margin:4px 0;overflow:hidden;position:relative}.noty_theme__semanticui.noty_bar .noty_body{line-height:1.4285em;padding:1em 1.5em}.noty_theme__semanticui.noty_bar .noty_buttons{padding:10px}.noty_theme__semanticui.noty_type__alert,.noty_theme__semanticui.noty_type__notification{background-color:#f8f8f9;color:rgba(0,0,0,.87)}.noty_theme__semanticui.noty_type__warning{background-color:#fffaf3;box-shadow:inset 0 0 0 1px #c9ba9b,0 0 0 0 transparent;color:#573a08}.noty_theme__semanticui.noty_type__error{background-color:#fff6f6;box-shadow:inset 0 0 0 1px #e0b4b4,0 0 0 0 transparent;color:#9f3a38}.noty_theme__semanticui.noty_type__info,.noty_theme__semanticui.noty_type__information{background-color:#f8ffff;box-shadow:inset 0 0 0 1px #a9d5de,0 0 0 0 transparent;color:#276f86}.noty_theme__semanticui.noty_type__success{background-color:#fcfff5;box-shadow:inset 0 0 0 1px #a3c293,0 0 0 0 transparent;color:#2c662d}.noty_theme__nest.noty_bar{border-radius:2px;box-shadow:5px 4px 10px 0 rgba(0,0,0,.098);margin:0 0 15px;overflow:hidden;position:relative}.noty_theme__nest.noty_bar .noty_body{font-size:14px;padding:10px;text-shadow:1px 1px 1px rgba(0,0,0,.1)}.noty_theme__nest.noty_bar .noty_buttons{padding:10px}.noty_layout .noty_theme__nest.noty_bar{z-index:5}.noty_layout .noty_theme__nest.noty_bar:nth-child(2){margin-left:4px;margin-right:-4px;margin-top:4px;position:absolute;top:0;width:100%;z-index:4}.noty_layout .noty_theme__nest.noty_bar:nth-child(3){margin-left:8px;margin-right:-8px;margin-top:8px;position:absolute;top:0;width:100%;z-index:3}.noty_layout .noty_theme__nest.noty_bar:nth-child(4){margin-left:12px;margin-right:-12px;margin-top:12px;position:absolute;top:0;width:100%;z-index:2}.noty_layout .noty_theme__nest.noty_bar:nth-child(5){margin-left:16px;margin-right:-16px;margin-top:16px;position:absolute;top:0;width:100%;z-index:1}.noty_layout .noty_theme__nest.noty_bar:nth-child(n+6){margin-left:20px;margin-right:-20px;margin-top:20px;position:absolute;top:0;width:100%;z-index:-1}#noty_layout__bottomLeft .noty_theme__nest.noty_bar:nth-child(2),#noty_layout__topLeft .noty_theme__nest.noty_bar:nth-child(2){margin-left:-4px;margin-right:4px;margin-top:4px}#noty_layout__bottomLeft .noty_theme__nest.noty_bar:nth-child(3),#noty_layout__topLeft .noty_theme__nest.noty_bar:nth-child(3){margin-left:-8px;margin-right:8px;margin-top:8px}#noty_layout__bottomLeft .noty_theme__nest.noty_bar:nth-child(4),#noty_layout__topLeft .noty_theme__nest.noty_bar:nth-child(4){margin-left:-12px;margin-right:12px;margin-top:12px}#noty_layout__bottomLeft .noty_theme__nest.noty_bar:nth-child(5),#noty_layout__topLeft .noty_theme__nest.noty_bar:nth-child(5){margin-left:-16px;margin-right:16px;margin-top:16px}#noty_layout__bottomLeft .noty_theme__nest.noty_bar:nth-child(n+6),#noty_layout__topLeft .noty_theme__nest.noty_bar:nth-child(n+6){margin-left:-20px;margin-right:20px;margin-top:20px}.noty_theme__nest.noty_type__alert,.noty_theme__nest.noty_type__notification{background-color:#073b4c;color:#fff}.noty_theme__nest.noty_type__alert .noty_progressbar,.noty_theme__nest.noty_type__notification .noty_progressbar{background-color:#fff}.noty_theme__nest.noty_type__warning{background-color:#ffd166;color:#fff}.noty_theme__nest.noty_type__error{background-color:#ef476f;color:#fff}.noty_theme__nest.noty_type__error .noty_progressbar{opacity:.4}.noty_theme__nest.noty_type__info,.noty_theme__nest.noty_type__information{background-color:#118ab2;color:#fff}.noty_theme__nest.noty_type__info .noty_progressbar,.noty_theme__nest.noty_type__information .noty_progressbar{opacity:.6}.noty_theme__nest.noty_type__success{background-color:#06d6a0;color:#fff}body{padding:90px}table th a{color:#fff}table th a:hover{color:#fff;text-decoration:none}button{-webkit-appearance:button;font-family:inherit;font-size:100%;font-size:1.4rem;line-height:1.15;margin:0;overflow:visible;text-transform:none}button::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring{outline:1px dotted ButtonText}button{position:relative;-webkit-transition:all .2s;transition:all .2s;transition-timing-function:ease-in}.spinner{left:auto;line-height:1.15;margin:-.5em;opacity:0;position:absolute;right:1.7rem;top:50%;transition-delay:0s,.2s;transition-duration:.2s,.2s;transition-property:padding,opacity;transition-timing-function:ease-in,ease}.spinner span{animation:spinner 1.2s cubic-bezier(.5,0,.5,1) infinite;border:3.4px solid transparent;border-radius:50%;border-top-color:#888;box-sizing:border-box;display:inline-block;height:1rem;opacity:1;position:absolute;right:0;top:.15rem;width:1rem}.spinner span:first-child{animation-delay:.45s}.spinner span:nth-child(2){animation-delay:.3s}.spinner span:nth-child(3){animation-delay:.15s}.loading{padding-right:3rem!important}.loading .spinner,.loading .spinner span{opacity:1}button:not(:disabled){transition-delay:.2s}button:not(:disabled) .spinner span{border:7.4px solid transparent;box-shadow:inset 0 0 0 .2rem #888;-webkit-transition:all .4s;transition:all .4s}button:not(:disabled) .spinner span:first-child{transform:rotate(0deg)!important}button:not(:disabled) .spinner span:nth-child(2){transform:rotate(90deg)!important}button:not(:disabled) .spinner span:nth-child(3){transform:rotate(180deg)!important}button:not(:disabled) .spinner span:nth-child(4){transform:rotate(270deg)!important}@keyframes spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.default-styles{background-color:blue;border:1px solid transparent;border-radius:4px;color:#fff;cursor:pointer;line-height:1.9rem;padding:8px 16.5px 8px 16px}.default-styles:disabled{cursor:not-allowed;pointer-events:stroke}.default-styles:focus{box-shadow:0 0 0 3px #add8e6,0 0 0 1.5px #add8e6;outline:none}.default-styles .spinner span{border:3.4px solid transparent;border-top-color:#fff;height:1.2rem;top:0;width:1.2rem}.default-styles:not(:disabled) .spinner span{border:8.4px solid transparent;box-shadow:inset 0 0 0 .1rem #fff}#import:lang(en)~.custom-file-label:after{content:"Choisir un fichier"}.icon{fill:currentColor;height:1em;pointer-events:none;vertical-align:middle;width:1em}.modal-mask{background-color:rgba(0,0,0,.5);display:table;height:100%;left:0;position:fixed;top:0;transition:opacity .3s ease;width:100%;z-index:9998}.modal-wrapper{display:table-cell;vertical-align:middle}.modal-container{background-color:#fff;border-radius:2px;box-shadow:0 2px 8px rgba(0,0,0,.33);font-family:Helvetica,Arial,sans-serif;margin:0 auto;padding:20px 30px;transition:all .3s ease;width:580px}.modal-header h3{color:#42b983;margin-top:0}.modal-body{margin:20px 0}.modal-footer{margin-top:20px}.modal-default-button{float:right}.modal-enter,.modal-leave-active{opacity:0}.modal-enter .modal-container,.modal-leave-active .modal-container{-webkit-transform:scale(1.1);transform:scale(1.1)}:root{--background:#f8fafc;--foreground:#0f172a;--muted:#64748b;--muted-background:#f1f5f9;--card:#fff;--border:#e2e8f0;--primary:#0f172a;--primary-foreground:#fff;--ring:rgba(15,23,42,.16);--destructive:#dc2626}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;padding:0}a{color:inherit}button,input,select,textarea{font:inherit}.app-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.app-sidebar{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.92);border-right:1px solid var(--border);gap:22px;height:100vh;overflow-y:auto;padding:18px 16px;position:sticky;top:0}.app-sidebar,.app-sidebar__brand{display:flex;flex-direction:column}.app-sidebar__brand{align-items:flex-start;border-bottom:1px solid var(--border);gap:10px;padding:0 4px 14px}.brand-link{font-size:17px;font-weight:700;text-decoration:none}.brand-badge{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:999px;color:var(--muted);display:inline-flex;font-size:12px;min-height:24px;padding:3px 8px}.app-sidebar__nav{gap:6px}.app-sidebar__nav,.nav-section{display:flex;flex-direction:column}.nav-section{gap:3px}.nav-section--single{margin-bottom:4px}.nav-section__toggle{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--muted);cursor:pointer;display:flex;font-size:11px;font-weight:700;gap:10px;letter-spacing:.02em;min-height:34px;padding:0 11px;text-align:left;text-transform:uppercase;width:100%}.nav-section__toggle:hover{background:var(--muted-background);color:var(--foreground)}.nav-section__icon{color:#64748b;flex-shrink:0;height:16px;width:16px}.nav-section__label{flex:1}.nav-section__chevron{color:#94a3b8;flex-shrink:0;height:14px;transition:transform .18s ease;width:14px}.nav-section.is-open .nav-section__chevron{transform:rotate(90deg)}.nav-section__items{border-left:1px solid var(--border);display:flex;flex-direction:column;gap:2px;margin-left:16px;margin-top:2px;padding-left:8px}.nav-pill{align-items:center;border-radius:6px;color:#334155;display:inline-flex;font-size:14px;gap:10px;line-height:1;min-height:32px;padding:0 11px;text-decoration:none;width:100%}.nav-pill .nav-icon{color:#94a3b8;flex-shrink:0;height:16px;transition:color .15s ease;width:16px}.nav-pill.router-link-exact-active,.nav-pill:hover{background:var(--muted-background);color:var(--foreground);text-decoration:none}.nav-pill.router-link-exact-active .nav-icon,.nav-pill:hover .nav-icon{color:var(--foreground)}.nav-pill--primary{background:var(--primary);color:var(--primary-foreground)}.nav-pill--primary:hover{background:#1e293b;color:var(--primary-foreground)}.nav-pill--ghost{color:var(--muted)}.app-main{min-width:0;padding:28px 32px 48px;width:100%}.page-heading{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:22px}.auth-card h1,.dialog h2,.empty-panel h2,.page-heading h1{font-size:28px;font-weight:700;letter-spacing:0;line-height:1.15;margin:0}.page-heading__copy{color:var(--muted);font-size:15px;margin:8px 0 0;max-width:720px}.page-heading__meta,.status-card{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:8px;color:#334155;display:inline-flex;font-size:14px;gap:8px;min-height:38px;padding:0 12px;white-space:nowrap}.eyebrow{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}.status-dot{background:#cbd5e1;border-radius:999px;height:8px;width:8px}.status-dot--on{background:#16a34a}.resource-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.auth-card,.dialog,.empty-panel,.resource-card,.table-frame{background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 1px 2px rgba(15,23,42,.04)}.resource-card{display:flex;flex-direction:column;gap:6px;padding:16px;text-decoration:none}.resource-card:hover{background:#fbfdff;border-color:#cbd5e1;text-decoration:none}.resource-card span{font-weight:700}.empty-panel p,.resource-card small{color:var(--muted)}.empty-panel{padding:24px}.toolbar{align-items:flex-end;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.form-field,.search-field{color:#334155;display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:7px}.search-field{width:min(360px,100%)}.checkbox-field{align-items:center;color:#334155;cursor:pointer;display:flex;flex-direction:row;font-size:14px;font-weight:600;gap:10px;margin-top:1rem}.checkbox-field input[type=checkbox]{accent-color:var(--primary);cursor:pointer;flex:0 0 auto;height:16px;margin:0;min-height:0;padding:0;width:16px}input,select,textarea{background:var(--card);border:1px solid var(--border);border-radius:6px;color:var(--foreground);min-height:38px;outline:none;padding:8px 10px;width:100%}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#94a3b8;box-shadow:0 0 0 3px var(--ring)}.button{align-items:center;background:var(--primary);border:1px solid var(--primary);border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;justify-content:center;line-height:1;min-height:38px;padding:0 14px}.button,.button:hover{color:var(--primary-foreground);text-decoration:none}.button:hover{background:#1e293b}.button:disabled{cursor:not-allowed;opacity:.55}.button--outline{background:var(--card);border-color:var(--border);color:var(--foreground)}.button--outline:hover{background:var(--muted-background);color:var(--foreground)}.button--danger{background:var(--card);border-color:var(--destructive);color:var(--destructive)}.button--danger:hover{background:var(--destructive);color:var(--primary-foreground)}.button--sm{font-size:13px;min-height:32px;padding:0 10px}.button-row{display:flex;flex-wrap:wrap;gap:10px}.table-frame{overflow:auto}.data-table{border-collapse:collapse;font-size:14px;table-layout:auto;width:100%}.data-table td,.data-table th{border-bottom:1px solid var(--border);max-width:320px;padding:11px 12px;text-align:left;vertical-align:top}.data-table th{background:var(--muted-background);color:#334155;font-size:12px;font-weight:700;position:sticky;text-transform:uppercase;top:0;z-index:1}.data-table td span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-link{color:#0f766e;display:inline-flex;flex-direction:column;font-weight:700;gap:2px;max-width:100%;text-decoration:none}.file-link:hover{text-decoration:underline}.file-link span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-link small{color:var(--muted);font-size:12px;font-weight:500}.data-table tr:last-child td{border-bottom:0}.actions-column{text-align:right;white-space:nowrap;width:200px}.actions-column .button+.button,.actions-column .button+.button--outline,.actions-column .button--outline+.button{margin-left:6px}.column-sort{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;gap:6px;padding:0;text-transform:inherit}.empty-state{color:var(--muted);padding:28px!important;text-align:center!important}.pagination-bar{align-items:center;color:var(--muted);display:flex;font-size:14px;gap:12px;justify-content:flex-end;margin-top:14px}.dialog-backdrop{align-items:center;background:rgba(15,23,42,.42);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:50}.dialog{display:flex;flex-direction:column;max-height:min(760px,100vh - 36px);width:min(760px,100%)}.dialog__footer,.dialog__header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:14px;justify-content:space-between;padding:18px}.dialog__footer{border-bottom:0;border-top:1px solid var(--border);justify-content:flex-end}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));overflow:auto;padding:18px}.icon-button{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:6px;color:var(--foreground);cursor:pointer;display:inline-flex;font-size:24px;height:34px;justify-content:center;line-height:1;width:34px}.auth-page{display:grid;min-height:calc(100vh - 160px);place-items:center}.auth-card{gap:18px;padding:24px;width:min(420px,100%)}.auth-card,.file-drop{display:flex;flex-direction:column}.file-drop{background:#f8fafc;border:1px dashed #94a3b8;border-radius:8px;cursor:pointer;gap:6px;padding:22px;position:relative}.file-drop span{font-weight:700}.file-drop small{color:var(--muted)}.file-drop input{cursor:pointer;inset:0;opacity:0;position:absolute}.file-drop--error{border-color:var(--destructive)}.form-error{color:var(--destructive);font-size:14px}.token-panel{display:grid;gap:18px}.token-panel code{background:var(--muted-background);border:1px solid var(--border);border-radius:4px;color:var(--foreground);font-size:13px;padding:2px 5px}.token-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;min-height:190px;word-break:break-all}.commune-insee{color:var(--muted);font-size:16px;font-weight:500;margin-left:8px}.commune-sections{display:grid;gap:18px}.commune-section{background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 1px 2px rgba(15,23,42,.04);padding:18px}.commune-section__header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.commune-section__header h2{font-size:18px;font-weight:700;margin:0}.commune-section__count{color:var(--muted);font-size:13px}.detail-tables{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.detail-table__title{color:var(--muted);font-size:14px;font-weight:700;margin:0 0 6px}.detail-table{background:var(--card);border:1px solid var(--border);border-collapse:collapse;border-radius:6px;font-size:14px;overflow:hidden;width:100%}.detail-table td,.detail-table th{border:1px solid var(--border);padding:7px 10px;text-align:left;vertical-align:top;word-break:break-word}.detail-table>tbody>tr>th{background:var(--muted-background);color:var(--muted);font-weight:600;width:38%}.detail-table>tbody>tr>td{color:var(--foreground)}.detail-table--nested{border:1px solid var(--border);border-radius:0;font-size:13px;margin:-1px}.detail-table--nested th{background:var(--background);width:42%}@media (max-width:860px){.app-layout{display:block}.app-sidebar{border-bottom:1px solid var(--border);border-right:0;height:auto;position:static}.app-sidebar__brand{align-items:center;flex-direction:row;justify-content:space-between}.app-sidebar__nav{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.app-main{padding:22px 16px 40px}.page-heading,.toolbar{align-items:stretch;flex-direction:column}.form-grid{grid-template-columns:1fr}}