*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.resize{resize:both}.break-all{word-break:break-all}.border{border-width:1px}.p-6{padding:1.5rem}.p-8{padding:2rem}.text-center{text-align:center}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--bg: #f6f7fa;--surface: #ffffff;--surface-2: #f0f2f7;--border: #dcdfe8;--text: #1b1c22;--text-2: #585b66;--text-3: #868997;--brand: #5170ff;--accent: #3d5ceb;--accent-weak: #eef1ff;--ok: #1f8a4c;--ok-weak: #e4f5ea;--warn: #b26a00;--warn-weak: #fff3dc;--bad: #c62828;--bad-weak: #fde8e8;--muted: #6b6a66;--muted-weak: #ececea;--bloquea: #b3261e;--bloquea-weak: #fbe9e7;--afecta: #9a5b00;--afecta-weak: #fff1dc;--higiene: #4d4c48;--higiene-weak: #ededeb;--row-h: 32px;--cell-x: 8px;--font: "Inter", "SF Pro Text", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;line-height:1.35}.num{font-variant-numeric:tabular-nums}.dense{width:100%;border-collapse:separate;border-spacing:0}.dense th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--text-2);font-weight:600;font-size:11.5px;letter-spacing:.01em;text-align:left;height:var(--row-h);padding:0 var(--cell-x);border-bottom:1px solid var(--border);white-space:nowrap}.dense td{height:var(--row-h);padding:0 var(--cell-x);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.dense tr:hover td{background:var(--accent-weak)}.dense th.right,.dense td.right{text-align:right}.dense .sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.badge{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:4px;font-size:11px;font-weight:600;line-height:1;white-space:nowrap}.badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-pulse:before{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.btn{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);font-weight:500;font-size:12.5px}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(.95);background:var(--accent)}.btn-danger{color:var(--bad);border-color:var(--bad)}.btn:disabled{opacity:.5;cursor:not-allowed}.input{height:28px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);font-size:12.5px;width:100%}.input:focus{outline:2px solid var(--accent-weak);border-color:var(--accent)}.label{font-size:11.5px;color:var(--text-2);font-weight:600;margin-bottom:3px;display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px}.kbd{font-family:var(--mono);font-size:11px;background:var(--surface-2);border:1px solid var(--border);border-radius:3px;padding:0 4px}.step{font-size:11px;padding:0 6px;height:18px;display:inline-flex;align-items:center;border-radius:4px;background:var(--muted-weak);color:var(--muted);white-space:nowrap}.step.ok{background:var(--ok-weak);color:var(--ok)}.step.run{background:var(--accent-weak);color:var(--accent)}.step.wait{background:var(--warn-weak);color:var(--warn)}.chip{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:12px;cursor:pointer;white-space:nowrap}.chip.on{background:var(--accent-weak);border-color:var(--accent);color:var(--accent)}.chip b{font-weight:600}.sev{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.row9{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;font-size:12.5px}.row9 dt{color:var(--text-2);font-weight:600}.row9 dd{margin:0}tr.sel td{background:var(--accent-weak)!important}.note{color:var(--text-3);font-size:11.5px}.mono{font-family:var(--mono);font-size:12px}.code{display:inline-flex;align-items:center;height:18px;padding:0 5px;border-radius:4px;font-family:var(--mono);font-size:10.5px;font-weight:600;margin-right:3px;background:var(--muted-weak);color:var(--muted);white-space:nowrap}.code.b{background:var(--bad-weak);color:var(--bad)}.code.w{background:var(--warn-weak);color:var(--warn)}.code.g{background:var(--ok-weak);color:var(--ok)}.pxbar{height:4px;background:var(--muted-weak);border-radius:2px;overflow:hidden;margin-top:3px}.pxbar i{display:block;height:100%;background:var(--ok)}.pxbar i.over{background:var(--bad)}.pxbar i.short{background:var(--warn)}.meta{border:1px solid var(--border);border-radius:6px;padding:8px 10px;margin-bottom:6px;background:var(--surface)}.meta.approved{border-color:var(--ok)}.meta.err{border-color:var(--bad)}.meta .who{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:11.5px;color:var(--text-2)}.meta .foot,.foot{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:11.5px;color:var(--text-2);flex-wrap:wrap}.meta-ta{width:100%;border:1px solid var(--border);background:var(--surface-2);font:inherit;font-size:12.5px;resize:none;padding:4px 6px;border-radius:4px;line-height:1.4}.meta-ta:focus{outline:2px solid var(--accent-weak);border-color:var(--accent);background:var(--surface)}.meta-ta[readonly]{background:transparent;border-color:transparent}.serp{border:1px solid var(--border);border-radius:6px;padding:8px 10px;background:#fff;margin:6px 0}.serp .t{color:#1a0dab;font-size:15px;line-height:1.3}.serp .u{color:#006621;font-size:11.5px}.serp .d{color:#545454;font-size:12px;line-height:1.4}.sheet section{padding:10px 14px;border-bottom:1px solid var(--border)}.sheet section:last-child{border:0}.sheet h3{margin:0 0 6px;font-size:11.5px;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:8px;white-space:nowrap}.sheet h3 .note{text-transform:none;letter-spacing:0;font-weight:400}.rev td{height:auto;padding:4px 8px;vertical-align:top;white-space:normal}.rev tr.approved td{background:var(--ok-weak)}.dense.auto td{max-width:none;white-space:normal}.dense.auto th{white-space:normal}.cls{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:4px;font-size:10.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.cls.B{background:var(--bloquea-weak);color:var(--bloquea)}.cls.A{background:var(--afecta-weak);color:var(--afecta)}.cls.H{background:var(--higiene-weak);color:var(--higiene)}.act{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:4px;font-size:10.5px;font-weight:700;white-space:nowrap}.act.c{background:var(--ok-weak);color:var(--ok)}.act.u{background:var(--accent-weak);color:var(--accent)}.act.k{background:var(--muted-weak);color:var(--muted)}.act.x{background:var(--bad-weak);color:var(--bad)}.dense tr.done td{color:var(--text-3)}.dense tr.done td.t{text-decoration:line-through}.dense tr.dim td{color:var(--text-3)}.urlin{display:none;font-family:var(--mono);font-size:11px;color:var(--text-3);margin-left:4px}.narrow .urlin{display:inline}.evid{font-family:var(--mono);font-size:11px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:6px 8px;white-space:pre-wrap;color:var(--text-2);line-height:1.45}.hist{font-size:11.5px;color:var(--text-2);display:grid;grid-template-columns:84px 1fr;row-gap:3px;-moz-column-gap:8px;column-gap:8px}.hist .d{color:var(--text-3);font-family:var(--mono);font-size:10.5px;white-space:nowrap}.cu{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);font-size:12px;flex-wrap:wrap}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1c1a59;display:flex;align-items:flex-start;justify-content:center;padding-top:60px;z-index:30}.modal>.card{padding:0;max-height:calc(100vh - 100px);display:flex;flex-direction:column}.modal header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600}.modal .body{padding:14px 16px;overflow:auto;flex:1}.modal footer{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 8px 8px}.rad{display:flex;gap:6px;flex-wrap:wrap}.rad label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:6px;padding:4px 8px;cursor:pointer;background:var(--surface)}.rad label.on{border-color:var(--accent);background:var(--accent-weak)}.secure{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-2)}.payload{font-family:var(--mono);font-size:11px;background:#1c1c1a;color:#e6e6e2;border-radius:6px;padding:8px 10px;white-space:pre-wrap;line-height:1.45;overflow:auto}.payload .k{color:#9cc2ff}.prog{height:6px;background:var(--muted-weak);border-radius:3px;overflow:hidden;flex:1;min-width:80px}.prog i{display:block;height:100%;background:var(--accent);transition:width .3s}.grp td.g{background:var(--surface-2);font-weight:600;color:var(--text-2);font-size:11.5px}.badge.outline{border:1px solid var(--border);color:var(--text-2);background:transparent}.badge.ok,.chip.ok{color:var(--ok);background:var(--ok-weak)}.badge.warn,.chip.warn{color:var(--warn);background:var(--warn-weak)}.badge.bad,.chip.bad{color:var(--bad);background:var(--bad-weak)}.badge.mut,.chip.mut{color:var(--muted);background:var(--muted-weak)}.badge.acc,.chip.acc{color:var(--accent);background:var(--accent-weak)}.act.m{background:var(--accent-weak);color:var(--accent)}.act.d{background:var(--warn-weak);color:var(--warn)}.act.p{background:var(--muted-weak);color:var(--muted)}.kpi{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:10px}.kpi .card{padding:8px 12px}.kpi .v{font-size:18px;font-weight:700;line-height:1.1}.kpi .l{color:var(--text-2);font-size:11.5px}.runline{display:flex;align-items:center;gap:10px;padding:6px 10px;margin-bottom:10px}.split{display:grid;grid-template-columns:minmax(0,1fr) 540px;gap:12px;align-items:start}.split>div,.split>aside{min-width:0}@media (max-width: 1400px){.split{grid-template-columns:minmax(0,1fr) 460px}}.cl{border:1px solid var(--border);border-radius:8px;background:var(--surface);margin-bottom:8px}.cl header{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.cl header .note{overflow:hidden;text-overflow:ellipsis;min-width:0}.cl header b{font-size:13px}.cl header .n{font-family:var(--mono);font-size:10.5px;color:var(--text-2);white-space:nowrap}.cl.locked{border-color:var(--ok)}.cl.locked header{background:var(--ok-weak)}.cl.vetoed{opacity:.6}.cl.vetoed header b{text-decoration:line-through}.cl .foot{display:flex;align-items:center;gap:8px;padding:4px 10px 6px;font-size:11.5px;color:var(--text-2);flex-wrap:wrap}.kws{display:flex;flex-wrap:wrap;gap:4px;padding:6px 10px}.kw{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border:1px solid var(--border);border-radius:11px;font-size:11.5px;background:var(--surface)}.kw .v{font-family:var(--mono);font-size:10px;color:var(--text-3)}.kw.main{border-color:var(--accent);background:var(--accent-weak);color:var(--accent);font-weight:600}.kw.gsc{border-style:dashed}.kw.amb{border-color:var(--warn);color:var(--warn)}.kw.pend{border-style:dotted;color:var(--text-2)}.kw.off{opacity:.45;text-decoration:line-through}.int{display:inline-flex;align-items:center;height:16px;padding:0 5px;border-radius:4px;font-size:10px;font-weight:600;border:1px solid var(--border);color:var(--text-2);white-space:nowrap}.int.t{color:var(--ok);border-color:var(--ok)}.int.i{color:var(--accent);border-color:var(--accent)}.int.x{color:var(--warn);border-color:var(--warn)}.brief section{padding:10px 14px;border-bottom:1px solid var(--border)}.brief section:last-child{border:0}.brief h3{margin:0 0 6px;font-size:11.5px;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:8px}.brief h3 .note{text-transform:none;letter-spacing:0;font-weight:400}.bar{height:6px;background:var(--muted-weak);border-radius:3px;overflow:hidden;display:inline-block;width:120px;vertical-align:middle}.bar i{display:block;height:100%;background:var(--accent)}.h2s{list-style:none;margin:0;padding:0}.h2s li{display:flex;gap:8px;align-items:baseline;padding:3px 0;border-bottom:1px dashed var(--border);font-size:12.5px}.h2s li .lvl{font-family:var(--mono);font-size:10px;color:var(--text-3);width:22px}.h2s li .why{margin-left:auto;font-size:10.5px;color:var(--text-3);white-space:nowrap}.term{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;font-size:11px;background:var(--surface-2);border:1px solid var(--border);margin:0 3px 3px 0}.term.must{border-color:var(--accent);color:var(--accent);font-weight:600}.link{display:grid;grid-template-columns:1fr 130px;gap:4px 8px;font-size:12px}.link span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link .mono{font-size:11px}.facet{display:inline-flex;align-items:center;gap:3px;height:18px;padding:0 6px;border-radius:4px;font-size:10.5px;border:1px solid var(--border)}.facet.ok{color:var(--ok);border-color:var(--ok)}.facet.gap{color:var(--bad);border-color:var(--bad)}.filters{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.kpi.kpi4{grid-template-columns:repeat(4,1fr)}.kpi .d{display:flex;gap:10px;margin-top:4px;font-size:11.5px;font-family:var(--mono)}.kpi .d span{white-space:nowrap}.up{color:var(--ok)}.down{color:var(--bad)}.flat{color:var(--text-3)}.seg{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.seg button{border:0;background:var(--surface);padding:0 10px;height:26px;font:inherit;font-size:12px;color:var(--text-2);cursor:default}.seg button.on{background:var(--accent-weak);color:var(--accent);font-weight:600}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.two>.card{min-width:0;overflow:hidden}.card>h4{margin:0;padding:7px 10px;border-bottom:1px solid var(--border);font-size:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card>h4 .note{font-weight:400}details.grp{border-bottom:1px solid var(--border)}details.grp:last-child{border:0}details.grp summary{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;list-style:none;font-size:12.5px;flex-wrap:wrap}details.grp summary::-webkit-details-marker{display:none}details.grp summary .tri{font-size:10px;color:var(--text-3);width:10px;transition:transform .1s}details.grp[open] summary .tri{transform:rotate(90deg)}.narr{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:10px}.narr .card{display:flex;flex-direction:column;min-height:230px}.narr .edwrap{position:relative;flex:1;display:grid}.narr .ed{flex:1;padding:8px 10px;font-size:12.5px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word;outline:none;font-family:var(--font);margin:0;border:0;min-height:180px;resize:vertical}.narr .edwrap .ed{grid-area:1 / 1}.narr .edhl{color:transparent;overflow:hidden;pointer-events:none;resize:none}.narr .edhl mark.pend{color:transparent}.narr textarea.ed{background:transparent;color:var(--text);width:100%;box-sizing:border-box}.narr textarea.ed:focus{box-shadow:inset 0 0 0 2px var(--accent-weak)}.narr .ed.ro{background:var(--surface-2);color:var(--text-2);overflow:auto}.narr .ft{display:flex;align-items:center;gap:8px;padding:4px 10px;border-top:1px solid var(--border);font-size:11px;color:var(--text-3)}mark.pend{background:var(--warn-weak);color:var(--warn);border-radius:3px;padding:0 1px;font-weight:600}.md p{margin:0 0 8px}.md ul{margin:0 0 8px;padding-left:18px}.md li{margin:0 0 3px}.md h5{margin:6px 0 4px;font-size:12px}.life{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-2)}.life .st{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;border:1px solid var(--border)}.life .st.on{border-color:var(--accent);color:var(--accent);background:var(--accent-weak);font-weight:600}.who{display:inline-flex;align-items:center;gap:5px;height:18px;padding:0 6px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap}.who.p{background:var(--accent-weak);color:var(--accent)}.who.m{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.who.ai{background:#efe9ff;color:#5b3fc4}.who.s{background:var(--higiene-weak);color:var(--higiene)}.ver{font-family:var(--mono);font-size:10.5px;color:var(--text-3)}.histlog td{vertical-align:top;white-space:normal;height:auto;padding-top:5px;padding-bottom:5px}.histlog td.t{font-family:var(--mono);font-size:11px;color:var(--text-3);white-space:nowrap}.histlog tr.day td{background:var(--surface-2);color:var(--text-2);font-weight:600;font-size:11.5px;height:24px}.histlog tr.err td{background:var(--bad-weak)}.histlog tr.warn td{background:var(--warn-weak)}.histlog .ent{font-family:var(--mono);font-size:11px;color:var(--accent);text-decoration:none}.histlog .ent:hover{text-decoration:underline}.histlog .delta{font-size:11px;color:var(--text-2);margin-top:3px}.steps{display:flex;gap:3px;flex-wrap:wrap;margin-top:3px}.steps span{height:14px;padding:0 5px;border-radius:3px;font-size:10px;font-family:var(--mono);background:var(--ok-weak);color:var(--ok)}.steps span.x{background:var(--bad-weak);color:var(--bad)}.steps span.q{background:var(--warn-weak);color:var(--warn)}.steps span.skip{background:var(--surface-2);color:var(--text-3)}.dumpwrap{display:block}.dumpwrap summary{cursor:pointer;color:var(--accent);font-size:11px;list-style:none}.dumpwrap summary::-webkit-details-marker{display:none}.dumpwrap[open] summary{color:var(--text-3)}.dump{margin-top:4px;padding:6px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;font-family:var(--mono);font-size:10.5px;white-space:pre-wrap;max-height:220px;overflow:auto}.lock{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-3)}.bar{height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden;position:relative}.bar i{position:absolute;left:0;top:0;bottom:0;background:var(--accent);border-radius:4px}.bar i.w{background:var(--warn)}.bar i.b{background:var(--bad)}.switch{display:inline-flex;align-items:center;cursor:pointer}.switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:18px;border-radius:9px;background:var(--muted-weak);border:1px solid var(--border);position:relative;transition:background .15s;cursor:pointer;margin:0}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:left .15s}.switch input:checked{background:var(--accent);border-color:var(--accent)}.switch input:checked:after{left:16px}.switch input:disabled{opacity:.5;cursor:not-allowed}.mf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.mf-grid .full{grid-column:1 / -1}.mf-task{border:1px dashed var(--border);border-radius:8px;padding:10px 12px;margin-top:10px;background:var(--surface-2)}.mf-partial{border:1px solid var(--warn);border-radius:8px;padding:10px 12px;margin-top:10px;background:var(--warn-weak);color:var(--text)}.spinner{display:inline-block;width:11px;height:11px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-1px}@keyframes spin{to{transform:rotate(360deg)}}.sk{display:inline-block;background:linear-gradient(90deg,var(--muted-weak) 25%,#e9e9e5 37%,var(--muted-weak) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion: reduce){.sk{animation:none}}.empty{padding:28px 16px}.scrollbox{max-height:var(--scrollbox-h, calc(100vh - 300px) );overflow:auto}.journey{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.journey-steps{display:flex;flex:1;gap:4px;margin:0;padding:0;list-style:none;min-width:0}.journey-steps li{flex:1;min-width:0}.journey-step{display:grid;grid-template-columns:22px 1fr;grid-template-rows:auto auto;-moz-column-gap:8px;column-gap:8px;align-items:center;padding:4px 8px;border-radius:6px;text-decoration:none;color:var(--text-2);border:1px solid transparent}.journey-step:hover{background:var(--surface-2)}.journey-step.on{border-color:var(--accent);background:var(--accent-weak)}.journey-n{grid-row:1 / 3;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;background:var(--muted-weak);color:var(--muted)}.journey-step.done .journey-n{background:var(--ok);color:#fff}.journey-step.next .journey-n{background:var(--brand);color:#fff}.journey-step.running .journey-n{background:var(--accent-weak);color:var(--accent)}.journey-label{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journey-step.locked .journey-label{color:var(--text-3);font-weight:500}.journey-step.next .journey-label{color:var(--accent)}.journey-meta{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journey-step.running .journey-meta{color:var(--accent)}.journey-cta{flex:none;display:flex;align-items:center;gap:8px}.journey-modules{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.journey-modules .lbl{font-size:11.5px;color:var(--text-3);font-weight:600;letter-spacing:.02em;text-transform:uppercase;margin-right:2px}.start-card{padding:10px 12px;margin-bottom:10px;border-color:var(--brand)}.start-head{display:flex;gap:10px;align-items:baseline;margin-bottom:6px}.start-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.start-items li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;background:var(--surface-2);min-width:0}.start-items li.next{background:var(--accent-weak)}.start-items li.done{opacity:.75}.start-items li.done .journey-n{background:var(--ok);color:#fff}.start-items li.next .journey-n{background:var(--brand);color:#fff}.start-items li>span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-title{font-weight:600}.shell{display:grid;grid-template-columns:252px 1fr;grid-template-rows:54px 1fr;height:100%}.topbar{grid-column:1 / 3;display:flex;align-items:center;gap:14px;padding:0 16px 0 14px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-logo img{height:30px;display:block}.topbar-user{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2)}.topbar-email{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar{display:flex;flex-direction:column;gap:14px;padding:12px 10px 16px;background:var(--surface);border-right:1px solid var(--border);overflow:auto;min-height:0}.page{overflow:auto;padding:16px 20px 24px;min-width:0}.nav-bottom{margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.nav-section{display:flex;flex-direction:column;gap:2px}.nav-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:0 10px;margin-bottom:4px}.nav-link{display:flex;align-items:center;gap:10px;min-height:36px;padding:6px 10px;border-radius:7px;color:var(--text-2);text-decoration:none;font-size:13.5px;font-weight:500;min-width:0}.nav-link svg{flex:none;color:var(--text-3)}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.on{background:var(--accent-weak);color:var(--accent);font-weight:600}.nav-link.on svg{color:var(--accent)}.nav-link-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-link-sub{min-height:32px;padding-left:36px;font-size:13px}.nav-client{padding:2px 10px 6px}.nav-client-name{font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;border:1px solid transparent;border-radius:6px;background:var(--surface);padding:2px 22px 2px 4px;margin-left:-5px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23868997' stroke-width='2.5' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 6px center;cursor:pointer;color:var(--text)}.nav-client-name:hover{border-color:var(--border)}.nav-client-host{font-size:12px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group-head{display:flex;align-items:center;gap:10px;min-height:34px;padding:4px 10px;font-size:13.5px;font-weight:600;color:var(--text)}.nav-group-head svg{color:var(--text-3)}.nav-sub{display:flex;flex-direction:column;gap:2px}.nav-steps{list-style:none;margin:0;padding:0 0 0 10px;display:flex;flex-direction:column;gap:2px}.nav-step a{display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;-moz-column-gap:10px;column-gap:10px;align-items:center;min-height:38px;padding:3px 10px 3px 16px;border-radius:7px;text-decoration:none;color:var(--text-2)}.nav-step a:hover{background:var(--surface-2)}.nav-step.on a{background:var(--accent-weak)}.nav-step .journey-n{grid-row:1 / 3;width:24px;height:24px;font-size:12px}.nav-step-label{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-step.locked .nav-step-label{color:var(--text-3);font-weight:500}.nav-step.next .nav-step-label,.nav-step.on .nav-step-label{color:var(--accent)}.nav-step-meta{font-size:11.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-step.running .nav-step-meta{color:var(--accent)}.nav-step.done .journey-n{background:var(--ok);color:#fff}.nav-step.next .journey-n{background:var(--brand);color:#fff}.nav-step.running .journey-n{background:var(--accent-weak);color:var(--accent)}.nav-cta{margin:8px 10px 2px 26px;justify-content:center;height:34px;font-size:13.5px}.nav-inline{margin:6px 10px 0 26px}.nav-add{height:32px;margin:4px 10px 0 36px;font-size:13px;width:calc(100% - 46px)}.nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:0 0 6px}.nav-grid .nav-link{min-height:32px;padding:4px 8px;font-size:13px;gap:7px}.st-pending{background:var(--muted)}.st-partial{background:var(--warn)}.st-done{background:var(--ok)}.st-na{background:var(--border)}.nav-link-sub .sev{margin-right:0}.nav-link-sub{padding-left:24px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 14px}.crumbs{display:flex;gap:6px;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px}.crumbs a{color:var(--accent);text-decoration:none}.crumb-sep{margin-right:6px;color:var(--border)}.page-title{font-size:22px;font-weight:700;margin:0;line-height:1.2;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.page-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:6px;font-size:12.5px;color:var(--text-2)}.page-actions{display:flex;gap:8px;align-items:center;flex:none;padding-top:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 2px #1418280a,0 4px 14px #1418280a}
