.line-tabs{flex-wrap:wrap;gap:6px;display:flex}.line-tab{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:7px 14px;font-size:.84rem;font-weight:700;text-decoration:none;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.line-tab:hover{background:var(--blue-soft);color:#4338ca;border-color:#a5b4fc}.lt-dot{background:#cbd5e1;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:background .12s}.lt-badge{background:var(--line-soft);color:var(--muted);font-size:.62rem;font-weight:700;font-family:var(--font-mono);white-space:nowrap;border-radius:4px;padding:2px 7px}.line-tab-active{color:#166534;pointer-events:none;background:#f0fdf4;border-color:#10b981}.line-tab-active .lt-dot{background:#10b981;box-shadow:0 0 0 2.5px #10b98133}.line-tab-active .lt-badge{color:#166534;background:#dcfce7}.line-tab-disabled{opacity:.5;cursor:default;background:var(--ink-soft);pointer-events:none}.line-tab-disabled .lt-badge{color:#d97706;background:#fef3c7}.notes-status-strip{flex-wrap:wrap;gap:8px;display:flex}.notes-status-chip{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.notes-status-chip.green{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.notes-status-chip.amber{color:#d97706;background:#fffbeb;border-color:#fde68a}.notes-form-card{border-radius:12px;overflow:hidden}.notes-form-card>.panel-title-row{border-bottom:1px solid var(--line-soft);margin-bottom:4px;padding-bottom:12px}.notes-panel-card{border-radius:12px;overflow:hidden}.notes-panel-card>.panel-title-row{border-bottom:1px solid var(--line-soft);margin-bottom:8px;padding-bottom:12px}.notes-form .field select,.notes-form .notes-sp-panel select,.notes-form .notes-repeat-block select{appearance:none;cursor:pointer;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:14px;border-color:#e2e8f0;padding-right:30px;transition:border-color .12s,box-shadow .12s}.notes-form .field select:hover,.notes-form .notes-sp-panel select:hover{border-color:#a5b4fc}.notes-form .field select:focus,.notes-form .notes-sp-panel select:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a}.notes-form .field input[type=time]{font-family:var(--font-mono);background:var(--panel);cursor:text;border-color:#e2e8f0;font-size:.82rem;font-weight:600;transition:border-color .12s}.notes-form .field input[type=time]:hover{border-color:#a5b4fc}.notes-form .field input[type=time]:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a}.notes-sp-panel{border-radius:10px;overflow:hidden}.notes-sp-head{border-bottom:1px solid var(--line-soft);background:var(--panel)}.notes-sp-head legend{color:var(--text);font-size:.84rem;font-weight:700}.notes-sp-head p{color:var(--muted);margin:1px 0 0;font-size:.7rem}.notes-sp-head label,.notes-sp-toggle{color:var(--text);font-size:.78rem;font-weight:700}.notes-form .notes-form-grid .field span,.notes-form .notes-location-field legend{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.7rem;font-weight:700}.notes-panel-card .eyebrow{margin:0 0 4px}.notes-panel-card h2{font-size:.96rem}@media (max-width:1050px){.line-tabs{flex-wrap:wrap}}.ojt-page{gap:12px;display:grid}.ojt-hero{align-items:center;padding:16px 18px}.ojt-page-hero{padding:2px 2px 4px}.ojt-page-hero .eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--blue);font-size:.7rem;font-weight:700}.ojt-page-hero h1{letter-spacing:-.02em;color:var(--text);margin:5px 0 7px;font-size:1.7rem;font-weight:700;line-height:1.1}.ojt-page-hero p{max-width:72ch;color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.ojt-board{align-items:start;gap:12px;display:grid}.ojt-input-panel,.ojt-result-panel{background:var(--panel);border:1px solid var(--line);box-shadow:none;border-radius:8px;padding:12px}.ojt-input-panel{grid-template-columns:minmax(210px,.35fr) minmax(260px,auto) minmax(320px,1fr);align-items:start;gap:10px 12px;display:grid}.ojt-panel-heading,.ojt-result-header,.ojt-item-top,.ojt-column-title,.ojt-item-meta span,.ojt-warning{align-items:center;display:flex}.ojt-panel-heading,.ojt-result-header{justify-content:space-between;gap:10px}.ojt-panel-heading{align-items:flex-start}.ojt-panel-heading h2,.ojt-result-header h2{margin:0;font-size:1rem}.ojt-result-header p{color:var(--muted);margin:4px 0 0;font-size:.85rem;font-weight:700}.ojt-source-state{border:1px solid var(--line);width:fit-content;color:var(--text);background:var(--panel-soft);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:.7rem;font-weight:700}.ojt-source-actions{flex-wrap:wrap;gap:6px;margin:0;display:flex}.ojt-upload-button{position:relative;overflow:hidden}.ojt-upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.ojt-source-editor{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-column:1/-1}.ojt-source-editor summary{cursor:pointer;color:var(--muted);text-transform:uppercase;padding:7px 10px;font-size:.76rem;font-weight:700}.ojt-textarea{resize:vertical;border:0;border-top:1px solid var(--line);width:100%;min-height:190px;color:var(--text);background:var(--panel);font-family:var(--font-mono);border-radius:0 0 8px 8px;padding:10px;font-size:.78rem;line-height:1.45}.ojt-collapse{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px}.ojt-collapse+.ojt-collapse{margin-top:8px}.ojt-collapse>summary{cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;padding:9px 12px;font-size:.74rem;font-weight:700;list-style:none;display:flex}.ojt-collapse>summary::-webkit-details-marker{display:none}.ojt-collapse>summary:before{content:"▸";font-size:.72rem;transition:transform .15s}.ojt-collapse[open]>summary:before{transform:rotate(90deg)}.ojt-collapse[open]>summary{border-bottom:1px solid var(--line)}.ojt-collapse>:not(summary){padding:10px 12px}.ojt-trame{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:12px;overflow-x:auto}.ojt-trame-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.ojt-trame-head strong{color:var(--text);font-size:.84rem;font-weight:700}.ojt-trame-head>div>span{color:var(--muted);margin-left:8px;font-size:.74rem}.ojt-trame-tag{border:1px solid var(--line);color:var(--muted);border-radius:999px;flex:none;padding:2px 9px;font-size:.7rem;font-weight:700}.ojt-trame-lanes{gap:3px;min-width:640px;margin-bottom:5px;display:grid}.ojt-trame-bar,.ojt-trame-zone{height:20px;font-family:var(--font-mono);white-space:nowrap;z-index:2;border-radius:4px;justify-content:center;align-self:center;align-items:center;gap:4px;padding:0 6px;font-size:.7rem;font-weight:700;display:flex;position:relative;overflow:hidden}.ojt-trame-leg{z-index:1;border-top:1.5px dashed;align-self:center;height:0;margin:0 3px}.ojt-trame-leg-restant{color:#d98072}.ojt-trame-leg-passant{color:#8aa0ef}.ojt-trame-leg-a_verifier{color:#d9b066}.ojt-trame-racc{z-index:3;font-family:var(--font-mono);white-space:nowrap;border-radius:3px;place-self:center;padding:1px 4px;font-size:.6rem;font-weight:700}.ojt-trame-racc-entry.ojt-trame-racc-restant{background:var(--red);color:#fff}.ojt-trame-racc-exit.ojt-trame-racc-restant{background:var(--panel);color:var(--red);border:1px solid #e2a99f}.ojt-trame-racc-entry.ojt-trame-racc-passant{background:var(--blue);color:#fff}.ojt-trame-racc-exit.ojt-trame-racc-passant{background:var(--panel);color:var(--blue);border:1px solid #b9c4f5}.ojt-trame-racc-entry.ojt-trame-racc-a_verifier{background:var(--orange);color:#fff}.ojt-trame-racc-exit.ojt-trame-racc-a_verifier{background:var(--panel);color:var(--orange);border:1px solid #f0d49a}.ojt-trame-bar-passage{background:var(--panel-soft);color:var(--muted);border:1px dashed #cbd5e1}.ojt-trame-leg-passage{color:#cbd5e1}.ojt-trame-racc-entry.ojt-trame-racc-passage{color:#fff;background:#94a3b8}.ojt-trame-racc-exit.ojt-trame-racc-passage{background:var(--panel);color:var(--muted);border:1px solid #cbd5e1}.ojt-trame-clusters{min-width:640px;margin:4px 0 2px;display:grid}.ojt-trame-cluster-badge{background:var(--panel);width:20px;height:20px;color:var(--muted);font-family:var(--font-mono);cursor:pointer;border:1px solid #cbd5e1;border-radius:999px;justify-self:center;padding:0;font-size:.66rem;font-weight:700;line-height:1;transition:background .12s,color .12s,border-color .12s}.ojt-trame-cluster-badge:hover{border-color:var(--muted)}.ojt-trame-cluster-badge.open{border-color:var(--muted);color:#fff;background:#475569}.ojt-trame-cluster-panel{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;margin-top:6px;padding:8px 10px}.ojt-trame-cluster-head{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:.68rem;font-weight:700}.ojt-trame-cluster-panel ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ojt-trame-cluster-item{align-items:center;gap:10px;font-size:.74rem;display:flex}.ojt-cluster-code{min-width:54px;font-family:var(--font-mono);font-weight:700}.ojt-cluster-type{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:1px 6px;font-size:.62rem;font-weight:700}.ojt-cluster-passage .ojt-cluster-type{background:var(--line-soft);color:var(--muted)}.ojt-cluster-passant .ojt-cluster-type{color:var(--blue);background:#e7ecfd}.ojt-cluster-racc{font-family:var(--font-mono);color:var(--muted);font-size:.7rem}.ojt-trame-bar-restant{color:var(--red);background:#fde7e4;border:1px solid #f3b4ab}.ojt-trame-bar-passant{color:var(--blue);background:#e7ecfd;border:1px solid #b9c4f5}.ojt-trame-bar-a_verifier{background:var(--orange-soft);color:var(--orange);border:1px solid #f0d49a}.ojt-trame-bar-racc{opacity:.85;font-size:.56rem;font-weight:700}.ojt-trame-axis{border:1px solid var(--line);border-radius:6px;min-width:640px;display:grid;overflow:hidden}.ojt-trame-cell{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;align-items:center;gap:1px;padding:6px 2px;display:flex}.ojt-trame-cell:last-child{border-right:0}.ojt-trame-ss{letter-spacing:.02em;color:var(--muted);font-size:.66rem;font-weight:700}.ojt-trame-state{font-family:var(--font-mono);color:var(--text);font-size:.82rem;font-weight:700}.ojt-state-blue{color:#2563eb}.ojt-state-red{color:var(--red)}.ojt-trame-pr{background:var(--panel);max-width:100%;color:var(--red);white-space:nowrap;border:1px solid #f0b6ab;border-radius:999px;align-items:center;gap:3px;margin-top:3px;padding:1px 5px;font-size:.52rem;font-weight:700;line-height:1.3;display:inline-flex}.ojt-trame-pr:before{content:"";background:var(--red);border-radius:1px;flex:none;width:5px;height:5px}.ojt-trame-pr+.ojt-trame-pr{margin-top:2px}.ojt-input-panel,.ojt-result-panel{border:1px solid var(--line);box-shadow:none;border-radius:10px;padding:16px 18px}.ojt-result-header{border-bottom:1px solid var(--line);padding-bottom:12px}.ojt-line-tab.active{border-color:var(--blue);box-shadow:inset 0 -2px 0 var(--blue)}.ojt-trame,.ojt-register-draft .ojt-register-table{box-shadow:none}.ojt-result-panel{flex-direction:column;gap:14px;display:flex}.ojt-result-header h2{letter-spacing:-.01em;font-size:1.2rem;font-weight:700}.ojt-result-header .eyebrow,.ojt-panel-heading .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.66rem;font-weight:700}.ojt-column-title h3,.ojt-trame-head strong{letter-spacing:-.005em;font-size:.9rem;font-weight:700}.ojt-source-actions .secondary-button,.ojt-register-actions .secondary-button{border-radius:8px;font-weight:700;transition:background .14s,border-color .14s,color .14s,transform 50ms}.ojt-source-actions .secondary-button:hover,.ojt-register-actions .secondary-button:hover{border-color:var(--blue);color:var(--blue)}.ojt-source-actions .secondary-button.danger:hover{border-color:var(--red);color:var(--red)}.ojt-source-actions .secondary-button:active,.ojt-register-actions .secondary-button:active{transform:translateY(1px)}.ojt-stat{border-radius:10px;min-width:76px}.ojt-stat strong{font-size:1.15rem}.ojt-register-row:not(.ojt-register-head):nth-child(2n){background:var(--panel-soft)}.ojt-register-row:not(.ojt-register-head):hover{background:var(--blue-soft)}.ojt-register-head{letter-spacing:.04em}.ojt-trame-cell-cut{background:#fde7e4}.ojt-trame-cell-cut .ojt-trame-state{color:var(--red)}.ojt-trame-cell-assured{background:repeating-linear-gradient(45deg,#fff,#fff 4px,#fbe3de 4px 6px)}.ojt-trame-cell-blue{background:#dbeafe}.ojt-trame-dt{min-width:640px;margin-top:5px;display:grid}.ojt-trame-dt-marker{justify-content:center;align-items:center;gap:4px;display:flex}.ojt-trame-dt-badge{background:var(--red);color:#fff;border-radius:3px;padding:1px 4px;font-size:.58rem;font-weight:700}.ojt-trame-dt-code{font-family:var(--font-mono);color:var(--red);font-size:.68rem;font-weight:700}.ojt-textarea:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11f}.ojt-source-notice{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;grid-column:1/-1;margin:0;padding:6px 8px;font-size:.74rem;font-weight:700}.ojt-source-editors{grid-column:1/-1;grid-template-columns:repeat(2,minmax(260px,1fr));gap:8px;display:grid}.ojt-line-tabs{grid-column:1/-1;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:0;display:grid}.ojt-line-tab{border:1px solid var(--line);background:var(--panel);min-height:42px;color:var(--muted);text-align:left;border-radius:8px;gap:3px;padding:5px 6px;font-weight:700;display:grid}.ojt-line-tab strong{color:inherit;font-size:.82rem;line-height:1}.ojt-line-tab span{gap:4px;display:flex}.ojt-line-tab em{color:#92400e;min-width:19px;font-family:var(--font-mono);text-align:center;background:#fffbeb;border-radius:999px;padding:2px 5px;font-size:.68rem;font-style:normal;font-weight:700}.ojt-line-tab em.red{color:#b91c1c;background:#fee2e2}.ojt-line-tab em.blue{color:#1d4ed8;background:#dbeafe}.ojt-line-tab.active{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.ojt-stats{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.ojt-stat{border:1px solid var(--line);min-width:70px;color:var(--muted);background:var(--panel-soft);text-transform:uppercase;border-radius:8px;padding:6px 8px;font-size:.65rem;font-weight:700}.ojt-stat strong{color:var(--text);font-size:1.05rem;line-height:1;display:block}.ojt-stat-red{color:#991b1b;background:#fef2f2;border-color:#fecaca}.ojt-stat-red strong{color:#b91c1c}.ojt-stat-blue{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.ojt-stat-blue strong{color:#1d4ed8}.ojt-stat-dt{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.ojt-stat-dt strong{color:#b91c1c}.ojt-stat-canceled{color:var(--muted);background:var(--panel-soft);border-color:#cbd5e1}.ojt-stat-canceled strong{color:var(--muted)}.ojt-stat-passage{color:var(--muted);background:var(--panel-soft);border-color:#cbd5e1}.ojt-stat-passage strong{color:var(--muted)}.ojt-reflex{background:var(--panel-soft);border:1px solid #cbd5e1;border-left:4px solid #0f172a;border-radius:8px;grid-template-columns:minmax(160px,.6fr) minmax(360px,1.4fr);align-items:center;gap:8px;margin-top:10px;padding:8px;display:grid}.ojt-reflex-title{min-width:0}.ojt-reflex-title strong{color:var(--text);font-size:.78rem;line-height:1.25;display:block}.ojt-reflex-grid,.ojt-operational-summary{gap:8px;display:grid}.ojt-reflex-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ojt-reflex-pill,.ojt-operational-summary div{border:1px solid var(--line);background:var(--panel);text-transform:uppercase;border-radius:8px;min-width:0;padding:7px;font-size:.66rem;font-weight:700}.ojt-reflex-pill strong,.ojt-operational-summary strong{font-family:var(--font-mono);font-size:1rem;line-height:1;display:block}.ojt-reflex-red,.ojt-summary-red{color:#991b1b;background:#fff7f7;border-color:#fecaca}.ojt-reflex-blue,.ojt-summary-blue{color:#1d4ed8;background:#f8fbff;border-color:#bfdbfe}.ojt-reflex-dt{color:#b91c1c;background:repeating-linear-gradient(-45deg,#ef444424 0 6px,#ffffff4d 6px 12px),#fff7f7;border-color:#fca5a5}.ojt-reflex-review,.ojt-summary-review{color:#92400e;background:#fffbeb;border-color:#fcd34d}.ojt-operational-summary{grid-template-columns:.7fr repeat(3,1fr);margin-top:8px}.ojt-operational-summary span,.ojt-operational-summary small{display:block}.ojt-operational-summary small{color:var(--muted);margin-top:3px;font-size:.64rem;line-height:1.15}.ojt-ssa-summary{background:#f8fbff;border:1px solid #bfdbfe;border-left:4px solid #2563eb;border-radius:8px;gap:8px;margin-top:10px;padding:8px;display:grid}.ojt-ssa-meta{flex-wrap:wrap;gap:6px;display:flex}.ojt-ssa-meta span{color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:700}.ojt-ssa-block{background:var(--panel);border:1px solid #dbeafe;border-radius:8px;gap:4px;padding:7px;display:grid}.ojt-ssa-block strong{color:#1e3a8a;text-transform:uppercase;font-size:.72rem}.ojt-ssa-block p,.ojt-ssa-empty{color:var(--text);margin:0;font-size:.76rem;font-weight:700;line-height:1.35}.ojt-ssa-table{gap:5px;display:grid;overflow-x:auto}.ojt-ssa-row{min-width:560px;color:var(--text);background:var(--panel);border:1px solid #dbeafe;border-left-width:4px;border-radius:8px;grid-template-columns:62px 58px minmax(150px,1fr) minmax(190px,1.1fr);align-items:center;gap:6px;padding:6px 7px;font-size:.74rem;font-weight:700;display:grid}.ojt-ssa-head{color:var(--muted);background:var(--panel-soft);text-transform:uppercase;border-left-color:#93c5fd;font-size:.66rem;font-weight:700}.ojt-ssa-row strong{color:var(--text);font-family:var(--font-mono);font-weight:700}.ojt-ssa-row small{width:fit-content;color:var(--muted);background:#e2e8f0;border-radius:999px;margin-top:3px;padding:2px 6px;font-size:.64rem;font-weight:700;display:block}.ojt-ssa-row-red{background:#fff7f7;border-left-color:#ef4444}.ojt-ssa-row-red span:last-child{color:#b91c1c;font-weight:700}.ojt-ssa-row-hatched{background:repeating-linear-gradient(135deg,#dc262624 0 4px,#0000 4px 9px),#fff;border-left-color:#dc2626}.ojt-ssa-row-hatched span:last-child{color:#991b1b;font-weight:700}.ojt-ssa-row-blue{background:#f8fbff;border-left-color:#2563eb}.ojt-ssa-row-blue span:last-child{color:#1d4ed8;font-weight:700}.ojt-ssa-row-blocked{background:#fffbeb;border-left-color:#f59e0b}.ojt-ssa-row-blocked span:last-child{color:#92400e;font-weight:700}.ojt-ssa-row-neutral{border-left-color:#cbd5e1}.ojt-ssa-state{min-width:34px;color:var(--text);background:var(--panel);font-family:var(--font-mono);border:1px solid #cbd5e1;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:4px 7px;font-size:.68rem;font-weight:700;display:inline-flex}.ojt-ssa-state-c{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.ojt-ssa-state-x,.ojt-ssa-state-tx{color:#92400e;background:#fffbeb;border-color:#fde68a}.ojt-ssa-state-t{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.ojt-ssa-warning{margin-top:0}.ojt-passant-diagram{background:#f8fbff;border:1px solid #bfdbfe;border-radius:8px;margin-top:7px;padding:5px}.ojt-passant-diagram svg{width:100%;height:auto;min-height:54px;display:block}.ojt-passant-track{stroke:#2563eb;stroke-width:.45px;stroke-linecap:round}.ojt-passant-sp{stroke:#facc15;stroke-width:.55px;stroke-linecap:round}.ojt-passant-label,.ojt-passant-way,.ojt-passant-code{fill:#0f172a;font-family:var(--font-mono);font-weight:700}.ojt-passant-label{font-size:9px}.ojt-passant-label.end{text-anchor:end}.ojt-passant-way{fill:#1d4ed8;font-size:12px}.ojt-passant-code{fill:#1d4ed8;text-anchor:middle;font-size:8px}.ojt-ssa-network{background:var(--panel-soft);border:1px solid #cbd5e1;border-radius:8px;gap:8px;margin-top:10px;padding:8px;display:grid}.ojt-ssa-network-lines{gap:8px;display:grid}.ojt-ssa-network-line{gap:5px;display:grid}.ojt-ssa-network-heading{align-items:center;gap:8px;min-width:0;display:flex}.ojt-ssa-network-heading strong{color:#fff;min-width:38px;font-family:var(--font-mono);text-align:center;background:#0f172a;border-radius:6px;padding:4px 7px;font-size:.75rem}.ojt-ssa-network-heading span{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:700;overflow:hidden}.ojt-ssa-network-track{background:var(--panel);border:1px solid #cbd5e1;border-radius:8px;align-items:stretch;display:grid;overflow:hidden}.ojt-ssa-network-sections{background:var(--blue-soft);border:1px solid #cbd5e1;border-bottom:0;border-radius:8px 8px 0 0;display:grid;overflow-x:auto}.ojt-ssa-network-section{color:#3730a3;text-align:center;text-transform:uppercase;border-right:1px solid #c7d2fe;place-items:center;min-width:92px;min-height:30px;padding:5px 7px;font-size:.68rem;font-weight:700;line-height:1.15;display:grid}.ojt-ssa-network-section:last-child{border-right:0}.ojt-ssa-network-cell{border-right:1px solid var(--line);background:var(--panel);border-left:1px solid #0000;grid-template-rows:34px 28px minmax(0,auto);min-width:0;min-height:74px;padding:0;display:grid;position:relative}.ojt-ssa-network-cell:last-child{border-right:0}.ojt-ssa-network-ss{place-items:center;min-width:0;padding:5px 2px;display:grid}.ojt-ssa-network-ss span{width:fit-content;max-width:100%;color:var(--text);background:var(--line-soft);font-family:var(--font-mono);text-overflow:ellipsis;border-radius:999px;padding:2px 4px;font-size:.6rem;font-weight:700;overflow:hidden}.ojt-ssa-network-state{border-top:1px solid var(--line);color:var(--muted);background:var(--panel-soft);font-family:var(--font-mono);place-items:center;font-size:.7rem;font-style:normal;font-weight:700;display:grid}.ojt-ssa-network-cell-red{background:#fee2e2;border-color:#fca5a5}.ojt-ssa-network-cell-red .ojt-ssa-network-ss span{color:#7f1d1d;background:#fecaca}.ojt-ssa-network-cell-red .ojt-ssa-network-state{color:#7f1d1d;background:#fecaca;border-top-color:#fca5a5}.ojt-ssa-network-cell-red .ojt-ssa-network-movements{background:#fecaca8c;border-top-color:#fca5a5}.ojt-ssa-network-cell-hatched{background:repeating-linear-gradient(135deg,#dc262629 0 4px,#0000 4px 9px),#fff;border-color:#fca5a5}.ojt-ssa-network-cell-hatched .ojt-ssa-network-ss span{color:#7f1d1d;background:#fee2e2}.ojt-ssa-network-cell-hatched .ojt-ssa-network-state{color:#7f1d1d;background:#fee2e2cc;border-top-color:#fca5a5}.ojt-ssa-network-cell-hatched .ojt-ssa-network-movements{background:#fee2e280;border-top-color:#fca5a5}.ojt-ssa-network-cell-blue{background:#f8fbff}.ojt-ssa-network-cell-blue .ojt-ssa-network-ss span,.ojt-ssa-network-cell-blue .ojt-ssa-network-state{color:#1d4ed8;background:#dbeafe}.ojt-ssa-network-cell-blocked{background:#fffbeb}.ojt-ssa-network-cell-blocked .ojt-ssa-network-state{color:#92400e;background:#fef3c7}.ojt-ssa-network-visual{background:var(--panel);border:1px solid #cbd5e1;border-top:0;border-radius:0 0 8px 8px;overflow:hidden}.ojt-ssa-network-visual svg{min-width:100%;display:block}.ojt-svg-column-red{fill:#f8717138}.ojt-svg-column-blue{fill:#93c5fd3d}.ojt-svg-column-hatched{fill-opacity:.7}.ojt-svg-column-test{fill:#fef08a9e}.ojt-svg-red-dashed,.ojt-svg-zone-line,.ojt-svg-blue-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.ojt-svg-red-dashed{stroke:#dc2626;stroke-width:1px;stroke-dasharray:7 6}.ojt-svg-zone-line{stroke:#dc2626;stroke-width:1px}.ojt-svg-blue-line{stroke:#2563eb;stroke-width:.75px}.ojt-svg-red-text,.ojt-svg-zone-letter,.ojt-svg-blue-text,.ojt-svg-black-text,.ojt-svg-dt-label,.ojt-svg-dt-code,.ojt-svg-dt-sense{font-family:var(--font-mono);paint-order:stroke;stroke:#fff;stroke-width:1.2px;stroke-linejoin:round;font-weight:700}.ojt-svg-red-text,.ojt-svg-zone-letter{fill:#dc2626;font-size:5.6px}.ojt-svg-blue-text{fill:#2563eb;text-anchor:middle;font-size:5.2px}.ojt-svg-raccord-text{fill:#111827;font-family:var(--font-mono);paint-order:stroke;stroke:#fff;stroke-width:.8px;stroke-linejoin:round;text-anchor:middle;font-size:4.2px;font-weight:600}.ojt-svg-passant-dot{fill:#2563eb;stroke:#fff;stroke-width:1px}.ojt-svg-passant-dot-text{fill:#fff;font-family:var(--font-mono);text-anchor:middle;font-size:4.4px;font-weight:700}.ojt-svg-passant-code{fill:#2563eb;font-family:var(--font-mono);paint-order:stroke;stroke:#fff;stroke-width:.8px;stroke-linejoin:round;text-anchor:start;font-size:4.2px;font-weight:700}.ojt-svg-arrival-dot,.ojt-svg-return-dot{fill:#dc2626;stroke:#fff;stroke-width:1px}.ojt-svg-arrival-dot-text,.ojt-svg-return-dot-text{fill:#fff;font-family:var(--font-mono);text-anchor:middle;font-size:4.4px;font-weight:700}.ojt-svg-arrival-code,.ojt-svg-return-code{fill:#dc2626;font-family:var(--font-mono);paint-order:stroke;stroke:#fff;stroke-width:.8px;stroke-linejoin:round;text-anchor:start;font-size:4.2px;font-weight:700}.ojt-svg-black-text{fill:#111827;font-size:5.4px}.ojt-svg-center-text{text-anchor:middle}.ojt-svg-end-text{text-anchor:end}.ojt-svg-dt-label{fill:#dc2626;font-size:5.5px}.ojt-svg-dt-circle{fill:#0000;stroke:#dc2626;stroke-width:.85px}.ojt-svg-dt-code{fill:#dc2626;text-anchor:middle;font-size:4.5px}.ojt-svg-dt-sense{fill:#dc2626;font-size:8px}.ojt-ssa-network-movements{border-top:1px solid #e2e8f0e6;flex-wrap:wrap;justify-content:center;gap:3px;padding:4px 5px 5px;display:flex}.ojt-ssa-network-movement{font-family:var(--font-mono);border-radius:999px;padding:2px 6px;font-size:.58rem;font-weight:700;line-height:1.1}.ojt-ssa-network-movement-restant,.ojt-ssa-network-movement-dt{color:#b91c1c;background:#fee2e2}.ojt-ssa-network-movement-passant{color:#1d4ed8;background:#dbeafe}.ojt-ssa-network-movement-a_verifier{color:#92400e;background:#fef3c7}.ojt-column{margin-top:0}.ojt-sketch{margin-top:10px}.ojt-sketch-legend{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.ojt-sketch-legend span{text-transform:uppercase;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:700}.ojt-legend-red{color:#b91c1c;background:#fee2e2}.ojt-legend-blue{color:#1d4ed8;background:#dbeafe}.ojt-legend-dt{color:#b91c1c;background:#fff7f7;border:1px solid #fecaca}.ojt-sketch-track{border:1px solid var(--line);background:repeating-linear-gradient(90deg,#0000 0 95px,#94a3b847 96px),#f8fafc;border-radius:8px;display:grid;overflow-x:auto}.ojt-sketch-cell{border-right:1px solid #94a3b859;align-content:start;min-width:96px;min-height:104px;padding:8px 7px 32px;display:grid;position:relative}.ojt-sketch-cell:last-child{border-right:0}.ojt-sketch-cell-restant{background:repeating-linear-gradient(-45deg,#ef44442e 0 8px,#ef444412 8px 16px),#fff7f7}.ojt-sketch-cell-passant{background:linear-gradient(#0000 0 42%,#2563eb33 42% 58%,#0000 58%),#f8fbff}.ojt-sketch-pass-arrow{color:#1d4ed8;pointer-events:none;align-items:center;height:18px;font-size:.82rem;font-weight:700;line-height:1;display:flex;position:absolute;bottom:34px;left:0;right:0}.ojt-sketch-pass-arrow:before{content:"";height:.5px;box-shadow:none;background:#2563eb;flex:1}.ojt-sketch-pass-arrow-right{justify-content:flex-end}.ojt-sketch-pass-arrow-right:before{margin-left:8px}.ojt-sketch-pass-arrow-right{text-align:right}.ojt-sketch-pass-arrow-left{flex-direction:row-reverse;justify-content:flex-start}.ojt-sketch-pass-arrow-left:before{margin-right:8px}.ojt-sketch-ss{color:#15803d;background:#dcfce7;border-radius:999px;width:fit-content;padding:3px 7px;font-size:.7rem;font-weight:700}.ojt-sketch-cell strong{color:var(--text);margin-top:7px;font-size:.76rem;line-height:1.15}.ojt-sketch-dt{color:#b91c1c;font-family:var(--font-mono);pointer-events:none;justify-content:center;align-items:center;gap:1px;font-size:.48rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:6px;left:6px}.ojt-sketch-dt-left{flex-direction:row-reverse;left:auto;right:6px}.ojt-sketch-dt-label{position:absolute;top:-8px;left:50%;transform:translate(-50%)}.ojt-sketch-dt-circle{color:#991b1b;background:#fee2e2;border:1px solid #ef4444;border-radius:999px;place-items:center;width:18px;height:18px;font-size:.42rem;font-weight:700;display:grid}.ojt-sketch-dt-arrow{color:#ef4444;font-size:.55rem;transform:translateY(-1px)translate(-1px)}.ojt-sketch-dt-left .ojt-sketch-dt-arrow{transform:translateY(-1px)translate(1px)rotate(180deg)}.ojt-sketch-codes{z-index:2;flex-wrap:wrap;justify-content:center;gap:4px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.ojt-sketch-codes em{color:var(--text);font-family:var(--font-mono);background:#fffffff5;border-radius:999px;padding:3px 7px;font-size:.65rem;font-style:normal;font-weight:700;box-shadow:0 1px 4px #0f172a29}.ojt-sketch-unplaced{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;flex-wrap:wrap;gap:6px;margin-top:10px;padding:7px;font-size:.76rem;font-weight:700;display:flex}.ojt-sketch-unplaced strong{color:#7c2d12}.ojt-register-draft{margin-top:10px}.ojt-register-actions{align-items:center;gap:8px;display:inline-flex}.ojt-register-actions .secondary-button{min-height:32px;padding:6px 9px;font-size:.72rem}.ojt-register-warning{margin:0 0 8px}.ojt-register-table{gap:6px;padding-bottom:2px;display:grid;overflow-x:auto}.ojt-register-row{border:1px solid var(--line);background:var(--panel);border-left-width:4px;border-radius:8px;grid-template-columns:92px 72px 72px minmax(180px,1.15fr) 118px 92px minmax(210px,1.45fr);align-items:center;gap:6px;min-width:980px;padding:6px 8px;display:grid}.ojt-register-head{color:var(--muted);background:var(--panel-soft);text-transform:uppercase;border-left-color:#cbd5e1;font-size:.68rem;font-weight:700}.ojt-register-row:not(.ojt-register-head){color:var(--text);font-size:.74rem;font-weight:700}.ojt-register-row strong{font-weight:700}.ojt-register-restant{background:#fff7f7;border-left-color:#ef4444}.ojt-register-restant strong{color:#b91c1c}.ojt-register-passant{background:#f8fbff;border-left-color:#2563eb}.ojt-register-passant strong{color:#1d4ed8}.ojt-register-dt{background:#fff7f7;border-left-color:#dc2626}.ojt-register-dt strong{color:#991b1b}.ojt-register-a_verifier{background:#fffbeb;border-left-color:#f59e0b}.ojt-register-a_verifier strong{color:#92400e}.ojt-column-title{justify-content:space-between;margin-bottom:6px}.ojt-column-title h3{text-transform:uppercase;color:#4f46e5;margin:0;font-size:.76rem}.ojt-column-title span{text-align:center;min-width:28px;color:var(--muted);background:var(--line-soft);border-radius:999px;font-size:.78rem;font-weight:700}.ojt-item-list{gap:6px;display:grid}.ojt-item{border:1px solid var(--line);background:var(--panel);border-left-width:4px;border-radius:8px;padding:8px}.ojt-item-restant{background:snow;border-left-color:#ef4444}.ojt-item-passant{background:#f8fbff;border-left-color:#2563eb}.ojt-item-dt{background:#fff7f7;border-left-color:#dc2626}.ojt-item-a_verifier{background:#fffbeb;border-left-color:#f59e0b}.ojt-item-canceled{border-left-color:var(--muted);color:var(--muted);background:var(--panel-soft);opacity:.82}.ojt-item-canceled h4,.ojt-item-canceled p:not(.ojt-correction-note){text-decoration:line-through}.ojt-item-top{justify-content:space-between;gap:8px;margin-bottom:5px}.ojt-item-top strong{font-family:var(--font-mono);color:var(--muted)}.ojt-impact-reason{color:var(--text);background:var(--line-soft);text-transform:uppercase;border-radius:999px;margin-bottom:6px;padding:3px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.ojt-dt-marker{color:#b91c1c;vertical-align:middle;background:#fee2e2;border:2px solid #ef4444;border-radius:999px;justify-content:center;align-items:center;gap:3px;width:34px;height:34px;margin:0 6px 4px 0;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 5px 14px #b91c1c29}.ojt-dt-marker span{font-size:.95rem;line-height:1}.ojt-status{text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:.66rem;font-weight:700}.ojt-status-restant{color:#b91c1c;background:#fee2e2}.ojt-status-passant{color:#1d4ed8;background:#dbeafe}.ojt-status-dt{color:#991b1b;background:#fee2e2}.ojt-status-a_verifier{color:#92400e;background:#fef3c7}.ojt-item h4{color:var(--text);margin:0 0 4px;font-size:.86rem}.ojt-item p{color:var(--muted);margin:0;font-size:.76rem;line-height:1.35}.ojt-correction-note{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:5px 7px;font-weight:700;color:#9a3412!important;margin-top:5px!important;font-size:.72rem!important;text-decoration:none!important}.ojt-chips,.ojt-item-meta{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.ojt-zone-chip,.ojt-item-meta span{background:var(--line-soft);color:var(--muted);border-radius:999px;padding:3px 7px;font-size:.68rem;font-weight:700}.ojt-zone-chip{background:var(--blue-soft);color:#3730a3}.ojt-item-meta span{gap:4px}.ojt-source-details{border-top:1px solid #94a3b859;margin-top:7px;padding-top:8px}.ojt-source-details summary{cursor:pointer;width:fit-content;color:var(--text);text-transform:uppercase;font-size:.72rem;font-weight:700}.ojt-source-details p{color:var(--text);font-family:var(--font-mono);background:#f8fafceb;border-radius:8px;margin-top:6px;padding:7px;font-size:.68rem;line-height:1.5}.ojt-empty,.ojt-empty-state{color:var(--muted);background:var(--panel-soft);border:1px dashed #cbd5e1;border-radius:8px;padding:12px;font-size:.78rem;font-weight:700}.ojt-empty-state{text-align:center;place-items:center;gap:8px;min-height:210px;display:grid}.ojt-empty-state strong{color:var(--text);font-size:1.05rem}.ojt-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;gap:8px;margin-top:8px;padding:8px;font-size:.78rem;font-weight:700}.ojt-context-backdrop,.ojt-dialog-backdrop{z-index:80;position:fixed;inset:0}.ojt-context-menu{background:var(--panel);border:1px solid #cbd5e1;border-radius:8px;gap:4px;width:160px;padding:6px;display:grid;position:fixed;box-shadow:0 14px 30px #0f172a29}.ojt-context-menu strong{color:var(--text);font-family:var(--font-mono);padding:3px 5px 5px;font-size:.72rem}.ojt-context-menu button{min-height:30px;color:var(--text);background:var(--panel-soft);text-align:left;border:0;border-radius:7px;align-items:center;gap:6px;padding:0 7px;font-size:.76rem;font-weight:700;display:inline-flex}.ojt-context-menu button:hover{background:var(--blue-soft)}.ojt-context-menu button.danger{color:#b91c1c;background:#fff7f7}.ojt-dialog-backdrop{background:#0f172a47;place-items:center;padding:16px;display:grid}.ojt-dialog{background:var(--panel);border:1px solid #cbd5e1;border-radius:8px;gap:10px;width:min(420px,100%);padding:12px;display:grid;box-shadow:0 18px 40px #0f172a38}.ojt-dialog h3{margin:0;font-size:1rem}.ojt-dialog label{color:var(--muted);text-transform:uppercase;gap:4px;font-size:.72rem;font-weight:700;display:grid}.ojt-dialog input,.ojt-dialog textarea{border:1px solid var(--line);width:100%;color:var(--text);background:var(--panel);font:inherit;text-transform:none;border-radius:8px;padding:7px 8px;font-size:.82rem}.ojt-dialog textarea{resize:vertical;min-height:90px}.ojt-dialog-actions{justify-content:flex-end;gap:7px;display:flex}.ojt-lane-board{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:start;gap:8px;margin-top:10px;display:grid}@media (max-width:1180px){.ojt-input-panel{grid-template-columns:1fr}.ojt-lane-board{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (max-width:720px){.ojt-input-panel,.ojt-result-header{flex-direction:column;align-items:flex-start}.ojt-stats,.ojt-source-actions{justify-content:flex-start}.ojt-line-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.ojt-reflex,.ojt-operational-summary{grid-template-columns:1fr}.ojt-reflex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ojt-lane-board{grid-template-columns:1fr}}.day-incidents-page{gap:12px;display:grid}.day-incidents-hero{align-items:center;gap:16px}.day-incidents-hero h1{letter-spacing:-.01em;margin:0;font-size:clamp(1.4rem,2.2vw,1.8rem);line-height:1.12}.day-incidents-hero>div p:last-child{max-width:58ch;margin-top:6px}.day-incidents-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.day-incidents-stats .stat.compact{align-items:baseline;gap:7px;padding:9px 11px;display:flex}.day-incidents-stats .stat.compact svg{color:var(--muted);flex:none;align-self:center}.day-incidents-stats .stat.compact strong{font-size:1.15rem;line-height:1;display:inline}.day-incidents-stats .stat.compact span{letter-spacing:.03em;text-transform:uppercase;font-size:.72rem;font-weight:700}.day-stat-danger{border-color:color-mix(in srgb, var(--red) 28%, var(--line));background:color-mix(in srgb, var(--red) 5%, var(--panel))}.day-stat-danger svg,.day-stat-danger strong{color:var(--red)}.day-incidents-source{box-shadow:none;background:var(--panel-soft);color:var(--muted);border-radius:9px;align-items:center;gap:8px;padding:8px 12px;font-size:.78rem;font-weight:600;display:flex}.day-incidents-source svg{color:var(--green-accent);flex:none}.day-incidents-board{gap:12px;display:grid}.day-reflex-strip{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:9px 13px;display:flex}.day-reflex-strip .eyebrow{margin:0;font-size:.68rem}.day-reflex-steps{flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;padding:0;list-style:none;display:flex}.day-reflex-steps li{color:var(--text);align-items:center;gap:7px;font-size:.81rem;font-weight:600;display:inline-flex}.day-reflex-steps li:not(:last-child):after{color:color-mix(in srgb, var(--muted) 55%, transparent);content:"→";margin-left:7px}.day-reflex-steps li span{background:var(--blue-soft);width:18px;height:18px;color:var(--blue);font-family:var(--font-mono);border-radius:999px;place-items:center;font-size:.68rem;font-weight:700;display:inline-grid}.day-incidents-toolbar{grid-template-columns:minmax(220px,.8fr) minmax(420px,1.2fr);align-items:center;gap:10px;display:grid}.day-search{border:1px solid var(--line);background:var(--panel);min-height:38px;color:var(--muted);border-radius:9px;align-items:center;gap:8px;padding:0 11px;transition:border-color .12s,box-shadow .12s;display:flex}.day-search:focus-within{border-color:color-mix(in srgb, var(--blue) 50%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 14%, transparent)}.day-search input{width:100%;color:var(--text);background:0 0;border:0;outline:none;font-size:.85rem;font-weight:600}.day-search input::placeholder{color:var(--muted);font-weight:500}.day-category-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.day-category-tab{border:1px solid var(--line);min-height:38px;color:var(--muted);background:var(--panel);cursor:pointer;border-radius:9px;padding:0 8px;font-size:.76rem;font-weight:600;transition:border-color .12s,background .12s,color .12s}.day-category-tab:hover{border-color:color-mix(in srgb, var(--blue) 30%, var(--line));color:var(--text)}.day-category-tab.active{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 45%, var(--line));background:var(--blue-soft);font-weight:700}.day-category-tab:focus-visible,.day-incident-card:focus-visible{outline:2px solid color-mix(in srgb, var(--blue) 60%, transparent);outline-offset:1px}.day-incidents-layout{grid-template-columns:minmax(258px,.82fr) minmax(0,1.5fr);align-items:start;gap:12px;display:grid}.day-incident-pane{gap:8px;display:grid}.day-incident-count{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:700}.day-incident-list{gap:6px;display:grid}.day-incident-card{--tone:var(--blue);text-align:left;border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);cursor:pointer;border-radius:9px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"dot cat""dot title""dot desc";gap:2px 9px;padding:9px 11px;transition:border-color .12s,background .12s,box-shadow .12s;display:grid}.day-incident-card-dot{background:var(--tone);border-radius:999px;grid-area:dot;align-self:start;width:8px;height:8px;margin-top:4px}.day-incident-card-cat{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;grid-area:cat;font-size:.64rem;font-weight:700}.day-incident-card strong{color:var(--text);grid-area:title;font-size:.9rem;line-height:1.2}.day-incident-card small{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;grid-area:desc;font-size:.76rem;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.day-incident-card-red{--tone:var(--red);border-color:color-mix(in srgb, var(--red) 16%, var(--line));background:color-mix(in srgb, var(--red) 4%, var(--panel))}.day-incident-card-amber{--tone:var(--orange)}.day-incident-card-blue{--tone:var(--blue)}.day-incident-card-green{--tone:var(--green-accent)}.day-incident-card:hover{border-color:color-mix(in srgb, var(--tone) 40%, var(--line))}.day-incident-card.active{border-color:color-mix(in srgb, var(--blue) 50%, var(--line));background:color-mix(in srgb, var(--blue) 5%, var(--panel));box-shadow:0 0 0 1px color-mix(in srgb, var(--blue) 35%, transparent)}.day-incident-detail{--tone:var(--blue);border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:12px;padding:16px 18px;position:sticky;top:14px}.day-incident-detail-red{--tone:var(--red)}.day-incident-detail-amber{--tone:var(--orange)}.day-incident-detail-blue{--tone:var(--blue)}.day-incident-detail-green{--tone:var(--green-accent)}.day-incident-detail-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.day-incident-detail-head .eyebrow{color:var(--tone);margin:0 0 3px;font-size:.68rem}.day-incident-detail-head h2{color:var(--text);margin:0;font-size:1.15rem;line-height:1.15}.day-tone-pill{border:1px solid color-mix(in srgb, var(--tone) 35%, var(--line));color:var(--tone);background:color-mix(in srgb, var(--tone) 10%, var(--panel));letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;padding:4px 9px;font-size:.66rem;font-weight:700}.day-tone-pill-red{border-color:color-mix(in srgb, var(--red) 45%, var(--line));background:color-mix(in srgb, var(--red) 12%, var(--panel))}.day-trigger{border:1px solid var(--line);background:var(--panel-soft);border-radius:9px;margin-top:12px;padding:10px 12px}.day-trigger strong{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.66rem;font-weight:700}.day-trigger p{color:var(--text);margin:4px 0 0;font-size:.86rem;font-weight:500;line-height:1.4}.day-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.day-action{--accent:var(--blue);border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:11px 12px}.day-action h3{color:var(--text);letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 8px;font-size:.74rem;font-weight:700;display:flex}.day-action h3 svg{color:var(--accent);flex:none}.day-action ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.day-action li{color:var(--text);padding-left:14px;font-size:.82rem;font-weight:500;line-height:1.36;position:relative}.day-action li:before{background:var(--accent);content:"";border-radius:999px;width:5px;height:5px;position:absolute;top:.5em;left:2px}.day-action-actions{--accent:var(--blue)}.day-action-safety{--accent:var(--red);border-color:color-mix(in srgb, var(--red) 22%, var(--line));background:color-mix(in srgb, var(--red) 4%, var(--panel))}.day-action-comm{--accent:var(--green-accent)}.day-action-trace{--accent:var(--muted)}.day-reference{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:10px;display:flex}.day-reference span{color:var(--muted);background:var(--line-soft);border-radius:6px;padding:3px 8px;font-size:.7rem;font-weight:600}.day-reference-page{color:var(--blue);background:var(--blue-soft);font-family:var(--font-mono)}.day-empty{border:1px dashed color-mix(in srgb, var(--muted) 35%, var(--line));color:var(--muted);background:var(--panel-soft);border-radius:9px;justify-items:start;gap:3px;padding:16px;display:grid}.day-empty svg{color:var(--orange)}.day-empty strong{color:var(--text);font-size:.86rem}.day-empty span{font-size:.78rem}@media (prefers-reduced-motion:reduce){.day-search,.day-category-tab,.day-incident-card{transition:none}}@media (max-width:1100px){.day-incidents-toolbar,.day-incidents-layout{grid-template-columns:1fr}.day-incident-detail{position:static}}@media (max-width:760px){.messages-header-nav,.messages-header-title{flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:4px}.messages-header-separator{display:none}.messages-header-meta{margin-left:0}.messages-header-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.messages-header-metric,.messages-header-metric+.messages-header-metric,.messages-header-metric.group-start{border-left:0}.messages-header-metric:nth-child(2n){border-left:1px solid var(--line-soft)}.messages-header-metric:nth-child(n+3){border-top:1px solid var(--line-soft)}.notes-header-nav,.notes-header-title{flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:4px}.notes-header-separator{display:none}.notes-header-meta{margin-left:0}.notes-header-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.notes-header-metric,.notes-header-metric+.notes-header-metric,.notes-header-metric.group-start{border-left:0}.notes-header-metric:nth-child(2n){border-left:1px solid var(--line-soft)}.notes-header-metric:nth-child(n+3){border-top:1px solid var(--line-soft)}.notes-top-controls,.notes-optional-grid{grid-template-columns:1fr}.notes-fast-head{flex-direction:column;align-items:flex-start}.notes-fast-head p{text-align:left}.notes-fast-grid,.notes-fast-grid.cumulative{grid-template-columns:1fr}.day-category-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.day-action-grid{grid-template-columns:1fr}.day-incident-detail-head{flex-direction:column}}.notes-print-railcap{display:none}@media print{@page{margin:12mm;size:A4 portrait}body{background:#fff!important}body>:not(.notes-print-railcap){display:none!important}.notes-print-railcap{width:100%;color:var(--text);margin:0;font-family:Arial,sans-serif;display:block;position:static}.notes-print-railcap header{border-bottom:2px solid #111827;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:10px;padding-bottom:8px;display:flex}.notes-print-railcap header span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.notes-print-railcap h1{margin:0;font-size:20px;line-height:1.1}.notes-print-railcap header p{color:var(--text);text-align:right;margin:0;font-size:11px;font-weight:700}.notes-print-list{gap:7px;display:grid}.notes-print-item{break-inside:avoid;border:1px solid #cbd5e1;border-radius:4px;gap:4px;padding:6px 8px;display:grid}.notes-print-row{grid-template-columns:24px 42px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.notes-print-row strong,.notes-print-row span{color:var(--muted);font-size:11px;font-weight:700}.notes-print-row b{color:var(--text);font-size:13px;line-height:1.2}.notes-print-item p{color:var(--text);margin:0;font-size:11px;font-weight:700}.notes-print-item small{color:var(--text);white-space:pre-wrap;font-size:10px;line-height:1.35;display:block}.notes-print-empty{color:var(--muted);font-size:12px;font-weight:700}}.messages-hero{flex-direction:column;gap:8px;padding:2px 2px 6px;display:flex}.messages-hero .eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--blue);font-size:.7rem;font-weight:700}.messages-hero h1{letter-spacing:-.02em;color:var(--text);margin:0;font-size:1.7rem;font-weight:700;line-height:1.1}.messages-hero p{max-width:72ch;color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.tb{--tb-cut:#dc2626;--tb-cut-soft:#fee2e2;--tb-cut-ink:#991b1b;--tb-live:#16a34a;--tb-live-soft:#dcfce7;--tb-live-ink:#15803d;--tb-idle:#a7ddbd;--tb-idle-soft:#d2f0de;--tb-idle-border:#94d2ad;--tb-wire:#cbd5e1;position:relative}.tb-stations{gap:0;margin:0;padding:84px 0 4px;display:flex;position:relative}.tb-rail{background:var(--tb-idle);border-radius:2px;height:3px;position:absolute;bottom:9px;left:0;right:0}.tb-rail-seg{border-radius:2px;position:absolute;top:0;bottom:0}.tb-rail-seg.cut{background:var(--tb-cut)}.tb-rail-seg.live{background:var(--tb-live)}.tb-branch{z-index:0;border-radius:2px;height:3px;position:absolute;bottom:2px}.tb-branch.blue{background:var(--branch-villejuif,#2563eb)}.tb-branch.amber{background:var(--branch-ivry,#ca8a04)}.tb-st{cursor:pointer;z-index:1;background:0 0;border:none;flex:1 1 0;justify-content:center;align-items:flex-end;min-width:0;height:22px;padding:0;display:flex;position:relative}.tb-st-pt{border:2px solid var(--muted);background:var(--panel);border-radius:50%;width:11px;height:11px;transition:all .12s}.tb-st:hover .tb-st-pt{border-color:var(--blue)}.tb-st.cut .tb-st-pt{border-color:var(--tb-cut);background:var(--tb-cut)}.tb-st.live .tb-st-pt{border-color:var(--tb-live);background:var(--tb-live)}.tb-st.sel .tb-st-pt{box-shadow:0 0 0 3px var(--blue-soft);border-color:var(--blue)}.tb-st-nm{transform-origin:0 100%;white-space:nowrap;color:var(--text);font-size:10px;font-weight:600;line-height:1;position:absolute;bottom:16px;left:50%;transform:rotate(-52deg)}.tb-st:hover .tb-st-nm{color:var(--text)}.tb-st.cut .tb-st-nm{color:var(--tb-cut-ink);font-weight:600}.tb-st.live .tb-st-nm{color:var(--tb-live-ink);font-weight:600}.tb-st.sel .tb-st-nm{color:var(--blue);font-weight:700}.tb-st.sp .tb-st-nm:after{content:" ·SP";color:var(--blue);font-size:8px;font-weight:700}.tb-st-rac{color:#fff;background:var(--muted);border-radius:3px;padding:0 2px;font-size:7.5px;font-weight:700;position:absolute;bottom:14px;left:calc(50% + 7px)}.tb-dg{border:1.5px solid var(--border);cursor:pointer;background:var(--panel);text-align:left;border-radius:12px;width:100%;margin:6px 0 0;padding:0 12px;display:block;position:relative}.tb-dg:hover{border-color:var(--muted)}.tb-dg-time{font-variant-numeric:tabular-nums;color:var(--text);background:var(--panel);z-index:3;padding-left:6px;font-size:12px;font-weight:700;position:absolute;top:2px;right:12px}.tb-dg-time .r{color:var(--tb-live-ink)}.tb-dg-bar{height:46px;position:relative}.tb-strip{background:var(--tb-idle);border-radius:3px;height:6px;position:absolute;top:24px;left:0;right:0;overflow:hidden}.tb-strip-seg{border-radius:3px;position:absolute;top:0;bottom:0}.tb-strip-seg.live{background:var(--tb-live)}.tb-strip-seg.cut{background:var(--tb-cut)}.tb-cs-row{height:24px;position:absolute;top:0;left:0;right:0}.tb-cs{flex-direction:column;align-items:center;display:flex;position:absolute;bottom:0;transform:translate(-50%)}.tb-cs-box{border:1.5px solid var(--muted);background:var(--panel);border-radius:3px;width:16px;height:11px;position:relative}.tb-cs-box:after{content:"";background:var(--muted);transform-origin:0;width:11px;height:2px;position:absolute;top:50%;left:2px;transform:translateY(-50%)rotate(-18deg)}.tb-sw-lab{color:var(--muted);letter-spacing:.04em;font-size:7.5px;font-weight:700;line-height:1.1}.tb-cs.cut .tb-cs-box{border-color:var(--tb-cut);background:var(--tb-cut-soft)}.tb-cs.cut .tb-cs-box:after{background:var(--tb-cut);transform:translateY(-50%)rotate(0)}.tb-cs.cut .tb-sw-lab{color:var(--tb-cut)}.tb-cs.live .tb-cs-box{border-color:var(--tb-live);background:var(--tb-live-soft)}.tb-cs.live .tb-cs-box:after{background:var(--tb-live)}.tb-cs.live .tb-sw-lab{color:var(--tb-live-ink)}.tb-sit-row{height:15px;position:absolute;top:31px;left:0;right:0}.tb-sit{flex-direction:column;align-items:center;display:flex;position:absolute;top:0;transform:translate(-50%)}.tb-sit-dot{border:1.5px solid var(--muted);background:var(--panel);border-radius:50%;width:10px;height:10px;position:relative}.tb-sit-dot:after{content:"";background:var(--muted);width:7px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-20deg)}.tb-sit .tb-sw-lab{font-size:6.5px}.tb-sit.cut .tb-sit-dot{border-color:var(--tb-cut);background:var(--tb-cut-soft)}.tb-sit.cut .tb-sit-dot:after{background:var(--tb-cut);transform:translate(-50%,-50%)rotate(0)}.tb-sit.cut .tb-sw-lab{color:var(--tb-cut)}.tb-sit.live .tb-sit-dot{border-color:var(--tb-live);background:var(--tb-live-soft)}.tb-sit.live .tb-sit-dot:after{background:var(--tb-live)}.tb-sit.live .tb-sw-lab{color:var(--tb-live-ink)}.tb-zones{border-top:1px dashed var(--border);height:172px;margin-top:88px;position:relative}.tb-zones-toggle{border:1px solid var(--border);width:fit-content;color:var(--muted);letter-spacing:.01em;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:5px;margin:40px auto 0;padding:2px 10px;font-size:10.5px;font-weight:600;line-height:1.5;transition:color .15s,border-color .15s,background .15s;display:flex}.tb-zones-toggle:hover{color:var(--ink);border-color:var(--muted)}.tb-zones-chevron{flex:none;transition:transform .18s}.tb-zones-toggle.open .tb-zones-chevron{transform:rotate(180deg)}.tb-zones-toggle-label{line-height:1}.tb-zones-toggle-badge{background:var(--tb-cut);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.tb-zones-toggle.open+.tb-zones{border-top:none;margin-top:10px}.tb-group{flex-direction:column;display:flex;position:absolute;top:26px}.tb-group.open{z-index:60}.tb-box{border:1.5px solid var(--border);background:var(--panel-soft);border-radius:9px;min-width:0;position:relative;overflow:visible}.tb-secbox{height:48px}.tb-subbox{height:52px}.tb-box-btn{cursor:pointer;text-align:center;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:0;width:100%;height:100%;padding:5px 6px;display:flex;overflow:hidden}.tb-box>.tb-box-btn>span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.tb-ttl{color:var(--text);font-size:11px;font-weight:700;line-height:1.15}.tb-range{color:var(--muted);margin-top:1px;font-size:8.5px;line-height:1.15}.tb-meta{color:var(--muted);justify-content:center;align-items:center;gap:5px;height:11px;margin-top:2px;font-size:9px;display:flex;overflow:hidden}.tb-code{font-size:11px;font-weight:700}.tb-state{text-transform:uppercase;letter-spacing:.02em;font-size:8.5px}.tb-clock{font-variant-numeric:tabular-nums;font-size:8.5px}.tb-box[data-state=cut]{border-color:var(--tb-cut);background:var(--tb-cut-soft)}.tb-box[data-state=cut] .tb-ttl,.tb-box[data-state=cut] .tb-range,.tb-box[data-state=cut] .tb-code,.tb-box[data-state=cut] .tb-state{color:var(--tb-cut-ink)}.tb-box[data-state=cut] .tb-code,.tb-box[data-state=cut] .tb-state{color:var(--tb-cut)}.tb-box[data-state=idle]{border-color:var(--tb-idle-border);background:var(--tb-idle-soft)}.tb-box[data-state=live]{border-color:var(--tb-live);background:var(--tb-live-soft)}.tb-box[data-state=live] .tb-ttl,.tb-box[data-state=live] .tb-range,.tb-box[data-state=live] .tb-state,.tb-box[data-state=live] .tb-clock{color:var(--tb-live-ink)}.tb-group.open .tb-box[data-state]{box-shadow:0 0 0 2px var(--blue)}.tb-conn{width:100%;height:30px;position:relative}.tb-wire{background:var(--tb-wire);position:absolute}.tb-wire.cut{background:var(--tb-cut)}.tb-wire.live{background:var(--tb-live)}.tb-wire.feed{width:2px;height:14px;top:0;left:calc(50% - 1px)}.tb-wire.rail{height:2px;top:13px}.tb-wire.drop{width:2px;height:16px;top:14px;transform:translate(-1px)}.tb-sect{border:2px solid var(--muted);background:var(--panel);z-index:2;width:10px;height:10px;position:absolute;top:19px;transform:translate(-50%,-50%)rotate(45deg)}.tb-sect.cut{border-color:var(--tb-cut)}.tb-sect.live{border-color:var(--tb-live)}.tb-subrow{gap:10px;min-width:0;display:flex}.tb-subwrap{flex-direction:column;flex:1 1 0;min-width:0;display:flex;position:relative}.tb-pop-backdrop{z-index:90;cursor:default;background:0 0;border:none;padding:0;position:fixed;inset:0}.tb-pop{background:var(--panel);border:1px solid var(--border);z-index:100;cursor:default;border-radius:10px;min-width:200px;padding:12px 12px 10px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 14px 34px #0f172a38}.tb-pop-close{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:2px;position:absolute;top:6px;right:6px}.tb-pop-title{color:var(--text);margin:0 0 8px;font-size:12px;font-weight:700}.tb-pop-title span{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600}.tb-pop-codes{gap:5px;display:flex}.tb-pop-codes button{border:1px solid var(--border);background:var(--panel-soft);cursor:pointer;width:42px;height:38px;color:var(--text);border-radius:7px;font-size:12px;font-weight:700}.tb-pop-codes button:hover{border-color:var(--tb-cut);background:var(--tb-cut-soft);color:var(--tb-cut-ink)}.tb-pop-codes.editor button{flex:1;width:auto;height:30px}.tb-pop-codes.editor button.active{border-color:var(--tb-cut);background:var(--tb-cut-soft);color:var(--tb-cut-ink)}.tb-pop-edit{flex-direction:column;gap:8px;display:flex}.tb-pop-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.tb-pop-field{color:var(--muted);flex-direction:column;gap:2px;font-size:10px;display:flex}.tb-pop-field.full{grid-column:1/-1}.tb-pop-field input,.tb-pop-field select{border:1px solid var(--border);color:var(--text);background:var(--panel);border-radius:6px;padding:4px 6px;font-size:12px}.tb-pop-il-fiche{border:1px solid color-mix(in srgb, var(--blue) 55%, var(--border));background:color-mix(in srgb, var(--blue) 14%, var(--panel));color:var(--blue);cursor:pointer;border-radius:7px;grid-column:1/-1;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.tb-pop-il-fiche:hover{background:color-mix(in srgb, var(--blue) 22%, var(--panel))}.tb-pop-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.tb-pop-remove{border:1px solid var(--tb-cut);background:var(--tb-cut-soft);color:var(--tb-cut-ink);cursor:pointer;border-radius:7px;padding:5px 10px;font-size:12px;font-weight:600}.tb-pop-remove:hover{filter:brightness(.97)}.tb-pop-save{border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:700}.tb-pop-save:hover{filter:brightness(1.06)}.tb-pop-restore{border:1px solid var(--tb-live);background:var(--tb-live-soft);color:var(--tb-live-ink);cursor:pointer;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:600}.tb-pop-restored{color:var(--tb-live-ink);font-size:11px;font-weight:600}.tb-pop-coupled{color:var(--blue);font-weight:700}.tb-dg-wrap{position:relative}.tb-dg-edit{z-index:4;border:1px solid var(--border);background:var(--panel);width:22px;height:22px;color:var(--muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:color .12s,border-color .12s;display:inline-flex;position:absolute;top:3px;right:50px}.tb-dg-edit:hover{color:var(--text);border-color:var(--muted)}.tb-dg-edit:focus-visible{outline:2px solid var(--blue);outline-offset:1px}@media (prefers-reduced-motion:reduce){.tb-dg-edit{transition:none}}.tb-pop-loc{border-top:1px solid var(--line-soft);flex-direction:column;gap:6px;padding-top:8px;display:flex}.tb-pop-loc-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tb-pop-loc-lab{color:var(--muted);font-size:10px}.tb-pop-loc-clear{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:10px;text-decoration:underline}.tb-pop-seg{border:1px solid var(--border);border-radius:7px;display:flex;overflow:hidden}.tb-pop-seg button{background:var(--panel);color:var(--muted);cursor:pointer;border:none;flex:1;height:26px;font-size:11px}.tb-pop-seg button+button{border-left:1px solid var(--border)}.tb-pop-seg button.active{background:var(--blue-soft);color:var(--blue);font-weight:600}.tb-pop-checks{flex-wrap:wrap;gap:5px 12px;display:flex}.tb-pop-check{color:var(--text);cursor:pointer;align-items:center;gap:5px;font-size:11px;display:inline-flex}.tb-pop-check input{width:13px;height:13px;accent-color:var(--blue);cursor:pointer;margin:0}.tb-pop-field input:focus-visible,.tb-pop-field select:focus-visible,.tb-pop-seg button:focus-visible,.tb-pop-check input:focus-visible,.tb-pop-loc-clear:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.th-home{gap:12px;display:grid}.th-theme-signalement{--th:var(--blue)}.th-theme-installation{--th:#0891b2}.th-theme-materiel{--th:var(--green-accent)}.th-theme-individus{--th:#7c3aed}.th-theme-repercussion{--th:#f59e0b}.th-theme-traction{--th:var(--red)}.th-theme-securite{--th:#d97706}.th-theme-autres{--th:var(--muted)}[class*=th-theme-]{--th-soft:color-mix(in srgb, var(--th) 12%, var(--panel));--th-line:color-mix(in srgb, var(--th) 40%, var(--line));--th-text:color-mix(in srgb, var(--th) 72%, var(--text))}.th-hero{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.th-hero-text .eyebrow{margin:0 0 6px}.th-hero-text h1{letter-spacing:-.01em;font-weight:700}.th-hero-sub{max-width:64ch;color:var(--muted);margin:7px 0 0;font-size:.9rem;line-height:1.45}.th-stats{flex-shrink:0;gap:8px;display:flex}.th-stat{border:1px solid var(--line);background:var(--panel);text-align:left;border-radius:10px;gap:1px;min-width:84px;padding:9px 14px;display:grid}.th-stat strong{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700;line-height:1}.th-stat span{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.66rem;font-weight:700}button.th-stat{cursor:pointer;transition:border-color .12s,background .12s}button.th-stat:hover:not(:disabled){border-color:var(--th-line,var(--line))}button.th-stat:disabled{cursor:default;opacity:1}button.th-stat:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 18%, transparent);outline:none}.th-stat--warn.is-on{border-color:color-mix(in srgb, var(--warn) 45%, var(--line));background:var(--warn-soft)}.th-stat--warn.is-on strong,.th-stat--warn.is-on span{color:var(--warn)}.th-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.th-search{border:1px solid var(--line);background:var(--panel);min-width:220px;min-height:40px;color:var(--muted);border-radius:10px;flex:280px;align-items:center;gap:8px;padding:0 8px 0 12px;transition:border-color .12s,box-shadow .12s;display:flex}.th-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 16%, transparent)}.th-search input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:.92rem}.th-search input::placeholder{color:var(--muted)}.th-search input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.th-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.th-search-clear{background:var(--line-soft);width:24px;height:24px;color:var(--muted);cursor:pointer;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.th-search-clear:hover{color:var(--text)}.th-guided{flex:none;position:relative}.th-guided-btn{border:1px solid var(--line);background:var(--panel);max-width:260px;min-height:40px;color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 12px;font-size:.84rem;font-weight:600;transition:border-color .12s,box-shadow .12s;display:inline-flex}.th-guided-btn>svg:first-child{color:var(--blue);flex:none}.th-guided-btn span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.th-guided-btn>svg:last-child{color:var(--muted);flex:none;transition:transform .15s}.th-guided-btn:hover{border-color:var(--muted)}.th-guided-btn.is-open{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 12%, transparent)}.th-guided-btn.is-open>svg:last-child{transform:rotate(180deg)}.th-guided-menu{z-index:80;border:1px solid var(--line);background:var(--panel);width:min(320px,100vw - 40px);box-shadow:var(--shadow-md);border-radius:12px;gap:5px;padding:7px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.th-guided-scroll{gap:4px;max-height:264px;padding-right:2px;display:grid;overflow-y:auto}.th-guided-opt{background:var(--panel);width:100%;color:var(--text);text-align:left;cursor:pointer;border:1px solid #0000;border-radius:9px;gap:2px;padding:8px 10px;transition:background .12s,border-color .12s;display:grid}.th-guided-opt span{font-size:.84rem;font-weight:600;line-height:1.25}.th-guided-opt small{color:var(--muted);text-transform:capitalize;font-size:.7rem;font-weight:600}.th-guided-opt:hover,.th-guided-opt.is-active{border-color:color-mix(in srgb, var(--blue) 38%, var(--line));background:var(--blue-soft)}.th-guided-opt.is-active span{color:var(--blue)}.th-reset{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--muted);cursor:pointer;border-radius:10px;flex:none;align-items:center;gap:7px;padding:0 13px;font-size:.84rem;font-weight:600;transition:border-color .12s,color .12s;display:inline-flex}.th-reset:hover:not(:disabled){border-color:var(--muted);color:var(--text)}.th-reset:disabled{opacity:.5;cursor:default}.th-pills{flex-wrap:wrap;gap:6px;display:flex}.th-pill{border:1px solid var(--line);background:var(--panel);min-height:28px;color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;font-weight:600;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.th-pill:hover{border-color:color-mix(in srgb, var(--blue) 45%, var(--line));background:var(--blue-soft);color:var(--blue)}.th-pill-count{background:var(--line-soft);color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 6px;font-size:.66rem;font-weight:700}.th-pill--rapport .th-pill-count{background:color-mix(in srgb, var(--warn) 16%, var(--panel));color:var(--warn)}.th-pill--famille .th-pill-count{background:color-mix(in srgb, #7c3aed 16%, var(--panel));color:#7c3aed}.th-pill--alias .th-pill-count{background:var(--green-soft);color:var(--green)}.th-filters{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-bottom:12px;display:flex}.th-chips{flex-wrap:wrap;gap:5px;display:flex}.th-chip{border:1px solid var(--line);background:var(--panel);min-height:30px;color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;font-weight:600;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.th-chip-dot{background:var(--th,var(--muted));border-radius:50%;flex:none;width:7px;height:7px}.th-chip b{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.66rem;font-weight:700}.th-chip:hover{border-color:var(--muted);color:var(--text)}.th-chip.is-active{border-color:var(--th-line,color-mix(in srgb, var(--blue) 40%, var(--line)));background:var(--th-soft,var(--blue-soft));color:var(--th-text,var(--blue))}.th-chip.is-active b{color:inherit}.th-chip:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--blue) 30%, transparent);outline:none}.th-filters-end{align-items:center;gap:6px;display:flex}.th-select{align-items:center;gap:6px;display:inline-flex}.th-select>span{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.66rem;font-weight:700}.th-select select{appearance:none;border:1px solid var(--line);background-color:var(--panel);min-height:30px;color:var(--text);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:13px;border-radius:8px;padding:0 28px 0 10px;font-size:.78rem;font-weight:600;transition:border-color .12s,box-shadow .12s}.th-select select:hover{border-color:var(--muted)}.th-select select:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 14%, transparent);outline:none}.th-toggle{border:1px solid var(--line);background:var(--panel);min-height:30px;color:var(--muted);cursor:pointer;border-radius:8px;padding:0 12px;font-size:.78rem;font-weight:600;transition:border-color .12s,color .12s,background .12s}.th-toggle:hover{border-color:var(--muted);color:var(--text)}.th-toggle.is-active{border-color:color-mix(in srgb, var(--blue) 40%, var(--line));background:var(--blue-soft);color:var(--blue)}.th-toggle:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--blue) 30%, transparent);outline:none}.th-context{border:1px solid var(--line-soft);border-left:3px solid var(--blue);background:var(--panel-soft);color:var(--muted);border-radius:8px;margin:0;padding:8px 11px;font-size:.82rem;font-weight:600;line-height:1.4}.th-body{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:14px;display:grid}.th-results{align-content:start;gap:10px;min-width:0;display:grid}.th-results-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.th-results-head .eyebrow{margin:0 0 3px}.th-results-head h2{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:700}.th-count{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;flex:none;padding:4px 10px;font-size:.74rem;font-weight:700}.th-groups{gap:16px;display:grid}.th-group{gap:8px;min-width:0;display:grid}.th-group-head{align-items:center;gap:8px;padding-bottom:2px;display:flex}.th-group-dot{background:var(--th,var(--muted));border-radius:50%;flex:none;width:8px;height:8px}.th-group-name{letter-spacing:.06em;text-transform:uppercase;color:var(--th-text,var(--muted));font-size:.7rem;font-weight:700}.th-group-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.7rem;font-weight:700}.th-grid{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));align-items:stretch;gap:10px;display:grid}.th-grid.is-compact{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.th-card{border:1px solid var(--line);border-left:3px solid var(--th,var(--line));background:var(--panel);min-width:0;color:var(--text);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:8px;padding:11px 12px;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.th-card:hover{border-color:var(--th-line,var(--line));border-left-color:var(--th,var(--line));transform:translateY(-1px);box-shadow:0 8px 22px -14px #0f172a66}.th-card:focus-visible{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb, var(--blue) 30%, transparent);outline:none}.th-card.is-active{border-color:var(--th-line,var(--blue));background:var(--th-soft,var(--blue-soft));box-shadow:inset 3px 0 0 var(--th,var(--blue))}.th-card-top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.th-card-fam{min-width:0;color:var(--th-text,var(--muted));letter-spacing:.03em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:.68rem;font-weight:700;display:inline-flex;overflow:hidden}.th-card-dot{background:var(--th,var(--muted));border-radius:50%;flex:none;width:7px;height:7px}.th-card-steps{background:var(--line-soft);color:var(--muted);font-family:var(--font-mono);white-space:nowrap;border-radius:999px;flex:none;padding:1px 7px;font-size:.64rem;font-weight:700}.th-card-flag{background:var(--warn-soft);color:var(--warn);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;padding:1px 7px;font-size:.62rem;font-weight:700}.th-card-title{font-family:var(--font-mono);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.86rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.th-card-sum{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.th-card-foot{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-top:auto;display:flex}.th-card-aliases{flex:1;gap:4px;min-width:0;display:inline-flex;overflow:hidden}.th-card-aliases span{background:var(--ink-soft);max-width:100px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;flex:0 auto;padding:1px 7px;font-size:.68rem;font-weight:600;overflow:hidden}.th-card-aliases .th-card-more,.th-card-more{flex:none}.th-card-go{width:26px;height:26px;color:var(--th-text,var(--muted));background:var(--th-soft,var(--line-soft));border-radius:7px;flex:none;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.th-card:hover .th-card-go{background:color-mix(in srgb, var(--th) 18%, var(--panel))}.th-empty{border:1px dashed var(--line);text-align:center;border-radius:12px;justify-items:center;gap:7px;padding:40px 20px;display:grid}.th-empty-icon{background:var(--line-soft);width:44px;height:44px;color:var(--muted);border-radius:12px;place-items:center;display:grid}.th-empty-title{color:var(--text);margin:4px 0 0;font-size:.95rem;font-weight:700}.th-empty-hint{max-width:42ch;color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.th-empty-reset{border:1px solid color-mix(in srgb, var(--blue) 40%, var(--line));background:var(--blue-soft);min-height:32px;color:var(--blue);cursor:pointer;border-radius:8px;margin-top:6px;padding:0 14px;font-size:.8rem;font-weight:700}.th-empty-reset:hover{background:color-mix(in srgb, var(--blue) 16%, var(--panel))}.th-inspector{border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-direction:column;max-height:calc(100dvh - 90px);display:flex;position:sticky;top:8px;overflow:auto}.th-inspector-head{border-bottom:1px solid var(--th-line,var(--line));background:var(--th-soft,var(--panel-soft));justify-content:space-between;align-items:flex-start;gap:10px;padding:13px 14px;display:flex}.th-inspector-heading{gap:8px;min-width:0;display:grid}.th-inspector-badge{border:1px solid var(--th-line,var(--line));background:var(--panel);width:fit-content;max-width:100%;color:var(--th-text,var(--muted));letter-spacing:.04em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:3px 9px;font-size:.66rem;font-weight:700;display:inline-flex;overflow:hidden}.th-inspector-head h2{letter-spacing:-.01em;color:var(--text);margin:0;font-size:1.08rem;font-weight:700;line-height:1.25}.th-inspector-close{border:1px solid var(--line);background:var(--panel);width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:7px;flex:none;justify-content:center;align-items:center;transition:color .12s,border-color .12s;display:inline-flex}.th-inspector-close:hover{color:var(--red);border-color:var(--red)}.th-inspector-body{gap:11px;padding:13px 14px 14px;display:grid}.th-inspector-sum{color:var(--muted);margin:0;font-size:.86rem;line-height:1.45}.th-inspector-meta{flex-wrap:wrap;gap:6px;display:flex}.th-inspector-meta span{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);border-radius:7px;align-items:center;gap:5px;padding:3px 9px;font-size:.74rem;font-weight:600;display:inline-flex}.th-inspector-meta-ok{border-color:color-mix(in srgb, var(--green) 35%, var(--line))!important;background:var(--green-soft)!important;color:var(--green)!important}.th-inspector-meta-warn{border-color:color-mix(in srgb, var(--warn) 40%, var(--line))!important;background:var(--warn-soft)!important;color:var(--warn)!important}.th-inspector-keywords{flex-wrap:wrap;gap:5px;display:flex}.th-inspector-keywords span{background:var(--ink-soft);color:var(--muted);border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:600}.th-inspector-note{border-top:1px solid var(--line-soft);padding-top:11px}.th-inspector-note .eyebrow{margin:0 0 4px}.th-inspector-note p:last-child{color:var(--muted);margin:0;font-size:.84rem;line-height:1.5}.th-open{background:var(--blue);color:#fff;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;margin-top:2px;font-size:.86rem;font-weight:700;text-decoration:none;transition:background .14s,box-shadow .14s,transform 50ms;display:inline-flex}.th-open:hover{background:color-mix(in srgb, var(--blue) 88%, #000);box-shadow:0 10px 22px -12px color-mix(in srgb, var(--blue) 80%, transparent)}.th-open:active{transform:translateY(1px)}.th-open:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 30%, transparent);outline:none}.th-inspector-empty{text-align:center;align-content:center;justify-items:center;gap:5px;min-height:220px;padding:24px;display:grid}.th-inspector-empty-icon{background:var(--blue-soft);width:44px;height:44px;color:var(--blue);border-radius:12px;place-items:center;margin-bottom:4px;display:grid}.th-inspector-empty-title{color:var(--text);margin:0;font-size:.9rem;font-weight:700}.th-inspector-empty-hint{max-width:30ch;color:var(--muted);margin:0;font-size:.8rem;line-height:1.45}.th-notice{border:1px solid var(--line-soft);background:var(--ink-soft);color:var(--muted);border-radius:9px;grid-template-columns:auto 1fr;gap:8px;margin:auto 12px 12px;padding:9px 10px;font-size:.76rem;line-height:1.4;display:grid}.th-notice svg{color:var(--muted);margin-top:1px}.th-sheet-backdrop{display:none}@media (max-width:1050px){.th-hero{flex-wrap:wrap;align-items:flex-start}.th-stats{flex-wrap:wrap;width:100%}.th-stat{flex:88px;min-width:0}}@media (max-width:860px){.th-body{grid-template-columns:minmax(0,1fr)}.th-inspector{z-index:60;max-height:84vh;box-shadow:var(--shadow-md);border:0;border-radius:16px 16px 0 0;transition:transform .24s cubic-bezier(.32,.72,0,1);position:fixed;inset:auto 0 0;transform:translateY(102%)}.th-inspector.is-open{transform:none}.th-inspector-empty{display:none}.th-sheet-backdrop{z-index:59;background:color-mix(in srgb, var(--text) 45%, transparent);opacity:0;pointer-events:none;border:0;padding:0;transition:opacity .2s;display:block;position:fixed;inset:0}.th-sheet-backdrop.is-open{opacity:1;pointer-events:auto}}@media (max-width:560px){.th-filters{flex-direction:column;align-items:stretch}.th-filters-end{justify-content:space-between}}@media (prefers-reduced-motion:reduce){.th-card,.th-inspector,.th-sheet-backdrop,.th-open{transition:none}.th-card:hover{transform:none}}

@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_6104e6b7-module__s6uLTa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_6104e6b7-module__s6uLTa__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
