@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&family=Bebas+Neue&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0b0b11;--bg-surface: #111118;--bg-elevated: #16161f;--border: #1e1e2e;--border-hi: #2a2a3c;--text: #c9c9e0;--text-dim: #555577;--text-muted: #333355;--accent: #4ade80;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-display:"Bebas Neue", "JetBrains Mono", monospace;--drawer-w: 380px;--topbar-h: 52px;--lp-w: 190px}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}.app-shell{display:flex;flex-direction:column;height:100%;overflow:hidden}.topbar{height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;z-index:100;gap:16px}.topbar-left,.topbar-center,.topbar-right{display:flex;align-items:center;gap:10px}.topbar-left{flex:1}.topbar-center{flex:1;justify-content:center}.topbar-right{flex:1;justify-content:flex-end}.topbar-logo{font-size:20px;color:var(--accent);line-height:1}.topbar-wordmark{font-family:var(--font-display);font-size:20px;letter-spacing:3px;color:#e0e0f0}.topbar-divider{width:1px;height:20px;background:var(--border-hi)}.topbar-facility{font-size:10px;letter-spacing:3px;color:var(--text-dim);font-weight:600}.topbar-breadcrumb{font-size:10px;letter-spacing:4px;color:var(--text-dim);font-weight:500}.topbar-status-indicator{width:7px;height:7px;border-radius:50%;background:#555}.topbar-status-indicator.online{background:var(--accent);box-shadow:0 0 6px var(--accent);animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.topbar-status-text{font-size:9px;letter-spacing:3px;color:var(--accent);font-weight:700}.topbar-time{font-size:12px;color:var(--text-dim);font-weight:400;letter-spacing:1px;min-width:70px;text-align:right}.legend-panel{position:fixed;top:calc(var(--topbar-h) + 20px);width:var(--lp-w);background:var(--bg-elevated);border:1px solid var(--border-hi);border-radius:6px;z-index:150;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff08;transition:width .22s ease,box-shadow .2s ease;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.legend-panel.left{left:20px}.legend-panel.right{right:20px}.legend-panel.collapsed{width:var(--lp-w)}.legend-panel.collapsed .lp-body{display:none}.lp-header{display:flex;align-items:center;justify-content:space-between;padding:0 6px 0 10px;height:32px;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;-webkit-user-select:none;user-select:none;gap:6px}.lp-title{flex:1;font-size:8.5px;letter-spacing:3px;color:var(--text-dim);font-weight:700;text-align:center}.lp-icon-btn{background:none;border:1px solid transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:13px;line-height:1;width:22px;height:22px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s,background .15s;flex-shrink:0}.lp-icon-btn:hover{color:var(--text);border-color:var(--border-hi);background:var(--border)}.lp-body{padding:12px 12px 14px;display:flex;flex-direction:column;gap:8px;overflow:hidden}.lp-section-label{font-size:7.5px;letter-spacing:3px;color:var(--text-muted);font-weight:700;padding-bottom:4px}.lp-divider{height:1px;background:var(--border);margin:2px 0}.lp-list{list-style:none;display:flex;flex-direction:column;gap:5px}.lp-row{display:flex;align-items:center;gap:9px}.lp-swatch{width:8px;height:8px;border-radius:50%;flex-shrink:0}.lp-glyph{width:14px;font-size:11px;text-align:center;flex-shrink:0;line-height:1}.lp-row-label{font-size:10px;color:var(--text-dim);letter-spacing:.3px;line-height:1.3}.lp-note{font-size:8.5px;color:var(--text-muted);line-height:1.5;padding-top:2px;letter-spacing:.2px}.map-view{flex:1;overflow:auto;padding:24px 32px;position:relative;display:flex;justify-content:center}.iso-container{display:inline-block;filter:drop-shadow(0 0 40px rgba(74,222,128,.04))}g[role=button]:hover polygon:last-of-type{filter:brightness(1.15)}g[role=button]:focus-visible{outline:none}.drawer-backdrop{position:fixed;inset:0;background:#00000080;z-index:199;opacity:0;pointer-events:none;transition:opacity .25s ease}.drawer-backdrop.open{opacity:1;pointer-events:all}.room-drawer{position:fixed;top:0;right:0;width:var(--drawer-w);height:100%;background:var(--bg-elevated);border-left:1px solid var(--border);z-index:200;display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);overflow:hidden}.room-drawer.open{transform:translate(0)}.drawer-header{padding:20px 20px 16px;border-bottom:1px solid;flex-shrink:0}.drawer-header-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}.drawer-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.drawer-room-name{font-family:var(--font-display);font-size:28px;letter-spacing:3px;color:#e0e0f0;flex:1;line-height:1}.drawer-status-badge{font-size:8px;letter-spacing:2px;padding:4px 8px;border:1px solid;border-radius:3px;font-weight:700}.drawer-close{background:none;border:none;color:var(--text-dim);font-size:14px;cursor:pointer;padding:4px 6px;border-radius:4px;transition:color .15s,background .15s;font-family:var(--font-mono);line-height:1}.drawer-close:hover{color:var(--text);background:var(--border)}.drawer-meta{display:flex;gap:8px;flex-wrap:wrap}.meta-chip{display:flex;align-items:center;gap:6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;padding:4px 10px}.meta-label{font-size:8px;letter-spacing:2px;color:var(--text-muted);font-weight:600}.meta-value{font-size:10px;color:var(--text);font-weight:500}.drawer-section{padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.section-title{font-size:8px;letter-spacing:3px;color:var(--text-muted);font-weight:700;margin-bottom:12px}.flags-grid{display:flex;flex-direction:column;gap:6px}.flag-chip{display:flex;align-items:center;gap:10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;padding:7px 12px}.flag-glyph{font-size:14px;width:20px;text-align:center}.flag-label{font-size:11px;color:var(--text);font-weight:500}.event-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto}.event-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;padding:10px 12px;cursor:pointer;transition:border-color .15s}.event-row:hover{border-color:var(--border-hi)}.event-row-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.event-type{font-size:9px;letter-spacing:2px;color:#60a5fa;font-weight:700;background:#60a5fa15;border:1px solid #60a5fa30;padding:2px 7px;border-radius:3px}.event-edited-badge{font-size:8px;letter-spacing:1.5px;color:#a78bfa;background:#a78bfa15;border:1px solid #a78bfa30;padding:2px 7px;border-radius:3px}.event-time{font-size:9px;color:var(--text-dim);margin-left:auto}.event-desc{font-size:11px;color:var(--text);line-height:1.4;margin-bottom:4px}.event-by{font-size:9px;color:var(--text-muted)}.status-override-row{display:flex;gap:6px;flex-wrap:wrap}.status-btn{font-family:var(--font-mono);font-size:8px;letter-spacing:1.5px;font-weight:700;padding:5px 10px;border-radius:3px;border:1px solid;background:transparent;cursor:pointer;transition:all .15s}.status-btn:hover{opacity:.85}.status-btn.active{box-shadow:0 0 8px currentColor}.drawer-actions{margin-top:auto;padding:16px 20px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border)}.action-btn{font-family:var(--font-mono);font-size:11px;letter-spacing:2px;font-weight:600;padding:12px 16px;border-radius:4px;border:1px solid var(--border-hi);background:var(--bg-surface);color:var(--text);cursor:pointer;text-align:center;transition:all .15s}.action-btn:hover{border-color:#4a4a6a;background:var(--border);color:#e0e0f0}.action-btn.primary{background:#1a3326;border-color:#2d5c42;color:#4ade80;font-weight:700}.action-btn.primary:hover{background:#1f3d2e;box-shadow:0 0 12px #4ade8020}.flag-chip--editable{position:relative}.flag-edit-btn{margin-left:auto;background:none;border:1px solid transparent;color:var(--text-muted);font-size:12px;width:24px;height:24px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s,background .15s;flex-shrink:0;line-height:1}.flag-edit-btn:hover{color:var(--accent);border-color:#1a4d2a;background:#0a1f12}.modal-backdrop{position:fixed;inset:0;background:#000000b8;z-index:300;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .15s ease}.modal-backdrop.info{background:#00000080}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--bg-elevated);border:1px solid var(--border-hi);border-radius:8px;box-shadow:0 24px 64px #000000b3,0 0 0 1px #ffffff0a;display:flex;flex-direction:column;animation:slideUp .2s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes slideUp{0%{transform:translateY(16px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.defol-modal{width:420px;max-height:90vh}.defol-info-modal{width:340px}.modal-header{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0}.modal-header.compact{padding:12px 16px}.modal-icon{font-size:20px;line-height:1;color:var(--accent);flex-shrink:0}.modal-icon.small{font-size:15px}.modal-header-text{display:flex;flex-direction:column;gap:1px;flex:1}.modal-title{font-size:10px;letter-spacing:3px;color:var(--text);font-weight:700}.modal-subtitle{font-size:9px;letter-spacing:2px;color:var(--text-dim)}.modal-close{background:none;border:1px solid transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:13px;width:26px;height:26px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s,background .15s}.modal-close:hover{color:var(--text);border-color:var(--border-hi);background:var(--border)}.modal-body{padding:18px;overflow-y:auto;flex:1}.modal-body.compact{padding:14px 16px}.modal-hint{font-size:9.5px;color:var(--text-muted);letter-spacing:.5px;margin-bottom:14px;line-height:1.5}.modal-footer{padding:14px 18px;border-top:1px solid var(--border);background:var(--bg-surface);flex-shrink:0}.defol-grid{display:flex;flex-direction:column;gap:6px}.defol-summary{display:flex;gap:10px;align-items:center;padding:8px 10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:5px;margin-bottom:4px}.defol-stat{display:flex;align-items:baseline;gap:4px;font-size:18px;font-weight:700;font-family:var(--font-mono);line-height:1}.defol-stat span{font-size:8px;font-weight:500;letter-spacing:1.5px;color:var(--text-muted)}.defol-stat.full{color:var(--accent)}.defol-stat.partial{color:#facc15}.defol-stat.total{color:var(--text-dim);margin-left:auto;font-size:13px}.defol-table{display:flex;align-items:center;gap:0;height:44px;border-radius:5px;border:1px solid var(--border);overflow:hidden;background:var(--bg-surface);transition:border-color .15s}.defol-table.partial{border-color:#6b5c0044}.defol-table.full{border-color:#1a4d2a}.defol-table-num{width:28px;text-align:center;font-size:8px;font-weight:600;letter-spacing:1px;color:var(--text-muted);flex-shrink:0;border-right:1px solid var(--border);height:100%;display:flex;align-items:center;justify-content:center}.defol-half{flex:1;height:100%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:background .15s;font-family:var(--font-mono);gap:6px}.defol-half:disabled{cursor:default}.defol-half:not(:disabled):hover{background:#4ade800f}.defol-half.done{background:#0e2e1e}.defol-half.done:not(:disabled):hover{background:#112a1a}.defol-half-label{font-size:8px;font-weight:700;letter-spacing:2px;color:var(--text-muted);opacity:.5;transition:opacity .15s}.defol-half.done .defol-half-label{color:var(--accent);opacity:.6}.defol-check{font-size:11px;color:var(--accent);font-weight:700}.defol-divider{width:1px;height:60%;background:var(--border-hi);flex-shrink:0}.lp-row--draggable{cursor:grab;-webkit-user-select:none;user-select:none;transition:background .12s,opacity .12s}.lp-row--draggable:hover{background:#4ade800f;border-radius:4px}.lp-row--draggable:active{cursor:grabbing}.lp-row--dragging{opacity:.4}.lp-drag-handle{font-size:10px;color:var(--text-muted);margin-right:2px;flex-shrink:0;opacity:.5}.lp-drag-hint{display:block;font-size:8px;letter-spacing:.5px;color:var(--text-muted);font-weight:400;margin-top:1px}.ql-modal{max-width:420px}.ql-glyph{font-size:28px;line-height:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#0e2e1e;border:1px solid #1a4d32;border-radius:8px}.ql-label{display:block;font-size:10px;font-weight:600;letter-spacing:1.5px;color:var(--text-dim);text-transform:uppercase;margin-bottom:6px}.ql-optional{font-size:9px;font-weight:400;letter-spacing:.5px;color:var(--text-muted);text-transform:none}.ql-textarea{width:100%;background:var(--bg);border:1px solid var(--border-hi);border-radius:6px;color:var(--text);font-family:var(--font-mono);font-size:12px;line-height:1.6;padding:10px 12px;resize:vertical;min-height:72px;outline:none;transition:border-color .15s}.ql-textarea:focus{border-color:#2d5c42;box-shadow:0 0 0 2px #4ade8014}.ql-textarea::placeholder{color:var(--text-muted)}.ql-already-msg{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;background:#1f1a0e;border:1px solid #6b530022;border-radius:6px;color:#facc15;font-size:12px;line-height:1.5}.ql-already-msg span{font-size:16px;flex-shrink:0;margin-top:1px}.ql-btn-cancel{background:none;border:1px solid var(--border-hi);color:var(--text-dim);padding:8px 18px;border-radius:5px;cursor:pointer;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:1px;transition:border-color .15s,color .15s}.ql-btn-cancel:hover{border-color:var(--text-muted);color:var(--text)}.ql-btn-confirm{background:#0e2e1e;border:1px solid #235e40;color:var(--accent);padding:8px 18px;border-radius:5px;cursor:pointer;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:1px;transition:background .15s,border-color .15s;display:flex;align-items:center;gap:6px}.ql-btn-confirm:hover{background:#122e1e;border-color:var(--accent)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-hi);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a3a55}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.transfer-route-row{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0 4px}.transfer-route-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 16px;border-radius:6px;min-width:80px}.transfer-route-chip.origin{background:#1a1200;border:1px solid #f59e0b44}.transfer-route-chip.dest.set{background:#1a1200;border:1px solid #f59e0b}.transfer-route-chip.dest.unset{background:#111;border:1px dashed #555}.transfer-route-label{font-size:8px;font-weight:700;letter-spacing:1.5px;color:var(--text-muted);text-transform:uppercase}.transfer-route-name{font-size:13px;font-weight:700;color:#f59e0b}.transfer-route-arrow{font-size:20px;color:#f59e0b;opacity:.7}.btn-remove{background:none;border:1px solid #4d1a1a;color:#f87171;padding:9px 14px;border-radius:5px;cursor:pointer;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.5px;transition:background .15s}.btn-remove:hover{background:#1f0909}.transfer-info-card{background:#1a1200;border:1px solid #f59e0b33;border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:5px}.transfer-info-card--incoming{border-style:dashed;opacity:.8}.transfer-info-row{display:flex;gap:8px;align-items:center}.transfer-info-label{font-size:9px;font-weight:700;letter-spacing:1.5px;color:var(--text-muted);text-transform:uppercase;min-width:36px}.transfer-info-value{font-size:11px;font-weight:600;color:var(--text)}.transfer-info-notes{font-size:10px;color:var(--text-dim);font-style:italic;margin-top:2px}.transfer-edit-btn{align-self:flex-start;background:none;border:1px solid #f59e0b55;color:#f59e0b;font-family:var(--font-mono);font-size:10px;font-weight:600;padding:4px 10px;border-radius:4px;cursor:pointer;margin-top:4px;transition:background .15s}.transfer-edit-btn:hover{background:#2a1f00}.drawer-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.drawer-tab{flex:1;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:1.5px;padding:10px 6px;cursor:pointer;transition:color .15s,border-color .15s}.drawer-tab:hover{color:var(--text)}.drawer-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.meta-chip-select{align-items:center}.mode-select{background:var(--bg);border:1px solid var(--border-hi);border-radius:3px;color:var(--text);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 4px;cursor:pointer;outline:none}.mode-select:focus{border-color:var(--accent)}.section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.action-btn-sm{background:none;border:1px solid var(--border-hi);color:var(--accent);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.5px;padding:3px 8px;border-radius:4px;cursor:pointer;transition:background .15s}.action-btn-sm:hover{background:#4ade800f}.log-list{display:flex;flex-direction:column;gap:8px}.log-entry{background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.log-entry-header{display:flex;align-items:center;gap:8px}.log-product{font-size:11px;font-weight:700;color:var(--text);flex:1}.log-reentry-chip,.log-pass-chip{font-size:9px;font-weight:700;letter-spacing:.5px;padding:2px 6px;border-radius:3px}.log-reentry-chip.active{background:#1a3a1a;color:#6dff9a;border:1px solid #1a4d2a}.log-reentry-chip.cleared{background:#1a2a1a;color:#4ade80;border:1px solid #1a3a1a}.log-pass-chip.pass{background:#0e2d1a;color:#4ade80;border:1px solid #1a4d2a}.log-pass-chip.fail{background:#2d0e0e;color:#f87171;border:1px solid #4d1a1a}.log-entry-meta{display:flex;gap:6px;font-size:10px;color:var(--text-dim);flex-wrap:wrap}.log-entry-footer{display:flex;gap:6px;font-size:10px;color:var(--text-muted)}.log-photo-thumb{width:48px;height:48px;object-fit:cover;border-radius:4px;border:1px solid var(--border-hi);margin-top:4px}.log-photo-link{display:inline-block}.log-notes{font-size:10px;color:var(--text-dim);font-style:italic;margin-top:2px}.log-loading,.log-empty{font-size:11px;color:var(--text-muted);padding:12px 0;text-align:center}.modal-backdrop{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-panel{background:var(--bg-elevated);border:1px solid var(--border-hi);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;max-height:92vh}.modal-header{display:flex;align-items:center;gap:8px;padding:14px 16px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.modal-glyph{font-size:18px}.modal-title{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--text);flex:1}.modal-room{font-size:10px;color:var(--accent);font-weight:600}.modal-close{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px;transition:color .15s}.modal-close:hover{color:var(--text)}.modal-form{padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.form-row{display:flex;flex-direction:column;gap:4px}.form-row label{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--text-dim);text-transform:uppercase}.form-row input,.form-row select,.form-row textarea{background:var(--bg);border:1px solid var(--border-hi);border-radius:5px;color:var(--text);font-family:var(--font-mono);font-size:12px;padding:8px 10px;outline:none;transition:border-color .15s}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:#2d5c42;box-shadow:0 0 0 2px #4ade8014}.form-row textarea{resize:vertical;min-height:56px}.form-row-2col{flex-direction:row;gap:12px}.form-row-2col>div{flex:1;display:flex;flex-direction:column;gap:4px}.form-row-2col>div label{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--text-dim);text-transform:uppercase}.form-row-2col>div input,.form-row-2col>div select{background:var(--bg);border:1px solid var(--border-hi);border-radius:5px;color:var(--text);font-family:var(--font-mono);font-size:12px;padding:8px 10px;outline:none}.form-error{font-size:11px;color:#f87171;background:#1f0909;border:1px solid #4d1a1a;border-radius:4px;padding:8px 10px}.photo-upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.photo-thumb{width:52px;height:52px;object-fit:cover;border-radius:5px;border:1px solid var(--border-hi)}.modal-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:4px}.btn-primary{background:#0e2e1e;border:1px solid #235e40;color:var(--accent);padding:9px 18px;border-radius:5px;cursor:pointer;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:1px;transition:background .15s,border-color .15s}.btn-primary:hover{background:#122e1e;border-color:var(--accent)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:none;border:1px solid var(--border-hi);color:var(--text-dim);padding:9px 18px;border-radius:5px;cursor:pointer;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:1px;transition:color .15s,border-color .15s}.btn-secondary:hover{color:var(--text);border-color:var(--text-muted)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.pass-fail-toggle{display:flex;gap:6px;padding-top:4px}.btn-pass,.btn-fail{flex:1;padding:7px;border-radius:4px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1px;cursor:pointer;border:1px solid var(--border-hi);background:none;color:var(--text-dim);transition:all .15s}.btn-pass.active{background:#0e2d1a;color:#4ade80;border-color:#1a4d2a}.btn-fail.active{background:#2d0e0e;color:#f87171;border-color:#4d1a1a}.compliance-badge{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.06em;padding:2px 7px;border-radius:3px;text-transform:uppercase}.compliance-badge--done{background:#0e2d1a;color:#4ade80;border:1px solid #1a4d2a}.compliance-badge--ok{background:#0a2a1a;color:#4ade80;border:1px solid #1a4d2a}.compliance-badge--soon{background:#1a1200;color:#f59e0b;border:1px solid #6b5c00}.compliance-badge--overdue{background:#1f0909;color:#f87171;border:1px solid #7a1a1a}.check-hint{font-size:10px;color:var(--text-dim);margin:2px 0 8px;font-style:italic}.check-log-btn{width:100%;margin-bottom:10px}.check-log-btn:disabled{opacity:.45;cursor:not-allowed}.check-notes-input{width:100%;background:#0a0a14;border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:var(--font-mono);font-size:11px;padding:6px 8px;resize:vertical;margin-bottom:8px;box-sizing:border-box}.check-notes-input:focus{outline:none;border-color:var(--accent)}.check-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.check-history-row{display:flex;align-items:baseline;gap:8px;padding:4px 6px;background:#0d0d1c;border-radius:3px;border:1px solid var(--border);flex-wrap:wrap}.check-history-date{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);white-space:nowrap}.check-history-by{font-family:var(--font-mono);font-size:10px;color:var(--accent);font-weight:600}.check-history-notes{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);font-style:italic;width:100%}.mode-badge{display:inline-flex;align-items:center;justify-content:center;font-family:JetBrains Mono,Courier New,monospace;font-size:9px;font-weight:700;letter-spacing:.08em;padding:2px 6px;border-radius:3px;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.mode-off{background:#4b5563d9;color:#9ca3af;border:1px solid rgba(107,114,128,.4)}.mode-fill{background:#2563ebd9;color:#bfdbfe;border:1px solid rgba(96,165,250,.5)}.mode-flush{background:#0694a2d9;color:#a5f3fc;border:1px solid rgba(34,211,238,.5);animation:flush-shimmer 2.5s ease-in-out infinite}@keyframes flush-shimmer{0%,to{opacity:1}50%{opacity:.65}}.mode-crop{background:#b45309d9;color:#fde68a;border:1px solid rgba(251,191,36,.5)}.mode-auto{background:#059669d9;color:#6ee7b7;border:1px solid rgba(52,211,153,.4)}.nets-modal{width:min(440px,95vw)}.nets-diagram-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:20px}.net-diagram{border-radius:6px;display:block}.nets-status-label{font-family:JetBrains Mono,Courier New,monospace;font-size:10px;font-weight:700;letter-spacing:1.5px;padding:3px 10px;border-radius:3px}.nets-status-label--ok{background:#0e2d1a;color:#4ade80;border:1px solid #1a4d2a}.nets-status-label--pend{background:#1a1200;color:#f59e0b;border:1px solid #6b5c00}.nets-checklist{display:flex;flex-direction:column;gap:10px}.nets-check-btn{display:flex;align-items:center;gap:14px;width:100%;background:#0d0d1c;border:1.5px solid #1e1e35;border-radius:6px;padding:12px 14px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.nets-check-btn:hover{border-color:#2d2d55;background:#111126}.nets-check-btn--done{border-color:#1a4d2a;background:#0a1f12}.nets-check-btn--done:hover{border-color:#2d7a42}.nets-check-icon{font-size:20px;font-weight:700;width:28px;text-align:center;flex-shrink:0;color:#6b7280;transition:color .15s}.nets-check-btn--done .nets-check-icon{color:#4ade80}.nets-check-text{display:flex;flex-direction:column;gap:2px}.nets-check-text strong{font-family:JetBrains Mono,Courier New,monospace;font-size:12px;font-weight:700;color:#e2e8f0;letter-spacing:.5px}.nets-check-btn--done .nets-check-text strong{color:#4ade80}.nets-check-text small{font-family:JetBrains Mono,Courier New,monospace;font-size:10px;color:#4a4a68;font-weight:400}
