:root{--navy: #0b1b28;--navy-2: #102536;--teal: #00796b;--teal-soft: #26a69a;--bg: #f4f6f8;--card: #ffffff;--text: #1a2332;--muted: #6b7a8a;--line: #e6ebf0;--radius: 8px;font-family:Inter,Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--bg)}html.dark{--bg: #0b1220;--card: #152033;--text: #e5eef7;--muted: #94a3b8;--line: #243044}*{box-sizing:border-box}html,body,#root{height:100%;width:100%;max-width:100%;overflow:hidden}body{margin:0}button,input,select{font:inherit}button:not(:disabled),a[href],.link-btn,.icon-btn,.nav-item,.who,summary,[role=button]:not([aria-disabled=true]){cursor:pointer}button:disabled,[aria-disabled=true]{cursor:default}a{color:#0284c7}a:hover{color:var(--teal)}.pick,select,.tp-btn,input[type=date]{cursor:pointer}.pick:hover,select:hover:not(:disabled),.tp-btn:hover,input[type=date]:hover{background:color-mix(in srgb,var(--card) 88%,#fff);border-color:var(--line);color:inherit;filter:brightness(1.06)}html.dark .pick:hover,html.dark select:hover:not(:disabled),html.dark .tp-btn:hover,html.dark input[type=date]:hover{background:color-mix(in srgb,var(--card) 78%,#fff);border-color:var(--line);color:inherit;filter:brightness(1.12)}.shell{display:flex;height:100%;width:100%;max-width:100%;overflow:hidden}.sidebar{flex:0 0 240px;width:240px;min-width:240px;max-width:240px;overflow:hidden;background:var(--navy);color:#c5d4de;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:.6rem;padding:1.2rem 1.1rem 1.1rem;font-weight:700;color:#5eead4;min-width:0}.brand>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--teal-soft);color:#042f2e;display:grid;place-items:center;font-size:.85rem;flex-shrink:0}.nav{flex:1;min-width:0;padding:0 .75rem;overflow-x:hidden;overflow-y:auto}.nav-label{margin:1.1rem .55rem .35rem;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#7c93a8}.nav-item{width:100%;min-width:0;display:flex;align-items:center;gap:.65rem;border:0;background:transparent;color:inherit;text-align:left;padding:.55rem .7rem;border-radius:8px;cursor:pointer;overflow:hidden;white-space:nowrap}.nav-item.active,.nav-item:hover{background:#00695c;color:#fff}.nav-ico{width:1.15rem;flex-shrink:0;display:grid;place-items:center}.nav-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.nav-foot{padding:.7rem;border-top:1px solid #1e3a4c;display:flex;align-items:center;gap:.35rem;min-width:0;overflow:hidden}.nav-foot .icon-only{width:36px;justify-content:center;padding:.45rem}.main{flex:1 1 0%;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{background:var(--card);border-bottom:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;gap:.75rem;padding:.7rem 1.4rem}.icon-btn{position:relative;border:1px solid var(--line);background:var(--card);border-radius:8px;width:36px;height:36px;cursor:pointer;color:var(--text);display:grid;place-items:center;transition:background .15s ease,border-color .15s ease,color .15s ease}.icon-btn:hover:not(:disabled):not(.active){background:#ecfdf5;border-color:#99f6e4;color:var(--teal)}.icon-btn.action-ico.danger:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:#991b1b}.who:hover{background:#ecfdf5;border-radius:8px}.badge{position:absolute;top:-6px;right:-6px;background:#ef4444;color:#fff;border-radius:99px;font-size:.65rem;padding:1px 5px}.who{display:flex;align-items:center;gap:.55rem;border:0;background:transparent;cursor:pointer;text-align:left;padding:.2rem .4rem}.who span{display:block;color:var(--muted);font-size:.75rem}.avatar{width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:700}.content{padding:1.4rem 1.6rem 2rem;position:relative}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem}.page-head h1{margin:0;font-size:1.7rem}.page-head p{margin:.25rem 0 0;color:var(--muted)}.btn{border:1px solid transparent;border-radius:8px;padding:.45rem .85rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn.primary{background:var(--teal);color:#fff;text-decoration:none}.btn.primary:hover:not(:disabled){background:#00695c}.btn.ghost{background:#fff;border-color:var(--line);color:var(--text)}.btn.ghost:hover:not(:disabled){background:#ecfdf5;border-color:#99f6e4;color:var(--teal)}.btn:disabled{opacity:.5;cursor:default}.run-btn{display:inline-flex;align-items:center;gap:0;cursor:pointer}.run-btn:disabled,.btn:disabled.run-btn{cursor:default}.link-btn{border:0;background:none;color:var(--teal);cursor:pointer;font-weight:600}.link-btn:hover{color:#00695c;text-decoration:underline}html.dark .icon-btn:hover:not(:disabled):not(.active),html.dark .btn.ghost:hover:not(:disabled),html.dark .who:hover{background:#134e4a;border-color:#134e4a;color:#ccfbf1}html.dark .icon-btn.action-ico.danger:hover:not(:disabled){background:#3f1d1d;border-color:#7f1d1d;color:#fca5a5}.boot{padding:3rem;text-align:center;color:var(--muted)}.banner{background:#fef2f2;color:#991b1b;padding:.7rem .9rem;border-radius:8px;margin-bottom:.9rem}.row-end{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.wide{width:100%;margin-top:.6rem}.remember{display:flex;align-items:center;gap:.45rem;font-weight:600;font-size:.9rem}.remember input{accent-color:var(--teal)}@media(max-width:800px){.page-head{flex-direction:column;align-items:stretch}}.nav-toggle{border:1px solid var(--line);background:var(--card);border-radius:8px;width:36px;height:36px;cursor:pointer;color:var(--text);display:grid;place-items:center;flex-shrink:0}.nav-toggle:hover{background:#f1f5f9}.topbar{justify-content:space-between}.topbar-end{display:flex;align-items:center;gap:.75rem}.nav-scrim{display:none}.sidebar{transition:flex-basis .2s ease,width .2s ease,min-width .2s ease,max-width .2s ease}.sidebar .tip{display:block;width:100%}.sidebar.collapsed{flex-basis:72px;width:72px;min-width:72px;max-width:72px}.sidebar.collapsed .brand{justify-content:center;padding-left:.7rem;padding-right:.7rem}.sidebar.collapsed .brand>span:last-child,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-text{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:.55rem .4rem}.sidebar.collapsed .nav-foot{justify-content:center}@media(max-width:800px){.sidebar{display:none;position:fixed;inset:0 auto 0 0;z-index:40;height:100%;box-shadow:8px 0 28px #0f172a47}.sidebar.open{display:flex;flex-basis:240px;width:240px;min-width:240px;max-width:240px}.sidebar.open.collapsed{width:240px;min-width:240px;max-width:240px}.nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;border:0;background:#0f172a73}}html.dark .nav-toggle:hover{background:#134e4a;border-color:#134e4a;color:#ccfbf1}button:disabled,button:disabled:hover,button:disabled:active,button:disabled:focus,.btn:disabled,.btn:disabled:hover,.run-btn:disabled,.run-btn:disabled:hover,.icon-btn:disabled,.icon-btn:disabled:hover,.link-btn:disabled,.link-btn:disabled:hover,[disabled],[disabled]:hover,[aria-disabled=true],[aria-disabled=true]:hover{cursor:default}.login-wrap{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;padding:1.5rem;background:radial-gradient(ellipse at 50% 45%,#0f4f4a,#0a2e34 42%,#061820)}.login-wave{position:absolute;width:42%;height:120%;pointer-events:none;opacity:.35;background:repeating-linear-gradient(100deg,transparent 0 18px,rgb(94 234 212 / .12) 18px 19px);filter:blur(.4px)}.login-wave-l{left:-8%;top:-10%;transform:rotate(-12deg)}.login-wave-r{right:-8%;top:-10%;transform:rotate(12deg)}.login-card{position:relative;width:min(420px,100%);background:#fff;border-radius:20px;padding:1.85rem 1.7rem 1.3rem;box-shadow:0 22px 60px #00000047}.login-brand{display:flex;align-items:center;gap:.55rem;font-weight:700;color:#1a2332;padding:0 0 .55rem}.login-shield{width:34px;height:34px;border-radius:10px;background:#0d7377;color:#fff;display:grid;place-items:center;clip-path:polygon(50% 0%,95% 25%,95% 75%,50% 100%,5% 75%,5% 25%);font-size:.85rem;font-weight:700}.login-card h1{margin:.15rem 0 .4rem;font-size:1.35rem;line-height:1.35;color:#1a2332}.login-card label{display:block;margin:.75rem 0 .35rem;font-size:.85rem;font-weight:700}.field-box{display:flex;align-items:center;gap:.45rem;background:#f3f5f7;border:1px solid #e4e9ee;border-radius:10px;padding:0 .7rem}.field-box input{flex:1;border:0;background:transparent;padding:.7rem 0;outline:none;color:#1a2332}.field-ico,.eye-btn{color:#7b8a97;display:grid;place-items:center}.eye-btn{border:0;background:none;cursor:pointer;padding:.35rem}.login-row{display:flex;justify-content:space-between;align-items:center;margin:.85rem 0 .2rem}.login-forgot{border:0;background:none;color:var(--teal);cursor:pointer;font-weight:700}.login-go{display:flex;justify-content:center;align-items:center;gap:.45rem;padding:.75rem 1rem;border-radius:10px;margin-top:.85rem}.login-go .leaf-spinner{--leaf: #fff;--leaf-soft: #99f6e4}.login-alts{display:flex;flex-direction:column;gap:.55rem;margin-top:1rem}.login-or{display:flex;align-items:center;gap:.7rem;margin:.15rem 0 .1rem;color:#94a3b8;font-size:.75rem;font-weight:600}.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:#e2e8f0}.login-or span{white-space:nowrap}.login-sso{display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:42px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#1a2332;font-weight:650;text-decoration:none;cursor:pointer}.login-sso:hover{border-color:#cbd5e1;background:#f8fafc}.login-sso-ico{width:22px;height:22px;border-radius:6px;display:grid;place-items:center}.login-sso.ldap .login-sso-ico{background:#e0f2fe;color:#0369a1}.login-sso.google .google-g{background:#fff;color:#ea4335;font-weight:800;font-size:.95rem;border:1px solid #e5e7eb}.login-foot{display:flex;justify-content:center;align-items:center;gap:.4rem;margin:1.2rem 0 0;color:#9aa8b4;font-size:.78rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;margin-bottom:1rem}.stat{background:var(--card);border-radius:var(--radius);padding:1rem 1.05rem;display:flex;justify-content:space-between;box-shadow:0 1px 2px #0f172a0a}.stat h3{margin:0;font-size:.8rem;color:var(--muted);font-weight:600}.stat strong{display:block;font-size:1.55rem;margin:.2rem 0}.stat span{color:var(--muted);font-size:.78rem}.stat.mint{border-left:3px solid #0d7377}.stat.sky{border-left:3px solid #2563eb}.stat.peach{border-left:3px solid #ea580c}.stat.lilac{border-left:3px solid #7c3aed}.card{background:var(--card);border-radius:var(--radius);padding:1rem 1.1rem .6rem;margin-bottom:1rem;box-shadow:0 1px 2px #0f172a0a}.card-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.7rem}.card-head h2{margin:0;font-size:1.05rem}.tools{display:flex;gap:.5rem}.tools input{border:1px solid var(--line);border-radius:8px;padding:.4rem .7rem;min-width:16rem;background:var(--card);color:var(--text)}.table-wrap{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.85rem .55rem;border-bottom:1px solid var(--line);vertical-align:middle;font-size:.9rem}th{color:var(--muted);font-weight:600;font-size:.78rem}.app-cell{display:flex;gap:.7rem;align-items:flex-start}.app-name{display:flex;align-items:center;gap:.35rem;min-width:0}.app-name strong{min-width:0}.app-ico{width:36px;height:36px;border-radius:10px;background:#ecfdf5;color:#047857;display:grid;place-items:center;font-weight:700;flex-shrink:0}.path{color:var(--muted);font-size:.78rem}.url-row{display:flex;gap:.3rem;align-items:center}.url-row input{border:1px solid var(--line);border-radius:8px;padding:.35rem .5rem;min-width:16rem;background:var(--card);color:var(--text)}.chip{display:inline-block;background:#f1f5f9;color:#334155;border-radius:999px;padding:.12rem .5rem;font-size:.75rem;margin-right:.3rem}.chip.ok{background:#dcfce7;color:#166534}.ready{color:#15803d;font-weight:600}.ready i{display:inline-block;width:8px;height:8px;background:#22c55e;border-radius:50%;margin-right:.35rem}.actions{white-space:nowrap;display:flex;gap:.35rem;align-items:center}.kebab{position:relative}.menu-pop{position:absolute;right:0;top:40px;z-index:5;min-width:13.5rem;padding:.35rem;white-space:nowrap}.menu-pop .btn.wide,.menu-pop a.wide{width:100%;margin-top:0;justify-content:flex-start;white-space:nowrap}.action-btns{display:inline-flex;align-items:center;gap:.2rem}.icon-btn.action-ico.danger{color:#b91c1c}.muted{color:var(--muted)}.empty{text-align:center;padding:2.2rem 1rem 2rem;color:var(--muted)}.empty-ico{margin-bottom:.4rem;color:var(--muted);display:grid;place-items:center}.run-list{list-style:none;padding:0 0 .8rem;margin:0}.run-list li{display:flex;flex-wrap:wrap;gap:.45rem 1rem;align-items:center;padding:.65rem .2rem;border-bottom:1px solid var(--line)}.run-bar{flex:1 1 8rem;height:6px;background:#e2e8f0;border-radius:99px;overflow:hidden}.run-bar>i{display:block;height:100%;background:#0d7377}.run-detail{flex:1 1 100%;font-size:.78rem;color:#b45309}.run-jobs{flex:1 1 100%;font-size:.75rem;color:var(--muted)}.st{font-weight:600}.st.success,.st.ok{color:#15803d}.st.failed,.st.canceled{color:#b91c1c}.st.pending,.st.running,.st.created,.st.waiting,.st.preparing,.st.manual{color:#b45309}.guide img{max-width:100%;border:1px solid var(--line);border-radius:10px;margin-top:.6rem}@media(max-width:1100px){.stats{grid-template-columns:1fr 1fr}}@media(max-width:800px){.stats{grid-template-columns:1fr}.card-head{flex-direction:column;align-items:stretch}}.dash-hi{margin:.35rem 0 0;font-weight:600;color:var(--text)}.range-btn{white-space:nowrap}.dash-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.kpi{background:var(--card);border-radius:12px;padding:1.05rem 1.1rem .95rem;display:flex;justify-content:space-between;gap:.6rem;box-shadow:0 1px 3px #0f172a0f}.kpi h3{margin:0;font-size:.82rem;color:var(--muted);font-weight:600}.kpi strong{display:block;font-size:1.7rem;margin:.25rem 0 .15rem}.kpi-up,.kpi-down{margin:0;color:#16a34a;font-size:.78rem;font-weight:600}.kpi-side{display:flex;flex-direction:column;align-items:flex-end;gap:.55rem}.kpi-ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center}.kpi-ico.mint{background:#d1fae5;color:#059669}.kpi-ico.sky{background:#dbeafe;color:#2563eb}.kpi-ico.peach{background:#ffedd5;color:#ea580c}.kpi-ico.lilac{background:#ede9fe;color:#7c3aed}.kpi-last{position:relative;overflow:hidden}.kpi-last:after{content:"";position:absolute;left:1.1rem;right:1.1rem;bottom:0;height:3px;background:#8b5cf6;border-radius:99px}.spark{width:72px;height:28px}.dash-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.dash-card{padding:1.1rem 1.15rem .85rem;border-radius:12px}.donut-row{display:flex;align-items:center;gap:1.2rem;min-height:200px}.donut-wrap{position:relative;width:180px;height:180px;flex-shrink:0}.donut{width:100%;height:100%}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center}.donut-center strong{font-size:1.6rem}.donut-center span{color:var(--muted);font-size:.78rem}.sev-legend{list-style:none;margin:0;padding:0;flex:1}.sev-legend li{display:grid;grid-template-columns:10px 1fr auto 4.2rem;gap:.55rem;align-items:center;padding:.35rem 0;font-size:.88rem}.sev-legend i{width:8px;height:8px;border-radius:50%}.sev-legend em{color:var(--muted);font-style:normal;text-align:right}.trend{width:100%;height:200px}.card-more{display:block;width:100%;margin-top:.7rem;padding:.65rem 0 .15rem;border:0;border-top:1px solid var(--line);background:none;color:#2563eb;font-weight:600;text-align:left;cursor:pointer}.dash-list{list-style:none;margin:0;padding:0}.dash-list li{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.dash-list li:last-child{border-bottom:0}.dash-list li>div{flex:1;min-width:0}.dash-list strong,.dash-list .muted{display:block}.list-ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.list-ico.mint{background:#d1fae5;color:#059669}.list-ico.sky{background:#dbeafe;color:#2563eb}.find-badge{background:#ffedd5;color:#c2410c;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700;text-decoration:none}.find-badge.hot{background:#fee2e2;color:#b91c1c}.st-pill{border-radius:999px;padding:.18rem .55rem;font-size:.75rem;font-weight:700}.st-pill.ok{background:#dcfce7;color:#166534}.st-pill.bad{background:#fee2e2;color:#b91c1c}.st-pill.wait{background:#fef3c7;color:#92400e}@media(max-width:1100px){.dash-kpis,.dash-pair{grid-template-columns:1fr 1fr}}@media(max-width:800px){.dash-kpis,.dash-pair{grid-template-columns:1fr}.donut-row{flex-direction:column}}.runs-tools{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1rem}.runs-tools label{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--muted);font-weight:600;white-space:nowrap;flex-shrink:0}.runs-tools select{min-width:12.5rem}.runs-tools input,.runs-tools select{border:1px solid var(--line);border-radius:8px;padding:.42rem .65rem;background:var(--card);color:var(--text)}.runs-search{flex:1;min-width:16rem;display:flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:8px;padding:0 .65rem;background:var(--card)}.runs-search input{border:0;flex:1;padding:.45rem 0;outline:none}.runs-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-bottom:1rem}.rk{background:var(--card);border-radius:12px;padding:.95rem 1rem;display:flex;justify-content:space-between;align-items:flex-start;box-shadow:0 1px 3px #0f172a0d}.rk h3{margin:0;font-size:.78rem;color:var(--muted)}.rk strong{display:block;font-size:1.45rem;margin:.2rem 0 .1rem}.rk em{font-style:normal;color:var(--muted);font-size:.75rem}.rk-ico{width:32px;height:32px;border-radius:10px;display:grid;place-items:center}.rk-ico.blue{background:#dbeafe;color:#2563eb}.rk-ico.green{background:#dcfce7;color:#15803d}.rk-ico.sky{background:#e0f2fe;color:#0284c7}.rk-ico.red{background:#fee2e2;color:#b91c1c}.rk-ico.gray{background:#f1f5f9;color:#64748b}.pill{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.18rem .55rem;font-size:.78rem;font-weight:700;white-space:nowrap}.pill.success{background:#dcfce7;color:#166534}.pill.running{background:#dbeafe;color:#1d4ed8}.pill.pending,.pill.treo{background:#fef3c7;color:#b45309}.pill.failed{background:#fee2e2;color:#b91c1c}.pill.canceled{background:#f1f5f9;color:#475569}.spin{animation:leaf-spin .9s linear infinite}.run-pipe a{font-weight:700}.run-sub{color:var(--muted);font-size:.75rem;margin-top:.15rem}.proj{display:flex;gap:.5rem;align-items:flex-start}.proj-ico{width:28px;height:28px;border-radius:8px;background:#fff1f2;color:#e11d48;display:grid;place-items:center;flex-shrink:0;font-size:.62rem;font-weight:700;letter-spacing:-.02em}.bar-wrap{display:flex;align-items:center;gap:.5rem;min-width:8rem}.bar{flex:1;height:8px;background:#e2e8f0;border-radius:99px;overflow:hidden}.bar>i{display:block;height:100%;border-radius:99px}.bar.done>i{background:#16a34a}.bar.warn>i{background:#d97706}.bar.fail>i{background:#dc2626}.bar.idle>i{background:#94a3b8}.bar.live{background:repeating-linear-gradient(-45deg,#93c5fd,#93c5fd 8px,#dbeafe 8px,#dbeafe 16px);background-size:22px 22px;animation:barber .8s linear infinite}.bar.live>i{background:#2563eb}@keyframes barber{to{background-position:22px 0}}.bar-pct{font-size:.78rem;font-weight:700;color:var(--muted);min-width:2.4rem}.bar-now{margin-top:.35rem;font-size:.75rem;color:var(--muted);min-height:1.1em}.dots{display:inline-block;width:1.25em;text-align:left;vertical-align:baseline}.dots:after{content:"";animation:dots 1.2s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.run-extra td{padding-top:0;border-bottom:1px solid var(--line)}.stages{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.stages b{font-size:.75rem;color:var(--muted);font-weight:600}.stage{background:#f1f5f9;color:#334155;border-radius:999px;padding:.1rem .45rem;font-size:.72rem}.stage.failed{background:#fee2e2;color:#b91c1c}.stage.success{background:#dcfce7;color:#166534}.run-warn{display:flex;align-items:center;gap:.35rem;color:#b45309;font-size:.78rem}.runs-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .2rem .9rem;color:var(--muted);font-size:.82rem}.pager{display:flex;align-items:center;gap:.35rem}.pager button.active{background:var(--teal);color:#fff;border-color:var(--teal)}@media(max-width:1100px){.runs-kpis{grid-template-columns:1fr 1fr}}@media(max-width:800px){.runs-kpis{grid-template-columns:1fr}}.rpt-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.rpt-actions .btn{display:inline-flex;align-items:center;gap:.4rem}.rpt-grain{border:1px solid var(--line);border-radius:8px;padding:.3rem .55rem;background:var(--card);color:var(--text)}.kpi-flat{margin:0;color:var(--muted);font-size:.78rem;font-weight:600}.rpt-bad{color:#dc2626!important}.rpt-good{color:#16a34a;font-weight:600}.rpt-table{width:100%}.rpt-table th,.rpt-table td{padding:.65rem .35rem}.rpt-count{display:flex;align-items:center;gap:.55rem}.rpt-bar{display:block;width:72px;height:6px;background:#eef2f6;border-radius:99px;overflow:hidden}.rpt-bar>i{display:block;height:100%;background:var(--teal);border-radius:99px}.rpt-finds{color:var(--muted);font-size:.82rem;font-weight:600;white-space:nowrap}.rpt-sev{display:grid;grid-template-columns:minmax(12rem,16rem) 1fr;gap:1.2rem;align-items:center}.sev-gauge{position:relative}.sev-gauge-n{position:absolute;left:50%;bottom:.4rem;transform:translate(-50%);text-align:center}.sev-gauge-n strong{display:block;font-size:1.6rem;line-height:1.1}.sev-gauge-n span{color:var(--muted);font-size:.78rem}.rpt-bottom{display:grid;grid-template-columns:minmax(0,1fr) 16rem;gap:1rem;align-items:start}.rpt-quick h2{margin:0 0 .7rem;font-size:1.05rem}.rpt-mini{border-radius:10px;padding:.85rem .95rem;margin-bottom:.7rem}.rpt-mini h3{margin:0;font-size:.82rem;font-weight:600}.rpt-mini strong{display:block;font-size:1.45rem;margin:.2rem 0}.rpt-mini p{margin:0;font-size:.78rem;opacity:.85}.rpt-mini.sky{background:#eff6ff;color:#1d4ed8}.rpt-mini.mint{background:#ecfdf5;color:#047857}.rpt-mini.gold{background:#fffbeb;color:#b45309}.rpt-mini.lilac{background:#f5f3ff;color:#6d28d9}.rpt-app{display:inline-flex;align-items:center;gap:.45rem}@media(max-width:980px){.rpt-sev,.rpt-bottom{grid-template-columns:1fr}}.list-ico.peach{background:#ffedd5;color:#ea580c}.list-ico.lilac{background:#ede9fe;color:#7c3aed}html.dark .rpt-bar{background:#243044}.find-table th,.find-table td{white-space:nowrap}.find-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.35rem;vertical-align:middle}.find-app{display:inline-flex;align-items:center;gap:.55rem;font-weight:600}.find-dojo{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none}.find-foot{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.85rem -1.1rem -.6rem;padding:.65rem 1.1rem;background:#f8fafc;border-radius:0 0 var(--radius) var(--radius);color:var(--muted);font-size:.8rem}.find-foot p{margin:0}.find-foot .icon-btn{width:auto;height:auto;padding:.25rem .45rem;gap:.4rem;display:inline-flex;font-size:.78rem;color:var(--muted)}html.dark .find-foot{background:#101a2b}.pf-search{margin:.15rem 0 .85rem}.pf-sort{border:0;background:none;color:inherit;font:inherit;font-weight:600;display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;padding:0}.pf-sort span{font-size:.65rem;color:#94a3b8}.pf-sort.on span{color:var(--teal)}.pf-chips{display:flex;flex-wrap:wrap;gap:.3rem}.pf-chips .pf-tag{border:0;cursor:pointer;font:inherit}.pf-tool{margin:0;display:grid;gap:.35rem}.pf-tool dt{font-weight:700;font-size:.78rem;color:var(--muted)}.pf-tool dd{margin:0 0 .55rem}.pf-tag{display:inline-flex;align-items:center;border-radius:999px;padding:.12rem .5rem;font-size:.75rem;font-weight:700;white-space:nowrap}.pf-tag.blue{background:#dbeafe;color:#1d4ed8}.pf-tag.green{background:#dcfce7;color:#15803d}.pf-tag.purple{background:#ede9fe;color:#6d28d9}.pf-tag.orange{background:#ffedd5;color:#c2410c}.pf-tag.teal{background:#ccfbf1;color:#0f766e}.pf-tag.gray{background:#f1f5f9;color:#475569}.pf-switch{position:relative;display:inline-block;width:40px;height:22px}.pf-switch input{opacity:0;width:0;height:0}.pf-switch i{position:absolute;top:0;right:0;bottom:0;left:0;background:#cbd5e1;border-radius:99px;transition:background .15s}.pf-switch i:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .15s}.pf-switch input:checked+i{background:var(--teal)}.pf-switch input:checked+i:after{transform:translate(18px)}.pf-switch input:disabled+i{opacity:.5}.pf-page-size{display:inline-flex;align-items:center;gap:.4rem}.pf-page-size select{border:1px solid var(--line);border-radius:8px;padding:.25rem .45rem;background:var(--card);color:var(--text)}.pf-tools{display:flex;flex-wrap:wrap;gap:.65rem 1rem}.pf-tools label{display:inline-flex;align-items:center;gap:.35rem}html.dark .pf-tag.gray{background:#243044;color:#cbd5e1}html.dark .pf-switch i{background:#475569}.ig-head{display:flex;align-items:flex-start;gap:.85rem}.ig-hero{width:48px;height:48px;border-radius:14px;background:#ccfbf1;color:var(--teal);display:grid;place-items:center;flex-shrink:0}.ig-card{padding:.35rem .4rem}.ig-list{list-style:none;margin:0;padding:0}.ig-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:1rem;align-items:center;padding:1.05rem 1rem;border-bottom:1px solid var(--line)}.ig-row:last-child{border-bottom:0}.ig-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:800;flex-shrink:0}.ig-mark.orange{background:#ffedd5;color:#c2410c}.ig-mark.green{background:#dcfce7;color:#15803d}.ig-mark.blue{background:#dbeafe;color:#1d4ed8}.ig-mark.red{background:#fee2e2;color:#b91c1c}.ig-mark.gray{background:#f1f5f9;color:#475569}.ig-title{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.ig-main p{margin:.2rem 0 0}.ig-badge{border-radius:999px;padding:.12rem .5rem;font-size:.72rem;font-weight:700}.ig-badge.ok{background:#dcfce7;color:#166534}.ig-badge.wait{background:#ffedd5;color:#c2410c}.ig-side{min-width:9rem}.ig-side .muted{display:block;font-size:.75rem;margin-bottom:.15rem}.ig-live{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;font-size:.88rem}.ig-live i{width:8px;height:8px;border-radius:50%;background:#94a3b8}.ig-live i.on{background:#16a34a}.ig-actions{display:flex;align-items:center;gap:.4rem}.ig-actions .btn{display:inline-flex;align-items:center;gap:.35rem}.ig-help{margin-top:1rem;background:#ecfdf5;border-radius:16px;padding:1.2rem 1.3rem;display:grid;grid-template-columns:auto 1fr 7rem;gap:1rem;align-items:center;position:relative;overflow:hidden}.ig-help h2{margin:0 0 .35rem;font-size:1.05rem}.ig-help p{margin:0 0 .55rem;color:var(--muted)}.ig-help .link-btn{display:inline-flex;align-items:center;gap:.3rem}.ig-help-ico{width:40px;height:40px;border-radius:12px;background:#fff;color:var(--teal);display:grid;place-items:center}.ig-puzzle{position:relative;height:72px}.ig-puzzle i{position:absolute;width:28px;height:28px;border-radius:8px;background:#34d399;opacity:.55}.ig-puzzle i:nth-child(1){right:8px;top:6px}.ig-puzzle i:nth-child(2){right:28px;top:28px;background:#059669}.ig-puzzle i:nth-child(3){right:4px;top:42px;width:22px;height:22px}.ig-secrets{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0}.ig-secrets code{background:#f1f5f9;border-radius:8px;padding:.2rem .45rem;font-size:.78rem}.ig-pick{list-style:none;margin:0;padding:0}.ig-pick-btn{width:100%;display:flex;align-items:center;gap:.75rem;border:0;background:none;text-align:left;padding:.7rem .15rem;cursor:pointer;color:inherit}.ig-pick-btn em{display:block;font-style:normal;color:var(--muted);font-size:.78rem}.ig-auth{border:0;margin:.7rem 0 0;padding:0}.ig-auth .btn{margin-top:.4rem}.ig-json{width:100%;min-height:16rem;font-family:ui-monospace,Consolas,monospace;font-size:.75rem;line-height:1.45;resize:vertical}html.dark .ig-help{background:#11332c}html.dark .ig-hero{background:#134e4a}html.dark .ig-secrets code{background:#243044}@media(max-width:900px){.ig-row{grid-template-columns:auto 1fr}.ig-side,.ig-actions{grid-column:2}.ig-help{grid-template-columns:auto 1fr}.ig-puzzle{display:none}}.usr-card{padding:1.1rem 1.15rem 1.15rem}.usr-card-head{display:flex;align-items:center;gap:.55rem}.usr-card-head h2{margin:0;font-size:1.05rem}.usr-ico{width:32px;height:32px;border-radius:10px;background:#ccfbf1;color:var(--teal);display:grid;place-items:center}.usr-form{display:grid;grid-template-columns:1fr 1fr 12rem auto;gap:.75rem .85rem;align-items:start;margin-top:.9rem}.usr-form label{display:flex;flex-direction:column;gap:.35rem;min-width:0;font-size:.82rem;font-weight:600;color:var(--muted)}.usr-form .field-box{margin-top:0;min-height:42px}.usr-form select{width:100%;margin-top:0;height:42px;border:1px solid var(--line);border-radius:8px;padding:.5rem .65rem;background:var(--card);color:var(--text)}.usr-create{height:42px;margin-top:1.55rem;white-space:nowrap}.usr-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;flex-wrap:wrap}.usr-tools{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.usr-tools .runs-search{min-width:16rem}.usr-filters{display:flex;gap:.4rem}.usr-filters select{border:1px solid var(--line);border-radius:8px;padding:.35rem .5rem;background:var(--card);color:var(--text)}.usr-mail{display:flex;align-items:center;gap:.55rem}.usr-av{width:32px;height:32px;border-radius:50%;background:#2563eb;color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:700;flex-shrink:0}.usr-role{border-radius:999px;padding:.14rem .55rem;font-size:.75rem;font-weight:700}.usr-role.green{background:#dcfce7;color:#166534}.usr-role.teal{background:#ccfbf1;color:#0f766e}.usr-role.blue{background:#dbeafe;color:#1d4ed8}.usr-role.gray{background:#f1f5f9;color:#475569}.usr-st{display:inline-flex;align-items:center;gap:.35rem;font-weight:600}.usr-st i{width:8px;height:8px;border-radius:50%;background:#94a3b8}.usr-st.on{color:#15803d}.usr-st.on i{background:#16a34a}.usr-edit{display:inline-flex;align-items:center;gap:.25rem}html.dark .usr-ico{background:#134e4a}html.dark .usr .field-box{background:#243044;border-color:#334155}html.dark .usr .field-box input{color:var(--text)}html.dark .usr-role.gray{background:#243044;color:#cbd5e1}@media(max-width:900px){.usr-form{grid-template-columns:1fr}}.apps-tools{align-items:center}.apps-view{display:inline-flex;gap:.25rem}.apps-view .icon-btn.on{background:#ecfdf5;border-color:#99f6e4;color:var(--teal)}.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:.85rem;padding:.2rem 0 .8rem}.apps-tile{border:1px solid var(--line);border-radius:12px;padding:.95rem 1rem;display:grid;gap:.7rem}.apps-tile .url-row input{min-width:0;width:100%}.apps-tile .btn{margin-right:.35rem}html.dark .apps-view .icon-btn.on{background:#11332c;border-color:#134e4a}.dojo-links{display:flex;flex-wrap:wrap;gap:.25rem .75rem;margin-top:.25rem;font-size:.8rem}.dojo-guide{margin:0;padding-left:1.15rem;display:grid;gap:.55rem;overflow-wrap:anywhere}.dojo-guide code{font-size:.85em;white-space:normal;word-break:break-word}.repo-hint{margin:0 0 .45rem;font-size:.8rem}.repo-fields{display:grid;gap:.4rem}.repo-row{display:flex;gap:.35rem;align-items:center}.modal .repo-row select{width:7rem;max-width:7rem;flex-shrink:0}.modal .repo-row input{width:auto;flex:1;min-width:0}.nt-split{display:grid;grid-template-columns:minmax(20rem,22rem) 1fr;gap:1rem;align-items:start}.nt-col{padding:1rem 1.05rem .85rem}.nt-col-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.75rem}.nt-col-head h2{margin:0;font-size:1.05rem}.nt-list{list-style:none;margin:0;padding:0}.nt-item{display:flex;align-items:center;gap:.25rem;border-radius:12px;padding:.2rem .15rem}.nt-item.on{background:#ecfdf5}.nt-pick{flex:1;min-width:0;display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;border:0;background:none;text-align:left;padding:.65rem .5rem;cursor:pointer;color:inherit}.nt-pick strong{display:block;font-size:.9rem}.nt-pick em{display:block;font-style:normal;color:var(--muted);font-size:.75rem;margin-top:.12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nt-logo{width:36px;height:36px;display:grid;place-items:center;flex-shrink:0}.nt-logo svg{display:block}.nt-help{margin:-.35rem 0 .55rem;font-size:.78rem}.nt-mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:800;flex-shrink:0}.nt-mark.blue{background:#dbeafe;color:#1d4ed8}.nt-mark.sky{background:#e0f2fe;color:#0369a1}.nt-mark.green{background:#dcfce7;color:#15803d}.nt-mark.purple{background:#ede9fe;color:#6d28d9}.nt-mark.indigo{background:#e0e7ff;color:#3730a3}.nt-mark.orange{background:#ffedd5;color:#c2410c}.nt-mark.teal{background:#ccfbf1;color:#0f766e}.nt-mark.lilac{background:#f3e8ff;color:#7c3aed}.nt-pill{border-radius:999px;padding:.12rem .5rem;font-size:.7rem;font-weight:700;white-space:nowrap}.nt-pill.active{background:#dcfce7;color:#166534}.nt-pill.warning{background:#fef3c7;color:#b45309}.nt-pill.inactive{background:#f1f5f9;color:#475569}.nt-pill.skipped{background:#fef3c7;color:#b45309}.nt-hint{margin:.75rem 0 0;background:#ecfdf5;border-radius:12px;padding:.75rem .85rem;color:#166534;font-size:.82rem;display:flex;gap:.5rem;align-items:flex-start}.nt-pad{padding:.5rem .35rem}.nt-detail{padding:0 0 .85rem}.nt-tabs{display:flex;gap:.15rem;border-bottom:1px solid var(--line);padding:.15rem 1.05rem 0}.nt-tabs button{border:0;background:none;color:var(--muted);font:inherit;font-weight:600;padding:.75rem .85rem;cursor:pointer;border-bottom:2px solid transparent}.nt-tabs button:hover{color:var(--teal)}.nt-tabs button.on{color:var(--teal);border-bottom-color:var(--teal)}.nt-page-tabs{margin:-.4rem 0 1rem;padding:0}.nt-detail-head{display:flex;align-items:center;gap:.7rem;padding:1rem 1.1rem .35rem}.nt-detail-head strong{flex:1;font-size:1.05rem}.nt-form,.nt-smtp,.nt-events,.nt-sends{padding:.35rem 1.1rem .2rem}.nt-form-set{border:0;margin:0;padding:0;min-width:0}.nt-switch{display:flex;align-items:center;gap:.65rem;margin:.85rem 0;font-weight:600;font-size:.9rem}.nt-smtp h3{margin:.6rem 0 .25rem;font-size:.95rem}.nt-grid{display:grid;grid-template-columns:1fr 1fr;gap:.15rem .85rem}.nt-events,.nt-sends,.nt-inbox-list{list-style:none;margin:0;padding:.5rem 0}.nt-events label{display:flex;align-items:center;gap:.55rem;padding:.45rem 0}.nt-sends li,.nt-inbox-list li{display:grid;gap:.15rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.nt-sends em{font-style:normal;color:var(--muted);font-size:.82rem}.nt-foot{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.9rem 1.1rem .2rem;border-top:1px solid var(--line);margin-top:.75rem}.nt-foot .btn{display:inline-flex;align-items:center;gap:.35rem}.nt-foot-r{display:flex;gap:.45rem;flex-wrap:wrap}.nt-danger{color:#b91c1c;border-color:#fecaca}.nt-grid-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.nt-kind{background:var(--card);border:1px solid transparent;border-radius:var(--radius);box-shadow:0 1px 2px #0f172a0a;padding:1rem 1.05rem;text-align:left;cursor:pointer;color:inherit;display:grid;gap:.35rem;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.nt-kind:hover{transform:translateY(-2px);background:#ecfdf5;border-color:#99f6e4;box-shadow:0 8px 18px #0f172a14}.nt-kind strong{font-size:.95rem}.nt-kind em{font-style:normal;color:var(--muted);font-size:.78rem;min-height:2.2em}.nt-kind .link-btn{justify-self:start;padding:0}.nt-inbox-page{padding:.85rem 1.1rem 1rem}.nt-inbox-page .nt-inbox-list{padding:.15rem 0 0}.nt-settings{display:inline-flex;align-items:center;gap:.4rem;color:var(--teal);border-color:var(--line)}.nt-tab-n,.nt-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;margin-left:.4rem;padding:0 .35rem;border-radius:999px;background:var(--teal);color:#fff;font-size:.7rem;font-weight:700;vertical-align:middle}.nt-count{background:#d1fae5;color:#047857}.nt-filter{display:inline-flex;align-items:center;gap:.35rem;height:36px;border:1px solid var(--line);border-radius:8px;padding:0 .65rem;background:var(--card);color:var(--muted)}.content .nt-filter select,.nt-filter select{width:auto;margin:0;border:0;padding:0;background:transparent;color:inherit}.nt-inbox-list li{padding:0;border-bottom:1px solid var(--line)}.nt-inbox-list li:last-child{border-bottom:0}.nt-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.85rem;width:100%;border:0;background:none;padding:.85rem .15rem;text-align:left;color:inherit;cursor:pointer}.nt-row-txt{min-width:0;display:grid;gap:.2rem}.nt-row-txt em{font-style:normal;color:var(--muted);font-size:.8rem}.nt-dot{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f1f5f9;color:#64748b;flex-shrink:0}.nt-dot.ok{background:#d1fae5;color:#047857}html.dark .nt-kind:hover{background:#11332c;border-color:#134e4a}html.dark .nt-item.on{background:#11332c}html.dark .nt-hint{background:#11332c;color:#6ee7b7}html.dark .nt-pill.inactive{background:#243044;color:#cbd5e1}html.dark .nt-danger{border-color:#7f1d1d}@media(max-width:1100px){.nt-split{grid-template-columns:1fr}.nt-grid-cards{grid-template-columns:1fr 1fr}}@media(max-width:700px){.nt-grid,.nt-grid-cards{grid-template-columns:1fr}}.leaf-spinner{--leaf: var(--teal, #00796b);--leaf-soft: var(--teal-soft, #26a69a);position:relative;width:var(--leaf-size, 28px);height:var(--leaf-size, 28px);flex-shrink:0;animation:leaf-spin .9s linear infinite}.leaf-spinner i{position:absolute;top:50%;left:50%;width:28%;height:42%;margin:-21% -14% 0;border-radius:70% 70% 60% 8%;transform-origin:50% 50%;background:var(--leaf)}.leaf-spinner i:nth-child(1){transform:rotate(0) translateY(-55%);background:var(--leaf);opacity:1}.leaf-spinner i:nth-child(2){transform:rotate(90deg) translateY(-55%);background:var(--leaf-soft);opacity:.85}.leaf-spinner i:nth-child(3){transform:rotate(180deg) translateY(-55%);background:var(--leaf);opacity:.7}.leaf-spinner i:nth-child(4){transform:rotate(270deg) translateY(-55%);background:var(--leaf-soft);opacity:.55}@keyframes leaf-spin{to{transform:rotate(360deg)}}.content{flex:1 1 0%;min-height:0;overflow:auto;display:flex;flex-direction:column}.content>.keep-view:not(.off){flex:1 0 auto;display:flex;flex-direction:column;min-width:0}.content>.keep-view.off{position:absolute;top:0;left:0;width:0;height:0;overflow:hidden;contain:strict;content-visibility:hidden;visibility:hidden;pointer-events:none}.page-loading{display:flex;flex:1;align-items:center;justify-content:center;min-height:16rem;width:100%}.page-loading.full{min-height:100%}.page-loading.inline{min-height:12rem;flex:0 0 auto}:root{--form-error-color: #c62828;--form-error-color-soft: #b71c1c;--form-error-bg: rgba(198, 40, 40, .06);--form-error-bg-strong: rgba(198, 40, 40, .1);--form-error-border: rgba(198, 40, 40, .45);--form-error-shadow: 0 0 0 2px rgba(198, 40, 40, .12);--form-error-summary-border: rgba(198, 40, 40, .2)}html.dark{--form-error-color: #ff8a80;--form-error-color-soft: #ffb4ab;--form-error-bg: rgba(255, 138, 128, .1);--form-error-bg-strong: rgba(255, 138, 128, .14);--form-error-border: rgba(255, 138, 128, .45);--form-error-shadow: 0 0 0 2px rgba(255, 138, 128, .15);--form-error-summary-border: rgba(255, 138, 128, .25)}.form-required-mark{color:var(--form-error-color);font-weight:700}.form-field-invalid input,.form-field-invalid textarea,.form-field-invalid select,.field-box.form-field-invalid{border-color:var(--form-error-border)!important;box-shadow:var(--form-error-shadow)}.form-field-error{display:flex;align-items:flex-start;gap:8px;margin-top:6px;padding:6px 10px;border-radius:8px;background:var(--form-error-bg);color:var(--form-error-color-soft);font-size:13px;line-height:1.45;font-weight:500;animation:form-error-fade-in .22s ease-out}.form-field-error:before{content:"";width:16px;height:16px;margin-top:2px;flex-shrink:0;background-color:var(--form-error-color);opacity:.9;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4M12 16h.01' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4M12 16h.01' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat}@keyframes form-error-fade-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.form-validation-summary{margin-bottom:16px;padding:12px 14px;border-radius:10px;border:1px solid var(--form-error-summary-border);background:var(--form-error-bg-strong);color:var(--form-error-color-soft)}.form-validation-hint{margin:6px 0 8px;font-size:13px;opacity:.92}.form-validation-summary ul{margin:0;padding-left:0;list-style:none}.toast-host{position:fixed;top:20px;left:50%;z-index:80;display:flex;flex-direction:column;align-items:center;gap:10px;transform:translate(-50%);pointer-events:none}.toast{pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;min-width:min(360px,calc(100vw - 2rem));max-width:min(440px,calc(100vw - 2rem));padding:12px 12px 12px 14px;border:1px solid transparent;border-radius:12px;box-shadow:0 12px 32px #0f172a29;animation:toast-in .22s ease-out}.toast-ico{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;color:#fff}.toast-body{min-width:0}.toast-body strong{display:block;margin:0 0 2px;font-size:.82rem;font-weight:700;letter-spacing:.01em}.toast-body p{margin:0;font-size:.88rem;line-height:1.45}.toast-x{border:0;background:none;color:inherit;opacity:.45;cursor:pointer;padding:2px;border-radius:6px}.toast-x:hover{opacity:.9;background:#0f172a0f}.toast.success{background:#f0fdf6;border-color:#bbf7d0;color:#14532d}.toast.success .toast-ico{background:#059669}.toast.error{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}.toast.error .toast-ico{background:#dc2626}.toast.warning{background:#fffbeb;border-color:#fde68a;color:#78350f}.toast.warning .toast-ico{background:#d97706}.toast.info{background:#f0f9ff;border-color:#bae6fd;color:#0c4a6e}.toast.info .toast-ico{background:#0284c7}html.dark .toast.success{background:#10261c;border-color:#166534;color:#bbf7d0}html.dark .toast.error{background:#2a1416;border-color:#7f1d1d;color:#fecaca}html.dark .toast.warning{background:#2a2110;border-color:#854d0e;color:#fde68a}html.dark .toast.info{background:#0f2230;border-color:#075985;color:#bae6fd}html.dark .toast-x:hover{background:#ffffff14}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.msel{position:relative;min-width:11rem;width:100%}.msel.off{opacity:.55}.msel-btn{width:100%;display:flex;align-items:center;gap:.45rem;min-height:42px;padding:.35rem .65rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:#1a2332;cursor:pointer;text-align:left}.msel-ico{color:#64748b;display:grid;flex-shrink:0}.msel-value{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}.msel-ph{color:#94a3b8;font-size:.86rem}.msel-tag{display:inline-flex;align-items:center;gap:.2rem;max-width:100%;padding:.12rem .2rem .12rem .45rem;border-radius:6px;background:#eef2f7;color:#1a2332;font-size:.78rem;line-height:1.2}.msel-tag-x{display:grid;place-items:center;width:1.1rem;height:1.1rem;border-radius:999px;color:#64748b}.msel-tag-x:hover{background:#dbe3ee;color:#0f172a}.msel-pop{position:fixed;z-index:50;max-height:260px;overflow:auto;padding:.4rem;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 28px #0f172a29}.msel-opt{display:flex;align-items:center;gap:.45rem;width:100%;padding:.42rem .45rem;border:0;border-radius:7px;background:none;color:inherit;font:inherit;font-size:.84rem;cursor:pointer;text-align:left}.msel-opt-label{flex:1;min-width:0}.msel-tick{display:grid;color:var(--teal);flex-shrink:0}.msel-search{width:100%;margin:0 0 .35rem;padding:.4rem .5rem;border:1px solid var(--line);border-radius:7px;background:#f8fafc}.msel-opt:hover{background:#f1f5f9}.msel-opt.on{background:#ecfdf5}.table-wrap .msel{max-width:16rem}html.dark .msel-btn,html.dark .msel-pop{background:#152033;color:#e5eef7}html.dark .msel-tag{background:#1e2d44;color:#e5eef7}html.dark .msel-tag-x:hover{background:#2a3d58;color:#fff}html.dark .msel-opt:hover{background:#1e2d44}html.dark .msel-opt.on{background:#134e4a}html.dark .msel-search{background:#0f172a}html.dark .msel-ph{color:#94a3b8}.sw{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;font-size:.82rem;font-weight:650;color:#334155;-webkit-user-select:none;user-select:none}.sw.off{opacity:.5;cursor:default}.sw input{position:absolute;opacity:0;width:0;height:0}.sw-track{width:36px;height:20px;border-radius:999px;background:#cbd5e1;position:relative;flex-shrink:0;transition:background .15s ease}.sw-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a40;transition:transform .15s ease}.sw input:checked+.sw-track{background:#0d7377}.sw input:checked+.sw-track:after{transform:translate(16px)}.sw input:focus-visible+.sw-track{outline:2px solid #0d7377;outline-offset:2px}html.dark .sw{color:#cbd5e1}html.dark .sw-track{background:#475569}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;justify-content:flex-end;z-index:20}.sheet{position:relative;width:min(360px,100%);background:var(--card);padding:1.2rem;height:100%;box-shadow:-8px 0 30px #00000026}.modal{margin:auto;width:fit-content;min-width:min(28rem,80vw);max-width:80vw;height:auto;background:var(--card);border-radius:14px;padding:1.2rem 1.2rem 1rem}.modal label{display:block;margin:.55rem 0;font-size:.85rem;font-weight:600}.modal input,.modal select,.content select{width:100%;margin-top:.3rem;border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;background:var(--card);color:var(--text)}.sheet-back.center{justify-content:center;align-items:center;padding:10px}.modal{display:flex;flex-direction:column;max-height:calc(100vh - 20px);overflow:hidden}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.35rem;flex-shrink:0;cursor:move;-webkit-user-select:none;user-select:none}.modal-head .icon-btn{cursor:pointer}.modal-head h2{margin:0;font-size:1.15rem}.modal-lead{display:flex;align-items:flex-start;gap:.75rem;min-width:0}.modal-ico{width:40px;height:40px;border-radius:50%;background:#ecfdf5;color:var(--teal);display:grid;place-items:center;flex-shrink:0}.modal-sub{margin:.2rem 0 0;font-size:.84rem;font-weight:500;color:var(--muted)}.modal-head{padding-bottom:.85rem;border-bottom:1px solid var(--line);margin-bottom:.85rem}.modal .btn{display:inline-flex;align-items:center;gap:.4rem}.field-hint{margin:.35rem 0 0;font-size:.78rem;font-weight:500;color:var(--muted)}.icon-field{position:relative}.icon-field-mark{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none;display:grid}.icon-field input{padding-left:2.25rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.form-panel{margin:.75rem 0;padding:.9rem 1rem;border:1px solid var(--line);border-radius:12px}.form-panel-title{display:flex;align-items:center;gap:.45rem;margin:0 0 .65rem;font-size:.92rem;color:#0f766e}.form-switch{display:flex;flex-direction:column;gap:.2rem;margin:.75rem 0;padding:.9rem 1rem;border:1px solid var(--line);border-radius:12px}.modal .sw,.form-switch .sw{display:inline-flex;margin:0}.form-note{display:flex;align-items:flex-start;gap:.5rem;margin:.85rem 0 0;padding:.75rem .9rem;border-radius:10px;background:#ecfdf5;color:#115e59;font-size:.84rem}.form-add{width:100%;justify-content:center;margin-top:.55rem;border-style:dashed;border-color:#5eead4;color:var(--teal);background:#f6fffd}.field-area{position:relative}.field-area textarea{width:100%;padding-bottom:1.6rem}.field-count{position:absolute;right:.65rem;bottom:.4rem;font-size:.72rem;color:var(--muted)}html.dark .modal-ico{background:#134e4a;color:#99f6e4}html.dark .form-note{background:#134e4a;color:#ccfbf1}html.dark .form-add{background:#134e4a;border-color:#134e4a;color:#99f6e4}@media(max-width:720px){.form-grid{grid-template-columns:1fr}}.modal-body{flex:0 1 auto;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overflow-wrap:anywhere}.modal .row-end{flex-shrink:0}.modal-sm{width:min(360px,80vw);min-width:0}.modal-md{max-width:80vw}.modal-lg{width:min(52rem,80vw);max-width:80vw}.form-field{margin:.55rem 0}.field-label{display:flex;align-items:center;gap:.25rem;font-size:.85rem;font-weight:600}.form-field input,.form-field select,.form-field textarea{width:100%;margin-top:.3rem;border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;background:var(--card);color:var(--text)}.tp{position:relative;display:inline-flex}.tp .menu-pop{left:0;right:auto}.tp-btn{display:inline-flex;align-items:center;gap:.45rem;min-width:15rem;height:36px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);padding:0 .75rem;cursor:pointer;white-space:nowrap}.tp-menu{min-width:14rem;padding:.35rem}.tp-item{display:block;width:100%;border:0;background:none;color:inherit;text-align:left;padding:.45rem .65rem;border-radius:6px;cursor:pointer;white-space:nowrap}.tp-item:hover{background:color-mix(in srgb,var(--card) 86%,#fff);color:inherit}.tp-item.on{background:#ecfdf5;color:var(--teal)}.tp-custom{display:flex;align-items:center;gap:.4rem;padding:.45rem .45rem .25rem;border-top:1px solid var(--line);margin-top:.25rem}.tp-custom input[type=date]{height:36px;width:10rem;border:1px solid var(--line);border-radius:8px;padding:0 .5rem;background:var(--card);color:var(--text)}html.dark .tp-item:hover{background:color-mix(in srgb,var(--card) 78%,#fff);color:inherit}html.dark .tp-item.on{background:#134e4a;color:#ccfbf1}.list-pager{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .15rem .2rem}.list-pager-nav{display:flex;flex-wrap:nowrap;align-items:center;gap:.3rem;white-space:nowrap}.content .list-pager-nav select,.list-pager-nav select{width:auto;min-width:calc(6.25rem + 5px);max-width:calc(6.25rem + 5px);flex:0 0 auto;margin:0 .35rem 0 0;height:32px;border:1px solid var(--line);border-radius:8px;padding:0 .35rem;background:var(--card);color:var(--text);transition:background .15s ease,border-color .15s ease,color .15s ease}.list-pager-nav .btn{height:32px;padding:0 .7rem}.list-pager-nav .icon-btn.active{background:var(--teal);color:#fff;border-color:var(--teal)}.act-menu{position:relative;display:inline-flex}.act-pop{position:fixed;z-index:40;min-width:12.5rem;padding:.35rem;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px #0f172a29}.act-item{display:block;width:100%;border:0;background:none;color:inherit;text-align:left;padding:.5rem .7rem;border-radius:7px;cursor:pointer;font:inherit;font-weight:600;text-decoration:none;white-space:nowrap}.act-item:hover{background:#ecfdf5;color:var(--teal)}.act-item.danger{color:#b91c1c}.act-item.danger:hover{background:#fef2f2;color:#991b1b}html.dark .act-pop{box-shadow:0 12px 32px #0006}html.dark .act-item:hover{background:#134e4a}html.dark .act-item.danger:hover{background:#3f1d1d}.tip{display:inline-flex;align-items:center;vertical-align:middle}.tip-btn{width:22px;height:22px;padding:0;color:#64748b}.tip-btn:hover{color:var(--teal);background:#ecfdf5;border-color:#99f6e4}.tip-pop{position:fixed;z-index:60;pointer-events:none}.tip-nav{padding:.4rem .7rem;border-radius:8px;background:#0f172a;color:#f8fafc;font-size:.82rem;font-weight:650;white-space:nowrap;box-shadow:0 8px 22px #0f172a47}.tip-card{min-width:16rem;max-width:22rem;padding:.7rem .85rem;border-radius:12px;background:#fff;color:#1a2332;border:1px solid var(--line);box-shadow:0 14px 36px #0f172a29;pointer-events:none}.tip-card dl{margin:0;display:grid;gap:.45rem}.tip-card dt{font-size:.7rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.tip-card dd{margin:.12rem 0 0;font-size:.84rem;font-weight:600;overflow-wrap:anywhere}html.dark .tip-card{background:#152033;color:#e5eef7}html.dark .tip-btn:hover{background:#134e4a;border-color:#134e4a;color:#99f6e4}.job-trace{list-style:none;margin:.7rem 0 0;padding:0}.job-row{border-bottom:1px solid var(--line)}.job-head{width:100%;display:grid;grid-template-columns:1rem 2rem 1fr auto 1.5rem;align-items:center;gap:.65rem;border:0;background:none;color:inherit;text-align:left;padding:.7rem .15rem;cursor:pointer}.job-chev{color:var(--muted);transition:transform .15s}.job-chev.on{transform:rotate(90deg)}.job-mark{width:28px;height:28px;border-radius:8px;display:grid;place-items:center}.job-mark.blue{background:#dbeafe;color:#1d4ed8}.job-mark.orange{background:#ffedd5;color:#c2410c}.job-mark.teal{background:#ccfbf1;color:#0f766e}.job-mark.purple{background:#ede9fe;color:#6d28d9}.job-mark.red{background:#fee2e2;color:#b91c1c}.job-mark.gray{background:#f1f5f9;color:#475569}.job-head strong{font-size:.82rem;letter-spacing:.02em}.job-head em{font-style:normal;color:var(--muted);font-size:.75rem;white-space:nowrap}.job-st{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e2e8f0;color:#475569}.job-st.ok{background:#16a34a;color:#fff}.job-st.failed,.job-st.canceled{background:#dc2626;color:#fff}.job-body{padding:0 .15rem .75rem 3.5rem;font-size:.82rem}.job-open{border:0;background:none;color:var(--teal);cursor:pointer;font-weight:600;padding:0}html.dark .job-mark.gray{background:#243044;color:#cbd5e1}.acc-sheet{width:min(320px,100%);padding:0;display:flex;flex-direction:column;height:100%}.acc-x{position:absolute;top:1.25rem;right:1.25rem;border:0;background:none;color:var(--muted);cursor:pointer;padding:.5rem;border-radius:999px}.acc-x:hover{background:color-mix(in srgb,var(--teal) 8%,transparent);color:var(--teal)}.acc-who{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 1.5rem 1.5rem;text-align:center}.acc-av{width:64px;height:64px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.2rem}.acc-who strong{font-size:1.125rem;font-weight:600}.acc-mail{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.875rem;font-weight:400}.acc-list{list-style:none;margin:0;padding:1.5rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.25rem;flex:1}.acc-list>li>button,.acc-theme{width:100%;display:flex;align-items:center;gap:.75rem;border:0;background:none;color:var(--muted);text-align:left;padding:.5rem .75rem;border-radius:8px;cursor:pointer;font:inherit;font-size:.875rem}.acc-list>li>button:hover{background:color-mix(in srgb,var(--teal) 8%,transparent)}.acc-grow{flex:1}.acc-list em{font-style:normal;font-size:.75rem}.acc-theme{cursor:default}.acc-seg{position:relative;display:inline-flex;border-radius:.375rem;isolation:isolate}.acc-seg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--line);border-radius:inherit;pointer-events:none;z-index:1}.acc-seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;width:auto;margin:0;padding:.375rem;border:0;border-radius:0;background:transparent;color:var(--muted);line-height:1;font-size:.68rem;font-weight:700;letter-spacing:.02em;box-shadow:none}.acc-seg button:first-child{border-radius:.375rem 0 0 .375rem}.acc-seg button:last-child{border-radius:0 .375rem .375rem 0}.acc-seg button:hover{background:color-mix(in srgb,var(--muted) 12%,transparent)}.acc-seg button.on,.acc-seg button.on:hover{background:var(--teal);color:#fff}.acc-foot{margin-top:auto;border-top:1px solid var(--line);padding:1rem 1.5rem 1.5rem}.acc-out{width:100%;border:0;border-radius:10px;padding:.7rem 1rem;background:color-mix(in srgb,#ef4444 10%,transparent);color:#dc2626;font-weight:600;cursor:pointer;transition:background .15s ease}.acc-out:hover{background:color-mix(in srgb,#ef4444 20%,transparent)}.acc-about{text-align:center;display:grid;gap:.35rem;justify-items:center;padding:.6rem 0}.acc-about .brand-mark{width:48px;height:48px;font-size:1.2rem}html.dark .acc-x:hover,html.dark .acc-list>li>button:hover{background:color-mix(in srgb,var(--teal) 22%,transparent)}html.dark .acc-out{background:color-mix(in srgb,#ef4444 20%,transparent);color:#fca5a5}html.dark .acc-out:hover{background:color-mix(in srgb,#ef4444 30%,transparent)}
