.inp.lk,.sel.lk,.inp:read-only,.ta:read-only,.inline-item-input:read-only,.inp:disabled,.sel:disabled,.ta:disabled,.inline-item-input:disabled,.role-qualifier-input:disabled{background:var(--bg);color:var(--text3);cursor:not-allowed}.role-tree-main-code,.role-tree-main-name{text-transform:uppercase;letter-spacing:.05em;font-weight:700}.processmap-container{background:var(--bg);color:var(--text);flex-direction:column;flex:1;display:flex;overflow:auto}.main-wrap{width:100%;max-width:1180px;margin:0 auto;padding:32px 24px 64px}.page-title{margin-bottom:28px}.page-title h1{color:var(--text);letter-spacing:-.02em;margin-bottom:4px;font-size:22px;font-weight:700}.page-title p{color:var(--text3);font-size:13px}.validation-warn-icon{color:#dcbf01;vertical-align:-1px;align-items:center;margin-left:5px;font-size:12px;line-height:1;display:inline-flex}.legend{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:24px;padding:12px 16px;display:flex}.legend-item{color:var(--text2);align-items:center;gap:7px;font-size:12px;display:flex}.legend-pip{border-radius:3px;flex-shrink:0;width:12px;height:12px}.pip-erp{border:1.5px solid var(--navy);background:#1d26451a}.pip-hub{background:var(--orange-dim);border:1.5px solid var(--orange)}.pip-ext{background:var(--bg2);border:1.5px solid var(--border2)}.pip-new{background:var(--yellow-dim);border:1.5px solid var(--yellow)}.legend-note{color:var(--text3);margin-left:auto;font-family:DM Mono,monospace;font-size:11px}.detail-panel{background:var(--navy);border-radius:var(--radius-lg);color:#fff;margin-bottom:24px;padding:20px 22px;animation:.2s slideIn;display:none;position:relative;overflow:hidden}.detail-panel:before{content:"";background:var(--orange);height:3px;position:absolute;top:0;left:0;right:0}.detail-panel.visible{display:block}.close-btn{color:#ffffff80;cursor:pointer;background:#ffffff14;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;display:flex;position:absolute;top:16px;right:16px}.close-btn:hover{color:#fff;background:#ffffff26}.detail-title{color:#fff;letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;font-size:16px;font-weight:700;display:flex}.detail-tabs{border-bottom:1px solid #ffffff1a;gap:2px;margin-bottom:16px;display:flex}.detail-tab{color:#ffffff73;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 14px 8px;font-size:12px;font-weight:600;transition:color .15s,border-color .15s}.detail-tab:hover{color:#ffffffbf}.detail-tab.active{color:#fff;border-bottom-color:var(--orange)}.detail-tab-inline-count{opacity:.45;margin-left:6px;font-size:10px;font-weight:400}.detail-grid{grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:14px;display:grid}.detail-col-label,.act-detail-label{letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-family:DM Mono,monospace;font-size:9px;font-weight:600}.detail-col-label{color:#fff6}.act-detail-label{color:#ffffff59;margin-bottom:5px}.detail-items,.act-detail-items{list-style:none}.detail-items li,.act-detail-items li{padding-left:14px;position:relative}.detail-items li{color:#ffffffd9;padding-top:3px;padding-bottom:3px;font-size:12px;line-height:1.5}.act-detail-items li{color:#ffffffbf;padding-top:2px;padding-bottom:2px;font-size:11px;line-height:1.4}.detail-items li:before,.act-detail-items li:before{content:"→";color:var(--orange);position:absolute;left:0}.detail-items li:before{font-size:10px;top:4px}.act-detail-items li:before{font-size:9px;top:3px}.detail-role-tag{opacity:.5;margin-left:5px;font-size:10px}.detail-note{color:#ffffff8c;border-top:1px solid #ffffff14;padding-top:12px;font-size:12px;line-height:1.65}.detail-note strong{color:#ffffffbf}.detail-vls{color:#ffffff59;margin-top:8px;font-family:DM Mono,monospace;font-size:11px}.detail-empty,.act-empty{color:#ffffff8c;font-size:12px}.badge{letter-spacing:.04em;text-transform:uppercase;border-radius:4px;align-items:center;padding:2px 7px;font-family:DM Mono,monospace;font-size:9px;font-weight:700;line-height:1.2;display:inline-flex}.badge-erp{color:var(--navy);border:1px solid var(--navy-muted);background:#1d264514}.badge-hub{background:var(--orange-dim);color:var(--orange);border:1px solid var(--orange)}.badge-ext{background:var(--bg2);color:var(--text2);border:1px solid var(--border2)}.badge-both{color:#d4b8ff;background:#724ca873;border:1px solid #724ca88c}.badge-erp-inv{color:#ffffffb3;background:#ffffff1a;border:1px solid #fff3}.badge-hub-inv{color:#ff9478;background:#e1492440;border:1px solid #e1492480}.badge-ext-inv{color:#ffffff73;background:#ffffff0d;border:1px solid #ffffff1f}.badge-both-inv{color:#d6bfff;background:#ffffff14;border:1px solid #d6bfff3d}.act-list{flex-direction:column;gap:6px;display:flex}.act-item{cursor:pointer;background:#ffffff0d;border-left:2px solid #0000;border-radius:5px;grid-template-columns:48px 1fr auto auto;align-items:start;gap:10px;padding:8px 10px;transition:background .12s;display:grid}.act-item.status-new{border-left-color:#e24824}.act-item.status-updated{border-left-color:#d1b92e}.act-item.status-existing{border-left-color:#ffffff26}.act-item:hover{background:#ffffff17}.act-item.expanded{background:#ffffff17;border-radius:5px 5px 0 0}.act-item-id{color:#ffffff73;padding-top:1px;font-family:DM Mono,monospace;font-size:10px;font-weight:600}.act-item-name{color:#ffffffe0;font-size:12px;line-height:1.4}.act-item-roles{color:#fff6;margin-top:3px;font-size:10px}.act-item-sys,.act-detail-badge{letter-spacing:.04em;border-radius:3px;padding:2px 7px;font-family:DM Mono,monospace;font-size:9px;font-weight:600}.act-item-sys{white-space:nowrap;align-self:start;margin-top:1px}.act-sys-erp{color:#fff9;background:#1d264599}.act-sys-hub{color:#9fcc7a;background:#467d2666}.act-sys-ext{color:#e8c06a;background:#a0640066}.act-sys-both{color:#d4b8ff;background:#724ca873}.act-chevron{color:#ffffff4d;transition:transform .15s}.act-item.expanded .act-chevron{transform:rotate(90deg)}.act-detail{background:#0003;border-radius:0 0 5px 5px;margin-top:-1px;padding:10px 12px 12px;display:none}.act-detail.open{display:block}.act-detail-grid{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:4px;display:grid}.act-detail-meta{border-top:1px solid #ffffff0f;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px;display:flex}.act-badge-new{color:#ff9478;background:#e2482440}.act-badge-updated{color:#e8d060;background:#d1b92e33}.act-badge-existing{color:#ffffff73;background:#ffffff14}.act-badge-subtle{opacity:.6}.area-block{margin-bottom:10px}.vls-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:28px;padding:20px}.vls-section-title{color:var(--text3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;font-family:DM Mono,monospace;font-size:10px;font-weight:600}.vls-compare{grid-template-columns:1fr 1fr;gap:12px;display:grid}.vls-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text2);padding:14px 16px;font-size:12px;line-height:1.7}.vls-card strong{color:var(--text);margin-bottom:6px;font-weight:600;display:block}.note-ok,.note-warn{margin-top:6px;font-size:11px;font-weight:500;display:block}.note-ok{color:var(--green)}.note-warn{color:var(--orange)}.vls-band{border-radius:var(--radius) var(--radius) 0 0;letter-spacing:.07em;text-transform:uppercase;align-items:center;height:22px;margin-bottom:4px;font-family:DM Mono,monospace;font-size:9px;font-weight:600;display:flex;overflow:hidden}.vls-band-seg{white-space:nowrap;align-items:center;height:100%;padding:0 10px;display:flex;overflow:hidden}.vls-band-label{color:#ffffffb3;background:var(--vls-label-bg);flex-shrink:0;align-items:center;width:32px;height:100%;padding:0 8px;font-size:8px;display:flex}.vls-seg-filled{color:#ffffffd9;background:#00000026;flex:1}.vls-seg-filled2{color:#ffffffa6;background:#00000014;flex:1}.vls-seg-empty{color:#ffffff73;background:#0000000d;flex:1;font-style:italic}.area-a .vls-band{background:#1d2645}.area-b .vls-band{background:#e24824}.area-c .vls-band{background:#9d8200}.area-d .vls-band{background:#388a1c}.area-a .vls-band-label,.area-b .vls-band-label,.area-c .vls-band-label,.area-d .vls-band-label{background:#0000004d}.area-header{align-items:center;gap:0;margin-bottom:6px;display:flex}.area-label-wrap{border-radius:var(--radius) var(--radius) 0 0;flex:1;align-items:center;gap:12px;padding:8px 14px;display:flex}.area-a .area-label-wrap{background:#1d2645}.area-b .area-label-wrap{background:#e24824}.area-c .area-label-wrap{background:#9d8200}.area-d .area-label-wrap{background:#388a1c}.area-code{color:#fff6;width:18px;font-family:DM Mono,monospace;font-size:11px;font-weight:500}.area-name{color:#fff;font-size:13px;font-weight:600}.area-sub{color:#ffffff73;margin-left:auto;font-size:11px;font-weight:400}.process-row{background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);border-top:none;flex-wrap:nowrap;align-items:flex-start;gap:5px;padding:10px;display:flex;overflow-x:auto}.process-row::-webkit-scrollbar{height:4px}.process-row::-webkit-scrollbar-track{background:var(--bg2);border-radius:2px}.process-row::-webkit-scrollbar-thumb{background:var(--navy-muted);border-radius:2px}.step{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--bg);-webkit-user-select:none;user-select:none;flex:0 0 146px;min-height:104px;padding:10px;transition:border-color .15s,box-shadow .15s,transform .1s;animation:.3s both fadeUp;position:relative}.step:hover{border-color:var(--navy);transform:translateY(-1px);box-shadow:0 2px 8px #1d26451a}.step.active{background:var(--surface);box-shadow:0 0 0 2px #e1492426;border-color:var(--orange)!important}.step.is-new:after{content:"NY";color:#dcbf01;letter-spacing:.05em;background:#dcbf011f;border:1px solid #dcbf01;border-radius:2px;padding:1px 4px;font-family:DM Mono,monospace;font-size:8px;font-weight:500;position:absolute;top:6px;right:6px}.step.is-updated:after{content:"UPD";color:var(--orange);border:1px solid var(--orange);letter-spacing:.05em;background:#e149241f;border-radius:2px;padding:1px 4px;font-family:DM Mono,monospace;font-size:8px;font-weight:500;position:absolute;top:6px;right:6px}.step-id{color:#7e88ab;margin-bottom:4px;font-family:DM Mono,monospace;font-size:9px;display:block}.step-title{color:var(--text);margin-bottom:5px;font-size:12px;font-weight:600;line-height:1.35}.step-role{color:var(--text2);margin-bottom:6px;font-size:11px;line-height:1.4}.arrow-sep{color:var(--text3);-webkit-user-select:none;user-select:none;flex:0 0 12px;justify-content:center;align-items:center;padding-top:16px;font-size:12px;display:flex}.role-section{background:var(--navy);border-radius:var(--radius-lg);color:#fff;margin-top:28px;overflow:hidden}.role-section-hdr{border-bottom:1px solid #ffffff12;align-items:baseline;gap:12px;padding:16px 20px 12px;display:flex}.role-section-title{color:#fff6;text-transform:uppercase;letter-spacing:.08em;font-family:DM Mono,monospace;font-size:10px;font-weight:600}.role-section-meta{color:#ffffff40;font-family:DM Mono,monospace;font-size:10px}.role-huvud-block{border-bottom:1px solid #ffffff0f}.role-huvud-block:last-child{border-bottom:none}.role-huvud-hdr{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0a;align-items:center;gap:10px;padding:10px 20px;transition:background .12s;display:flex}.role-huvud-hdr:hover{background:#ffffff12}.role-huvud-code{color:#ffffff59;min-width:30px;font-family:DM Mono,monospace;font-size:10px;font-weight:600}.role-huvud-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.role-huvud-count{color:#ffffff40;margin-left:4px;font-size:10px}.role-huvud-chev{color:#ffffff40;margin-left:auto;font-size:11px;transition:transform .15s}.role-huvud-hdr.open .role-huvud-chev{transform:rotate(90deg)}.role-huvud-body{display:none}.role-huvud-body.open{display:block}.role-grid-section{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;padding:6px 20px 12px;display:grid}.role-card{border-radius:var(--radius);background:#ffffff0d;border:1px solid #ffffff14;padding:10px 12px}.role-card:hover{background:#ffffff17}.role-card-top{align-items:flex-start;gap:6px;margin-bottom:4px;display:flex}.role-card-code{color:#fff6;flex-shrink:0;padding-top:1px;font-family:DM Mono,monospace;font-size:10px;font-weight:600}.role-name{color:#fff;font-size:12px;font-weight:600;line-height:1.3}.role-org{color:#ffffff4d;margin-bottom:5px;font-family:DM Mono,monospace;font-size:10px}.role-desc{color:#ffffff73;font-size:11px;line-height:1.5}.role-meta-row{color:#ffffff59;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-family:DM Mono,monospace;font-size:10px;display:flex}.role-empty-state{color:#ffffff8c;padding:18px 20px 22px;font-size:12px}.role-flag{color:#f5a623;background:#f5a6231f;border-radius:3px;margin-top:5px;padding:2px 6px;font-size:10px;display:inline-block}@keyframes slideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.main-wrap{padding:24px 16px 48px}.page-title h1{font-size:18px}.legend{flex-direction:column;align-items:flex-start;gap:12px}.legend-note{margin-left:0}.area-label-wrap{flex-direction:column;align-items:flex-start;gap:4px}.process-row{gap:3px;padding:8px}.step{flex:0 0 120px;min-height:90px}.step-title{font-size:11px}.detail-grid,.act-detail-grid,.vls-compare{grid-template-columns:1fr}}:root{--navy:#1d2645;--navy2:#151d36;--navy-light:#2a3560;--navy-muted:#3d4b72;--orange:#e14924;--orange-dim:#e149241f;--yellow:#dcbf01;--yellow-dim:#dcbf011f;--green:#388a1c;--green-dim:#388a1c1f;--bg:#f4f3ef;--bg2:#eceae4;--bg3:#e2e0d8;--surface:#fff;--text:#1d2645;--text2:#4a5270;--text3:#8a90aa;--border:#1d26451a;--border2:#1d264533;--radius:5px;--radius-lg:8px;--vls-label-bg:#5a6070;--vls-seg1-bg:#d4856e;--vls-seg2-bg:#a8a8a8;--hub-bg:#1a1e35;--hub-rail:#161929;--hub-gold:#d1b92e;--hub-orange:#c74e2b;--dim:#d1b92e66;--hov:#d1b92ebf;--green-bg:#d6ead7;--green-txt:#1b5e20;--yellow-bg:#fff9c4;--yellow-txt:#7b5800;--red-bg:#fce4ec;--red-txt:#880e4f;--r:5px;--rl:8px;--flyout-w:216px;--fs-xs:10px;--fs-sm:11px;--fs-base:13px;--fs-md:14px;--fs-lg:17px;--fs-xl:clamp(17px, 2vw, 22px);--sp-xs:4px;--sp-sm:8px;--sp-md:12px;--sp-base:16px;--sp-lg:24px;--sp-xl:32px;--sp-2xl:48px;--tap:44px}*{box-sizing:border-box;margin:0;padding:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}html,body{height:100%;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:"Source Sans 3",Source Sans Pro,sans-serif;font-size:13px}#root{flex-direction:column;height:100%;display:flex}.shell{height:100vh;display:flex;overflow:hidden}.flyout{width:var(--flyout-w);background:var(--surface);border-right:1px solid var(--border);z-index:140;flex-direction:column;flex-shrink:0;transition:width .2s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.flyout.closed{width:0}.flyout-head{border-bottom:1px solid var(--border);white-space:nowrap;flex-shrink:0;padding:16px 14px 10px;overflow:hidden}.flyout-title{font-size:var(--fs-md);color:var(--text);letter-spacing:-.01em;font-weight:700}.flyout-sub{font-size:var(--fs-xs);color:var(--text3);margin-top:2px}.flyout-sec{padding:10px 0 2px}.flyout-sec-label{font-size:var(--fs-xs);color:var(--text3);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;margin-bottom:2px;padding:0 14px;font-weight:600}.fi{cursor:pointer;text-align:left;width:100%;font-family:"Source Sans 3",Source Sans Pro,sans-serif;font-size:var(--fs-base);color:var(--text2);white-space:nowrap;background:0 0;border:none;align-items:center;gap:9px;min-height:34px;padding:7px 14px;font-weight:400;text-decoration:none;transition:background .12s,color .12s;display:flex}.fi:hover{color:var(--text);background:#f4f3ef}.fi.active{color:var(--text);background:#d1b92e17;font-weight:600}.fi.active .fi-dot{background:var(--hub-gold)}.fi-dot{background:#1d26452e;border-radius:50%;flex-shrink:0;width:5px;height:5px;transition:background .12s}.fi:hover .fi-dot{background:var(--text3)}.fi-badge{background:var(--text);color:#fff;font-size:var(--fs-xs);border-radius:10px;flex-shrink:0;margin-left:auto;padding:1px 6px;font-weight:600}.fi-badge-warn{background:var(--hub-orange)}.fi-link{font-family:"Source Sans 3",Source Sans Pro,sans-serif;font-size:var(--fs-sm);color:var(--text3);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;min-height:30px;padding:6px 14px;text-decoration:none;transition:color .12s;display:flex}.fi-link:hover{color:var(--text)}.fi-link.active{color:var(--text);font-weight:600}.content{background:var(--bg);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.app-topbar{background:var(--navy);color:#fff;border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 18px;display:flex}.app-topbar-title{font-size:var(--fs-md);font-weight:700}.app-user{align-items:center;gap:8px;min-width:0;display:flex}.avatar{background:var(--orange);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-family:DM Mono,monospace;font-size:10px;font-weight:700;display:inline-flex}.uname{font-size:var(--fs-sm);color:#ffffffdb;white-space:nowrap}.role-tag{font-size:var(--fs-xs);color:#ffffffb8;white-space:nowrap;cursor:pointer;border:1px solid #ffffff2e;border-radius:999px;padding:2px 7px;font-weight:600;transition:border-color .12s,color .12s,background .12s}.role-tag:not(.readonly):hover{color:#fff;background:#ffffff14;border-color:#ffffff57}.role-tag.readonly{cursor:default;background:#ffffff0f}.view{flex-direction:column;flex:1;display:flex;overflow:hidden}.splash{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;display:flex}.splash-icon{width:52px;height:52px;color:var(--hub-gold);background:#d1b92e1a;border-radius:12px;justify-content:center;align-items:center;display:flex}.sync-toast{z-index:999;color:#fff;font-size:var(--fs-sm);opacity:0;pointer-events:none;background:#1b5e20;border-left:3px solid #4caf7d;border-radius:7px;padding:9px 16px;font-weight:500;transition:all .22s;position:fixed;bottom:20px;right:20px;transform:translateY(6px);box-shadow:0 4px 20px #0003}.sync-toast.show{opacity:1;transform:translateY(0)}.vhdr{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;padding:14px 22px 10px}.vtitle{font-size:var(--fs-lg);color:var(--text);letter-spacing:-.02em;font-weight:700}.vmeta{font-size:var(--fs-sm);color:var(--text3);margin-top:2px;font-family:DM Mono,monospace}.toolbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 22px;display:flex}.sw{background:var(--bg);border:1px solid var(--border2);border-radius:var(--r);flex:1;align-items:center;gap:7px;max-width:300px;padding:6px 11px;transition:border-color .15s;display:flex}.sw:focus-within{border-color:var(--navy)}.sw input{font-family:"Source Sans 3",Source Sans Pro,sans-serif;font-size:var(--fs-base);color:var(--text);background:0 0;border:none;outline:none;width:100%}.sw input::placeholder{color:var(--text3)}.sw svg{color:var(--text3);flex-shrink:0}.dv{background:var(--border2);width:1px;height:20px;margin:0 2px}.chip{border:1px solid var(--border2);background:var(--surface);height:26px;color:var(--text2);font-size:var(--fs-sm);cursor:pointer;border-radius:20px;align-items:center;padding:0 10px;font-family:"Source Sans 3",Source Sans Pro,sans-serif;font-weight:500;transition:all .15s;display:inline-flex}.chip:not(:disabled):hover{border-color:var(--navy);color:var(--navy);background:var(--bg2)}.chip.a-all:not(:disabled):hover{background:var(--navy2);color:#fff;border-color:var(--navy2)}.chip.a-all{background:var(--navy);color:#fff;border-color:var(--navy)}.chip.a-b{background:var(--green-bg);color:var(--green-txt);border-color:#388a1c4d}.chip.a-u{background:var(--yellow-bg);color:var(--yellow-txt);border-color:#dcbf0166}.chip.a-n{background:var(--red-bg);color:var(--red-txt);border-color:#880e4f33}.toolbar-action,.toolbar-action-primary{gap:4px}.toolbar-action-primary{border-color:var(--orange);color:var(--orange)}.toolbar-action-primary:not(:disabled):hover{background:var(--orange-dim);border-color:var(--orange);color:var(--orange)}button:disabled{cursor:not-allowed}.fl{font-size:var(--fs-xs);color:var(--text3);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.main{flex:1;display:flex;overflow:hidden}.tw{flex:1;overflow:auto}.content-wrapper{flex-direction:column;flex:1;display:flex;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text3)}.dt{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.dt thead th{z-index:2;background:var(--navy);color:#ffffffd9;text-align:left;font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-right:1px solid #ffffff0f;padding:9px 14px;font-weight:600;position:sticky;top:0}.dt thead th:last-child{border-right:none}.dt tbody tr{cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s}.dt tbody tr:hover td{background:#ebf0fb}.dt tbody tr.sel td{background:#dce8f8}.dt tbody td{color:var(--text);vertical-align:middle;padding:8px 14px}.ahdr td{color:var(--navy);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;cursor:default;border-bottom:1px solid var(--border);background:#1d26450d;padding:5px 14px;font-weight:700}.ahdr:hover td{background:#1d26450d}.step-hdr{cursor:default}.step-hdr:hover td{background:#1d264508}.adot{color:#fff;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;margin-right:7px;font-size:9px;font-weight:700;display:inline-flex}.idc{font-family:DM Mono,monospace;font-size:var(--fs-sm);color:var(--navy);white-space:nowrap;font-weight:500}.stc{font-size:var(--fs-sm);color:var(--text2);white-space:nowrap;font-weight:600}.rc{color:var(--navy);font-size:var(--fs-xs);white-space:nowrap;background:#1d264512;border-radius:3px;align-items:center;margin:1px 2px 1px 0;padding:2px 7px;font-weight:500;display:inline-flex}.sp{font-size:var(--fs-xs);white-space:nowrap;border-radius:20px;align-items:center;padding:3px 9px;font-weight:600;display:inline-flex}.sp-b{background:var(--green-bg);color:var(--green-txt)}.sp-u{background:var(--yellow-bg);color:var(--yellow-txt)}.sp-n{background:var(--red-bg);color:var(--red-txt)}.sys-c{font-family:DM Mono,monospace;font-size:var(--fs-xs);color:var(--text3);white-space:nowrap}.spanel{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:0;transition:width .22s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden;box-shadow:2px 0 24px #1d26451a}.spanel.open{width:400px;max-height:calc(100vh - 166px)}.sph{background:var(--navy);border-bottom:2px solid var(--orange);flex-shrink:0;padding:14px 16px}.sph-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.spbadge{font-family:DM Mono,monospace;font-size:var(--fs-xs);color:var(--orange);background:#e1492426;border-radius:3px;margin-bottom:6px;padding:2px 7px;font-weight:500;display:inline-block}.sptitle{font-size:var(--fs-base);color:#fff;margin-bottom:3px;font-weight:700;line-height:1.35}.spsub{font-size:var(--fs-xs);color:#ffffff73}.spcls{color:#fff6;cursor:pointer;background:0 0;border:none;padding:0;font-size:18px;line-height:1;transition:color .15s}.spcls:hover{color:#fff}.spb{flex:1;padding:0;overflow-y:auto}.spsec{border-bottom:1px solid var(--border);padding:14px 16px}.spst{letter-spacing:.1em;text-transform:uppercase;color:var(--text3);align-items:center;gap:6px;margin-bottom:10px;font-size:9px;font-weight:700;display:flex}.spst:after{content:"";background:var(--border);flex:1;height:1px}.fr{margin-bottom:10px}.fr:last-child{margin-bottom:0}.fl2{font-size:var(--fs-xs);color:var(--text3);letter-spacing:.02em;align-items:center;gap:4px;margin-bottom:4px;font-weight:600;display:flex}.lbadge{background:var(--bg2);color:var(--text3);letter-spacing:.05em;border-radius:3px;padding:1px 5px;font-size:8px;font-weight:600}.inp,.sel,.ta{border:1px solid var(--border2);border-radius:var(--r);width:100%;font-size:var(--fs-base);color:var(--text);background:var(--surface);outline:none;padding:7px 10px;font-family:"Source Sans 3",Source Sans Pro,sans-serif;transition:border-color .15s}.inp:focus,.sel:focus,.ta:focus{border-color:var(--navy);box-shadow:0 0 0 3px #1d26450f}.inp.lk,.sel.lk,.inp:read-only,.ta:read-only,.inline-item-input:read-only,.inp:disabled,.sel:disabled,.ta:disabled,.inline-item-input:disabled,.role-qualifier-input:disabled{background:var(--bg);color:var(--text3);cursor:not-allowed}.ta{resize:vertical;min-height:56px;line-height:1.5}.fr2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.li-list{flex-direction:column;gap:3px;margin-bottom:6px;display:flex}.li{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);align-items:center;gap:7px;padding:6px 10px;display:flex}.li span{font-size:var(--fs-sm);color:var(--text);flex:1;line-height:1.3}.inline-item-input{border-radius:var(--r);min-width:0;color:var(--text);cursor:text;font-size:var(--fs-sm);min-height:var(--tap);background:0 0;border:1px solid #0000;outline:none;flex:1;padding:5px 8px;font-family:"Source Sans 3",Source Sans Pro,sans-serif;transition:border-color .15s,box-shadow .15s}.inline-item-input:focus{background:var(--surface);border-color:var(--border2);box-shadow:none}.data-overview-toggle{color:var(--text2);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:12px;display:inline-flex}.data-overview-toggle input{margin:0}.li-rm{color:var(--text3);cursor:pointer;font-size:var(--fs-md);background:0 0;border:none;flex-shrink:0;padding:0;line-height:1;transition:color .15s}.li-rm:hover{color:var(--orange)}.li-rm:disabled,.add-btn:disabled,.role-primary-btn:disabled,.step-action-btn:disabled,.role-add-confirm:disabled,.role-add-cancel:disabled{opacity:.5;cursor:not-allowed}.add-btn{border:1px dashed var(--border2);border-radius:var(--r);width:100%;font-size:var(--fs-sm);color:var(--text3);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:6px 10px;font-family:"Source Sans 3",Source Sans Pro,sans-serif;transition:all .15s;display:flex}.add-btn:hover{border-color:var(--navy);color:var(--navy);background:#1d26450a}.ri{border:1px solid var(--border);border-radius:var(--r);background:var(--surface2);align-items:center;gap:8px;margin-bottom:4px;padding:8px 10px;display:flex}.ri:last-child{margin-bottom:0}.ri-info{flex:1;min-width:0}.ri-name{font-size:var(--fs-base);color:var(--navy);align-items:center;gap:5px;font-weight:600;display:flex}.pb{background:var(--navy);color:#fff;border-radius:10px;padding:1px 6px;font-size:9px;font-weight:600}.ri-code{font-family:DM Mono,monospace;font-size:var(--fs-xs);color:var(--text3);margin-top:1px}.ri-qual{font-size:var(--fs-xs);color:var(--orange);margin-top:1px;font-style:italic}.role-editor-row{align-items:flex-start}.role-qualifier-input{border:1px solid var(--border);width:100%;color:var(--text);font-size:var(--fs-xs);background:#fff;border-radius:8px;margin-top:6px;padding:6px 8px;font-family:"Source Sans 3",Source Sans Pro,sans-serif}.role-qualifier-input:disabled{color:var(--text3);background:0 0}.role-editor-actions{align-items:center;gap:8px;display:flex}.role-primary-btn{border:1px solid var(--border2);color:var(--text3);cursor:pointer;font-size:var(--fs-xs);background:#fff;border-radius:999px;padding:5px 10px;font-weight:700;transition:all .15s}.role-primary-btn.active,.role-primary-btn:not(:disabled):hover{background:var(--navy);border-color:var(--navy);color:#fff}.role-add-row{grid-template-columns:minmax(0,1fr) 46px 46px;gap:8px;margin-top:8px;display:grid}.role-add-select{min-height:46px}.role-add-confirm,.role-add-cancel{border:1px solid var(--border2);cursor:pointer;border-radius:8px;font-size:22px;line-height:1;transition:all .15s}.role-add-confirm{background:var(--navy);border-color:var(--navy);color:#fff}.role-add-confirm:not(:disabled):hover{background:var(--navy2);border-color:var(--navy2);color:#fff}.role-add-confirm:disabled,.role-add-cancel:disabled{cursor:not-allowed;opacity:.45}.role-add-cancel{color:var(--text3);background:#fff}.role-add-cancel:not(:disabled):hover{border-color:var(--orange);color:var(--orange)}.role-tree-wrap{background:#f5f4ef;padding:0}.role-tree{gap:8px;padding:8px 12px 18px;display:grid}.role-tree-main{box-shadow:none;background:#fff;border:1px solid #e0e2e8;border-radius:4px;overflow:hidden}.role-tree-header{cursor:pointer;text-align:left;border:none;width:100%;font-family:"Source Sans 3",Source Sans Pro,sans-serif}.role-tree-department-header,.role-tree-main-header{transition:background .12s,color .12s}.role-tree-main-header:hover{background:var(--navy2)}.role-tree-department-header:hover{background:#e9e7df}.role-tree-main-header{background:var(--navy);color:#fff;grid-template-columns:18px auto minmax(0,auto) auto 1fr;align-items:center;gap:12px;min-height:38px;padding:0 18px;display:grid}.role-tree-department-header{min-height:36px;color:var(--navy);border-bottom:1px solid var(--border);background:#efeee9;grid-template-columns:18px 72px minmax(0,auto) auto 1fr;align-items:center;gap:10px;padding:0 22px;display:grid}.role-tree-chevron{color:currentColor;opacity:.55;font-size:11px}.role-tree-main-code,.role-tree-department-code,.role-tree-role-code,.role-tree-function-header span:first-child{font-family:DM Mono,monospace;font-weight:500}.role-tree-main-code,.role-tree-department-code{opacity:.72}.role-tree-main-code,.role-tree-main-name{text-transform:uppercase;letter-spacing:.05em;font-weight:700}.role-tree-main-name,.role-tree-department-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.role-tree-count{font-size:var(--fs-xs);color:#ffffff6b;opacity:1;border:none;border-radius:0;justify-self:start;padding:0;font-weight:400}.role-tree-department-header .role-tree-count{color:var(--text3);font-weight:400}.role-tree-main-body{gap:0;padding:0;display:grid}.role-tree-department{background:#fff;border:none;border-radius:0;overflow:hidden}.role-tree-department+.role-tree-department{border-top:1px solid #e7e8ec}.role-tree-department-body{gap:0;padding:0;display:grid}.role-tree-function{border-left:none;padding-left:0}.role-tree-function-header{min-height:28px;color:var(--text3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;background:#fff;border-bottom:1px solid #edf0f4;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 26px 0 44px;display:grid}.role-tree-role-list{gap:0;display:grid}.role-tree-role{width:100%;color:var(--text);cursor:pointer;text-align:left;background:#fff;border:none;border-bottom:1px solid #edf0f4;border-radius:0;grid-template-columns:360px minmax(180px,1fr) auto;align-items:center;gap:18px;min-height:38px;padding:0 18px 0 58px;font-family:"Source Sans 3",Source Sans Pro,sans-serif;transition:background .12s,box-shadow .12s;display:grid}.role-tree-role:hover{background:#fbfaf7;transform:none}.role-tree-role.selected{box-shadow:inset 3px 0 0 var(--orange);background:#fff8f5;border-color:#0000}.role-tree-role-main{align-items:baseline;gap:8px;min-width:0;display:flex}.role-tree-role-code{color:var(--text3);font-size:var(--fs-xs);white-space:nowrap;min-width:74px}.role-tree-role-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--navy);font-weight:400;overflow:hidden}.role-tree-role-description{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text3);font-size:var(--fs-sm);overflow:hidden}.role-tree-role-meta{color:var(--text3);font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.role-tree-inactive{color:var(--text3);background:#1d264514;border-radius:999px;padding:1px 6px;font-weight:500}.role-linked-activity{border:1px solid var(--border);border-radius:var(--r);background:var(--bg);min-height:34px;color:var(--text);font-size:var(--fs-sm);align-items:center;gap:10px;padding:7px 10px;display:flex}.role-linked-code{min-width:42px;color:var(--navy);flex:none;font-family:DM Mono,monospace;font-weight:500}.role-detail-checks{gap:4px;margin-top:10px;display:grid}.role-create-modal{width:540px}.role-create-body{gap:12px;display:grid}.role-code-suggestion{border:1px solid var(--border2);border-radius:var(--r);background:var(--bg);padding:12px}.role-code-input{font-family:DM Mono,monospace;font-weight:700}.role-create-flags{flex-wrap:wrap;gap:18px;display:flex}.section-hint-inline{color:var(--text3);text-transform:none;letter-spacing:normal;font-weight:400}.role-create-submit{max-width:180px}.modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e14266b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.process-modal{background:var(--surface);border-radius:18px;width:min(620px,100%);max-height:min(760px,100vh - 48px);overflow:auto;box-shadow:0 24px 80px #1d264547}.process-modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 14px;display:flex}.process-modal-kicker{color:var(--text3);font-family:DM Mono,monospace;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.process-modal-title{color:var(--navy);margin-top:4px;font-size:22px;font-weight:800;line-height:1.1}.process-modal-close{border:1px solid var(--border);width:34px;height:34px;color:var(--text3);cursor:pointer;background:#fff;border-radius:10px;font-size:22px;line-height:1}.process-modal-close:hover{color:var(--orange);border-color:var(--orange)}.process-modal-body{padding:18px 22px 8px}.process-modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 22px 20px;display:flex}.track-editor-list{gap:12px;display:grid}.track-editor-row{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;display:grid}.track-editor-code{color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.track-editor-fields{gap:8px;display:grid}.log-e{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:8px}.log-e:last-child{border:none;margin:0;padding:0}.log-m{align-items:center;gap:6px;margin-bottom:2px;display:flex}.log-ts{font-family:DM Mono,monospace;font-size:var(--fs-xs);color:var(--text3)}.log-u{font-size:var(--fs-sm);color:var(--navy);font-weight:600}.log-f{font-size:var(--fs-sm);color:var(--text2)}.log-o{color:var(--red-txt);font-size:var(--fs-sm);text-decoration:line-through}.log-nw{color:var(--green-txt);font-weight:600;font-size:var(--fs-sm)}.spf{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;gap:8px;padding:12px 16px;display:flex}.footer-status{flex:1;align-items:center;display:flex}.btn-p{background:var(--navy);color:#fff;border-radius:var(--r);font-size:var(--fs-base);cursor:pointer;border:none;flex:1;padding:9px;font-family:"Source Sans 3",Source Sans Pro,sans-serif;font-weight:600;transition:background .15s}.btn-p:not(:disabled):hover{background:var(--navy2);color:#fff}.btn-s{color:var(--text2);border:1px solid var(--border2);border-radius:var(--r);font-size:var(--fs-base);cursor:pointer;background:0 0;padding:9px 16px;font-family:"Source Sans 3",Source Sans Pro,sans-serif;transition:all .15s}.btn-s:not(:disabled):hover{border-color:var(--navy);color:var(--navy)}.btn-p:disabled,.btn-s:disabled{opacity:.58;cursor:not-allowed}.updated-flash{border-left:3px solid var(--orange);background:#e1492414}.toast{z-index:999;background:var(--navy);color:#fff;border-radius:var(--rl);font-size:var(--fs-base);border-left:3px solid var(--orange);opacity:0;pointer-events:none;padding:10px 18px;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1);position:fixed;bottom:24px;right:24px;transform:translateY(8px);box-shadow:0 4px 20px #1d264540}.toast.show{opacity:1;transform:translateY(0)}.role-tbl{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.role-tbl thead th{z-index:2;background:var(--navy);color:#ffffffd9;text-align:left;font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding:9px 14px;font-weight:600;position:sticky;top:0}.role-tbl tbody tr{border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.role-tbl tbody tr:hover td{background:#ebf0fb}.role-tbl tbody td{vertical-align:middle;padding:9px 14px}.vw{color:var(--orange);font-size:var(--fs-base);margin-left:3px}.adot2{border-radius:50%;width:8px;height:8px;display:inline-block}.dot-on{background:#388a1c}.dot-off{background:var(--text3)}.tb2{font-size:var(--fs-xs);border-radius:10px;padding:2px 7px}.t-act{color:#0d47a1;background:#e3f2fd}.t-role{color:#4a148c;background:#f3e5f5}.t-ar{color:#1b5e20;background:#e8f5e9}.log-tbl{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.log-tbl thead th{z-index:2;background:var(--navy);color:#ffffffd9;text-align:left;font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding:9px 14px;font-weight:600;position:sticky;top:0}.log-tbl tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.log-tbl tbody tr:hover td{background:#ebf0fb}.log-tbl tbody td{vertical-align:middle;padding:9px 14px}.wbox{border-radius:var(--r);font-size:var(--fs-sm);color:#5d4037;background:#fff8e1;border:1px solid #ffd54f;border-left:3px solid #ffb300;margin-bottom:8px;padding:8px 10px;line-height:1.4}.ckr{font-size:var(--fs-base);color:var(--text2);cursor:pointer;align-items:center;gap:7px;display:flex}.ckr input[type=checkbox]{accent-color:var(--navy);cursor:pointer;width:14px;height:14px}.cnt{background:var(--orange);color:#fff;font-size:var(--fs-xs);border-radius:20px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;font-weight:700;display:inline-flex}.flex-row{gap:4px;display:flex}.flex-col{flex-direction:column;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.m-0{margin:0}.mb-4{margin-bottom:4px}.min-w-0{min-width:0}.min-h-44{min-height:44px}.w-70{width:70px}.w-160{width:160px}.w-200{width:200px}.w-120{width:120px}.w-110{width:110px}.w-140{width:140px}.w-90{width:90px}.w-full{width:100%}.spanel-header-content{min-width:0}.step-hdr-cell{font-size:var(--fs-sm);color:var(--navy);border-bottom:1px solid var(--border);background:#1d264508;padding:4px 8px 4px 28px;font-weight:600}.step-hdr-content{justify-content:space-between;align-items:center;gap:12px;min-height:28px;display:flex}.step-hdr-title{align-items:center;min-width:0;display:flex}.step-id{font-family:DM Mono,monospace;font-size:var(--fs-xs);color:var(--orange);margin-right:6px}.step-count{font-size:var(--fs-xs);color:var(--text3);margin-left:6px;font-weight:400}.step-hdr-actions{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.step-action-btn{border:1px solid var(--border2);background:var(--surface);color:var(--text2);cursor:pointer;border-radius:5px;align-items:center;gap:5px;padding:5px 10px;font-family:inherit;font-size:11px;font-weight:600;line-height:1;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.step-action-btn:not(:disabled):hover{background:var(--bg2);border-color:var(--navy);color:var(--navy);box-shadow:0 1px 4px #1d26451f}.step-action-danger:not(:disabled):hover{background:var(--orange-dim);border-color:var(--orange);color:var(--orange)}.page-state{color:var(--text2);font-size:var(--fs-md);padding:32px}.page-state-error{border-radius:var(--r);color:var(--orange);background:#fff4f2;border:1px solid #e1492433;align-items:center;gap:10px;margin:12px;padding:14px 16px;display:flex}.page-state-panel{padding:24px 16px}.page-state-cell{text-align:center;color:var(--text3);padding:32px 14px}.muted-empty{color:var(--text3);font-size:var(--fs-sm)}.section-hint{color:var(--text3);font-size:var(--fs-sm);line-height:1.4}.readonly-note-block{border:1px solid var(--border);background:var(--bg);min-height:44px;color:var(--text2);font-size:var(--fs-sm);white-space:pre-wrap;border-radius:12px;padding:12px 14px;line-height:1.55}.error-text{color:var(--orange);font-size:var(--fs-sm);font-weight:600}.log-values{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.log-arrow{color:var(--text3);font-size:var(--fs-sm)}.inline-link-btn{color:var(--navy);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;transition:color .12s}.inline-link-btn:not(:disabled):hover{color:var(--orange)}.log-date-input{width:150px;height:32px;padding:0 10px;font-size:12px}.date-range-arrow{color:var(--text3);font-size:var(--fs-sm)}.tree-huvud{border-radius:var(--r);border:1px solid var(--border);margin:0 8px 6px;overflow:hidden}.tree-huvud-hdr{background:var(--navy);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;padding:8px 12px;font-size:11px;font-weight:700;display:flex}.tree-huvud-hdr:hover{background:var(--navy2)}.tree-chevron{opacity:.5;margin-left:auto;font-size:10px;transition:transform .15s}.tree-huvud-hdr.open .tree-chevron{transform:rotate(90deg)}.tree-huvud-body{background:var(--surface);display:none}.tree-huvud-body.open{display:block}.tree-avd{border-top:1px solid var(--border)}.tree-avd-hdr{background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text2);align-items:center;gap:8px;padding:7px 12px 7px 22px;font-size:11px;font-weight:600;display:flex}.tree-avd-hdr:hover{background:var(--bg2);color:var(--text)}.tree-avd-hdr.open .tree-chevron{transform:rotate(90deg)}.tree-avd-body{display:none}.tree-avd-body.open{display:block}.tree-func-hdr{letter-spacing:.06em;text-transform:uppercase;color:var(--text3);background:var(--surface);border-top:1px solid var(--border);align-items:center;gap:6px;padding:5px 12px 5px 36px;font-size:10px;font-weight:600;display:flex}.tree-role-row{cursor:pointer;border-top:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;padding:7px 12px 7px 48px;transition:background .1s;display:flex}.tree-role-row:hover{background:#ebf0fb}.tree-role-row.sel{background:#dce8f8}.tree-role-code{color:var(--navy);flex-shrink:0;min-width:60px;font-family:DM Mono,monospace;font-size:10px;font-weight:500}.tree-role-name{color:var(--text);flex:1;font-size:12px;font-weight:600}.tree-role-desc{color:var(--text3);white-space:nowrap;text-overflow:ellipsis;flex:2;font-size:11px;overflow:hidden}.tree-role-badges{flex-shrink:0;gap:4px;display:flex}.tree-badge-warn{background:var(--yellow-bg);color:var(--yellow-txt);border-radius:3px;padding:1px 5px;font-size:9px;font-weight:600}.tree-badge-off{background:var(--red-bg);color:var(--red-txt);border-radius:3px;padding:1px 5px;font-size:9px;font-weight:600}
