:root{--ink: #1D2329;--muted: #66707A;--line: #E1E5EC;--card: #FFFFFF;--navy: #2B2D7C;--navy-soft: #E8E9F5;--orange: #EF7D22;--orange-soft: #FDEEDF;--ok: #1F8A5B;--ok-soft: #E2F4EA;--warn: #A87308;--warn-soft: #FBF1D9;--bad: #B23A33;--bad-soft: #FBE6E4;--info: #2B2D7C;--info-soft: #E8E9F5;--ai: #6F4BAA;--ai-soft: #EFE9F8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:#eef0f4;overflow:hidden}button,select,input{font:inherit;color:inherit}button{cursor:pointer}small{color:var(--muted)}.app{position:relative;height:100%}.canvas{position:absolute!important;top:0;right:0;bottom:0;left:0;z-index:0}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px #141e280a,0 8px 24px -12px #141e282e}.top{position:absolute;inset:0 0 auto 0;height:64px;display:flex;align-items:center;gap:14px;padding:0 18px;background:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:6}.logo{height:34px;width:auto;display:block}.brand{display:flex;align-items:baseline;gap:10px;white-space:nowrap;padding-left:14px;border-left:1px solid var(--line)}.brand b{font-size:16px;font-weight:600;color:var(--navy)}.brand .sub{color:var(--muted);font-size:13px}.search{flex:1;min-width:140px;max-width:360px;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#fff}.search input{border:0;outline:0;flex:1;background:transparent;color:var(--ink);min-width:0}.company{display:flex;flex-direction:column;gap:1px}.company small{font-size:11px}.company select{border:1px solid var(--line);border-radius:8px;padding:3px 6px;background:#fff;font-weight:600;font-size:13px}.pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.pill-demo{background:var(--warn-soft);color:var(--warn)}.clock{display:flex;align-items:center;gap:8px;white-space:nowrap}.clock small{display:block;font-size:11px}.clock b{display:block;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.speed{border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 7px;font-size:12px;font-weight:600;color:var(--navy)}.icon-btn{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--muted);position:relative;flex:none}.bell i{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--orange);color:#fff;font-size:11px;font-style:normal;font-weight:600;display:grid;place-items:center}.user{display:flex;align-items:center;gap:10px;white-space:nowrap}.user b{display:block;font-size:13px;font-weight:600}.user small{display:block;font-size:12px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--navy-soft);color:var(--navy);font-weight:600;font-size:13px}.kpis{position:absolute;top:76px;left:16px;width:214px;display:flex;flex-direction:column;gap:8px;z-index:4;pointer-events:none}.kpi{pointer-events:auto;display:flex;gap:10px;align-items:center;padding:8px 12px 8px 9px;flex:none;min-width:0;border-top:3px solid var(--mod)}.kpi>div{min-width:0}.kpi-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--navy-soft);color:var(--mod);flex:none}.kpi small{display:block;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi b{display:block;font-size:19px;line-height:1.2;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.kpi span{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-alert .kpi-ic{background:var(--bad-soft);color:var(--bad)}.kpi-alert b{color:var(--bad)}.views{position:absolute;left:242px;top:76px;display:flex;gap:2px;padding:4px;z-index:4;flex-wrap:wrap;max-width:calc(100% - 650px)}.views button{border:0;background:transparent;padding:7px 10px;border-radius:8px;color:var(--muted);font-weight:500;font-size:13px;display:flex;align-items:center;gap:6px}.views button[aria-pressed=true]{background:var(--navy-soft);color:var(--navy)}.views button:hover{color:var(--ink)}.views button[style]:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--mod)}.views .sep{width:1px;background:var(--line);margin:4px}.detail{position:absolute;top:76px;right:16px;bottom:16px;width:360px;padding:16px;z-index:5;display:flex;flex-direction:column;gap:10px;overflow:hidden}.detail-empty:after{display:none}.detail:after{content:"SIMULACIÓN";position:absolute;right:-36px;bottom:70px;transform:rotate(-90deg);transform-origin:center;font-size:34px;font-weight:700;letter-spacing:.2em;color:#2b2d7c0d;pointer-events:none}.detail-body{overflow-y:auto;display:grid;gap:12px;align-content:start;margin:0 -6px;padding:0 6px}.detail-empty{flex-direction:row;align-items:flex-start;color:var(--muted);bottom:auto}.detail-empty p{margin:0 0 8px;font-size:13px}.detail-empty b{color:var(--ink);font-weight:600}.legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px}.legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.lg-person{background:#2b2d7c;border-radius:50%!important}.lg-ai{background:var(--ai);transform:rotate(45deg)}.lg-sys{background:#5c6773}.detail-head{display:flex;justify-content:space-between;gap:10px}.detail-head small{display:block;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--orange)}.detail-head b{display:block;font-size:17px;font-weight:600;margin:2px 0}.detail-head span{font-size:12px;color:var(--muted)}.detail dl{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;margin:0;padding-top:10px;border-top:1px solid var(--line)}.detail dt{color:var(--muted);font-size:13px}.detail dd{margin:0;text-align:right;font-weight:500;font-size:13px;font-variant-numeric:tabular-nums}.what{margin:0;font-size:13px;line-height:1.5;color:#3b444e}.note{margin:0;font-size:12px;color:var(--ai);background:var(--ai-soft);border-radius:8px;padding:7px 9px}.cls{color:var(--c);font-weight:600}.txt-bad{color:var(--bad)!important}.txt-warn{color:var(--warn)}.sigs,.audit,.links-list{display:grid;gap:6px;padding-top:10px;border-top:1px solid var(--line)}.sigs>small,.audit>small,.links-list>small{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.sigs>div{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:start;font-size:12.5px;color:var(--muted)}.sigs>div b{color:var(--ink);font-weight:600}.sigs>div.done{color:var(--ink)}.sigs>div.done svg{color:var(--ok)}.sigs>div.done .dotk{background:var(--ok)}.masked{-webkit-text-security:disc}.sigs>div.mine{color:var(--orange)}.sigs>div.late time,.sigs>div.late{color:var(--bad)}.sigs time{font-size:11.5px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dotk{width:8px;height:8px;border-radius:50%;background:#c7cdd5;margin-top:5px}.who{color:var(--muted);font-size:11.5px}.val{color:var(--muted)}.audit>div{display:flex;justify-content:space-between;gap:10px;font-size:12px;line-height:1.35}.audit time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.link{text-align:left;border:0;background:none;padding:2px 0;color:var(--navy);font-size:12.5px;font-weight:500}.link:hover{text-decoration:underline}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions:empty{display:none}.btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--line);background:#fff;font-weight:500;font-size:13px}.btn:hover{border-color:#c9cfd8}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.primary:hover{background:#22246a}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sm{height:28px;padding:0 9px;font-size:12px}.chip{justify-self:start;align-self:flex-start;display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;font-style:normal}em.chip{padding:1px 6px;font-size:10.5px;vertical-align:1px}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.info{background:var(--info-soft);color:var(--info)}.chip.ai{background:var(--ai-soft);color:var(--ai)}.chip.muted{background:#eef0f3;color:#5c6773}.bottom{position:absolute;left:16px;right:392px;bottom:16px;height:200px;z-index:4;display:flex;flex-direction:column;padding:8px 12px 6px}.tabs{display:flex;gap:4px;align-items:center;margin-bottom:4px}.tabs>button{border:0;background:transparent;padding:6px 10px;border-radius:8px;color:var(--muted);font-weight:500;display:flex;gap:6px;align-items:center}.tabs>button[aria-pressed=true]{background:var(--navy-soft);color:var(--navy)}.tabs>button i{font-style:normal;font-size:11px;font-weight:600;background:#eef0f3;color:var(--muted);padding:1px 6px;border-radius:9px}.tabs .tools{margin-left:auto;margin-right:6px;display:flex;gap:6px;align-items:center}.tabs select{border:1px solid var(--line);border-radius:8px;padding:3px 6px;background:#fff;font-size:12px;height:28px}.tab-body{flex:1;overflow-y:auto;min-height:0}.bottom.closed{height:auto}.bottom.closed .tab-body,.bottom.closed .foot{display:none}.fold{margin-left:auto;order:9;border:0;background:none;color:var(--muted);font-size:12px;padding:4px 8px;border-radius:6px}.fold:hover{background:#f2f4f6}.tabs .tools{order:8}.alerts{list-style:none;margin:0;padding:0;display:grid;gap:4px}.alerts li{display:flex;gap:10px;align-items:center;font-size:13px;padding:6px 8px;border-radius:8px;cursor:pointer;border-left:3px solid var(--line)}.alerts li:hover{background:#f5f6f8}.alerts li.bad{border-left-color:var(--bad)}.alerts li.warn{border-left-color:#e2b13c}.alerts li.info{border-left-color:var(--navy)}.alerts .mod{color:#fff;font-size:10.5px;font-weight:600;padding:2px 6px;border-radius:5px;white-space:nowrap;min-width:82px;text-align:center}.empty{color:var(--muted);font-size:13px}table.at{width:100%;border-collapse:collapse;font-size:12px}table.at th{text-align:left;font-weight:600;color:var(--muted);padding:5px 6px;position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);white-space:nowrap}table.at td{padding:5px 6px;border-bottom:1px solid #F0F2F5;vertical-align:top}table.at tr.unrev td:first-child{box-shadow:inset 3px 0 0 var(--orange)}table.at tr.click{cursor:pointer}table.at tr.click:hover td{background:#f7f8fa}table.at tr.bad td{color:var(--bad)}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px;white-space:nowrap}.foot{margin:4px 0 0;font-size:11px;color:var(--muted)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#14182859;display:grid;place-items:center;z-index:20}.modal{width:440px;max-width:calc(100vw - 32px);padding:22px;display:grid;gap:12px;position:relative}.modal.wide{width:1000px}.modal h2{margin:0;font-size:17px;font-weight:600}.modal label{display:grid;gap:4px;font-size:12.5px;color:var(--muted)}.modal input,.modal select{height:36px;border:1px solid var(--line);border-radius:9px;padding:0 10px;color:var(--ink);background:#fff}.modal .actions{justify-content:flex-end}.stamp{justify-self:start;border:2px solid var(--bad);color:var(--bad);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:6px;transform:rotate(-1.5deg)}.wm-preview{position:relative;border:1px solid var(--line);border-radius:8px;padding:22px 14px;display:grid;gap:4px;overflow:hidden;background:#fbfbf8}.wm-preview span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:26px;font-weight:700;color:#b23a3329;transform:rotate(-12deg);text-transform:uppercase;letter-spacing:.08em}.wm-preview b{font-size:14px}.wm-preview small{font-size:12px}table.cmp{width:100%;border-collapse:collapse;font-size:13px}table.cmp th,table.cmp td{text-align:left;padding:8px;border-bottom:1px solid var(--line);vertical-align:top}table.cmp thead th{color:var(--muted);font-weight:600;font-size:12px}table.cmp tbody th{font-weight:600;white-space:nowrap}table.cmp .dec{white-space:nowrap;display:flex;gap:6px}.tag{background:#fffffff2;border:1px solid var(--line);border-radius:6px;padding:2px 7px;font-size:11px;font-weight:600;color:var(--ink);white-space:nowrap;box-shadow:0 2px 6px #141e281f}.tag-mini{font-size:10px;padding:1px 5px}.tag-ok{color:var(--ok)}.tag-me{background:var(--orange);border-color:var(--orange);color:#fff}.tag-warn{color:var(--warn);border-color:#e2b13c}.tag-bad{color:var(--bad);border-color:var(--bad)}.tag-ai{background:var(--ai);border-color:var(--ai);color:#fff;font-size:10px;padding:1px 5px}.tag-dark{background:var(--ink);border-color:var(--ink);color:#fff}.tag-ext{font-size:12px;padding:3px 9px}.tag-dashed{border-style:dashed;color:var(--muted)}.tag-link{background:#fdeedff2;border-color:#f5c79e;color:#9a4f12;font-weight:500;font-size:10.5px}.st-label{display:flex;align-items:center;gap:6px;background:#fffffff5;border:1px solid var(--line);border-radius:7px;padding:2px 8px 2px 3px;font-size:11.5px;font-weight:600;white-space:nowrap;box-shadow:0 2px 6px #141e281a}.st-label b{color:#fff;font-size:10.5px;min-width:18px;height:18px;border-radius:5px;display:grid;place-items:center}.st-label i{font-style:normal;background:#eef0f3;color:var(--muted);font-size:10.5px;padding:0 5px;border-radius:8px}.st-alert{border-color:var(--bad)}.st-alert i{background:var(--bad);color:#fff}.mod-label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;transform:translate(50%);text-shadow:0 1px 0 #fff}.mod-label span{color:#fff;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:12px}.base-label{font-size:12px;font-weight:600;color:var(--navy);white-space:nowrap}body[data-zoom=far] .st-label .nm,body[data-zoom=far] .tag-mini,body[data-zoom=far] .tag-link,body[data-zoom=far] .tag-ai,body[data-zoom=far] .base-label{display:none}body[data-zoom=far] .st-label{padding-right:3px}body[data-zoom=mid] .tag-link{display:none}@media (max-width: 1280px){.search,.user div,.brand .sub{display:none}}
