:root{--hdr-bg:#fff;--hdr-fg:#2e2e38;--hdr-fg-2:#6b6b78;--hdr-border:#e3e2e8;--primary:#3462d8;--primary-hover:#284fb8;--primary-50:#eef3fd;--primary-100:#dfe8fb;--primary-200:#c3d4f6;--focus:#3462d8;--brand:#3d0a5b;--brand-2:#52157a;--tile-light:#dde9f7;--tile-light-fg:#2b63cf;--bg:#f2f1f4;--surface:#fff;--surface-2:#f7f7f9;--border:#e2e1e6;--border-strong:#c9c8cf;--input-border:#9a99a3;--required-bg:#fbe1e1;--text:#24242c;--text-2:#55555f;--text-3:#8a8a95;--success:#1d8348;--success-bg:#e5f4ec;--warning:#b86e00;--warning-bg:#fdf1dc;--danger:#b3283f;--danger-bg:#fbe6e8;--info:#1e6ac0;--info-bg:#e3eefa;--neutral:#5d5d6e;--neutral-bg:#ececf1;--c1:#b02e5f;--c2:#3c6fd1;--c3:#31a37a;--c4:#e3a33b;--c5:#52157a;--c6:#8d8da0;--radius:3px;--radius-lg:4px;--shadow-1:none;--shadow-2:0 6px 24px #140a2829;--header-h:40px;--rail-w:36px;--nav-w:236px;--font:"Segoe UI", Inter, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.4}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;font-weight:600}button,input,select,textarea{font:inherit;color:inherit}code{background:var(--surface-2);border-radius:3px;padding:1px 4px;font-size:12px}svg.i{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex:none;width:16px;height:16px}svg.i.sm{width:13px;height:13px}svg.i.lg{width:19px;height:19px}svg.i.xl{width:28px;height:28px}.ifs-header{z-index:50;height:var(--header-h);background:var(--hdr-bg);color:var(--hdr-fg);border-bottom:1px solid var(--hdr-border);align-items:center;gap:8px;padding:0 10px 0 6px;display:flex;position:sticky;top:0}.ifs-header .hdr-btn{width:34px;height:32px;color:var(--hdr-fg-2);border-radius:var(--radius);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.ifs-header .hdr-btn:hover{background:var(--surface-2);color:var(--hdr-fg)}.ifs-header .hdr-btn .dot{color:#fff;background:#d93a4f;border-radius:8px;min-width:15px;height:15px;padding:0 3px;font-size:10px;font-weight:600;line-height:15px;position:absolute;top:3px;right:3px}.ifs-brand{color:var(--hdr-fg);white-space:nowrap;align-items:center;gap:10px;padding:0 4px;display:flex}.ifs-brand:hover{text-decoration:none}.ifs-brand .app{color:var(--hdr-fg);font-size:14px;font-weight:500}.ifs-brand .env{text-transform:uppercase;letter-spacing:1.5px;color:#2a1b00;background:#f2b632;border-radius:3px;padding:3px 10px;font-size:12px;font-weight:700}.ifs-hdr-search{flex:1;max-width:460px;margin:0 auto;position:relative}.ifs-hdr-search input{border:1px solid var(--border-strong);background:var(--surface-2);width:100%;height:28px;color:var(--text);border-radius:14px;outline:none;padding:0 14px 0 32px;font-size:12.5px}.ifs-hdr-search input:focus{border-color:var(--primary);background:#fff}.ifs-hdr-search svg{color:var(--hdr-fg-2);width:14px;height:14px;position:absolute;top:7px;left:11px}.ifs-hdr-right{align-items:center;gap:2px;display:flex}.ifs-avatar{background:var(--brand);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:inline-flex}.ifs-user{cursor:pointer;border-radius:var(--radius);align-items:center;gap:8px;height:34px;padding:0 6px;display:flex}.ifs-user:hover{background:var(--surface-2)}.ifs-user .meta{line-height:1.15}.ifs-user .meta b{font-size:12px;font-weight:600;display:block}.ifs-user .meta span{color:var(--hdr-fg-2);font-size:11px}.ifs-rail{top:var(--header-h);width:var(--rail-w);z-index:46;background:var(--surface);border-right:1px solid var(--border);flex-direction:column;align-items:center;gap:2px;padding:6px 0;display:flex;position:fixed;bottom:0;left:0}.ifs-rail a,.ifs-rail button{border-radius:var(--radius);width:30px;height:30px;color:var(--text-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.ifs-rail a:hover,.ifs-rail button:hover{background:var(--surface-2);text-decoration:none}.ifs-rail .on{color:var(--primary)}.ifs-rail hr{border:0;border-top:1px solid var(--border);width:20px;margin:4px 0}.ifs-rail .bottom{margin-top:auto}.ifs-nav-backdrop{inset:var(--header-h) 0 0 var(--rail-w);z-index:40;opacity:0;pointer-events:none;background:#0f081e40;transition:opacity .15s;position:fixed}.ifs-nav{top:var(--header-h);left:var(--rail-w);width:var(--nav-w);z-index:45;background:var(--surface-2);border-right:1px solid var(--border);box-shadow:var(--shadow-2);transform:translateX(calc(-100% - var(--rail-w)));flex-direction:column;transition:transform .18s ease-out;display:flex;position:fixed;bottom:0}body.nav-open .ifs-nav{transform:none}body.nav-open .ifs-nav-backdrop{opacity:1;pointer-events:auto}body.nav-pinned .ifs-nav{box-shadow:none;z-index:30;transform:none}body.nav-pinned .ifs-nav-backdrop{display:none}.ifs-nav-top{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:4px;padding:6px;display:flex}.ifs-nav-top .ifs-input-icon{flex:1}.ifs-nav-top .ifs-input{border-color:var(--border);height:30px;font-size:12px}.ifs-nav .pin{width:28px;height:28px}.ifs-nav .pin.on{color:var(--primary)}.ifs-nav .pin.on svg.i{fill:var(--primary)}.ifs-nav-tree{flex:1;padding:0 0 20px;overflow:auto}.ifs-nav-back{background:var(--surface);border:0;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;width:100%;color:var(--text-2);align-items:center;gap:10px;padding:10px 12px;font-size:12.5px;display:flex}.ifs-nav-back:hover{color:var(--text)}.ifs-nav-title{background:var(--surface);margin-bottom:4px;padding:14px 12px 10px;font-size:13px;font-weight:600}.ifs-nav-item{background:var(--surface);width:calc(100% - 6px);color:var(--text);text-align:left;cursor:pointer;border:0;border-radius:2px;align-items:center;gap:8px;margin:0 3px 3px;padding:8px;font-size:13px;display:flex}.ifs-nav-item:hover{background:var(--primary-50);text-decoration:none}.ifs-nav-item .gi{color:var(--brand-2)}.ifs-nav-item .chev{color:var(--text-2);width:14px;height:14px;margin-left:auto}.ifs-nav-item .count{background:var(--neutral-bg);color:var(--text-2);border-radius:9px;margin-left:auto;padding:0 7px;font-size:11px}.ifs-nav-item.active{background:var(--primary);color:#fff}.ifs-nav-item.active .count{color:#fff;background:#ffffff40}.ifs-nav-item .path{color:var(--text-3);font-size:11px;display:block}.ifs-page{min-height:calc(100vh - var(--header-h));margin-left:var(--rail-w);flex-direction:column;display:flex}body.nav-pinned .ifs-page{margin-left:calc(var(--rail-w) + var(--nav-w))}body[data-shell=none] .ifs-page{margin-left:0}.ifs-page-header{padding:0 16px}.ifs-breadcrumb{color:var(--text-2);background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;height:32px;margin:0 -16px;padding:0 12px 0 16px;font-size:12px;display:flex}.ifs-breadcrumb a{color:var(--text-2)}.ifs-breadcrumb .current{color:var(--text);font-weight:600}.ifs-breadcrumb svg.i{width:13px;height:13px}.ifs-breadcrumb .bc-right{gap:4px;margin-left:auto;display:flex}.ifs-breadcrumb .bc-right button{color:var(--text-2);cursor:pointer;border-radius:var(--radius);background:0 0;border:0;padding:4px;display:flex}.ifs-breadcrumb .bc-right button:hover{background:var(--surface-2);color:var(--text)}.ifs-title-row{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0 10px;display:flex}.ifs-title-row h1{color:#2e2e38;letter-spacing:-.2px;font-size:23px;font-weight:500}.ifs-title-row .sub{color:var(--text-2);font-size:14px}.ifs-title-row .params{color:var(--text);cursor:pointer;align-items:center;gap:4px;font-size:11px;display:inline-flex}.ifs-title-row .params svg.i{width:12px;height:12px}.ifs-title-row .fav{color:var(--text-3);cursor:pointer;border-radius:var(--radius);background:0 0;border:0;padding:4px}.ifs-title-row .fav:hover,.ifs-title-row .fav.on{color:#e3a33b}.ifs-title-row .fav.on svg{fill:#e3a33b}.ifs-title-row .spacer{flex:1}.ifs-record-nav{color:var(--text-2);align-items:center;gap:2px;font-size:12px;display:inline-flex}.ifs-zoom{color:var(--text-2);align-items:center;gap:8px;font-size:12px;display:inline-flex}.ifs-zoom input[type=range]{width:100px;accent-color:var(--primary)}.ifs-page-body{flex-direction:column;flex:1;gap:10px;padding:0 16px 24px;display:flex}.ifs-page-header+.ifs-page-body{padding-top:0}.ifs-page-body.flush{gap:0;padding:0}.ifs-commandbar{flex-wrap:wrap;align-items:center;gap:2px;min-height:38px;padding:4px 6px;display:flex}.ifs-page-header .ifs-commandbar{background:var(--surface);border-radius:var(--radius-lg);margin-bottom:10px}.ifs-commandbar .sep{background:var(--border);width:1px;height:20px;margin:0 6px}.ifs-commandbar .spacer{flex:1}.btn{height:28px;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:2px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;display:inline-flex}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.btn svg.i{color:var(--text-2);width:15px;height:15px}.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn.primary svg.i{color:#fff}.btn.primary:hover{background:var(--primary-hover)}.btn.secondary{background:var(--surface);border-color:var(--border-strong)}.btn.secondary:hover{border-color:var(--text-3)}.btn.danger svg.i{color:var(--danger)}.btn.icon{justify-content:center;width:28px;padding:0}.btn.sm{height:24px;padding:0 8px;font-size:12px}.btn.icon.sm{width:24px}.btn[disabled],.btn.disabled{color:var(--text-3);pointer-events:none}.btn[disabled] svg.i,.btn.disabled svg.i{color:var(--border-strong)}.btn.primary[disabled]{background:var(--border-strong);border-color:var(--border-strong);color:#fff}.btn .caret{width:12px;height:12px;margin-left:-2px}.ifs-menu-wrap{display:inline-flex;position:relative}.ifs-menu{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow-2);padding:4px 0;display:none;position:absolute;top:calc(100% + 4px);left:0}.ifs-menu.right{left:auto;right:0}.ifs-menu.open{display:block}.ifs-menu a,.ifs-menu button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:7px 14px;font-size:12.5px;display:flex}.ifs-menu a:hover,.ifs-menu button:hover{background:var(--primary-50);text-decoration:none}.ifs-menu svg.i{color:var(--text-2)}.ifs-menu hr{border:0;border-top:1px solid var(--border);margin:4px 0}.ifs-menu .hdr{text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);padding:6px 14px 2px;font-size:11px;font-weight:600}.ifs-card{background:var(--surface);border-radius:var(--radius-lg)}.ifs-card-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}.ifs-card-header h2,.ifs-card-header h3{font-size:13px}.ifs-card-header .spacer{flex:1}.ifs-card-body{padding:12px}.ifs-group{background:var(--surface);border-radius:var(--radius-lg)}.ifs-group+.ifs-group{margin-top:10px}.ifs-group-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:9px 8px 9px 12px;font-size:12.5px;font-weight:600;display:flex}.ifs-group-header .chev{color:var(--text-2);order:2;margin-left:auto;transition:transform .15s;transform:rotate(180deg)}.ifs-group.collapsed .ifs-group-header .chev{transform:none}.ifs-group-body{padding:4px 12px 12px}.ifs-group.collapsed .ifs-group-body{display:none}.ifs-group.plain .ifs-group-body{padding-top:12px}.ifs-fields{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 12px;display:grid}.ifs-fields.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ifs-fields.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ifs-fields.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ifs-fields.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.ifs-fields.cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.ifs-field.span-2{grid-column:span 2}.ifs-field.span-3{grid-column:span 3}.ifs-field.span-all{grid-column:1/-1}.ifs-field{min-width:0}.ifs-field>label{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:11px;display:block;overflow:hidden}.ifs-field.required>label:after{content:" *";color:#d93a4f}.ifs-field .ifs-field-value{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:0 4px;min-height:27px;font-size:12.5px;display:flex}.ifs-field .ifs-field-value:empty:before{content:""}.ifs-field .ifs-field-value .desc{color:var(--text-2)}.ifs-record.is-editing .ifs-field .ifs-field-value{display:block}.ifs-field .hint{color:var(--text-3);margin-top:3px;font-size:11px}.ifs-field.invalid .hint{color:var(--danger)}.ifs-field.invalid .ifs-input{border-color:var(--danger)}.ifs-input,.ifs-select,.ifs-textarea{border:1px solid var(--input-border);background:var(--surface);border-radius:2px;outline:none;width:100%;height:27px;padding:0 7px;font-size:12.5px}.ifs-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0h10L5 6z' fill='%2324242c'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;padding-right:26px}.ifs-textarea{resize:vertical;height:auto;min-height:60px;padding:5px 7px}.ifs-input:hover,.ifs-select:hover,.ifs-textarea:hover{border-color:var(--text-2)}.ifs-input:focus,.ifs-select:focus,.ifs-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.ifs-input[readonly]{background:var(--surface-2);color:var(--text-2)}.ifs-field.required.is-empty .ifs-input,.ifs-field.required.is-empty .ifs-select,.ifs-field.required.is-empty .ifs-textarea,.ifs-input.req-empty,.ifs-select.req-empty{background-color:var(--required-bg)}.ifs-input-icon{display:inline-block;position:relative}.ifs-input-icon .ifs-input{padding-right:28px}.ifs-input-icon.left .ifs-input{padding-left:28px;padding-right:7px}.ifs-input-icon>svg.i,.ifs-input-icon>button{width:26px;height:25px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:0 2px 2px 0;padding:5px;position:absolute;top:1px;right:1px}.ifs-input-icon>button svg.i{width:14px;height:14px}.ifs-input-icon.left>svg.i{padding:6px;left:1px;right:auto}.ifs-input-icon>button:hover{color:var(--primary)}.ifs-field .ifs-input-icon{display:block}.ifs-check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.ifs-check input{width:14px;height:14px;accent-color:var(--primary);margin:0}.ifs-toggle{cursor:pointer;align-items:center;gap:8px;min-height:27px;display:inline-flex}.ifs-toggle input{appearance:none;cursor:pointer;background:#8c8c96;border-radius:7px;width:26px;height:14px;margin:0;transition:background .15s;position:relative}.ifs-toggle input:after{content:"";background:#fff;border-radius:50%;width:10px;height:10px;transition:left .15s;position:absolute;top:2px;left:2px}.ifs-toggle input:checked{background:var(--primary)}.ifs-toggle input:checked:after{left:14px}.ifs-radio-group{flex-wrap:wrap;align-items:center;gap:16px;min-height:27px;display:flex}.ifs-radio-group label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.ifs-radio-group input{accent-color:var(--primary);margin:0}.ifs-record:not(.is-editing) .ifs-edit-banner{display:none}.badge{white-space:nowrap;background:var(--neutral-bg);height:19px;color:var(--neutral);border-radius:10px;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge.plain:before{display:none}.badge.success{background:var(--success-bg);color:var(--success)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.primary{color:var(--brand-2);background:#ece3f4}.ifs-state-indicator{--si:var(--primary)}.ifs-state-indicator.info{--si:var(--info)}.ifs-state-indicator.success{--si:var(--success)}.ifs-state-indicator.warning{--si:var(--c4)}.ifs-state-indicator.danger{--si:var(--danger)}.ifs-state-indicator.neutral{--si:var(--neutral)}.ifs-state-indicator.brand{--si:var(--brand-2)}.ifs-state-indicator .si-btn{cursor:pointer;border-radius:var(--radius);text-align:left;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:5px;min-width:170px;padding:4px 6px;display:flex}.ifs-state-indicator .si-btn:hover{background:var(--surface)}.ifs-state-indicator .si-label{color:var(--si);align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.ifs-state-indicator .si-label svg.i{width:14px;height:14px;color:var(--text-3)}.ifs-state-indicator .si-bar{background:#dcdbe2;border-radius:3px;height:5px;display:block;overflow:hidden}.ifs-state-indicator .si-bar>span{background:var(--si);border-radius:3px;height:100%;display:block}.ifs-state-indicator .si-menu{min-width:200px}.ifs-state-indicator .si-item{color:var(--text-3);align-items:center;gap:10px;padding:6px 14px;display:flex}.ifs-state-indicator .si-item.done{color:var(--text)}.ifs-state-indicator .si-item.current{color:var(--si);background:var(--surface-2);font-weight:600}.ifs-state-indicator .si-dot{border:2px solid var(--border-strong);border-radius:50%;width:9px;height:9px}.ifs-state-indicator .si-item.done .si-dot,.ifs-state-indicator .si-item.current .si-dot{border-color:var(--si);background:var(--si)}.ifs-selector .sel-btn{border-radius:var(--radius);cursor:pointer;max-width:420px;height:30px;color:var(--text-2);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 8px 0 10px;font-size:15px;display:inline-flex}.ifs-selector .sel-btn:hover{border-color:var(--border-strong);background:var(--surface)}.ifs-selector .sel-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ifs-selector .ifs-menu{min-width:300px}.ifs-selector .ifs-menu .current{background:var(--primary-50);color:var(--primary);font-weight:600}.ifs-progress{background:var(--neutral-bg);border-radius:3px;height:6px;overflow:hidden}.ifs-progress>div{background:var(--primary);border-radius:3px;height:100%}.ifs-progress.success>div{background:var(--success)}.ifs-progress.warning>div{background:var(--c4)}.ifs-progress.danger>div{background:var(--danger)}.ifs-progress.brand>div{background:var(--brand-2)}.ifs-alert{border-radius:var(--radius);border:1px solid;align-items:flex-start;gap:10px;padding:9px 12px;font-size:12.5px;display:flex}.ifs-alert svg.i{margin-top:1px}.ifs-alert .close{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:0;margin-left:auto;padding:0}.ifs-alert.info{background:var(--info-bg);color:#164f8f;border-color:#b9d3f0}.ifs-alert.success{background:var(--success-bg);color:#135c32;border-color:#b5ddc6}.ifs-alert.warning{background:var(--warning-bg);color:#7c4a00;border-color:#f0d29b}.ifs-alert.danger{background:var(--danger-bg);color:#8f1a28;border-color:#efb9bf}.ifs-tabs{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:1px solid var(--border);gap:2px;padding:0 6px;display:flex;overflow-x:auto}.ifs-tab{cursor:pointer;color:var(--text-2);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:9px 12px 8px;font-size:12.5px;display:inline-flex}.ifs-tab:hover{color:var(--text)}.ifs-tab.active{color:var(--text);border-bottom-color:var(--primary);font-weight:600}.ifs-tab .count{background:var(--neutral-bg);color:var(--text-2);border-radius:9px;padding:0 6px;font-size:11px;font-weight:400}.ifs-tab-panel{display:none}.ifs-tab-panel.active{display:block}.ifs-list{background:var(--surface);border-radius:var(--radius-lg);flex-direction:column;min-width:0;display:flex}.ifs-list-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:2px;min-height:38px;padding:4px 6px;display:flex}.ifs-list-toolbar .title{padding:0 6px;font-size:13px;font-weight:600}.ifs-list-toolbar .sep{background:var(--border);width:1px;height:18px;margin:0 4px}.ifs-list-toolbar .spacer{flex:1}.ifs-list-toolbar .ifs-input-icon .ifs-input{border-color:var(--border-strong);width:200px;height:26px}.ifs-list-toolbar .ifs-input-icon>svg.i{width:26px;height:24px;padding:5px}.ifs-table-wrap{overflow:auto}table.ifs-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px}.ifs-table th,.ifs-table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);height:32px;padding:0 10px}.ifs-table th{z-index:1;background:var(--surface);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border-strong);height:32px;font-size:12px;font-weight:600;position:sticky;top:0}.ifs-table th:hover{color:var(--text)}.ifs-table th .sort{width:10px;color:var(--primary);font-size:9px;display:inline-block}.ifs-table th.num,.ifs-table td.num{text-align:right;font-variant-numeric:tabular-nums}.ifs-table th.sel,.ifs-table td.sel{cursor:default;width:34px;padding:0 0 0 12px}.ifs-table td.sel input,.ifs-table th.sel input{accent-color:var(--primary);vertical-align:middle;width:14px;height:14px;margin:0}.ifs-table td.act{width:36px;padding:0 4px}.ifs-table tbody tr:hover td{background:#f6f8fd}.ifs-table tbody tr.selected td{background:var(--primary-50)}.ifs-table tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.ifs-table td .muted{color:var(--text-3)}.ifs-table tfoot td{background:var(--surface-2);border-bottom:0;font-weight:600}.ifs-table.compact th,.ifs-table.compact td{height:28px}.ifs-table input.cell{border:1px solid var(--input-border);border-radius:2px;width:100%;min-width:80px;height:24px;padding:0 6px;font-size:12.5px}.ifs-list-footer{color:var(--text-2);border-top:1px solid var(--border);align-items:center;gap:12px;padding:6px 12px;font-size:12px;display:flex}.ifs-list-footer .spacer{flex:1}.ifs-search-panel{background:var(--surface);border-radius:var(--radius-lg);padding:10px 12px}.ifs-search-panel .ifs-fields{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.ifs-search-panel .actions{align-items:center;gap:6px;margin-top:10px;display:flex}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{background:var(--primary-50);border:1px solid var(--primary-200);height:24px;color:var(--primary);border-radius:12px;align-items:center;gap:6px;padding:0 6px 0 10px;font-size:12px;display:inline-flex}.chip b{font-weight:600}.chip button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.chip button svg.i{width:13px;height:13px}.ifs-empty{text-align:center;color:var(--text-3);padding:40px 20px}.ifs-empty svg.i{stroke-width:1.2px;width:40px;height:40px;margin-bottom:8px}.ifs-empty b{color:var(--text-2);margin-bottom:4px;font-size:14px;display:block}.ifs-record-header{background:var(--surface);border-radius:var(--radius-lg);flex-wrap:wrap;gap:20px;padding:12px;display:flex}.ifs-record-header .main{flex:1;min-width:280px}.ifs-record-header .side{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.ifs-kpis{flex-wrap:wrap;gap:28px;display:flex}.ifs-kpi .lbl{color:var(--text-2);font-size:11px}.ifs-kpi .val{font-variant-numeric:tabular-nums;font-size:20px;font-weight:500}.ifs-kpi .val small{color:var(--text-2);font-size:12px;font-weight:400}.ifs-lobby{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-rows:minmax(156px,auto);grid-auto-flow:dense;gap:12px;display:grid}.ifs-lobby>.w-2{grid-column:span 2}.ifs-lobby>.w-3{grid-column:span 3}.ifs-lobby>.w-4{grid-column:span 4}.ifs-lobby>.w-6{grid-column:span 6}.ifs-lobby>.w-8{grid-column:span 8}.ifs-lobby>.w-12{grid-column:1/-1}.ifs-lobby>.h-2{grid-row:span 2}.ifs-lobby>.h-3{grid-row:span 3}.ifs-tile{background:var(--surface);border-radius:var(--radius-lg);color:var(--text);flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}a.ifs-tile:hover{filter:brightness(1.04);text-decoration:none;box-shadow:0 2px 10px #1e0a3c1f}.ifs-tile-header{color:#3a3a44;align-items:flex-start;gap:8px;padding:12px 12px 0;font-size:13.5px;font-weight:600;display:flex}.ifs-tile-header .spacer{flex:1}.ifs-tile-body{flex-direction:column;flex:1;padding:8px 12px 12px;display:flex}.ifs-tile .tile-menu{cursor:pointer;color:#fff;background:#8a8a95;border:0;border-radius:2px;justify-content:center;align-items:center;width:18px;height:16px;padding:0;display:flex;position:absolute;top:38px;right:12px}.ifs-tile .tile-menu svg.i{stroke-width:2.4px;width:12px;height:12px}.ifs-tile.counter{text-align:center}.ifs-tile.counter .ifs-tile-header{text-align:left}.ifs-tile.counter .ifs-tile-body{justify-content:center;align-items:center;padding-bottom:10px}.ifs-counter{color:#24242c;font-variant-numeric:tabular-nums;margin:auto 0;font-size:34px;font-weight:500;line-height:1.1}.ifs-tile .caption{color:var(--text-2);margin-top:auto;font-size:12px}.ifs-counter.success{color:var(--success)}.ifs-counter.warning{color:var(--warning)}.ifs-counter.danger{color:var(--danger)}.ifs-tile .trend{color:var(--text-2);justify-content:center;align-items:center;gap:4px;margin-top:auto;font-size:12px;display:flex}.ifs-tile .trend .up{color:var(--success);font-weight:600}.ifs-tile .trend .down{color:var(--danger);font-weight:600}.ifs-tile.purple,.ifs-tile.accent{background:var(--brand);color:#fff}.ifs-tile.purple .ifs-tile-header,.ifs-tile.accent .ifs-tile-header,.ifs-tile.purple .ifs-counter,.ifs-tile.accent .ifs-counter,.ifs-tile.purple .caption,.ifs-tile.accent .caption,.ifs-tile.purple .trend{color:#fff}.ifs-tile.light{background:var(--tile-light)}.ifs-tile.light .ifs-tile-header{color:#4a4a55}.ifs-tile.light .ifs-counter{color:var(--tile-light-fg)}.ifs-tile.light .caption{color:#4a4a55}.ifs-kv{margin:18px 0 0;padding:0;font-size:11.5px;list-style:none}.ifs-kv li{justify-content:space-between;gap:10px;padding:2px 0;display:flex}.ifs-kv li.gap{margin-top:14px}.ifs-kv a{color:inherit}.ifs-linechart{width:100%;height:118px;display:block}.ifs-linechart text{fill:var(--text-2);font-size:7px;font-family:var(--font)}.ifs-linechart .grid{stroke:#e5e4ea;stroke-width:.6px}.ifs-linechart .axis{stroke:#b9b8c0;stroke-width:.8px}.ifs-hbars{flex-direction:column;gap:8px;margin-top:12px;display:flex}.ifs-hbars .r{color:var(--text-2);grid-template-columns:70px 1fr 34px;align-items:center;gap:8px;font-size:11px;display:grid}.ifs-hbars .r>div{background:var(--c1);height:22px}.ifs-hbars .r>div.alt{background:var(--c2)}.ifs-bars{align-items:flex-end;gap:10px;height:170px;padding-top:8px;display:flex}.ifs-bars .bar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.ifs-bars .bar>div{background:var(--c5);width:100%;max-width:34px;position:relative}.ifs-bars .bar>div.alt{background:var(--c2)}.ifs-bars .bar>div:hover{filter:brightness(1.15)}.ifs-bars .bar>div[data-v]:hover:after{content:attr(data-v);background:var(--text);color:#fff;white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:11px;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.ifs-bars .bar span{color:var(--text-3);font-size:10.5px}.ifs-legend{color:var(--text-2);flex-wrap:wrap;gap:14px;font-size:11.5px;font-weight:400;display:flex}.ifs-legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.ifs-donut-wrap{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.ifs-donut{border-radius:50%;flex:none;width:120px;height:120px;position:relative}.ifs-donut:after{content:"";background:var(--surface);border-radius:50%;position:absolute;inset:20px}.ifs-donut .center{z-index:1;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ifs-donut .center b{font-size:21px;font-weight:600}.ifs-donut .center span{color:var(--text-3);font-size:11px}.ifs-donut-wrap .ifs-legend{flex-direction:column;gap:6px}.ifs-quicklinks{grid-template-columns:1fr 1fr;gap:6px;display:grid}.ifs-quicklinks a{border-radius:var(--radius);background:var(--surface-2);color:var(--text);align-items:center;gap:8px;padding:7px 10px;display:flex}.ifs-quicklinks a:hover{background:var(--primary-50);color:var(--primary);text-decoration:none}.ifs-quicklinks svg.i{color:var(--brand-2)}.ifs-mini-list{margin:0;padding:0;list-style:none}.ifs-mini-list li{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;display:flex}.ifs-mini-list li:last-child{border-bottom:0}.ifs-mini-list .grow{flex:1;min-width:0}.ifs-mini-list .grow small{color:var(--text-3);display:block}.ifs-assistant{flex-direction:column;gap:10px;display:flex}.ifs-steps{background:var(--surface);border-radius:var(--radius-lg);align-items:center;gap:4px;padding:14px 12px;display:flex;overflow-x:auto}.ifs-step{color:var(--text-2);cursor:pointer;white-space:nowrap;align-items:center;display:flex}.ifs-step:not(:first-child):before{content:"";background:#8a8a95;width:14px;height:2px;margin:0 2px 0 6px}.ifs-step .n{background:var(--surface);border:1.5px solid #8a8a95;border-radius:50%;flex:none;width:24px;height:24px;font-size:0}.ifs-step .t{align-items:center;font-size:12.5px;font-style:italic;display:flex}.ifs-step .t:before{content:"";background:#8a8a95;width:14px;height:2px;margin:0 6px 0 0}.ifs-step.active .n{background:#4f9ad6;border-color:#4f9ad6}.ifs-step.active .t{color:var(--text);font-style:normal;font-weight:600}.ifs-step.active .t:before{background:var(--primary)}.ifs-step.done .n{background:#cfe3f5;border-color:#4f9ad6}.ifs-step.done .t{color:var(--text);font-style:normal}.ifs-assistant-body .step-panel{flex-direction:column;gap:10px;display:none}.ifs-assistant-body .step-panel.active{display:flex}.ifs-assistant-body h2{font-size:14px}.ifs-assistant-body .lead{color:var(--text-2);margin:0}.ifs-assistant-footer{background:var(--surface);border-radius:var(--radius-lg);align-items:center;gap:2px;padding:6px;display:flex}.ifs-assistant-footer .spacer{flex:1}.ifs-assistant-footer .btn svg.i{fill:currentColor;width:11px;height:11px}dialog.ifs-dialog{border-radius:var(--radius-lg);box-shadow:var(--shadow-2);width:min(560px,100vw - 32px);color:var(--text);background:var(--surface);border:0;padding:0}dialog.ifs-dialog.lg{width:min(860px,100vw - 32px)}dialog.ifs-dialog::backdrop{background:#0f081e66}.ifs-dialog-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 16px;display:flex}.ifs-dialog-header h2{flex:1;font-size:15px;font-weight:500}.ifs-dialog-body{max-height:70vh;padding:16px;overflow:auto}.ifs-dialog-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:6px;padding:10px 16px;display:flex}.ifs-dialog.confirm .ifs-dialog-body{gap:14px;display:flex}.ifs-dialog.confirm .ifs-dialog-body svg.i{flex:none;width:28px;height:28px}.ifs-panel{top:var(--header-h);z-index:47;background:var(--surface);width:380px;max-width:100vw;box-shadow:var(--shadow-2);flex-direction:column;transition:transform .18s ease-out;display:flex;position:fixed;bottom:0;right:0;transform:translate(102%)}.ifs-panel.open{transform:none}.ifs-panel-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;display:flex}.ifs-panel-header h2{flex:1;font-size:14px}.ifs-panel-body{flex:1;padding:14px;overflow:auto}.ifs-toasts{z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.ifs-toast{color:#fff;border-radius:var(--radius);min-width:280px;max-width:420px;box-shadow:var(--shadow-2);border-left:4px solid var(--c3);background:#2b2438;align-items:center;gap:10px;padding:10px 14px;animation:.2s ease-out toastIn;display:flex}.ifs-toast.info{border-left-color:var(--c2)}.ifs-toast.warning{border-left-color:var(--c4)}.ifs-toast.danger{border-left-color:var(--c1)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}}.ifs-timeline{margin:0;padding:0 0 0 4px;list-style:none}.ifs-timeline li{border-left:2px solid var(--border);padding:0 0 16px 22px;position:relative}.ifs-timeline li:last-child{border-left-color:#0000;padding-bottom:0}.ifs-timeline li:before{content:"";background:var(--surface);border:2px solid var(--primary);border-radius:50%;width:10px;height:10px;position:absolute;top:3px;left:-6px}.ifs-timeline time{color:var(--text-3);font-size:11px;display:block}.ifs-file{border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:8px 10px;display:flex}.ifs-file+.ifs-file{margin-top:6px}.ifs-file .ext{background:var(--primary-100);width:32px;height:36px;color:var(--primary);text-transform:uppercase;border-radius:3px;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.ifs-file .ext.pdf{background:var(--danger-bg);color:var(--danger)}.ifs-file .ext.xls{background:var(--success-bg);color:var(--success)}.ifs-file .grow{flex:1;min-width:0}.ifs-file small{color:var(--text-3);display:block}.ifs-dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);text-align:center;color:var(--text-2);margin-top:10px;padding:22px}.row{flex-wrap:wrap;gap:16px;display:flex}.row>*{min-width:0}.grow{flex:1}.muted{color:var(--text-3)}.text-2{color:var(--text-2)}.num{font-variant-numeric:tabular-nums}.mt-0{margin-top:0}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.split{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:10px;display:grid}.split-equal{grid-template-columns:1fr 1fr;gap:10px;display:grid}.hidden{display:none!important}.note-pin{color:#fff;vertical-align:middle;cursor:help;background:#ff5a1f;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:0 0 0 3px #ff5a1f40}body.hide-notes .note-pin,body.hide-notes .note-box{display:none!important}.note-box{color:#7a2a00;border-radius:var(--radius);background:#fff5f0;border:2px dashed #ff5a1f;padding:8px 12px;font-size:12px}@media (width<=1100px){.split{grid-template-columns:1fr}.ifs-fields.cols-6,.ifs-fields.cols-8{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){body.nav-pinned .ifs-page{margin-left:var(--rail-w)}body.nav-pinned .ifs-nav{transform:translateX(calc(-100% - var(--rail-w)));box-shadow:var(--shadow-2);z-index:45}body.nav-pinned.nav-open .ifs-nav{transform:none}body.nav-pinned.nav-open .ifs-nav-backdrop{opacity:1;pointer-events:auto;display:block}.ifs-nav .pin{display:none}.ifs-lobby>.w-4,.ifs-lobby>.w-6,.ifs-lobby>.w-8{grid-column:1/-1}}@media (width<=760px){.ifs-hdr-search,.ifs-user .meta,.ifs-brand .app{display:none}.ifs-lobby>.w-2,.ifs-lobby>.w-3{grid-column:1/-1}.ifs-fields.cols-2,.ifs-fields.cols-3,.ifs-fields.cols-4,.ifs-fields.cols-6,.ifs-fields.cols-8{grid-template-columns:1fr}.ifs-field.span-2,.ifs-field.span-3{grid-column:auto}.split-equal{grid-template-columns:1fr}.ifs-page-header,.ifs-page-body{padding-left:10px;padding-right:10px}.ifs-breadcrumb{margin:0 -10px}}@media print{.ifs-header,.ifs-rail,.ifs-nav,.ifs-nav-backdrop,.ifs-toasts{display:none!important}.ifs-page{margin-left:0!important}body{background:#fff}}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth{background:linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 55%, #2b63cf 140%);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-card{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-2);padding:22px 26px 26px}.auth-card h1{margin:18px 0 6px;font-size:20px;font-weight:400}.auth-brand{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.auth-brand .env{background:var(--brand);color:#fff;letter-spacing:.04em;border-radius:3px;padding:2px 6px;font-size:11px}.auth-lang{gap:2px;margin-left:auto;display:flex}.auth-lang button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:3px;padding:2px 7px;font-size:11px}.auth-lang button.on{background:var(--primary);border-color:var(--primary);color:#fff}.auth-form{flex-direction:column;gap:12px;margin-top:16px;display:flex}.auth-form .btn{justify-content:center;height:32px}.ifs-hdr-search.ifs-menu-wrap{position:relative}.search-results{min-width:460px;max-height:70vh;top:calc(100% + 4px);left:0;right:auto;overflow:auto}.search-results button{text-align:left;align-items:center;gap:10px;width:100%;display:flex}.ifs-table tbody tr.row-danger td{background:var(--danger-bg)}.ifs-table td .ifs-input-icon{min-width:160px}.pipeline{grid-template-columns:repeat(7,minmax(190px,1fr));gap:10px;padding-bottom:6px;display:grid;overflow-x:auto}.pipeline-col{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;min-height:360px;max-height:calc(100vh - 210px);display:flex}.pipeline-head{border-bottom:3px solid var(--brand);background:var(--surface);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.pipeline-head span{color:var(--text-2);font-size:12px}.pipeline-cards{flex-direction:column;gap:6px;padding:8px;display:flex;overflow-y:auto}.pipeline-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius);color:var(--text);padding:7px 9px;font-size:12px;display:block}.pipeline-card:hover{border-color:var(--primary-200);background:var(--primary-50);text-decoration:none}.pipeline-card.late{border-left-color:var(--danger)}.pipeline-card .row-1{white-space:nowrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.pipeline-card .row-1>.muted{text-overflow:ellipsis;font-size:11px;overflow:hidden}.pipeline-card .badge{padding:0 5px;font-size:10px}.pipeline-card .cust{text-overflow:ellipsis;white-space:nowrap;margin:3px 0;overflow:hidden}.load-table td.load{font-variant-numeric:tabular-nums}.load-table td.l1{background:#e5f4ec}.load-table td.l2{background:#c8e8d5}.load-table td.l3{color:var(--warning);background:#fdf1dc;font-weight:600}.load-table td.l4{background:var(--danger-bg);color:var(--danger);font-weight:600}.load-legend{color:var(--text-2);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.load-legend i{border-radius:2px;width:12px;height:12px;margin-left:8px;display:inline-block}.load-legend i.l1{background:#e5f4ec}.load-legend i.l2{background:#c8e8d5}.load-legend i.l3{background:#fdf1dc}.load-legend i.l4{background:var(--danger-bg)}.steps-list{margin:4px 0 8px;padding-left:18px;line-height:1.7}.code-block{background:var(--surface-2);border:1px solid var(--border);white-space:pre-wrap;word-break:break-all;margin:0;padding:8px 10px;font-size:12px}@media print{.ifs-header,.ifs-rail,.ifs-nav,.ifs-commandbar,.ifs-breadcrumb{display:none!important}body.nav-pinned .ifs-page{margin-left:0!important}}.auth-card .btn{justify-content:center}
