@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f8f7;--surface:#eff4f2;--card:#fff;--border:#dde3e0;--border-light:#e9eeec;--hover:#eaf2f0;--text:#12201f;--text-secondary:#33413f;--muted:#55635f;--subtle:#7a8783;--sidebar-bg:#fff;--sidebar-hover:#eaf2f0;--sidebar-active:#e3f0ee;--sidebar-text:#33413f;--sidebar-text-active:#0b5d57;--sidebar-border:#dde3e0;--sidebar-icon:#7a8783;--accent:#0b5d57;--accent-light:#e3f0ee;--accent-hover:#084842;--accent-text:#fff;--accent-ink:#0b5d57;--amber:#f2b544;--amber-ink:#8a5300;--violet-ink:#6b4fbb;--planifie:#2f64b0;--en-cours:#6b4fbb;--termine:#18794e;--annule:#6b7774;--st-plan:#2f64b0;--st-cours:#6b4fbb;--st-fin:#18794e;--st-retard:#c4314b;--st-risque:#f2b544;--st-gele:#56698c;--st-attente:#d5dcd9;--st-annule:#6b7774;--on-light:#12201f;--heat-0:#eef5f4;--heat-1:#cfe6e3;--heat-2:#8cc3bc;--heat-3:#2f7f77;--heat-over:#e0703a;--danger:#c4314b;--danger-bg:#fbeaec;--danger-border:#f2c2ca;--warning:#a86500;--warning-bg:#fdf4e1;--warning-border:#f5d99a;--success:#18794e;--success-bg:#e6f3ec;--success-border:#b5dcc6;--info:#2f64b0;--info-bg:#eaf0f9;--info-border:#bfd0ec;--shadow-xs:0 1px 2px #12201f0d;--shadow-sm:0 1px 4px #12201f0f, 0 1px 2px #12201f0a;--shadow-md:0 6px 18px #12201f14, 0 2px 4px #12201f0a;--shadow-lg:0 12px 40px #12201f2e;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:15px;--fs-xl:20px;--fs-title:1.6rem;--radius:8px;--radius-lg:12px;--touch:40px;--font:"Poppins", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12201f;--surface:#1f3231;--card:#192a29;--border:#2f4341;--border-light:#263937;--hover:#243836;--text:#eef3f1;--text-secondary:#d5ddda;--muted:#a9b6b2;--subtle:#7e8c88;--sidebar-bg:#162625;--sidebar-hover:#213433;--sidebar-active:#173f3b;--sidebar-text:#d5ddda;--sidebar-text-active:#8fd9cf;--sidebar-border:#2f4341;--sidebar-icon:#8e9c98;--accent:#1e8277;--accent-light:#173f3b;--accent-hover:#26968a;--accent-text:#fff;--accent-ink:#8fd9cf;--amber-ink:#f2c66e;--violet-ink:#b9a6f0;--st-attente:#4a5c59;--heat-0:#1c2f2e;--heat-1:#1d4a45;--heat-2:#256b63;--heat-3:#2f8a80;--danger:#e4687c;--danger-bg:#3a1f25;--danger-border:#5c2a34;--warning:#f2c66e;--warning-bg:#3a2f17;--warning-border:#5a4620;--success:#5cc08a;--success-bg:#17332a;--success-border:#24513e;--info:#8db0ea;--info-bg:#1b2a44;--info-border:#2a4170;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 4px #0000004d;--shadow-md:0 6px 18px #00000059;--shadow-lg:0 12px 40px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:13px;line-height:1.5}h1{font-family:var(--font);letter-spacing:-.02em;color:var(--text);font-size:1rem;font-weight:600}h2{letter-spacing:-.01em;font-size:.875rem;font-weight:600}h3{font-size:.8rem;font-weight:500}code,kbd,.mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--subtle);background-clip:padding-box}input,select,textarea,button{font-family:var(--font);color:inherit;font-size:13px}input::placeholder,textarea::placeholder{color:var(--subtle)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.badge{white-space:nowrap;border-radius:12px;align-items:center;padding:2px 10px;font-size:11px;font-weight:500;display:inline-flex}.badge-blue{background:var(--info-bg);color:var(--info);border:1px solid var(--info-border)}.badge-green{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-red{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.badge-amber{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.badge-gray{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.badge-purple{background:color-mix(in srgb, var(--st-cours) 14%, var(--card));color:var(--st-cours);border:1px solid color-mix(in srgb, var(--st-cours) 30%, var(--card))}:root[data-theme=dark] .badge-purple{color:#b9a6f0}.badge-status{font-family:var(--font);letter-spacing:0;border-radius:6px;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.5;color:#fff!important;border:none!important}.badge-status.badge-blue{background:var(--st-plan)}.badge-status.badge-green{background:var(--st-fin)}.badge-status.badge-red{background:var(--st-retard)}.badge-status.badge-amber{background:var(--st-risque);color:var(--on-light)!important}.badge-status.badge-gray{background:var(--st-gele)}.badge-status.badge-purple{background:var(--st-cours)}.st{color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;min-height:36px;padding:0 8px;font-size:12.5px;font-weight:500;display:flex;overflow:hidden}.st-plan,.st-cours,.st-fin,.st-retard,.st-gele,.st-annule{color:#fff}.st-plan{background:var(--st-plan)}.st-cours{background:var(--st-cours)}.st-fin{background:var(--st-fin)}.st-retard{background:var(--st-retard)}.st-risque{background:var(--st-risque);color:var(--on-light)}.st-gele{background:var(--st-gele)}.st-attente{background:var(--st-attente);color:var(--on-light)}:root[data-theme=dark] .st-attente{color:#eef3f1}.st-annule{background:var(--st-annule)}.st-alerte{background:var(--heat-over);color:#fff}.st-none{color:var(--subtle);background:0 0}.pill{white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.pill-soft{background:var(--accent-light);color:var(--accent-ink)}.section-title{font-family:var(--font);letter-spacing:-.01em;color:var(--text);font-size:1rem;font-weight:600}.kpi-value{font-family:var(--font);letter-spacing:-.02em;color:var(--text);font-size:2.1rem;font-weight:600;line-height:1.15}.kpi-label{color:var(--muted);font-size:.8rem;font-weight:500}.empty-state{border-top:1px solid var(--border);text-align:center;color:var(--muted);padding:2.5rem 1rem;font-size:.85rem}.empty-state strong{font-family:var(--font);color:var(--text);margin-bottom:.35rem;font-size:1.05rem;font-weight:600;display:block}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.ax-table{border-collapse:collapse;width:100%}.ax-table th{background:var(--card);color:var(--muted);border-bottom:1px solid var(--border);text-align:left;padding:9px 12px;font-size:12px;font-weight:500}.ax-table td{border-bottom:1px solid var(--border-light);color:var(--text-secondary);padding:9px 12px;font-size:13px}.ax-table tr:hover td{background:var(--hover)}.btn-primary,.btn-secondary,.btn-danger{cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:7px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;border:1.5px solid var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{background:var(--card);color:var(--text);border:1.5px solid var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent-ink)}.btn-danger{background:var(--st-retard);color:#fff;border:1.5px solid var(--st-retard)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.55;cursor:not-allowed}.bar-planifie{background:color-mix(in srgb, var(--st-plan) 18%, var(--card));border:1px solid color-mix(in srgb, var(--st-plan) 45%, var(--card))}.bar-en-cours{background:color-mix(in srgb, var(--st-cours) 18%, var(--card));border:1px solid color-mix(in srgb, var(--st-cours) 45%, var(--card))}.bar-termine{background:color-mix(in srgb, var(--st-fin) 18%, var(--card));border:1px solid color-mix(in srgb, var(--st-fin) 45%, var(--card))}.bar-annule{background:var(--surface);border:1px solid var(--border)}.ax-tabs{border-bottom:1px solid var(--border);gap:4px;display:flex;overflow-x:auto}.ax-tab{color:var(--muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s}button.ax-tab{background:0 0;border:none;border-bottom:2px solid #0000;font-family:inherit}.ax-tab:hover{color:var(--text)}.ax-tab.active{color:var(--accent-ink);border-bottom-color:var(--accent);font-weight:600}.charge-tooltip-wrap:hover+.charge-cell-tooltip,.charge-cell-tooltip:hover{opacity:1!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.15s ease-out fadeIn}@keyframes slideRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.slide-right{animation:.2s ease-out slideRight}@media (prefers-reduced-motion:reduce){.fade-in,.slide-right{animation:none}}.app-nav{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border)}.nav-brand{color:var(--text);align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.nav-brand-name{letter-spacing:-.02em;white-space:nowrap;font-size:16px;font-weight:700}.nav-search{border:1.5px solid var(--border);background:var(--card);width:100%;height:36px;color:var(--subtle);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-family:inherit;font-size:13px;display:flex}.nav-search:hover{border-color:var(--accent);color:var(--text)}.nav-search kbd{border:1px solid var(--border);color:var(--subtle);background:var(--card);border-radius:4px;margin-left:auto;padding:0 5px;font-size:10.5px}.nav-caption{color:var(--subtle);text-transform:uppercase;letter-spacing:.06em;-webkit-user-select:none;user-select:none;padding:12px 10px 4px;font-size:11px;font-weight:600}.space-head{border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;height:36px;color:var(--text);background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-size:13.5px;font-weight:600;display:flex}.space-head:hover{background:var(--sidebar-hover)}.space-icon{color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:inline-flex}.sidebar-item{border-radius:var(--radius);min-height:34px;color:var(--sidebar-text);cursor:pointer;align-items:center;gap:10px;margin:1px 0;padding:0 10px 0 44px;font-size:13.5px;text-decoration:none;transition:background .1s;display:flex;position:relative}.sidebar-item:hover{background:var(--sidebar-hover)}.sidebar-item.active{background:var(--sidebar-active);color:var(--sidebar-text-active);font-weight:600}.sidebar-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sidebar-item.fav{padding-left:10px}.sidebar-row{align-items:center;display:flex;position:relative}.sidebar-row>.sidebar-item{flex:1;min-width:0;padding-right:34px}.sidebar-row>.fav-btn{opacity:0;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.sidebar-row:hover>.fav-btn,.sidebar-row>.fav-btn:focus-visible,.sidebar-row>.fav-btn[aria-pressed=true]{opacity:1}.fav-btn{width:24px;height:24px;color:var(--subtle);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.fav-btn:hover{background:var(--card);color:var(--amber-ink)}.fav-btn[aria-pressed=true]{color:var(--amber)}.sidebar-child{min-height:30px;padding-left:56px;font-size:12.5px}.sidebar-collapsed-item{justify-content:center;min-height:38px;padding:0!important}.nav-count{background:var(--st-retard);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:22px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.sidebar-menu-btn{width:100%;color:var(--text);font-size:var(--fs-sm);cursor:pointer;text-align:left;border-radius:var(--radius);background:0 0;border:none;padding:9px 14px;font-family:inherit;display:block}.sidebar-menu-btn:hover{background:var(--sidebar-hover)}.space-row{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;padding:10px;display:flex}.space-row:hover:not(:disabled){background:var(--hover)}.space-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.space-row:disabled{cursor:progress}.space-row[aria-current=true]{border-color:var(--border);background:var(--surface)}.space-row-mark{background:var(--accent-light);width:34px;height:34px;color:var(--accent-ink);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.space-row-mark[data-kind=demo]{background:var(--warning-bg);color:var(--warning)}.theme-switch{background:var(--surface);border-radius:999px;gap:2px;margin:4px 8px 6px;padding:3px;display:flex}.theme-switch button{height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;font-size:12px;font-weight:500}.theme-switch button[aria-pressed=true]{background:var(--card);color:var(--text);box-shadow:var(--shadow-xs)}.tab-close{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.tab-close:hover{background:var(--danger-bg);color:var(--danger)}.work-tab{cursor:pointer;height:32px;color:var(--muted);border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;flex-shrink:0;align-items:center;gap:4px;margin:6px 0 0;padding:0 4px 0 12px;font-size:12px;display:flex}.work-tab:hover{color:var(--text);background:var(--hover)}.work-tab[aria-selected=true]{background:var(--bg);color:var(--text);border-color:var(--border);font-weight:600}.header-search{background:var(--card);border:1.5px solid var(--border);height:36px;color:var(--muted);font-size:var(--fs-sm);cursor:pointer;border-radius:999px;align-items:center;gap:8px;min-width:200px;padding:0 12px;font-family:inherit;display:inline-flex}.header-search:hover{border-color:var(--accent);color:var(--text)}.header-search kbd{font-size:var(--fs-xs);background:var(--card);border:1px solid var(--border);color:var(--muted);border-radius:4px;margin-left:auto;padding:0 5px}.icon-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--hover);color:var(--text)}.board-header{background:var(--card);border-bottom:1px solid var(--border);padding:20px 28px 0}.board-title{letter-spacing:-.02em;font-size:1.6rem;font-weight:600;line-height:1.2}.view-tabs{flex-wrap:wrap;align-items:flex-end;gap:4px 20px;margin-top:10px;display:flex}.view-tab{height:40px;color:var(--muted);border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 2px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-flex}.view-tab:hover{color:var(--text)}.view-tab[aria-current=page]{color:var(--accent-ink);border-bottom-color:var(--accent);font-weight:600}.board-toolbar{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex}.toolbar-search{border:1.5px solid var(--border);background:var(--card);width:260px;max-width:100%;height:36px;color:var(--subtle);border-radius:999px;align-items:center;gap:8px;padding:0 14px;display:flex}.toolbar-search:focus-within{border-color:var(--accent)}.toolbar-search input{width:100%;color:var(--text);background:0 0;border:0;outline:0}.segmented{background:var(--surface);border:1px solid var(--border);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.segmented button{height:30px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:0 12px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--card);color:var(--text);box-shadow:var(--shadow-xs)}.board{flex-direction:column;gap:28px;padding:22px 28px 48px;display:flex}.board-group-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.board-group-title{letter-spacing:-.01em;font-size:17px;font-weight:600}.board-scroll{border-radius:var(--radius);overflow-x:auto}.board-grid{min-width:1080px;display:grid}.board-grid>div{border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:var(--card);align-items:center;min-width:0;min-height:42px;display:flex}.board-grid.board-head>div{color:var(--muted);justify-content:center;font-size:12.5px;font-weight:500}.board-grid.board-row:hover>div:not(.cell-st):not(.group-bar){background:var(--hover)}.board-grid>div.cell-st{background:0 0;padding:0}.board-grid>div.cell-st>.st{width:100%;height:100%}.board-grid.board-row[data-selected=true]>div:not(.cell-st):not(.group-bar){background:var(--accent-light)}.board-grid>div.group-bar{border-right:0}.board-grid.summary>div{background:0 0;border-bottom:0;border-right:0;min-height:44px}.cell-txt{text-overflow:ellipsis;white-space:nowrap;padding:0 12px;overflow:hidden}.cell-center{justify-content:center}.cell-open{cursor:pointer;text-align:left;min-width:0;color:var(--text);background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;padding:4px 0;display:flex}.cell-open:hover .cell-open-ref{color:var(--accent-ink);text-underline-offset:3px;text-decoration:underline}.cell-open-ref{font-size:13px;font-weight:600}.cell-open-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;overflow:hidden}.battery{background:var(--surface);border-radius:4px;width:100%;height:22px;margin:0 10px;display:flex;overflow:hidden}.progress{background:var(--surface);border:1px solid var(--border);border-radius:4px;width:100%;height:22px;margin:0 10px;position:relative;overflow:hidden}.progress-fill{background:var(--heat-2);position:absolute;top:0;bottom:0;left:0}.progress-fill[data-done=true]{background:var(--st-fin)}.progress-txt{height:100%;color:var(--text);justify-content:center;align-items:center;font-size:11.5px;font-weight:600;display:flex;position:relative}.progress-fill[data-done=true]+.progress-txt{color:#fff}.board-collapsed{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex}.tree-toggle{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.tree-toggle:hover{background:var(--card);color:var(--text)}.kanban{grid-auto-columns:minmax(260px,1fr);grid-auto-flow:column;align-items:start;gap:14px;padding:22px 28px 48px;display:grid;overflow-x:auto}.kanban-col{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);flex-direction:column;gap:10px;padding-bottom:10px;display:flex;overflow:hidden}.kanban-col>.st{justify-content:space-between;min-height:42px;padding:0 14px;font-size:13.5px;font-weight:600}.kanban-card{text-align:left;cursor:pointer;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);color:var(--text);flex-direction:column;gap:8px;margin:0 10px;padding:12px;display:flex}.kanban-card:hover{border-color:var(--accent)}.side-panel-backdrop{z-index:180;background:#12201f40;position:fixed;inset:0}.side-panel{z-index:190;background:var(--card);border-left:1px solid var(--border);width:520px;max-width:100vw;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.side-panel-head{align-items:flex-start;gap:12px;padding:20px 24px 12px;display:flex}.side-panel-body{flex-direction:column;flex:1;gap:8px;padding:16px 24px;display:flex;overflow-y:auto}.side-panel-foot{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:14px 24px;display:flex}.detail-row{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.detail-seq{background:var(--surface);width:30px;height:26px;color:var(--muted);border-radius:13px;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.page-header{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:1.25rem;display:flex}.page-title{font-size:var(--fs-title);letter-spacing:-.02em;color:var(--text);font-weight:600;line-height:1.2}.page-subtitle{font-size:var(--fs-md);color:var(--muted);max-width:820px;margin-top:3px}.page-back{font-size:var(--fs-sm);margin-bottom:2px}.page-back a{color:var(--muted);text-decoration:none}.page-back a:hover{color:var(--accent-ink)}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ui-btn{cursor:pointer;white-space:nowrap;border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.ui-btn:disabled{opacity:.55;cursor:not-allowed}.ui-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-btn-sm{height:30px;font-size:var(--fs-sm);padding:0 12px}.ui-btn-md{height:36px;font-size:var(--fs-md);padding:0 16px}.ui-btn-lg{height:var(--touch);font-size:var(--fs-lg);padding:0 20px}.ui-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.ui-btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.ui-btn-secondary{background:var(--card);color:var(--text);border-color:var(--border)}.ui-btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink)}.ui-btn-danger{background:var(--st-retard);color:#fff;border-color:var(--st-retard)}.ui-btn-ghost{color:var(--muted);background:0 0}.ui-btn-ghost:hover:not(:disabled){background:var(--hover);color:var(--text)}.ui-field{flex-direction:column;gap:4px;display:flex}.ui-label{font-size:var(--fs-sm);color:var(--muted);font-weight:500}.ui-help{font-size:var(--fs-xs);color:var(--muted)}.ui-error{font-size:var(--fs-xs);color:var(--danger)}.ui-input{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--card);height:36px;color:var(--text);font-family:inherit;font-size:var(--fs-md);padding:0 12px}.ui-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.ui-count{font-size:var(--fs-xs);background:var(--surface);border-radius:10px;margin-left:6px;padding:0 6px}.ui-kpi{text-align:left;width:100%;color:var(--text);padding:1rem 1.15rem;font-family:inherit;display:block}.ui-kpi-click{cursor:pointer;transition:border-color .12s,box-shadow .12s}.ui-kpi-click:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.kpi-dot{vertical-align:0;border-radius:3px;width:10px;height:10px;margin-right:8px;display:inline-block}.onboarding-step{border:1px solid var(--border);border-radius:var(--radius);color:inherit;font-size:var(--fs-md);background:var(--card);align-items:flex-start;gap:10px;padding:10px;text-decoration:none;display:flex}.onboarding-step:hover{border-color:var(--accent)}.onboarding-check{width:22px;height:22px;font-size:var(--fs-xs);background:var(--surface);color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.onboarding-step[data-done=true] .onboarding-check{background:var(--success);color:#fff}.todo-list{flex-direction:column;gap:6px;display:flex}.todo-item{border-radius:var(--radius);color:var(--text-secondary);font-size:var(--fs-md);border:1px solid var(--border-light);align-items:center;gap:12px;padding:9px 10px;text-decoration:none;display:flex}.todo-item:hover{background:var(--hover);border-color:var(--border)}.todo-item .badge-status{justify-content:center;min-width:78px}.todo-more{font-size:var(--fs-sm);padding-left:8px}.link-btn{color:var(--accent-ink);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline}.nav-toggle{width:var(--touch);height:var(--touch);color:var(--text);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;margin-left:-10px;display:none}.nav-backdrop{z-index:150;background:#12201f73;position:fixed;inset:0}@media (max-width:1023px){.app-nav{box-shadow:var(--shadow-lg);top:0;bottom:0;left:0;transform:translate(-100%);z-index:160!important;width:280px!important;transition:transform .2s!important;position:fixed!important}.app-nav[data-open=true]{transform:none}.nav-toggle{display:inline-flex}.header-search{min-width:0}.header-search span,.header-search kbd{display:none}.board,.kanban,.board-header{padding-left:16px;padding-right:16px}}@media (pointer:coarse){.ui-btn-sm,.ui-btn-md,.btn-primary,.btn-secondary,.btn-danger{min-height:var(--touch)}.ax-table td{padding-top:12px;padding-bottom:12px}.sidebar-item{min-height:42px}.tab-close{width:32px;height:32px}.sidebar-row>.fav-btn{opacity:1}select,input[type=date],input[type=time],input[type=number],input[type=text]{min-height:38px}}.kiosk{background:var(--bg);min-height:100vh;padding:16px 20px;font-size:16px}.kiosk-header{align-items:center;gap:24px;margin-bottom:14px;display:flex}.kiosk-title{font-family:var(--font);letter-spacing:-.02em;font-size:32px;font-weight:700}.kiosk-sub{color:var(--muted);font-size:14px}.kiosk-clock{font-family:var(--font);font-variant-numeric:tabular-nums;margin-left:auto;font-size:42px;font-weight:600}.kiosk-exit{color:var(--muted);font-size:13px}.kiosk-body{align-items:start;gap:16px;display:grid}.kiosk-list{flex-direction:column;gap:8px;max-height:calc(100vh - 120px);display:flex;overflow-y:auto}.kiosk-row{background:var(--card);border:1px solid var(--border);border-left:6px solid var(--border);border-radius:var(--radius);grid-template-columns:150px minmax(0,1fr) 96px;align-items:center;gap:14px;padding:12px 14px;display:grid}.kiosk-row[data-state=run]{border-left-color:var(--en-cours)}.kiosk-row[data-state=closed]{opacity:.6}.kiosk-code{font-family:var(--font);font-size:22px;font-weight:700}.kiosk-state{border-radius:999px;margin-top:4px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-block}.kiosk-reason{margin-bottom:2px;font-size:15px;font-weight:500}.kiosk-now{white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}.kiosk-meta{color:var(--muted);font-size:14px}.kiosk-next{color:var(--text-secondary);margin-top:4px;font-size:14px}.kiosk-progress{background:var(--surface);border-radius:4px;height:8px;margin-top:6px;overflow:hidden}.kiosk-progress>div{background:var(--en-cours);height:100%}.kiosk-load{font-family:var(--font);text-align:right;color:var(--success);font-size:26px;font-weight:700}.kiosk-load[data-level=mid]{color:var(--warning)}.kiosk-load[data-level=high]{color:var(--danger)}.split-main-side{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1rem;display:grid}@media (max-width:1023px){.split-main-side{grid-template-columns:minmax(0,1fr)}}.floor-chip{border:1px solid var(--border);background:var(--card);height:34px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 12px 0 5px;font-size:13px;font-weight:500;display:inline-flex}.floor-chip:hover{border-color:var(--border-strong,var(--muted))}.floor-chip[aria-pressed=true]{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}.floor-chip[data-empty=true]{opacity:.55}.floor-count{border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12.5px;font-weight:600;display:inline-flex}.floor-item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:10px;padding:8px;display:grid}.floor-item:hover{background:var(--surface)}.floor-item .pill{width:100%}.floor-item-code{font-size:13.5px;font-weight:600}.floor-item-reason{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.floor-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 4px;display:grid}.floor-metric{background:var(--surface);border-radius:8px;padding:8px 10px}.floor-metric strong{font-size:17px;font-weight:600;display:block}.floor-metric span{color:var(--muted);font-size:11.5px}.roadmap{flex-direction:column;gap:6px;display:flex}.roadmap-row{border:1px solid var(--border);border-left:4px solid var(--border);border-radius:8px;padding:8px 10px}.roadmap-row[data-kind=run]{border-left-color:var(--st-fin)}.roadmap-row[data-kind=ready]{border-left-color:var(--st-plan)}.roadmap-row[data-kind=late]{border-left-color:var(--heat-over)}.roadmap-row[data-kind=blocked]{border-left-color:var(--st-retard)}.roadmap-row[data-kind=wait]{border-left-color:var(--st-attente)}.roadmap-block[data-hard=false]{color:var(--muted)!important}.roadmap-head{align-items:center;gap:8px;display:flex}.roadmap-head a{color:var(--text);font-weight:600;text-decoration:none}.roadmap-head a:hover{text-decoration:underline}.roadmap-meta{color:var(--muted);margin-top:2px;font-size:12px}.roadmap-block{color:var(--st-retard);margin-top:3px;font-size:12px}:root[data-theme=dark] .roadmap-block{color:#f4a3a8}.side-panel-backdrop.side-panel-top{z-index:1000}.side-panel.side-panel-top{z-index:1010}.help-tip-btn{width:18px;height:18px;color:var(--subtle);cursor:pointer;vertical-align:middle;text-transform:none;letter-spacing:normal;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0 2px;padding:0;display:inline-flex}.help-tip-btn:hover,.help-tip-btn[aria-expanded=true]{color:var(--accent-ink);background:var(--accent-light)}.help-tip-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (pointer:coarse){.help-tip-btn{position:relative}.help-tip-btn:after{content:"";position:absolute;inset:-11px}}.help-tip-pop{z-index:1100;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-family:var(--font);font-size:var(--fs-md);text-transform:none;letter-spacing:normal;text-align:left;white-space:normal;padding:14px 16px 10px;font-weight:400;line-height:1.5;position:fixed;overflow-y:auto}.help-entry p{color:var(--text-secondary);margin:0 0 8px}.help-entry ul{color:var(--text-secondary);margin:0 0 8px;padding-left:18px}.help-entry li{margin-bottom:3px}.help-entry-title{font-size:var(--fs-lg);color:var(--text);margin-bottom:6px;font-weight:600}.help-entry-label{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin:10px 0 2px;font-weight:600}.help-entry-details{border-top:1px solid var(--border-light);margin:6px 0 8px;padding-top:8px}.help-entry-details summary{cursor:pointer;font-size:var(--fs-sm);color:var(--accent-ink);font-weight:600}.help-entry-details p{font-size:var(--fs-sm);margin-top:6px}.help-entry-related{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.help-chip{font:inherit;font-size:var(--fs-xs);cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:999px;padding:3px 9px}.help-chip:hover{border-color:var(--accent);color:var(--accent-ink)}.help-tip-actions{border-top:1px solid var(--border-light);flex-wrap:wrap;gap:14px;margin-top:8px;padding-top:8px;display:flex}.help-link{font:inherit;font-size:var(--fs-sm);color:var(--accent-ink);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.help-link:hover{text-decoration:underline}.help-panel{font-size:var(--fs-md);color:var(--text-secondary);line-height:1.5}.help-search{min-width:0;height:36px;font:inherit;font-size:var(--fs-md);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);flex:1;padding:0 12px}.help-search:focus{outline:2px solid var(--accent);outline-offset:-1px}.help-section-title{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin:14px 0 4px;font-weight:600}.help-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.help-list button{text-align:left;width:100%;font:inherit;border-radius:var(--radius);cursor:pointer;background:0 0;border:none;flex-direction:column;gap:1px;padding:8px 10px;display:flex}.help-list button:hover,.help-list button:focus-visible{background:var(--hover)}.help-list-title{color:var(--text);font-weight:600;font-size:var(--fs-md)}.help-list-sub{font-size:var(--fs-sm);color:var(--muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.help-muted{color:var(--muted);font-size:var(--fs-sm)}.guide-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.guide-toc{max-height:calc(100vh - 140px);font-size:var(--fs-sm);padding:.9rem 1rem;position:sticky;top:0;overflow-y:auto}.guide-toc details{border-top:1px solid var(--border-light);padding:6px 0}.guide-toc summary{cursor:pointer;color:var(--text);font-weight:600}.guide-toc summary a{color:inherit;text-decoration:none}.guide-toc ul{margin:4px 0 0;padding:0 0 0 12px;list-style:none}.guide-toc li a{color:var(--text-secondary);padding:2px 0;text-decoration:none;display:block}.guide-toc a:hover,.guide-toc a:focus-visible{color:var(--accent-ink);text-decoration:underline}.guide-body{max-width:960px;font-size:var(--fs-md);color:var(--text);padding:1.25rem 1.75rem 2rem;line-height:1.65}.guide-body p,.guide-body ul,.guide-body ol{margin:0 0 .75rem}.guide-body ul,.guide-body ol{padding-left:1.4rem}.guide-body li{margin:3px 0}.guide-body li>ul{margin:4px 0 0}.guide-body h2,.guide-body h3,.guide-body h4{color:var(--text);letter-spacing:-.01em;scroll-margin-top:12px}.guide-h2{border-top:1px solid var(--border);margin:2.25rem 0 .6rem;padding-top:1.25rem;font-size:1.35rem;font-weight:600}.guide-body>.guide-h2:first-child{border-top:0;margin-top:0;padding-top:0}.guide-h3{margin:1.5rem 0 .45rem;font-size:1.08rem;font-weight:600}.guide-body .guide-h4{color:var(--accent-ink);margin:1.25rem 0 .4rem;font-size:.98rem;font-weight:600}.guide-figure{margin:.75rem 0 1.25rem}.guide-figure img{border:1px solid var(--border);border-radius:var(--radius-lg);max-width:100%;height:auto;box-shadow:var(--shadow-xs);display:block}.guide-figure figcaption{font-size:var(--fs-sm);color:var(--muted);margin-top:6px}.guide-table{margin:.5rem 0 1rem;overflow-x:auto}.guide-table table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.guide-table th,.guide-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border-light);padding:6px 10px}.guide-table th{color:var(--text-secondary);background:var(--surface);font-weight:600}@media (max-width:1023px){.guide-layout{grid-template-columns:minmax(0,1fr)}.guide-toc{max-height:none;position:static}.guide-body{padding:1rem}}
