:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f0f2f5;--text: #17202b;--muted: #5b6676;--border: #dde2e8;--primary: #1f5fd1;--primary-text: #ffffff;--ok: #157f3b;--ok-bg: #e5f5ea;--warn: #8a5a00;--warn-bg: #fdf3dc;--bad: #b42318;--bad-bg: #fde8e6;--info-bg: #e8f0fd;--sim: #6b21a8;--sim-bg: #f3e8ff;--radius: 10px;--shadow: 0 1px 2px rgba(16, 24, 40, .06);color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0f141a;--surface: #171e26;--surface-2: #1e2731;--text: #e7ecf2;--muted: #9aa6b4;--border: #2c3744;--primary: #5b8ff0;--primary-text: #0b1220;--ok: #5fd08a;--ok-bg: #12301f;--warn: #f0c060;--warn-bg: #33280f;--bad: #ff8a80;--bad-bg: #3a1714;--info-bg: #15243d;--sim: #d8b4fe;--sim-bg: #2c1a40;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--primary)}h1{font-size:1.5rem;margin:0 0 .75rem}h2{font-size:1.15rem;margin:1.25rem 0 .5rem}h3{font-size:1rem;margin:1rem 0 .4rem}small,.muted{color:var(--muted)}.topbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.6rem 16px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar .brand{font-weight:700}.topbar nav{display:flex;gap:.25rem;flex-wrap:wrap;flex:1}.topbar nav a{text-decoration:none;color:var(--muted);padding:.35rem .6rem;border-radius:6px}.topbar nav a.active,.topbar nav a:hover{background:var(--surface-2);color:var(--text)}main{max-width:1180px;margin:0 auto;padding:1.25rem 16px 3rem}main.narrow{max-width:460px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);margin-bottom:1rem}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.kpi .label{color:var(--muted);font-size:.85rem}.kpi .value{font-size:1.45rem;font-weight:700;margin-top:.15rem}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.stack>*+*{margin-top:.6rem}label{display:block;font-size:.88rem;color:var(--muted);margin-bottom:.2rem}input,select,textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.5rem .6rem}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:1px}input[type=checkbox]{width:auto}.field{margin-bottom:.75rem}.fields{display:grid;gap:0 .75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}button,.btn{font:inherit;cursor:pointer;border-radius:8px;padding:.6rem 1rem;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;gap:.4rem;font-weight:500;transition:background .15s,border-color .15s}button:hover:not(:disabled),.btn:hover:not(:disabled){background:var(--surface-2)}button.primary,.btn.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}button.primary:hover:not(:disabled),.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--primary)}button.danger{color:var(--bad);border-color:var(--bad)}button.danger:hover:not(:disabled){background:var(--bad-bg)}button:disabled{opacity:.55;cursor:not-allowed}button.link{border:none;background:none;color:var(--primary);padding:0;min-height:0;min-width:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .55rem;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:.82rem;color:var(--muted);font-weight:600;white-space:nowrap}td.num,th.num{text-align:right;white-space:nowrap}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--surface-2)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--text);cursor:pointer;border-radius:var(--radius);transition:background .15s,color .15s}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--primary)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.badge{display:inline-block;font-size:.78rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;background:var(--surface-2);color:var(--muted);white-space:nowrap}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.sim{background:var(--sim-bg);color:var(--sim)}.notice{border-radius:var(--radius);padding:.7rem .9rem;margin-bottom:1rem;border:1px solid var(--border)}.notice.info{background:var(--info-bg)}.notice.warn{background:var(--warn-bg);color:var(--warn);border-color:transparent}.notice.bad{background:var(--bad-bg);color:var(--bad);border-color:transparent}.notice.ok{background:var(--ok-bg);color:var(--ok);border-color:transparent}.notice.sim{background:var(--sim-bg);color:var(--sim);border-color:transparent;font-weight:600}.support-banner{background:var(--warn-bg);color:var(--warn);padding:.5rem 16px;font-weight:600;text-align:center}.empty{text-align:center;color:var(--muted);padding:2rem 1rem}.mono{font-family:ui-monospace,Consolas,monospace;font-size:.9rem;word-break:break-all}.lines td input{min-width:80px}pre.json{background:var(--surface-2);padding:.75rem;border-radius:8px;overflow:auto;font-size:.82rem;max-height:320px}@media (max-width: 640px){h1{font-size:1.25rem}.topbar{gap:.4rem}.topbar .brand{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar nav{order:3;flex:1 0 100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.topbar nav a{white-space:nowrap}.hide-sm,.lines thead{display:none}.lines table,.lines tbody{display:block}.lines tr{display:grid;grid-template-columns:1fr 1.4fr auto auto;gap:.4rem;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border)}.lines td{border:none;padding:0;min-width:0!important}.lines td:first-child{grid-column:1 / -1}.lines td input{min-width:0}th,td{padding:.45rem .35rem}}.areal.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;transition:grid-template-columns .2s ease}.areal.app-shell.collapsed{grid-template-columns:72px 1fr}.areal.app-shell .side-nav{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:.25rem;padding:.75rem;overflow-y:auto}.areal.app-shell .side-nav .nav-link{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:8px;color:var(--text);text-decoration:none;min-height:44px;font-size:.95rem;transition:background .15s,color .15s}.areal.app-shell .side-nav .nav-link.active,.areal.app-shell .side-nav .nav-link:hover{background:var(--surface-2);color:var(--primary)}.areal.app-shell .side-nav .nav-section{margin-top:.75rem;padding:.4rem .75rem .2rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.areal.app-shell main{padding:1.5rem 2rem;max-width:1440px;margin:0 auto;width:100%}.areal.app-shell .topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.areal.app-shell .topbar .breadcrumb{font-size:.95rem;color:var(--muted)}.areal.app-shell .topbar .ctx{font-weight:400;opacity:.75;margin-left:.5rem}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:40;display:flex;align-items:stretch}.drawer-backdrop .side-nav{width:min(280px,85vw);height:100%;background:var(--surface);padding:.75rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:4px 0 16px #00000026}@media (max-width: 900px){.areal.app-shell{grid-template-columns:1fr}.areal.app-shell .side-nav:not(.drawer-backdrop .side-nav){display:none}.areal.app-shell main{padding:1rem}}.metrics{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));margin-bottom:1.5rem}.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.35rem}.metric.warn{border-color:var(--warn);background:var(--warn-bg)}.metric.bad{border-color:var(--bad);background:var(--bad-bg)}.metric-top{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.metric-ico{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--surface-2);color:var(--primary)}.metric-label{flex:1}.metric-value{font-size:1.5rem;font-weight:600;color:var(--text)}.metric-link{font-size:.85rem;color:var(--primary);text-decoration:none;margin-top:.25rem}.metric-link:hover{text-decoration:underline}.stats{display:grid;gap:.75rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));padding:1rem;margin-bottom:1.5rem}.stat{display:flex;flex-direction:column;gap:.2rem}.stat-label{font-size:.85rem;color:var(--muted);display:flex;align-items:center;gap:.35rem}.stat-value{font-size:1.1rem;font-weight:600;color:var(--text)}.stat-value a{color:inherit;text-decoration:none}.stat-value a:hover{color:var(--primary);text-decoration:underline}.dash-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));margin-bottom:1.5rem}.pipeline{display:flex;flex-wrap:wrap;gap:.5rem}.pipe-item{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:999px;background:var(--surface-2);font-size:.9rem;font-weight:500}.task-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.task-list li{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.task-list a{color:inherit;text-decoration:none}.task-list a:hover{color:var(--primary);text-decoration:underline}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0;background:var(--muted)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--bad)}.dot.ok{background:var(--ok)}.empty-inline{font-size:.9rem;color:var(--muted);padding:.5rem 0}.empty-inline a{color:var(--primary);text-decoration:none}.empty-inline a:hover{text-decoration:underline}.closing{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-radius:var(--radius);background:var(--surface-2)}.closing.ok{background:var(--ok-bg)}.closing.div{background:var(--bad-bg)}.closing ul{margin:.25rem 0 0 1.25rem;padding:0}.w-date{max-width:170px;padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:.95rem}.areal.app-shell .sidebar{display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);height:100vh;position:sticky;top:0;overflow:hidden}.areal.app-shell .brand-box{display:flex;align-items:center;gap:.6rem;padding:1rem .75rem;border-bottom:1px solid var(--border)}.areal.app-shell .brand-mark{width:32px;height:32px;border-radius:8px;background:var(--primary);color:var(--primary-text);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0}.areal.app-shell .brand-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}.areal.app-shell .brand-text strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.areal.app-shell .brand-text small{font-size:.75rem;color:var(--muted)}.areal.app-shell.collapsed .brand-text{display:none}.areal.app-shell .side-nav{flex:1;overflow-y:auto;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.25rem}.areal.app-shell .nav-search{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin-bottom:.5rem}.areal.app-shell .nav-search input{border:none;background:transparent;flex:1;font-size:.9rem;color:var(--text);outline:none;min-width:0}.areal.app-shell .nav-list{display:flex;flex-direction:column;gap:.15rem}.areal.app-shell .nav-link{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-radius:8px;color:var(--text);text-decoration:none;min-height:40px;font-size:.9rem;transition:background .15s,color .15s}.areal.app-shell .nav-link.active,.areal.app-shell .nav-link:hover{background:var(--surface-2);color:var(--primary)}.areal.app-shell .nav-link .nav-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.areal.app-shell.collapsed .nav-link .nav-text{display:none}.areal.app-shell.collapsed .nav-link{justify-content:center;padding:.55rem}.areal.app-shell .nav-group{margin-top:.35rem}.areal.app-shell .nav-group-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.45rem .75rem;border:none;background:transparent;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border-radius:6px}.areal.app-shell .nav-group-btn:hover{background:var(--surface-2);color:var(--text)}.areal.app-shell .chev{display:inline-flex;transition:transform .15s}.areal.app-shell .chev.open{transform:rotate(90deg)}.areal.app-shell .nav-sep{height:1px;background:var(--border);margin:.35rem .75rem}.areal.app-shell .nav-footer{margin-top:auto;padding-top:.5rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.15rem}.areal.app-shell .nav-empty{font-size:.85rem;color:var(--muted);padding:.5rem 0}.areal.app-shell .collapse-btn{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border:none;border-top:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.85rem;cursor:pointer;width:100%}.areal.app-shell .collapse-btn:hover{background:var(--surface-2);color:var(--text)}.areal.app-shell .collapse-btn .flip{transform:rotate(180deg)}.areal.app-shell.collapsed .collapse-btn .nav-text{display:none}.areal.app-shell .app-main{display:flex;flex-direction:column;min-height:100vh;min-width:0}.areal.app-shell .app-topbar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.areal.app-shell .menu-btn{display:none}.areal.app-shell .crumbs{display:flex;align-items:center;gap:.35rem;font-size:.95rem;min-width:0}.areal.app-shell .crumb-group{color:var(--muted)}.areal.app-shell .crumb-page{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.areal.app-shell .unit-ctx{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--muted);margin-left:auto;white-space:nowrap}.areal.app-shell .unit-ctx.setup{color:var(--primary);text-decoration:none}.areal.app-shell .user-menu{position:relative;margin-left:.5rem}.areal.app-shell .user-btn{display:flex;align-items:center;gap:.5rem;border:none;background:transparent;cursor:pointer;padding:.3rem .5rem;border-radius:var(--radius)}.areal.app-shell .user-btn:hover{background:var(--surface-2)}.areal.app-shell .avatar{width:30px;height:30px;border-radius:50%;background:var(--primary);color:var(--primary-text);display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}.areal.app-shell .user-name{font-size:.9rem;color:var(--text);max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.areal.app-shell .user-pop{position:absolute;right:0;top:calc(100% + 6px);min-width:220px;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;z-index:50}.areal.app-shell .user-pop-head{padding:.35rem .5rem;border-bottom:1px solid var(--border);margin-bottom:.25rem;display:flex;flex-direction:column;gap:.1rem}.areal.app-shell .user-pop-head small{color:var(--muted);font-size:.8rem}.areal.app-shell .user-pop a,.areal.app-shell .menu-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:6px;color:var(--text);text-decoration:none;font-size:.9rem;border:none;background:transparent;cursor:pointer;width:100%;text-align:left}.areal.app-shell .user-pop a:hover,.areal.app-shell .menu-item:hover{background:var(--surface-2);color:var(--primary)}.areal.app-shell .app-content{flex:1;padding:1.5rem 2rem;max-width:1440px;margin:0 auto;width:100%}.areal.app-shell .content-pad{padding:0 2rem}.areal.app-shell .support-banner,.areal.app-shell .env-banner{font-size:.85rem;text-align:center;padding:.35rem .75rem}.areal.app-shell .support-banner{background:var(--info-bg);color:var(--primary)}.drawer-backdrop .drawer.sidebar{width:min(280px,85vw);height:100%;background:var(--surface);display:flex;flex-direction:column;box-shadow:4px 0 16px #00000026}.drawer-backdrop .drawer-head{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-bottom:1px solid var(--border)}.drawer-backdrop .icon-btn.on-dark{background:transparent;border:none;color:var(--text);cursor:pointer;padding:.35rem;border-radius:6px}.drawer-backdrop .icon-btn.on-dark:hover{background:var(--surface-2)}.no-scroll{overflow:hidden}.skip-link{position:absolute;left:-999px;top:0;padding:.5rem 1rem;background:var(--primary);color:var(--primary-text);z-index:100;border-radius:0 0 8px}.skip-link:focus{left:0}@media (max-width: 900px){.areal.app-shell .sidebar:not(.drawer){display:none}.areal.app-shell .menu-btn{display:inline-flex}.areal.app-shell .app-topbar{padding:.5rem 1rem}.areal.app-shell .app-content{padding:1rem}.areal.app-shell .content-pad{padding:0 1rem}.areal.app-shell .user-name{display:none}}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.page-head h1{font-size:1.4rem;margin:0}.section{margin-bottom:1.75rem}.section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--border);padding-bottom:.35rem}.section-head h2{font-size:1.1rem;margin:0}.infotip{position:relative;display:inline-flex;align-items:center;margin-left:.35rem}.infotip-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:.75rem;font-weight:600;cursor:help;border:none;padding:0}.infotip-btn:hover,.infotip-btn:focus{background:var(--primary);color:var(--primary-text);outline:none}.infotip-pop{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:.4rem .65rem;border-radius:6px;font-size:.8rem;line-height:1.3;white-space:normal;min-width:180px;max-width:280px;opacity:0;pointer-events:none;transition:opacity .15s;z-index:60;box-shadow:0 4px 12px #00000026}.infotip-pop.open{opacity:1;pointer-events:auto}.areal .wrap{max-width:1180px;margin:1rem auto 0;padding:0 16px}.areal .modulos{position:relative;flex:1}.areal .modulos>button{min-height:44px}.areal .modulos-panel{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:min(720px,calc(100vw - 32px));max-height:75vh;overflow:auto;display:grid;gap:.5rem 1rem;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));padding:.75rem}.areal .modulos-panel input[type=search]{grid-column:1 / -1;min-height:44px;font-size:1rem;padding:.6rem}.areal .modulos-panel h3{margin:.6rem 0 .3rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted, #666);padding-left:.25rem}.areal .modulos-panel a{display:flex;align-items:center;padding:.7rem .6rem;border-radius:8px;color:inherit;text-decoration:none;min-height:44px;font-size:.95rem;transition:background .15s}.areal .modulos-panel a.active,.areal .modulos-panel a:hover{background:var(--surface-2);color:var(--primary)}.areal .topbar .ctx{font-weight:400;opacity:.75}.grid2{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));margin-top:1rem}.env-banner{background:#fff4ce;color:#5c4400;text-align:center;padding:4px 8px;font-size:.85rem}button.big,.btn.big{min-height:56px;font-size:1.1rem;width:100%}.load-card{display:block;color:inherit;text-decoration:none;padding:14px 16px}.load-card:hover{outline:2px solid currentColor}.kpi-sm{padding:6px 10px;display:inline-flex;gap:6px;align-items:center}.timeline{list-style:none;padding:0}.timeline li{padding:4px 0;border-bottom:1px solid rgba(127,127,127,.2)}@media (prefers-color-scheme: dark){.env-banner{background:#4a3b00;color:#ffe9a3}}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.dialog{width:min(480px,100%);margin:0;max-height:90vh;overflow-y:auto}.dialog.wide{width:min(720px,100%)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--border)}.dialog-head h2{margin:0;font-size:1.15rem}
