:root{font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;color:#1a3553;background:#f4f8fc;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #0c315d;--primary: #1677e8;--primary-dark: #0c5ead;--cyan: #23b9df;--text: #183552;--muted: #73869a;--line: #e4ecf4;--soft: #f5f8fb;--shadow: 0 10px 30px rgba(23, 65, 104, .07)}*{box-sizing:border-box}html,body,#app{min-width:1180px;min-height:100%;margin:0}body{margin:0;background:#f4f8fc;color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.login-page{position:fixed;inset:0;min-width:320px;min-height:620px;overflow:hidden;color:#234b77}.login-background{position:absolute;inset:0;background:url(/login-assets/background-4k.png) center/cover no-repeat}.login-background:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.06),transparent 55%,rgba(226,244,255,.08))}.login-brand{position:absolute;left:7.4vw;top:9.4vh;display:flex;align-items:center;gap:clamp(22px,1.8vw,36px)}.login-brand img{width:clamp(96px,6.6vw,138px);height:clamp(96px,6.6vw,138px);border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.9);box-shadow:0 10px 28px #1969ae24}.login-brand h1,.login-brand p{margin:0;color:#123f78;white-space:nowrap;text-shadow:0 2px 0 rgba(255,255,255,.75)}.login-brand h1{font-size:clamp(40px,2.92vw,60px);line-height:1.05;font-weight:800}.login-brand p{margin-top:8px;font-size:clamp(35px,2.55vw,52px);line-height:1.18;font-weight:760}.login-meta{position:absolute;right:5vw;top:4.35vh;display:flex;align-items:center;gap:12px;font-size:clamp(15px,.95vw,20px);font-weight:650;color:#244c7c}.login-meta i{width:1px;height:24px;margin:0 8px;background:#9abbd9}.login-meta .sun{color:#ff9300;font-size:25px;margin-right:-6px}.login-card{position:absolute;right:8vw;top:25vh;width:clamp(480px,30.5vw,625px);min-height:clamp(460px,48vh,530px);padding:clamp(38px,4.8vh,52px) clamp(32px,2.1vw,44px) 30px;border:1.5px solid rgba(62,167,231,.48);border-radius:clamp(24px,1.6vw,32px);background:linear-gradient(145deg,#fffc,#f6fcffb3);box-shadow:0 20px 48px #2c71a721,inset 0 1px #ffffffeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-input{height:clamp(60px,6.4vh,70px);margin-bottom:clamp(17px,2vh,21px);padding:0 clamp(17px,1.1vw,23px);display:flex;align-items:center;gap:clamp(15px,1.15vw,23px);color:#87a6c7;border:1.5px solid #c6d9ea;border-radius:12px;background:#ffffffbf;transition:.2s}.login-input:focus-within{border-color:#3da2ee;box-shadow:0 0 0 3px #1677e817}.login-input.invalid{border-color:#e66868}.login-input input{min-width:0;height:100%;flex:1;border:0;outline:0;background:transparent;color:#345a85;font-size:clamp(18px,1.08vw,22px)}.login-input input::placeholder{color:#8aa1bd}.login-input button{width:40px;height:40px;display:grid;place-items:center;border:0;background:transparent;color:#86a5c6}.login-options{height:36px;margin:-1px 2px clamp(16px,1.9vh,20px);display:flex;align-items:center;justify-content:space-between;font-size:clamp(15px,.9vw,18px);font-weight:600}.login-options label{display:flex;align-items:center;gap:10px}.login-options input{width:20px;height:20px;accent-color:var(--primary)}.login-options button{border:0;background:transparent;color:#0c82ed;font-weight:650}.login-error{height:20px;margin:-13px 2px 5px;color:#d74f4f;font-size:13px}.login-notice{min-height:20px;margin:-13px 2px 5px;color:#14834b;font-size:14px}.login-password-notice{margin:-9px 0 22px;padding:14px 16px;display:flex;flex-direction:column;gap:5px;border-radius:10px;color:#285a87;background:#1e91f117}.login-password-notice strong{font-size:18px}.login-password-notice span{font-size:14px;line-height:1.55}.login-submit{width:100%;height:clamp(62px,6.7vh,72px);display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:12px;color:#fff;font-size:clamp(22px,1.3vw,27px);font-weight:750;letter-spacing:2px;background:linear-gradient(90deg,#28bce9,#1e91f1 50%,#1676e8);box-shadow:0 12px 25px #1882e433}.login-submit:disabled{opacity:.75;cursor:wait}.spinning{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-security{margin:clamp(22px,2.7vh,29px) 0 0;display:flex;align-items:center;justify-content:center;gap:10px;color:#7b97b4;font-size:clamp(14px,.82vw,17px);white-space:nowrap}.login-features{position:absolute;left:7.55vw;bottom:10.7vh;display:flex;gap:clamp(14px,1.05vw,22px)}.login-features article{height:clamp(68px,7.25vh,80px);min-width:clamp(190px,11.35vw,232px);padding:0 clamp(20px,1.35vw,28px);display:flex;align-items:center;gap:15px;border:1px solid rgba(100,172,224,.34);border-radius:17px;background:#ffffffb8;box-shadow:0 12px 30px #3986bf1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#173f72;font-size:clamp(20px,1.25vw,25px)}.login-features article span{font-size:33px;line-height:1}.feature-blue{color:#087ee6}.feature-orange{color:#ff8500}.admin-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr);transition:grid-template-columns .2s}.admin-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;z-index:30;display:flex;flex-direction:column;overflow:hidden;color:#d9e8f8;background:linear-gradient(180deg,#0c3e70,#0a315c 58%,#092a50);box-shadow:4px 0 20px #03264914}.sidebar-brand{height:76px;flex:none;display:flex;align-items:center;gap:12px;padding:0 19px;border-bottom:1px solid rgba(255,255,255,.08);background:#031f3d26}.sidebar-brand img{width:42px;height:42px;flex:none;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.82)}.sidebar-brand-copy{min-width:0;display:flex;flex-direction:column;line-height:1.2;white-space:nowrap}.sidebar-brand-copy strong{color:#fff;font-size:17px;letter-spacing:1px}.sidebar-brand-copy span{margin-top:4px;color:#a9c9e9;font-size:12px;letter-spacing:2px}.sidebar-nav{padding:13px 11px 20px;overflow-y:auto;scrollbar-width:none}.sidebar-link,.nav-group-title{width:100%;height:43px;padding:0 13px;display:flex;align-items:center;gap:12px;border:0;border-radius:8px;background:transparent;color:#bfd5eb;font-size:14px;font-weight:600;text-align:left;white-space:nowrap}.sidebar-link.router-link-active{color:#fff;background:linear-gradient(90deg,#2d93f0f2,#2480dcc7);box-shadow:0 6px 14px #0020462e}.nav-group{margin-top:7px}.nav-group-title:hover,.sidebar-link:hover{background:#ffffff0f;color:#fff}.nav-group-arrow{margin-left:auto;transition:transform .2s}.nav-group-arrow.rotated{transform:rotate(-90deg)}.nav-group-items{position:relative;padding:3px 0 4px 42px}.nav-group-items:before{content:"";position:absolute;left:22px;top:4px;bottom:8px;width:1px;background:#a8cdee24}.sidebar-sub-link{min-height:35px;padding:7px 9px;display:flex;align-items:center;gap:8px;border-radius:7px;color:#9fbddb;font-size:13px}.sidebar-sub-link i{width:4px;height:4px;flex:none;border-radius:50%;background:#779abb}.sidebar-sub-link b{min-width:19px;height:18px;margin-left:auto;padding:0 5px;border-radius:9px;color:#dfefff;background:#3297ee40;font-size:10px;line-height:18px;text-align:center}.sidebar-sub-link:hover{color:#fff;background:#ffffff0d}.sidebar-sub-link.router-link-active{color:#fff;background:#248eec2b}.sidebar-sub-link.router-link-active i{background:#42b8ff;box-shadow:0 0 7px #42b8ff}.sidebar-footer{margin-top:auto;padding:12px}.security-badge{padding:12px;display:flex;gap:9px;border:1px solid rgba(95,174,238,.2);border-radius:10px;background:#1666aa2e}.security-badge>div{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:#67c7ff;background:#2a98e926}.security-badge p{margin:0;display:flex;flex-direction:column}.security-badge strong{color:#d6ebff;font-size:11px}.security-badge span{margin-top:3px;color:#7fa8cc;font-size:9px}.admin-main{min-width:0}.topbar{height:64px;position:sticky;top:0;z-index:20;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5edf5;background:#ffffffed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar-left,.topbar-actions{display:flex;align-items:center}.topbar-left{gap:18px}.topbar-actions{gap:7px}.plain-icon-button,.top-action{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:8px;color:#597086;background:transparent}.plain-icon-button:hover,.top-action:hover{background:#f0f5fa}.breadcrumb{display:flex;align-items:center;gap:7px;color:#91a0ae;font-size:13px}.breadcrumb strong{color:#40566c;font-weight:600}.global-search{width:268px;height:36px;padding:0 10px;display:flex;align-items:center;gap:7px;border:1px solid #e1e9f1;border-radius:8px;color:#91a2b3;background:#f6f9fc}.global-search input{min-width:0;flex:1;border:0;outline:0;color:#40566c;background:transparent;font-size:12px}.global-search kbd{padding:2px 5px;border:1px solid #d9e3ed;border-radius:4px;background:#fff;font-size:9px}.top-action{position:relative}.top-action.has-notice i{position:absolute;right:7px;top:7px;width:7px;height:7px;border:2px solid white;border-radius:50%;background:#ff5f5f}.user-menu-wrap{position:relative;margin-left:5px}.user-trigger{height:45px;padding:0 7px;display:flex;align-items:center;gap:9px;border:0;border-left:1px solid #e8eef4;background:transparent;color:#667b8f}.avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg,#1e8ae8,#38b9df);font-size:13px;font-weight:700}.user-copy{display:flex;flex-direction:column;align-items:flex-start}.user-copy strong{color:#29435d;font-size:12px}.user-copy small{margin-top:2px;color:#8b9cad;font-size:9px}.user-dropdown{position:absolute;right:0;top:50px;width:146px;padding:6px;border:1px solid #e2eaf2;border-radius:9px;background:#fff;box-shadow:var(--shadow)}.user-dropdown button{width:100%;padding:9px;display:flex;align-items:center;gap:8px;border:0;border-radius:6px;background:transparent;color:#536b82;font-size:12px;text-align:left}.user-dropdown button:hover{background:#f2f7fb}.page-content{padding:22px 24px 28px}.page-heading{margin-bottom:19px;display:flex;align-items:flex-end;justify-content:space-between}.page-heading h1{margin:2px 0 6px;color:#173b61;font-size:24px;line-height:1.2}.page-heading>div>span{color:#7a8da0;font-size:12px}.page-heading b{color:#1677e8}.eyebrow{margin:0;color:#7290ac;font-size:10px;font-weight:650;letter-spacing:.8px;text-transform:uppercase}.primary-button,.secondary-button{min-height:36px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:7px;font-size:12px;font-weight:650}.primary-button{border:1px solid #1677e8;color:#fff;background:linear-gradient(135deg,#1a82ed,#126dd8);box-shadow:0 5px 12px #1877da2b}.primary-button:hover{filter:brightness(1.04)}.secondary-button{border:1px solid #d9e4ee;color:#4f6981;background:#fff}.panel{border:1px solid #e5edf4;border-radius:11px;background:#fff;box-shadow:0 5px 20px #23476c09}.panel-header{min-height:61px;padding:14px 17px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #edf2f6}.panel-header h2{margin:0;color:#24425f;font-size:14px}.panel-header p{margin:4px 0 0;color:#91a0af;font-size:10px}.text-button{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:#2780d5;font-size:10px}.dashboard-heading{align-items:center}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.metric-card{min-height:104px;padding:18px;position:relative;display:flex;align-items:flex-start;gap:13px;border:1px solid #e4ecf4;border-radius:11px;background:#fff;box-shadow:0 5px 18px #1b416609}.metric-icon{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:11px}.metric-icon.blue{color:#1d7be2;background:#eaf3ff}.metric-icon.cyan{color:#17a9cb;background:#e5f9fc}.metric-icon.orange{color:#f18a22;background:#fff3e5}.metric-icon.violet{color:#8067e6;background:#f0edff}.metric-copy{display:flex;flex-direction:column}.metric-copy span{color:#7a8da0;font-size:11px}.metric-copy strong{margin-top:5px;color:#1c405f;font-size:20px;letter-spacing:-.4px}.metric-copy small{margin-top:5px;color:#91a1b0;font-size:9px}.metric-chip{position:absolute;right:15px;top:16px;padding:3px 7px;border-radius:10px;font-size:9px}.metric-chip.blue{color:#1876d5;background:#edf5ff}.metric-chip.cyan{color:#1592ad;background:#e8f9fb}.metric-chip.orange{color:#e07d1d;background:#fff4e9}.metric-chip.violet{color:#7157db;background:#f1eeff}.dashboard-grid{margin-top:14px;display:grid;gap:14px}.dashboard-grid-main{grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr)}.trend-panel,.budget-panel{min-height:285px}.segmented{padding:3px;border-radius:7px;background:#f2f6fa}.segmented button{padding:5px 11px;border:0;border-radius:5px;color:#8293a3;background:transparent;font-size:9px}.segmented button.active{color:#216fb8;background:#fff;box-shadow:0 2px 6px #1d466e14}.chart-wrap{height:216px;padding:18px 18px 10px;display:flex;gap:10px}.chart-y{height:168px;display:flex;flex-direction:column;justify-content:space-between;color:#a1afbd;font-size:8px}.bar-chart{min-width:0;height:190px;flex:1;display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid #e9eff5;background:repeating-linear-gradient(to bottom,#eef3f7 0,#eef3f7 1px,transparent 1px,transparent 34px)}.bar-column{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.bar-value{width:min(22px,60%);min-height:5px;position:relative;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,#37b5ea,#1d75dd);box-shadow:inset 0 1px #ffffff40;transition:.2s}.bar-value:hover{filter:brightness(1.08)}.bar-value span{position:absolute;left:50%;top:-15px;transform:translate(-50%);color:#62809c;font-size:8px;opacity:0}.bar-value:hover span{opacity:1}.bar-column small{color:#93a3b2;font-size:8px}.budget-content{padding:23px 22px 17px;display:flex;align-items:center;justify-content:center;gap:28px}.budget-ring{width:126px;height:126px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#1680e8 0 54%,#28b8df 54% 64%,#e9f0f5 64%)}.budget-ring:before{content:"";position:absolute;width:91px;height:91px;border-radius:50%;background:#fff}.budget-ring div{z-index:1;display:flex;flex-direction:column;align-items:center}.budget-ring strong{color:#1d4569;font-size:21px}.budget-ring span{color:#8a9aaa;font-size:9px}.budget-legend{min-width:130px}.budget-legend p{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;margin:12px 0;font-size:9px}.budget-legend p i{width:7px;height:7px;border-radius:50%}.blue-dot{background:#1680e8}.cyan-dot{background:#28b8df}.gray-dot{background:#dfe8ef}.budget-legend p span{color:#7e909f}.budget-legend p strong{color:#31506c;font-size:10px}.budget-footer{margin:0 20px;padding:10px 3px;display:flex;align-items:center;gap:7px;border-top:1px dashed #e1e9f0;color:#8092a2;font-size:10px}.budget-footer strong{margin-left:auto;color:#294a68;font-size:12px}.dashboard-grid-bottom{grid-template-columns:minmax(0,1.65fr) minmax(340px,.85fr);align-items:start}.task-panel{min-height:435px}.task-row{min-height:79px;padding:11px 16px;display:grid;grid-template-columns:38px minmax(0,1fr) 95px 58px;align-items:center;gap:11px;border-bottom:1px solid #f0f3f6}.task-row:last-child{border:0}.task-type-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;color:#2682db;background:#eaf4ff}.task-main p{margin:0 0 3px;display:flex;align-items:center;gap:8px}.task-main p b{color:#277acb;font-size:9px}.task-main p span{color:#a0adba;font-size:8px}.task-main>strong{display:block;color:#304b65;font-size:11px;font-weight:650}.task-main small{color:#94a3b1;font-size:8px}.task-amount{text-align:right}.task-amount strong{display:block;color:#29465f;font-size:10px}.task-amount span{display:inline-block;margin-top:6px;padding:2px 6px;border-radius:8px;color:#688097;background:#f1f4f7;font-size:8px}.task-amount span.紧急{color:#db4f4f;background:#fff0f0}.task-amount span.关注{color:#e17c18;background:#fff4e8}.task-action{display:flex;align-items:center;gap:3px;border:0;background:transparent;color:#257bcf;font-size:9px}.side-stack{display:grid;gap:14px}.quick-panel{min-height:180px}.quick-grid{padding:12px;display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.quick-grid button{min-height:44px;padding:7px 8px;display:flex;align-items:center;gap:7px;border:1px solid #edf1f5;border-radius:8px;color:#526c83;background:#fafcfd;font-size:9px;text-align:left}.quick-grid button:hover{border-color:#cfe3f5;background:#f3f9ff}.quick-grid span{width:27px;height:27px;display:grid;place-items:center;flex:none;border-radius:7px}.quick-grid .blue{color:#267bd5;background:#eaf4ff}.quick-grid .cyan{color:#149bb9;background:#e6f8fa}.quick-grid .violet{color:#755ddb;background:#f0edff}.quick-grid .orange{color:#e98620;background:#fff2e5}.quick-grid .green{color:#28a16a;background:#eaf8f1}.alert-panel{min-height:240px}.alert-panel .panel-header>b{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;color:#e35858;background:#fff0f0;font-size:9px}.alert-list{padding:5px 13px}.alert-row{min-height:55px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #f0f3f6}.alert-row:last-child{border:0}.alert-row>span{width:31px;height:31px;display:grid;place-items:center;flex:none;border-radius:8px}.alert-row>span.danger{color:#e05c5c;background:#fff0f0}.alert-row>span.warning{color:#e28727;background:#fff4e6}.alert-row>span.blue{color:#2b80d3;background:#eaf4ff}.alert-row p{margin:0;display:flex;flex-direction:column}.alert-row strong{color:#405970;font-size:9px}.alert-row small{margin-top:4px;color:#94a3b1;font-size:8px}.system-status{margin-top:13px;padding:0 4px;display:flex;align-items:center;gap:8px;color:#8a9baa;font-size:9px}.system-status svg{color:#24a66c}.system-status i{width:3px;height:3px;margin:0 5px;border-radius:50%;background:#b7c4ce}.permission-summary{margin-bottom:14px;display:grid;grid-template-columns:repeat(4,minmax(120px,.65fr)) minmax(300px,1.55fr);gap:10px}.permission-summary>article,.summary-rule{min-height:72px;padding:13px;display:flex;align-items:center;gap:10px;border:1px solid #e4ecf4;border-radius:10px;background:#fff}.summary-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:10px}.summary-icon.blue{color:#267cda;background:#eaf4ff}.summary-icon.cyan{color:#16a2bf;background:#e7f8fb}.summary-icon.orange{color:#e88624;background:#fff2e5}.summary-icon.violet{color:#765ee0;background:#f0edff}.permission-summary p,.summary-rule p{margin:0;display:flex;flex-direction:column}.permission-summary article strong{color:#264663;font-size:20px}.permission-summary small{margin-top:2px;color:#8d9dac;font-size:9px}.summary-rule{border-color:#cfe3f4;background:linear-gradient(135deg,#f2f9ff,#f7fbff);color:#267cc9}.summary-rule strong{color:#24537b;font-size:11px}.summary-rule span{margin-top:5px;color:#7390aa;font-size:9px}.role-workspace{height:calc(100vh - 225px);min-height:660px;display:grid;grid-template-columns:286px minmax(700px,1fr);border:1px solid #e3ebf3;border-radius:11px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.role-list-panel{min-width:0;display:flex;flex-direction:column;border-right:1px solid #e6edf4;background:#fbfcfe}.role-list-panel>header{height:58px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9eff5}.role-list-panel header div{display:flex;align-items:baseline;gap:7px}.role-list-panel h2{margin:0;color:#294760;font-size:13px}.role-list-panel header span{color:#98a7b5;font-size:9px}.role-list-panel header button{border:0;background:transparent;color:#8798a8}.role-search{height:34px;margin:11px 12px 8px;padding:0 9px;display:flex;align-items:center;gap:6px;border:1px solid #dfe8f0;border-radius:7px;color:#98a8b6;background:#fff}.role-search input{min-width:0;flex:1;border:0;outline:0;font-size:9px}.role-categories{padding:0 11px 8px;display:flex;gap:4px;overflow-x:auto}.role-categories button{padding:4px 7px;flex:none;border:1px solid transparent;border-radius:10px;color:#8091a0;background:transparent;font-size:8px}.role-categories button.active{border-color:#cfe3f6;color:#1975cc;background:#edf6ff}.role-list{flex:1;overflow-y:auto}.role-list-item{width:100%;min-height:62px;padding:9px 11px;position:relative;display:flex;align-items:center;gap:9px;border:0;border-top:1px solid #edf2f6;color:#667d91;background:transparent;text-align:left}.role-list-item:hover{background:#f3f8fc}.role-list-item.selected{background:#edf6ff}.role-list-item.selected:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:#2183df}.role-avatar{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:9px;color:#417ba8;background:#e9f2f8}.role-avatar.审批角色{color:#7e62d9;background:#f1edff}.role-avatar.监管角色{color:#e18425;background:#fff1e2}.role-avatar.系统角色{color:#1b88a3;background:#e5f6f8}.role-list-item p{min-width:0;margin:0;display:flex;flex:1;flex-direction:column}.role-list-item p strong{overflow:hidden;color:#36536e;font-size:10px;white-space:nowrap;text-overflow:ellipsis}.role-list-item p strong i{margin-left:5px;padding:1px 4px;border-radius:5px;color:#dd6f1f;background:#fff1e5;font-size:7px;font-style:normal}.role-list-item p small{margin-top:4px;color:#9aa8b5;font-size:8px}.role-status{flex:none;color:#31a072;font-size:7px}.role-status.待复核{color:#e1821f}.role-status.已停用{color:#95a1ab}.empty-state{padding:50px 10px;color:#9aa9b7;font-size:10px;text-align:center}.role-detail-panel{min-width:0;overflow-y:auto;background:#fff}.role-detail-header{min-height:72px;padding:12px 17px;position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8eef4;background:#fffffff5}.role-title{display:flex;align-items:center;gap:11px}.detail-shield{width:43px;height:43px;display:grid;place-items:center;border-radius:11px;color:#227fd6;background:#eaf4ff}.role-title p{margin:0;display:flex;align-items:center;gap:8px}.role-title h2{margin:0;color:#264660;font-size:15px}.role-title small{color:#8b9dab;font-size:9px}.status-pill{padding:2px 7px;border-radius:8px;color:#269268;background:#eaf8f1;font-size:7px}.role-detail-actions{display:flex;gap:6px}.role-detail-actions button{height:31px;padding:0 9px;display:flex;align-items:center;gap:5px;border:1px solid #dfe7ef;border-radius:6px;color:#637a8e;background:#fff;font-size:9px}.role-meta-grid{margin:14px 16px 0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e7edf3;border-radius:8px;overflow:hidden}.role-meta-grid div{min-height:55px;padding:11px 13px;display:flex;flex-direction:column;border-right:1px solid #e7edf3}.role-meta-grid div:last-child{border:0}.role-meta-grid span{color:#93a2af;font-size:8px}.role-meta-grid strong{margin-top:6px;color:#3d586f;font-size:10px}.scope-editor,.permission-editor{margin:14px 16px 0;border:1px solid #e4ecf3;border-radius:9px;overflow:hidden}.section-title{min-height:53px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ebf0f5;background:#fbfcfd}.section-title>div{display:flex;align-items:center;gap:9px;color:#3b80bd}.section-title p{margin:0;display:flex;flex-direction:column}.section-title strong{color:#36536b;font-size:10px}.section-title span{margin-top:3px;color:#95a4b2;font-size:8px}.section-title>button{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:#267bcb;font-size:8px}.scope-options{padding:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.scope-options label{min-height:55px;padding:9px;display:flex;align-items:flex-start;gap:7px;border:1px solid #e5ecf2;border-radius:7px;background:#fff}.scope-options label:has(input:checked){border-color:#65a8e7;background:#f2f8ff;box-shadow:inset 0 0 0 1px #d3e8fb}.scope-options input{margin:2px 0 0;accent-color:#1c7ede}.scope-options span{display:flex;flex-direction:column}.scope-options b{color:#405a71;font-size:9px}.scope-options small{margin-top:4px;color:#91a0ae;font-size:7px;line-height:1.4}.permission-title{position:sticky;top:72px;z-index:3}.permission-search{width:150px;height:29px;padding:0 8px;display:flex;align-items:center;gap:5px;border:1px solid #e0e8ef;border-radius:6px;color:#99a7b3;background:#fff}.permission-search input{min-width:0;flex:1;border:0;outline:0;font-size:8px}.permission-groups{padding:9px;background:#f8fafc}.permission-group{margin-bottom:7px;border:1px solid #e2eaf1;border-radius:7px;overflow:hidden;background:#fff}.permission-group:last-child{margin-bottom:0}.permission-group-header{width:100%;min-height:46px;padding:8px 11px;display:flex;align-items:center;gap:8px;border:0;background:#fff;text-align:left}.module-check{width:19px;height:19px;display:grid;place-items:center;border-radius:5px;color:#fff;background:#2382dd}.permission-group-header p{margin:0;flex:1;display:flex;flex-direction:column}.permission-group-header strong{color:#3b566e;font-size:9px}.permission-group-header small{margin-top:2px;color:#9aa8b4;font-size:7px}.permission-group-header>b{color:#6e8498;font-size:8px}.permission-group-header>svg{color:#92a2b0;transition:.2s}.permission-group-header>svg.rotated{transform:rotate(-90deg)}.permission-items{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #edf1f5}.permission-items>label{min-height:61px;padding:10px 12px;position:relative;display:flex;align-items:flex-start;gap:8px;border-right:1px solid #edf1f5;border-bottom:1px solid #edf1f5;background:#fff}.permission-items>label:nth-child(2n){border-right:0}.permission-items>label.locked{background:#fafbfc}.permission-items input{position:absolute;opacity:0;pointer-events:none}.custom-check{width:17px;height:17px;margin-top:1px;display:grid;place-items:center;flex:none;border:1px solid #cad7e2;border-radius:4px;color:transparent;background:#fff}.permission-items input:checked+.custom-check{border-color:#2582dc;color:#fff;background:#2582dc}.permission-items label.locked .custom-check{border-color:#e0e5ea;background:#edf0f3}.permission-items p{min-width:0;margin:0;flex:1;display:flex;flex-direction:column}.permission-items p strong{color:#405b73;font-size:9px}.permission-items p strong i{margin-left:4px;padding:1px 4px;border-radius:4px;color:#db731e;background:#fff0e4;font-size:6px;font-style:normal}.permission-items p strong i.hard{color:#778895;background:#edf1f4}.permission-items p small{margin-top:3px;color:#97a5b1;font-size:7px}.permission-items p code{margin-top:5px;color:#9aabb9;font-size:7px}.permission-items>label>svg{color:#9ba9b5}.role-footer{min-height:64px;margin-top:14px;padding:11px 17px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e5edf3;background:#fbfcfd}.role-footer p{margin:0;display:flex;align-items:center;gap:6px;color:#8a9aa8;font-size:8px}.role-footer p svg{color:#e48a2f}.role-footer div{display:flex;gap:7px}.success-toast{position:fixed;right:24px;bottom:24px;z-index:80;max-width:430px;padding:12px 16px;display:flex;align-items:center;gap:9px;border:1px solid #bfe7d3;border-radius:8px;color:#257650;background:#f0fbf5;box-shadow:0 10px 30px #1b553b26;font-size:11px}.toast-enter-active,.toast-leave-active{transition:.2s}.toast-enter-from,.toast-leave-to{transform:translateY(10px);opacity:0}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#0b233b70;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.role-modal{width:520px;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 24px 60px #051c3440}.role-modal>header{min-height:67px;padding:13px 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7edf3}.role-modal header>div{display:flex;align-items:center;gap:10px}.role-modal header>div>span{width:37px;height:37px;display:grid;place-items:center;border-radius:9px;color:#207bd2;background:#eaf4ff}.role-modal header p{margin:0}.role-modal header h2{margin:0;color:#2c4a65;font-size:14px}.role-modal header small{color:#91a0ae;font-size:8px}.role-modal header>button{border:0;background:transparent;color:#8293a2}.modal-body{padding:17px;display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.modal-body>label{display:flex;flex-direction:column;gap:6px}.modal-body>label:nth-child(4){grid-column:1/-1}.modal-body label>span{color:#566e83;font-size:9px}.modal-body label>span b{color:#e05252}.modal-body input,.modal-body select,.modal-body textarea{width:100%;padding:9px 10px;border:1px solid #dce6ee;border-radius:7px;outline:0;color:#38536b;background:#fff;font-size:10px}.modal-body textarea{resize:vertical}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{border-color:#5aa3e4;box-shadow:0 0 0 3px #1f80d914}.modal-note{grid-column:1/-1;padding:10px;display:flex;gap:8px;border:1px solid #f0ddc5;border-radius:7px;color:#d27a22;background:#fff8ef}.modal-note p{margin:0;display:flex;flex-direction:column}.modal-note strong{color:#9f601f;font-size:9px}.modal-note span{margin-top:4px;color:#a77c4f;font-size:8px;line-height:1.5}.role-modal>footer{padding:11px 17px;display:flex;justify-content:flex-end;gap:7px;border-top:1px solid #e8eef3;background:#fafcfd}.module-stat-grid{margin-bottom:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.module-stat-grid article{min-height:84px;padding:15px;display:flex;flex-direction:column;border:1px solid #e4ecf4;border-radius:10px;background:#fff}.module-stat-grid span{color:#7d8fa0;font-size:10px}.module-stat-grid strong{margin-top:5px;color:#244662;font-size:20px}.module-stat-grid small{margin-top:3px;color:#98a7b5;font-size:8px}.module-table-panel{overflow:hidden}.module-toolbar{min-height:58px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9eff4}.table-tabs{display:flex;gap:5px}.table-tabs button{padding:7px 11px;border:0;border-radius:6px;color:#778b9e;background:transparent;font-size:9px}.table-tabs button.active{color:#1d76ca;background:#eaf4ff}.toolbar-actions{display:flex;gap:6px}.toolbar-actions label{width:200px;height:31px;padding:0 8px;display:flex;align-items:center;gap:6px;border:1px solid #dfe8ef;border-radius:6px;color:#98a6b2}.toolbar-actions input{min-width:0;flex:1;border:0;outline:0;font-size:8px}.toolbar-actions>button{height:31px;padding:0 9px;display:flex;align-items:center;gap:5px;border:1px solid #dfe7ee;border-radius:6px;color:#637b8f;background:#fff;font-size:8px}.business-row{min-height:56px;padding:0 14px;display:grid;grid-template-columns:145px minmax(180px,1.3fr) minmax(130px,1fr) 70px 95px 75px 90px 96px;align-items:center;gap:8px;border-bottom:1px solid #edf2f6;color:#5c7286;font-size:9px}.business-row.table-head{min-height:39px;color:#8293a2;background:#f7f9fb;font-size:8px}.business-row>strong{color:#2776bd;font-size:9px}.business-row>b{color:#324f68}.business-title{color:#354f67;font-weight:600}.business-row>button{border:0;background:transparent;color:#8a9baa}.business-row>.table-preview-button{width:88px;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d2e1ee;border-radius:7px;color:#2e668f;background:#fff;white-space:nowrap}.business-status{padding:3px 7px;border-radius:9px;color:#267acc;background:#eaf4ff;font-size:8px;font-style:normal}.business-status.已通过,.business-status.已入库{color:#299269;background:#eaf8f1}.business-status.退回修改{color:#dc7620;background:#fff1e6}.table-pagination{min-height:53px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;color:#8c9ba8;font-size:8px}.table-pagination div{display:flex;gap:4px}.table-pagination button{min-width:27px;height:27px;border:1px solid #e0e8ef;border-radius:5px;color:#657b8f;background:#fff;font-size:8px}.table-pagination button.active{border-color:#247fd8;color:#fff;background:#247fd8}.functional-module .page-heading{align-items:center}.module-notice,.module-error{min-height:40px;margin:0 0 12px;padding:0 12px;display:flex;align-items:center;gap:8px;border:1px solid #bfe6d2;border-radius:8px;color:#277c59;background:#effaf4;font-size:11px}.module-error{border-color:#f0c8c8;color:#bc4f4f;background:#fff4f4}.module-notice button,.module-error button{margin-left:auto;border:0;color:inherit;background:transparent}.table-tabs select{height:31px;padding:0 26px 0 9px;border:1px solid #dfe7ee;border-radius:6px;color:#60778b;background:#fff;font-size:9px}.toolbar-actions button:disabled,.table-pagination button:disabled{opacity:.5;cursor:not-allowed}.module-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#8b9bab;font-size:11px}.modal-card{width:min(720px,calc(100vw - 40px));max-height:calc(100vh - 50px);display:flex;flex-direction:column;overflow:hidden;border-radius:13px;background:#fff;box-shadow:0 24px 70px #051c3447}.modal-card>header{min-height:66px;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5edf4}.modal-card>header>div{min-width:0;display:flex;flex-direction:column}.modal-card>header strong{color:#244662;font-size:15px}.modal-card>header span{margin-top:4px;overflow:hidden;color:#8b9baa;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.modal-card>header>button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:7px;color:#7e91a3;background:transparent}.modal-card>header>button:hover{background:#f1f5f8}.modal-card>footer{min-height:58px;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #e6edf3;background:#fafcfd}.modal-card>footer>div{display:flex;gap:8px}.business-modal{width:620px}.business-form{overflow-y:auto}.business-form .full-field{grid-column:1/-1}.detail-modal{width:760px}.detail-body{display:block;overflow-y:auto}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.detail-grid p{min-height:63px;margin:0;padding:12px;display:flex;flex-direction:column;border:1px solid #e3ebf2;border-radius:8px;background:#f9fbfd}.detail-grid span,.detail-note span{margin-bottom:6px;color:#8799a8;font-size:8px}.detail-grid strong{color:#31506a;font-size:11px}.detail-note{margin:12px 0;padding:12px;display:flex;flex-direction:column;border:1px solid #e3ebf2;border-radius:8px;color:#536b80;background:#fff;font-size:10px;line-height:1.6}.history-panel{margin-top:14px}.history-panel h3{margin:0 0 10px;color:#36546d;font-size:12px}.history-panel article{min-height:66px;position:relative;display:grid;grid-template-columns:18px 1fr;gap:8px}.history-panel article:before{content:"";position:absolute;left:5px;top:12px;bottom:-5px;width:1px;background:#dce7ef}.history-panel article:last-child:before{display:none}.history-panel article>i{width:11px;height:11px;margin-top:4px;z-index:1;border:3px solid #d9ebfb;border-radius:50%;background:#2985db}.history-panel article>div{display:flex;flex-direction:column}.history-panel article strong{display:flex;align-items:center;gap:8px;color:#3c5870;font-size:10px}.history-panel article small{padding:2px 6px;border-radius:7px;color:#2778c1;background:#eaf4ff;font-size:7px}.history-panel article span{margin-top:4px;color:#91a1af;font-size:8px}.history-panel article p{margin:4px 0 0;color:#60768a;font-size:9px}.danger-button{min-height:35px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;border:1px solid #edc9c9;border-radius:7px;color:#c55252;background:#fff5f5;font-size:10px}.official-preview-panel{margin-bottom:14px;overflow:hidden;border:1px solid #d9e5ef;border-radius:10px;background:#f7fafc}.official-preview-panel>header{padding:12px 14px;border-bottom:1px solid #dfe8f0;background:#fff}.official-preview-panel>header div{display:flex;flex-direction:column;gap:4px}.official-preview-panel>header strong{color:#31516b;font-size:15px}.official-preview-panel>header span{color:#7890a4;font-size:12px}.official-preview-panel>.official-form-sheet{margin:16px auto}.approval-progress-panel{margin-top:14px;overflow:hidden;border:1px solid #dce7ef;border-radius:10px;background:#fff}.approval-progress-panel>header{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4ecf2;background:#f8fbfd}.approval-progress-panel h3,.approval-progress-panel p{margin:0}.approval-progress-panel h3{color:#31516b;font-size:16px}.approval-progress-panel header p{margin-top:5px;color:#70879a;font-size:12px}.approval-progress-panel header>i{padding:4px 9px;border-radius:10px;color:#2378c2;background:#e9f4fe;font-size:11px;font-style:normal}.approval-progress-steps{padding:6px 15px}.approval-progress-steps article{min-height:76px;position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid #edf2f6}.approval-progress-steps article:last-child{border-bottom:0}.approval-progress-steps article>b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#70879a;background:#edf2f6}.approval-progress-steps article>div{display:flex;flex-direction:column;gap:4px}.approval-progress-steps article strong{color:#3a566e;font-size:14px}.approval-progress-steps article span,.approval-progress-steps article small,.approval-progress-steps article p{color:#7c90a1;font-size:12px}.approval-progress-steps article p{margin:0}.approval-progress-steps article>i{padding:4px 8px;border-radius:9px;color:#71879a;background:#f0f4f7;font-size:11px;font-style:normal}.approval-progress-steps article.当前审批>b,.approval-progress-steps article.当前审批>i{color:#176db7;background:#e4f2ff}.approval-progress-steps article.已完成>b,.approval-progress-steps article.已完成>i{color:#22825d;background:#e7f7ef}.approval-progress-steps article.已退回>b,.approval-progress-steps article.已退回>i,.approval-progress-steps article.已拒绝>b,.approval-progress-steps article.已拒绝>i{color:#bd542f;background:#fff0e9}.heading-actions{display:flex;gap:7px}.org-summary-grid{margin-bottom:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.org-summary-grid article{min-height:72px;padding:13px 16px;display:flex;align-items:center;gap:11px;border:1px solid #e4ecf4;border-radius:10px;background:#fff}.org-summary-grid p{margin:0;display:flex;flex-direction:column}.org-summary-grid strong{color:#274762;font-size:20px}.org-summary-grid small{color:#8d9dab;font-size:9px}.organization-workspace{min-height:calc(100vh - 235px);display:grid;grid-template-columns:260px minmax(800px,1fr);overflow:hidden}.department-panel{display:flex;flex-direction:column;border-right:1px solid #e5edf4;background:#fbfcfe}.department-panel>header{min-height:57px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7eef4}.department-panel h2{margin:0;color:#2d4a63;font-size:13px}.department-panel header span{display:block;margin-top:3px;color:#94a3b0;font-size:8px}.department-panel header button{border:0;color:#257bca;background:transparent}.department-search{height:34px;margin:11px;padding:0 9px;display:flex;align-items:center;gap:6px;border:1px solid #dfe8f0;border-radius:7px;color:#99a7b4;background:#fff}.department-search input{min-width:0;flex:1;border:0;outline:0;font-size:9px}.department-tree{flex:1}.department-tree button{width:100%;min-height:43px;padding-right:12px;display:flex;align-items:center;gap:7px;border:0;border-bottom:1px solid #eef2f6;color:#60778b;background:transparent;font-size:9px;text-align:left}.department-tree button:hover{background:#f2f7fb}.department-tree button.selected{color:#1e76c8;background:#eaf4ff}.department-tree button span{min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.department-tree button b{color:#8ba0b1;font-size:8px}.department-note{margin:12px;padding:11px;display:flex;gap:8px;border:1px solid #d6e7f5;border-radius:8px;color:#297cc2;background:#f1f8fe}.department-note p{margin:0;display:flex;flex-direction:column}.department-note strong{color:#36617f;font-size:9px}.department-note span{margin-top:4px;color:#7a95aa;font-size:7px;line-height:1.5}.personnel-panel{min-width:0}.personnel-header{min-height:58px;padding:9px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6edf4}.personnel-header h2{margin:0;color:#2e4b65;font-size:13px}.personnel-header>div>span{color:#91a1af;font-size:8px}.personnel-header select{height:31px;padding:0 25px 0 8px;border:1px solid #dfe7ee;border-radius:6px;color:#637b8f;background:#fff;font-size:8px}.personnel-row{min-height:60px;padding:0 14px;display:grid;grid-template-columns:140px minmax(145px,1.1fr) minmax(180px,1.3fr) 90px 65px 80px 80px;align-items:center;gap:8px;border-bottom:1px solid #edf2f6;color:#64798d;font-size:8px}.personnel-row.personnel-head{min-height:38px;color:#8293a2;background:#f7f9fb}.person-cell{display:flex;align-items:center;gap:8px}.person-avatar{width:31px;height:31px;display:grid;place-items:center;flex:none;border-radius:8px;color:#fff;background:linear-gradient(135deg,#2a89df,#31b1da);font-size:10px;font-weight:700}.person-cell p,.dept-cell{margin:0;display:flex;flex-direction:column}.person-cell strong,.dept-cell strong{color:#3e586f;font-size:9px}.person-cell small,.dept-cell small{margin-top:3px;color:#99a7b4;font-size:7px}.role-tags{display:flex;flex-wrap:wrap;gap:4px}.role-tags i{padding:3px 5px;border-radius:5px;color:#3d78ad;background:#edf5fc;font-size:7px;font-style:normal}.role-tags button{width:19px;height:19px;display:grid;place-items:center;border:1px dashed #b9cedf;border-radius:5px;color:#4d89b9;background:transparent}.person-status{padding:3px 6px;border-radius:8px;color:#299269;background:#eaf8f1;font-size:7px;font-style:normal}.person-status.待激活{color:#dd7a22;background:#fff2e7}.person-status.已停用{color:#8998a5;background:#eef2f5}.person-actions{display:flex}.person-actions button{width:25px;height:25px;display:grid;place-items:center;border:0;color:#71869a;background:transparent}.person-actions button:hover{color:#247bce;background:#eef6fd}.assignment-modal .full-field{grid-column:1/-1}.assignment-preview{grid-column:1/-1;padding:10px;display:flex;gap:8px;border:1px solid #d7e7f5;border-radius:7px;color:#2b80c5;background:#f2f8fe}.assignment-preview p{margin:0;display:flex;flex-direction:column}.assignment-preview strong{color:#3a607e;font-size:9px}.assignment-preview span{margin-top:4px;color:#7391a8;font-size:8px}.department-tree-row{min-height:43px;display:flex;align-items:stretch;border-bottom:1px solid #eef2f6}.department-tree-row:hover,.department-tree-row.selected{background:#f2f7fb}.department-tree-row.selected{background:#eaf4ff}.department-tree-row>button{min-width:0;min-height:43px;flex:1;padding-right:4px;display:flex;align-items:center;gap:7px;border:0;color:#60778b;background:transparent;text-align:left}.department-tree-row.selected>button{color:#1e76c8}.department-tree-row>button span{min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.department-tree-actions{display:none;align-items:center;padding-right:3px}.department-tree-row:hover .department-tree-actions{display:flex}.department-tree-actions button{width:24px;min-height:30px;display:grid;place-items:center;padding:0;border:0;color:#527b9c;background:transparent}.department-tree-actions button:disabled{opacity:.3}.rule-version-banner{min-height:66px;margin-bottom:13px;padding:11px 15px;display:flex;align-items:center;justify-content:space-between;border:1px solid #cfe3f3;border-radius:10px;background:linear-gradient(135deg,#eef8ff,#f8fcff)}.rule-version-banner>div:first-child{display:flex;align-items:center;gap:10px}.rule-version-banner>div:first-child>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#2180d3;background:#fff;box-shadow:0 4px 12px #1e64a017}.rule-version-banner p{margin:0;display:flex;flex-direction:column}.rule-version-banner strong{color:#2e5877;font-size:11px}.rule-version-banner small{margin-top:4px;color:#7792a8;font-size:8px}.version-badges{display:flex;gap:6px}.version-badges i,.version-badges b{padding:4px 7px;border-radius:9px;font-size:7px;font-style:normal;font-weight:600}.version-badges i{color:#21895f;background:#e8f7f0}.version-badges b{color:#557996;background:#fffc}.rules-layout{display:grid;grid-template-columns:235px minmax(850px,1fr);gap:13px;align-items:start}.rule-sidebar{position:sticky;top:78px;overflow:hidden}.rule-sidebar>header{min-height:52px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8eef4}.rule-sidebar h2{margin:0;color:#2f4c65;font-size:12px}.rule-sidebar header svg{color:#8798a7}.rule-sidebar>button{width:100%;min-height:58px;padding:9px 11px;display:flex;align-items:center;gap:9px;border:0;border-bottom:1px solid #edf2f6;background:#fff;color:#8a9aa8;text-align:left}.rule-sidebar>button:hover,.rule-sidebar>button.active{background:#f1f8fe}.rule-sidebar>button.active{box-shadow:inset 3px 0 #2180d7}.rule-sidebar>button>span{width:31px;height:31px;display:grid;place-items:center;border-radius:8px}.rule-sidebar .blue{color:#237ed2;background:#eaf4ff}.rule-sidebar .cyan{color:#159ab9;background:#e5f7fa}.rule-sidebar .violet{color:#755fd4;background:#f0edff}.rule-sidebar .orange{color:#db7d21;background:#fff1e4}.rule-sidebar button p{margin:0;flex:1;display:flex;flex-direction:column}.rule-sidebar button strong{color:#405970;font-size:9px}.rule-sidebar button small{margin-top:3px;color:#98a6b3;font-size:7px}.rule-sidebar-note{margin:12px;padding:10px;display:flex;gap:8px;border:1px solid #efd8bd;border-radius:8px;color:#d77a20;background:#fff8ef}.rule-sidebar-note p{margin:0;display:flex;flex-direction:column}.rule-sidebar-note strong{color:#865a2c;font-size:8px}.rule-sidebar-note span{margin-top:4px;color:#a08060;font-size:7px;line-height:1.5}.rule-main{min-width:0;display:grid;gap:12px}.rule-config-panel{overflow:hidden}.rule-main-header{min-height:60px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7eef4}.rule-main-header>div{display:flex;align-items:center;gap:7px}.rule-main-header p{margin:0;display:flex;flex-direction:column}.rule-main-header h2{margin:0;color:#2a4a65;font-size:14px}.rule-main-header p span{margin-top:3px;color:#8d9dac;font-size:8px}.rule-main-header i{padding:3px 7px;border-radius:8px;color:#e07b1e;background:#fff2e6;font-size:7px;font-style:normal}.rule-basics{padding:12px 14px;display:grid;grid-template-columns:repeat(4,1fr);gap:9px;border-bottom:1px solid #e9eff4;background:#fbfcfd}.rule-basics label{display:flex;flex-direction:column;gap:5px}.rule-basics span{color:#75899b;font-size:8px}.rule-basics select{height:32px;padding:0 8px;border:1px solid #dce6ee;border-radius:6px;color:#405a72;background:#fff;font-size:8px}.tier-workspace{min-height:460px;display:grid;grid-template-columns:230px minmax(0,1fr)}.tier-list{border-right:1px solid #e7edf3;background:#fafcfd}.tier-list>header{min-height:44px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7edf3}.tier-list header strong{color:#536b80;font-size:9px}.tier-list header button{display:flex;align-items:center;gap:4px;border:0;color:#247bc9;background:transparent;font-size:7px}.tier-list>button{width:100%;min-height:61px;padding:9px 10px;display:flex;align-items:center;gap:8px;border:0;border-bottom:1px solid #e9eff4;color:#8a9ba9;background:transparent;text-align:left}.tier-list>button:hover,.tier-list>button.active{background:#edf6ff}.tier-list>button.active{box-shadow:inset 3px 0 #2180d8}.tier-list>button>span{width:25px;height:25px;display:grid;place-items:center;flex:none;border-radius:7px;color:#3e7db3;background:#e7f1fa;font-size:8px;font-weight:700}.tier-list button p{margin:0;flex:1;display:flex;flex-direction:column}.tier-list button strong{color:#405a71;font-size:8px}.tier-list button small{margin-top:4px;color:#95a4b1;font-size:7px}.tier-list button small span{color:#da7b24}.tier-editor{min-width:0}.tier-editor>header{min-height:55px;padding:9px 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8eef4}.tier-editor h3{margin:0;color:#31516a;font-size:12px}.tier-editor header span{color:#94a3b1;font-size:7px}.tier-editor header button{border:0;color:#dc6868;background:transparent;font-size:8px}.amount-condition{padding:12px 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9eff4}.amount-condition>div:first-child{display:flex;gap:8px;color:#2a83cc}.amount-condition p{margin:0;display:flex;flex-direction:column}.amount-condition strong{color:#3d586f;font-size:9px}.amount-condition p span{margin-top:3px;color:#93a2af;font-size:7px}.amount-inputs{display:flex;align-items:flex-end;gap:8px}.amount-inputs label{display:flex;flex-direction:column;gap:4px}.amount-inputs label span{color:#8a9ba9;font-size:7px}.amount-inputs input{width:95px;height:30px;padding:0 8px;border:1px solid #dce5ed;border-radius:6px;color:#3d5870;font-size:8px}.amount-inputs b{margin-bottom:8px;color:#6f8496;font-size:8px}.path-editor{margin:12px 13px;border:1px solid #e3eaf1;border-radius:8px;overflow:hidden}.path-editor .section-title{min-height:48px}.approval-path{padding:16px 13px;display:flex;align-items:center;overflow-x:auto;background:#fbfcfd}.approval-node,.meeting-node{width:170px;min-width:170px;min-height:88px;padding:10px;position:relative;display:flex;align-items:flex-start;gap:8px;border:1px solid #dce7ef;border-radius:8px;background:#fff;box-shadow:0 4px 10px #23466809}.meeting-node{border-color:#ead7bd;background:#fffaf3}.approval-node>span,.meeting-node>span{width:28px;height:28px;display:grid;place-items:center;flex:none;border-radius:7px;color:#277dca;background:#eaf4ff}.meeting-node>span{color:#d67c22;background:#fff0df}.approval-node p,.meeting-node p{margin:0;display:flex;flex-direction:column}.approval-node p b,.meeting-node p b{color:#91a1af;font-size:6px}.approval-node p strong,.meeting-node p strong{margin-top:3px;color:#405a71;font-size:8px}.approval-node p small,.meeting-node p small{margin-top:4px;color:#96a5b2;font-size:6px;line-height:1.4}.approval-node button,.meeting-node button{position:absolute;right:6px;bottom:6px;border:0;color:#2679c2;background:transparent;font-size:6px}.path-arrow{margin:0 7px;flex:none;color:#94a9ba}.rule-constraints{margin:0 13px 13px;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;border:1px solid #d8e4ee;border-radius:7px;background:#f7fafc}.rule-constraints>div{display:flex;align-items:center;gap:8px;color:#738b9e}.rule-constraints p{margin:0;display:flex;flex-direction:column}.rule-constraints strong{color:#526b7f;font-size:8px}.rule-constraints span{margin-top:3px;color:#8fa0ae;font-size:7px}.rule-constraints i{padding:3px 6px;border-radius:7px;color:#768995;background:#e8edf1;font-size:6px;font-style:normal}.rule-simulator{overflow:hidden}.rule-simulator>header{min-height:53px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7edf3}.rule-simulator header>div{display:flex;gap:8px;color:#267dc9}.rule-simulator header p{margin:0;display:flex;flex-direction:column}.rule-simulator header strong{color:#3d596f;font-size:9px}.rule-simulator header span{margin-top:3px;color:#93a2af;font-size:7px}.rule-simulator header b{padding:3px 7px;border-radius:8px;color:#62839e;background:#edf4f8;font-size:7px}.simulator-body{padding:12px 13px;display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:9px}.simulator-body label{display:flex;flex-direction:column;gap:5px}.simulator-body label span{color:#71879a;font-size:8px}.simulator-body input,.simulator-body select{height:32px;padding:0 8px;border:1px solid #dbe5ed;border-radius:6px;color:#3e5970;background:#fff;font-size:8px}.simulator-body input:disabled{background:#f4f7f9}.simulation-result{margin:0 13px 13px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;border:1px solid #bee5d1;border-radius:8px;background:#effaf4}.simulation-result>div:first-child{display:flex;gap:8px;color:#29966b}.simulation-result p{margin:0;display:flex;flex-direction:column}.simulation-result strong{color:#317358;font-size:9px}.simulation-result span{margin-top:3px;color:#719381;font-size:7px}.simulation-path{display:flex;align-items:center;gap:5px}.simulation-path i{padding:4px 7px;border-radius:7px;color:#38795f;background:#fff;font-size:7px;font-style:normal}.simulation-path svg{color:#6e9e87}.rule-publish-footer{padding:11px 13px;display:flex;align-items:center;justify-content:space-between;border:1px solid #e1e9f0;border-radius:9px;background:#fff}.rule-publish-footer p{margin:0;display:flex;align-items:center;gap:7px;color:#7f91a0;font-size:8px}.rule-publish-footer p svg{color:#df8328}.rule-publish-footer div{display:flex;gap:7px}.organization-workspace{grid-template-columns:235px minmax(0,1fr)}.personnel-table{overflow-x:auto}.personnel-row{min-width:790px}.rules-layout{grid-template-columns:210px minmax(0,1fr)}.tier-workspace{grid-template-columns:205px minmax(0,1fr)}.sidebar-brand-copy strong{font-size:18px}.sidebar-brand-copy span{font-size:13px}.sidebar-link,.nav-group-title{font-size:15px}.sidebar-sub-link{min-height:39px;font-size:14px}.security-badge strong{font-size:13px}.security-badge span{font-size:11px}.breadcrumb{font-size:14px}.global-search input{font-size:13px}.user-copy strong{font-size:14px}.user-copy small{font-size:11px}.user-dropdown button{font-size:13px}.page-heading h1{font-size:28px}.page-heading>div>span{font-size:14px;line-height:1.6}.eyebrow{font-size:12px}.primary-button,.secondary-button{min-height:40px;font-size:14px}.panel-header h2{font-size:17px}.panel-header p,.text-button{font-size:12px}.metric-copy span{font-size:13px}.metric-copy strong{font-size:24px}.metric-copy small,.metric-chip,.segmented button{font-size:11px}.chart-y,.bar-column small,.bar-value span{font-size:10px}.budget-ring span,.budget-legend p{font-size:11px}.budget-legend p strong,.budget-footer{font-size:12px}.budget-footer strong{font-size:14px}.task-main p b{font-size:11px}.task-main p span,.task-main small{font-size:10px}.task-main>strong{font-size:13px}.task-amount strong{font-size:12px}.task-action{font-size:11px}.quick-grid button,.alert-row p strong{font-size:12px}.alert-row p small{font-size:10px}.system-status{font-size:11px}.module-stat-grid span{font-size:12px}.module-stat-grid strong{font-size:24px}.module-stat-grid small{font-size:10px}.table-tabs button,.table-tabs select{font-size:12px}.toolbar-actions label{width:240px}.toolbar-actions input,.toolbar-actions>button{font-size:11px}.business-row{min-height:64px;font-size:12px}.business-row.table-head{min-height:44px;font-size:11px}.business-row>strong{font-size:11px}.business-status{font-size:10px}.table-pagination,.table-pagination button{font-size:11px}.module-notice,.module-error{font-size:13px}.modal-card>header strong{font-size:17px}.modal-card>header span{font-size:11px}.modal-body label>span{font-size:12px}.modal-body input,.modal-body select,.modal-body textarea{font-size:13px}.detail-grid span,.detail-note span{font-size:11px}.detail-grid strong{font-size:14px}.detail-note{font-size:12px}.history-panel h3{font-size:14px}.history-panel article strong{font-size:12px}.history-panel article small{font-size:9px}.history-panel article span{font-size:10px}.history-panel article p{font-size:11px}.danger-button{font-size:12px}.detail-result-banner{margin-bottom:12px;padding:12px 14px;display:flex;align-items:center;gap:10px;border:1px solid #bfe5d1;border-radius:9px;color:#23855e;background:#effaf4}.detail-result-banner p{margin:0;display:flex;flex-direction:column}.detail-result-banner strong{color:#2d7054;font-size:13px}.detail-result-banner span{margin-top:4px;color:#709582;font-size:10px}.role-list-panel h2,.role-detail-header h2,.department-panel h2,.personnel-header h2{font-size:15px}.role-list-panel header span,.role-search input,.role-categories button{font-size:11px}.role-list-item p strong{font-size:12px}.role-list-item p small,.role-status,.role-detail-header small{font-size:10px}.role-detail-actions button{font-size:11px}.role-meta-grid span,.scope-options small,.permission-title span{font-size:10px}.role-meta-grid strong,.scope-options b,.section-title strong{font-size:12px}.section-title span{font-size:10px}.permission-group-header p strong{font-size:12px}.permission-group-header p small,.permission-group-header b{font-size:10px}.permission-items p strong{font-size:11px}.permission-items p small,.permission-items code{font-size:9px}.role-footer,.org-summary-grid small{font-size:11px}.department-panel header span,.department-search input,.department-tree button{font-size:11px}.department-tree button b,.department-note strong{font-size:10px}.department-note span{font-size:9px}.personnel-header>div>span,.personnel-header select{font-size:10px}.personnel-row{min-height:66px;font-size:11px}.personnel-row.personnel-head{min-height:42px}.person-cell strong,.dept-cell strong{font-size:12px}.person-cell small,.dept-cell small,.role-tags i,.person-status{font-size:9px}.rule-version-banner strong{font-size:13px}.rule-version-banner small{font-size:10px}.version-badges i,.version-badges b{font-size:9px}.rule-sidebar h2{font-size:14px}.rule-sidebar button strong{font-size:11px}.rule-sidebar button small{font-size:9px}.rule-sidebar-note strong{font-size:10px}.rule-sidebar-note span{font-size:9px}.rule-main-header h2{font-size:17px}.rule-main-header p span,.rule-main-header i,.rule-basics span,.rule-basics select{font-size:10px}.tier-list header strong{font-size:11px}.tier-list header button{font-size:9px}.tier-list button strong{font-size:10px}.tier-list button small{font-size:9px}.tier-editor h3{font-size:14px}.tier-editor header span,.tier-editor header button{font-size:10px}.amount-condition strong{font-size:11px}.amount-condition p span,.amount-inputs label span,.amount-inputs input,.amount-inputs b{font-size:9px}.approval-node p b,.meeting-node p b{font-size:8px}.approval-node p strong,.meeting-node p strong{font-size:10px}.approval-node p small,.meeting-node p small,.approval-node button,.meeting-node button{font-size:8px}.rule-constraints strong{font-size:10px}.rule-constraints span{font-size:9px}.rule-constraints i{font-size:8px}.rule-simulator header strong{font-size:11px}.rule-simulator header span,.rule-simulator header b,.simulator-body label span,.simulator-body input,.simulator-body select{font-size:10px}.simulation-result strong{font-size:11px}.simulation-result span,.simulation-path i,.rule-publish-footer p{font-size:9px}.line-item-editor{overflow-x:auto;padding:14px;border:1px solid #dce8f3;border-radius:12px;background:#f8fbfe}.business-form{grid-auto-rows:max-content;align-content:start}.purchase-create-line-editor{height:270px;min-height:270px;max-height:270px;align-self:start;overflow:auto;box-sizing:border-box}.line-item-editor>header{min-width:980px;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.line-item-editor>header div{display:flex;flex-direction:column;gap:3px}.line-item-editor>header span{color:#7890a8;font-size:13px}.line-item-row{min-width:980px;display:grid;grid-template-columns:1.05fr 1.4fr 1fr .65fr .72fr .82fr .9fr 40px;gap:8px;align-items:center;padding:7px 0}.line-item-row input{min-width:0;height:38px;padding:0 9px;border:1px solid #d4e1ec;border-radius:7px;background:#fff}.line-item-row>button{width:36px;height:36px;border:1px solid #f2c8c8;border-radius:8px;color:#bf3b3b;background:#fff7f7;cursor:pointer}.line-detail-row{min-width:980px;margin:0 0 8px;padding:10px;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;border-radius:8px;background:#f4f9fd}.line-detail-row.official-line-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.line-detail-row label{display:flex;flex-direction:column;gap:4px;color:#60788c;font-size:10px}.line-detail-row input,.line-detail-row select{height:34px;padding:0 8px;border:1px solid #d4e1ec;border-radius:6px;background:#fff}.page-content button,.modal-backdrop button,.topbar button{font-weight:650;transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .08s ease,opacity .16s ease}.page-content button:focus-visible,.modal-backdrop button:focus-visible,.topbar button:focus-visible{outline:0;box-shadow:0 0 0 3px #1677e829}.page-content button:active:not(:disabled),.modal-backdrop button:active:not(:disabled),.topbar button:active:not(:disabled){transform:translateY(1px)}.page-content button:disabled,.modal-backdrop button:disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}.primary-button,.secondary-button,.danger-button{height:40px;min-height:40px;max-height:40px;flex:0 0 auto;padding:0 16px;gap:7px;border-radius:8px;font-size:13px;line-height:1;white-space:nowrap}.primary-button{border-color:#1677e8;background:linear-gradient(135deg,#2389ef,#116bd2);box-shadow:0 5px 13px #1677e82e}.primary-button:hover:not(:disabled){border-color:#0e65c5;background:linear-gradient(135deg,#1680e8,#0d62c4);filter:none;box-shadow:0 7px 17px #1677e83b}.secondary-button{border-color:#cfdeeb;color:#3d6688;background:linear-gradient(180deg,#fff,#f8fbfd);box-shadow:0 1px 2px #1b41630a}.secondary-button:hover:not(:disabled){border-color:#83b8e4;color:#176fbd;background:#f2f8fe;box-shadow:0 3px 9px #1f74b917}.danger-button{justify-content:center;border-color:#efc4c4;color:#bd4848;background:linear-gradient(180deg,snow,#fff3f3)}.danger-button:hover:not(:disabled){border-color:#df8e8e;color:#a93434;background:#ffeded;box-shadow:0 3px 9px #be3f3f1a}.text-button{min-height:32px;padding:0 8px;border:1px solid transparent;border-radius:7px;font-size:12px;font-weight:650}.text-button:hover{border-color:#d4e6f5;color:#126bbb;background:#f2f8fd}.page-content input:not([type=checkbox]):not([type=radio]):not([type=file]),.page-content select,.page-content textarea,.modal-backdrop input:not([type=checkbox]):not([type=radio]):not([type=file]),.modal-backdrop select,.modal-backdrop textarea{border:1px solid #cfdeea;border-radius:8px;outline:0;color:#294b68;background-color:#fff;box-shadow:inset 0 1px 2px #1a436706;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.page-content input:not([type=checkbox]):not([type=radio]):not([type=file]):hover,.page-content select:hover,.page-content textarea:hover,.modal-backdrop input:not([type=checkbox]):not([type=radio]):not([type=file]):hover,.modal-backdrop select:hover,.modal-backdrop textarea:hover{border-color:#9dbed8}.page-content input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,.page-content select:focus,.page-content textarea:focus,.modal-backdrop input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,.modal-backdrop select:focus,.modal-backdrop textarea:focus{border-color:#438fd0;box-shadow:0 0 0 3px #1677e81f}.page-content input:disabled,.page-content select:disabled,.page-content textarea:disabled,.modal-backdrop input:disabled,.modal-backdrop select:disabled,.modal-backdrop textarea:disabled{color:#7d91a3;background-color:#f3f6f9;cursor:not-allowed}.page-content select,.modal-backdrop select{height:38px;min-height:38px;max-height:38px;box-sizing:border-box;padding:0 34px 0 11px;appearance:none!important;-webkit-appearance:none!important;background-image:linear-gradient(45deg,transparent 50%,#67839a 50%),linear-gradient(135deg,#67839a 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.heading-actions{align-items:center;gap:8px}.toolbar-actions>button,.role-detail-actions button{min-height:36px;height:36px;padding:0 12px;border:1px solid #cfdeeb;border-radius:8px;color:#476a86;background:#fff;font-size:11px}.toolbar-actions>button:hover,.role-detail-actions button:hover{border-color:#86b8df;color:#176fbd;background:#f2f8fe}.business-row>button,.person-actions button,.department-tree-actions button,.role-tags button{border:1px solid transparent;border-radius:7px;color:#63819a;background:transparent}.business-row>button:hover,.person-actions button:hover,.department-tree-actions button:hover,.role-tags button:hover{border-color:#d3e4f2;color:#1473c5;background:#edf6fd}.person-actions{gap:3px}.person-actions button{width:30px;height:30px}.rule-basics{grid-template-columns:repeat(4,240px);overflow-x:auto;scrollbar-width:thin}.rule-basics label{width:240px;min-width:240px;max-width:240px}.rule-basics select,.simulator-body input,.simulator-body select{height:38px;min-height:38px;max-height:38px;padding-left:11px;font-size:11px}.rule-fixed-select{width:240px!important;min-width:240px;max-width:240px;flex:0 0 240px}.tier-list header button,.section-title button,.tier-editor>header>button,.amount-inputs button{height:32px;min-height:32px;max-height:32px;flex:0 0 auto;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #cfe0ed;border-radius:7px;color:#286faa;background:#fff;font-size:10px;font-weight:650;white-space:nowrap}.tier-list header button:hover,.section-title button:hover,.amount-inputs button:hover{border-color:#7eb4df;color:#1269b5;background:#eff7fe}.tier-editor>header>button{border-color:#efd0d0;color:#c65050;background:#fff8f8}.tier-editor>header>button:hover{border-color:#df9898;color:#a93636;background:#ffefef}.amount-inputs{align-items:flex-end;gap:10px}.amount-inputs input{width:112px;height:38px;padding:0 10px;font-size:11px}.amount-inputs label:last-child{display:grid;grid-template-columns:112px 108px;grid-template-rows:auto 38px;column-gap:8px}.amount-inputs label:last-child>span{grid-column:1/-1}.amount-inputs label:last-child>input{grid-column:1;grid-row:2}.amount-inputs label:last-child>button{grid-column:2;grid-row:2;width:108px;min-width:108px;max-width:108px;height:38px;min-height:38px;max-height:38px}.amount-inputs b{margin-bottom:12px}.path-editor{border-radius:10px}.path-editor .section-title{min-height:56px;padding:9px 13px}.path-editor .section-title>div:last-child{gap:7px}.rule-action-button{width:104px;min-width:104px;max-width:104px;height:36px!important;min-height:36px!important;max-height:36px!important;flex:0 0 104px!important;white-space:nowrap}.approval-path{padding:18px 14px;align-items:stretch}.approval-node,.meeting-node{width:220px;min-width:220px;max-width:220px;min-height:112px;padding:11px 11px 36px;flex:0 0 220px;border-radius:10px;box-shadow:0 4px 12px #2346680b}.approval-node{min-height:202px}.approval-node p,.meeting-node p{min-width:0;flex:1;gap:4px}.approval-node p b,.meeting-node p b{font-size:9px}.approval-node select,.meeting-node input{width:158px;min-width:0;max-width:158px;height:38px;min-height:38px;padding:0 32px 0 10px;border:1px solid #cadce9;border-radius:8px;color:#294d6c;background-color:#fafdff;font-size:11px;font-weight:650}.approval-node .node-role-select,.approval-node .node-dispatch-select,.approval-node .node-assignee-select{width:158px!important;min-width:0!important;max-width:158px!important;box-sizing:border-box}.meeting-node input{padding-right:10px}.approval-node>button,.meeting-node>button{right:9px;bottom:8px;min-height:24px;padding:0 7px;border:1px solid transparent;border-radius:6px;color:#477a9f;background:transparent;font-size:9px}.approval-node>button:hover,.meeting-node>button:hover{border-color:#e9baba;color:#b94545;background:#fff1f1}.path-arrow{align-self:center}.rule-publish-footer button{min-width:108px}.rule-main-header .primary-button,.rule-main-header .secondary-button{width:112px;min-width:112px;max-width:112px}.heading-actions>button,.rule-publish-footer button{flex:0 0 auto}.simulator-body{grid-template-columns:220px 280px 220px 112px;overflow-x:auto;scrollbar-width:thin}.simulator-body>label:nth-child(1),.simulator-select{width:220px!important;min-width:220px;max-width:220px}.simulator-body>button{width:112px;min-width:112px;max-width:112px}.table-tabs select,.personnel-header select{width:144px;min-width:144px;max-width:144px;min-height:36px;height:36px;max-height:36px;flex:0 0 144px;padding-left:10px;font-size:11px}.table-tabs button{min-height:34px;padding:0 12px;border:1px solid transparent;border-radius:8px}.table-tabs button:hover{border-color:#d5e5f2;color:#176fbd;background:#f2f8fd}.table-tabs button.active{border-color:#c8e0f4}.table-pagination button{min-width:34px;height:34px;border-radius:7px}.modal-card>header>button{border:1px solid transparent}.modal-card>header>button:hover{border-color:#dce7f0}.business-modal:has(.line-item-editor),.detail-modal:has(.line-item-row){width:min(1120px,calc(100vw - 48px))}.business-modal:has(.line-item-editor) .line-item-editor,.detail-modal:has(.line-item-row) .history-panel{scrollbar-color:#a9bccd #eef3f7;scrollbar-width:thin}.admin-shell{font-size:14px}.sidebar-brand-copy strong{font-size:20px}.sidebar-brand-copy span{font-size:14px}.sidebar-link,.nav-group-title{font-size:16px}.sidebar-sub-link{min-height:41px;font-size:15px}.sidebar-sub-link b{font-size:12px}.security-badge strong{font-size:14px}.security-badge span{font-size:12px;line-height:1.45}.breadcrumb{font-size:15px}.global-search input{font-size:14px}.global-search kbd{font-size:11px}.user-copy strong{font-size:15px}.user-copy small{font-size:12px}.user-dropdown,.user-dropdown button{font-size:14px}.notification-dropdown b{font-size:13px}.notification-dropdown small{font-size:12px;line-height:1.5}.page-content{font-size:14px}.page-heading h1{font-size:30px}.page-heading>div>span{font-size:15px;line-height:1.65}.eyebrow{font-size:13px}.primary-button,.secondary-button,.danger-button{font-size:14px}.text-button{font-size:13px}.panel-header h2{font-size:18px}.panel-header p{font-size:13px;line-height:1.5}.metric-copy span{font-size:14px}.metric-copy strong{font-size:26px}.metric-copy small,.metric-chip{font-size:12px}.segmented button{font-size:13px}.chart-y,.bar-column small,.bar-value span{font-size:12px}.budget-ring span,.budget-legend p{font-size:13px}.budget-legend p strong,.budget-footer strong{font-size:15px}.budget-footer{font-size:13px}.task-main p b,.task-main p span,.task-main small{font-size:12px}.task-main>strong,.task-amount strong{font-size:14px}.task-action,.quick-grid button{font-size:13px}.alert-row p strong{font-size:14px}.alert-row p small,.system-status{font-size:12px}.module-stat-grid span{font-size:14px}.module-stat-grid strong{font-size:26px}.module-stat-grid small{font-size:12px}.table-tabs button,.table-tabs select{font-size:14px}.toolbar-actions input,.toolbar-actions>button{font-size:13px}.business-row{min-height:68px;font-size:14px;line-height:1.45}.business-row.table-head{min-height:46px;font-size:13px}.business-row>strong{font-size:13px}.business-status{font-size:12px}.table-pagination,.table-pagination button{font-size:13px}.module-notice,.module-error{font-size:14px}.line-item-head,.line-item-editor>header span,.line-detail-row label{font-size:13px}.modal-card>header strong{font-size:18px}.modal-card>header span{font-size:13px}.modal-body,.detail-body{font-size:14px;line-height:1.6}.modal-body label>span{font-size:14px}.modal-body input,.modal-body select,.modal-body textarea{font-size:14px}.detail-grid span,.detail-note span{font-size:13px}.detail-grid strong{font-size:15px}.detail-note{font-size:14px}.history-panel h3{font-size:16px}.history-panel article strong{font-size:14px}.history-panel article small,.history-panel article span{font-size:12px}.history-panel article p{font-size:13px}.detail-result-banner strong{font-size:15px}.detail-result-banner span{font-size:12px}.role-list-panel h2,.role-detail-header h2,.department-panel h2,.personnel-header h2{font-size:17px}.role-list-panel header span,.role-search input,.role-categories button{font-size:13px}.role-list-item p strong{font-size:14px}.role-list-item p small,.role-status,.role-detail-header small{font-size:12px}.role-detail-actions button{font-size:13px}.role-meta-grid span,.scope-options small,.permission-title span{font-size:12px}.role-meta-grid strong,.scope-options b,.section-title strong{font-size:14px}.section-title span{font-size:12px;line-height:1.5}.permission-group-header p strong{font-size:14px}.permission-group-header p small,.permission-group-header b{font-size:12px}.permission-items p strong{font-size:13px}.permission-items p small,.permission-items code{font-size:11px;line-height:1.45}.role-footer,.org-summary-grid small{font-size:13px}.department-panel header span,.department-search input,.department-tree button{font-size:13px}.department-tree button b,.department-note strong{font-size:12px}.department-note span{font-size:11px;line-height:1.5}.personnel-header>div>span,.personnel-header select{font-size:12px}.personnel-row{min-height:70px;font-size:13px}.personnel-row.personnel-head{min-height:44px;font-size:12px}.person-cell strong,.dept-cell strong{font-size:14px}.person-cell small,.dept-cell small,.role-tags i,.person-status{font-size:11px}.rule-version-banner strong{font-size:15px}.rule-version-banner small{font-size:12px}.version-badges i,.version-badges b{font-size:11px}.rule-sidebar h2{font-size:16px}.rule-sidebar button strong{font-size:13px}.rule-sidebar button small{font-size:11px}.rule-sidebar-note strong{font-size:12px}.rule-sidebar-note span{font-size:11px;line-height:1.55}.rule-main-header h2{font-size:18px}.rule-main-header p span,.rule-main-header i,.rule-basics span{font-size:12px}.rule-basics select{font-size:14px}.tier-list header strong{font-size:13px}.tier-list header button{font-size:12px}.tier-list button strong{font-size:12px}.tier-list button small{font-size:11px}.tier-editor h3{font-size:16px}.tier-editor header span,.tier-editor header button{font-size:12px}.amount-condition strong{font-size:13px}.amount-condition p span,.amount-inputs label span{font-size:11px}.amount-inputs input,.amount-inputs b{font-size:13px}.tier-list header button,.section-title button,.tier-editor>header>button,.amount-inputs button{font-size:12px}.approval-node p b,.meeting-node p b{font-size:11px}.approval-node p strong,.meeting-node p strong{font-size:13px}.approval-node p small,.meeting-node p small,.approval-node button,.meeting-node button{font-size:10px}.approval-node select,.meeting-node input,.rule-constraints strong{font-size:13px}.rule-constraints span{font-size:11px}.rule-constraints i{font-size:10px}.rule-simulator header strong{font-size:13px}.rule-simulator header span,.rule-simulator header b,.simulator-body label span{font-size:12px}.simulator-body input,.simulator-body select{font-size:14px}.simulation-result strong{font-size:13px}.simulation-result span,.simulation-path i,.rule-publish-footer p{font-size:11px}@media print{body *{visibility:hidden!important}.detail-modal,.detail-modal *{visibility:visible!important}.modal-backdrop{position:static!important;background:#fff!important}.detail-modal{width:100%!important;max-height:none!important;position:absolute;inset:0;box-shadow:none!important;overflow:visible!important}.detail-modal>header>button,.detail-modal>footer,.detail-modal .secondary-button,.detail-modal input[type=file]{display:none!important}.detail-body{overflow:visible!important}body.printing-official-form .detail-modal>header,body.printing-official-form .detail-result-banner,body.printing-official-form .detail-grid,body.printing-official-form .detail-note,body.printing-official-form .detail-body>.module-error,body.printing-official-form .history-panel{display:none!important}body.printing-official-form .detail-modal,body.printing-official-form .detail-body{padding:0!important}body.printing-official-form .official-form-sheet,body.printing-official-form .official-form-sheet *{visibility:visible!important}}.line-item-head{padding:0 0 5px;color:#607d98;font-size:12px;font-weight:700}.line-item-head span:last-child{text-align:center}@media(max-width:1400px){.admin-shell{grid-template-columns:220px minmax(0,1fr)}.dashboard-grid-main{grid-template-columns:1.5fr .9fr}.permission-summary{grid-template-columns:repeat(4,.7fr)}.summary-rule{grid-column:1/-1;min-height:58px}.role-workspace{height:calc(100vh - 275px)}.role-meta-grid,.scope-options{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){html,body,#app{min-width:0}.login-page{min-width:0;overflow-y:auto;background:#eaf6ff}.login-background{position:fixed;background-position:41% center}.login-brand{left:24px;top:28px;gap:14px}.login-brand img{width:68px;height:68px;border-width:2px}.login-brand h1{font-size:28px}.login-brand p{margin-top:4px;font-size:21px}.login-meta{left:24px;right:24px;top:116px;justify-content:center;gap:6px;font-size:11px}.login-meta i{height:16px;margin:0 3px}.login-meta .sun{font-size:18px}.login-card{left:20px;right:20px;top:178px;width:auto;min-height:420px;padding:37px 25px 27px}.login-input{height:62px}.login-input input{font-size:16px}.login-submit{height:62px;font-size:21px}.login-security{white-space:normal;text-align:center}.login-features{left:20px;right:20px;bottom:20px;gap:7px}.login-features article{min-width:0;height:50px;padding:0 8px;flex:1;justify-content:center;gap:5px;border-radius:11px;font-size:13px}.login-features article span{font-size:20px}}
