:root{--brand-100:#f9b499;--brand-200:#f69777;--brand-300:#e27450;--brand-400:#b94d2d;--ink-900:#1b2634;--ink-800:#243447;--ink-700:#33455d;--ink-600:#536173;--ink-500:#718093;--ink-200:#dce3eb;--ink-100:#eef2f6;--surface:#fff;--surface-soft:#f7f9fb;--surface-warm:#fff6f2;--success:#1a9d8f;--success-soft:#e3f6f3;--warning:#d9952f;--warning-soft:#fff5df;--danger:#d95757;--danger-soft:#fff0ef;--blue:#2f6fb7;--blue-soft:#edf5ff;--purple:#7662b6;--shadow-sm:0 8px 22px #1b263414;--shadow-md:0 18px 48px #1b26341f;--radius:8px;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:14px;font-family:var(--sans);color:var(--ink-800);background:var(--surface-soft);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--surface-soft);min-width:320px}body{background:linear-gradient(180deg, #f9b49933, #f7f9fb00 260px), var(--surface-soft);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #e2745052}select{appearance:none;border:1px solid var(--ink-200);border-radius:var(--radius);min-height:36px;color:var(--ink-800);cursor:pointer;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23536173' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:13px;padding:0 32px 0 12px;font-size:.84rem;transition:border-color .15s,box-shadow .15s}select:hover{border-color:#e2745052}select:disabled{cursor:not-allowed;color:var(--ink-500);background-color:var(--surface-soft)}select::-ms-expand{display:none}#root{min-height:100vh}.sidebar-brand{align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.brand-logo{object-fit:contain;background:#fff;border:1px solid #e2745026;border-radius:9px;flex-shrink:0;width:36px;height:36px;padding:4px;box-shadow:0 6px 16px #e274501a}.brand-text{min-width:0;overflow:hidden}.brand-text h2{color:#24324b;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:700;line-height:1.2;overflow:hidden}.brand-text p{color:#7a869a;white-space:nowrap;text-overflow:ellipsis;margin:1px 0 0;font-size:.68rem;line-height:1.2;overflow:hidden}.app-footer{color:#64748b;background:#f8fafc;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:auto;padding:14px 24px;font-size:13px;line-height:1.4;display:flex;box-shadow:0 -2px 8px #0f172a0a}.footer-left,.footer-center,.footer-right{align-items:center;gap:10px;display:flex}.footer-left{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:220px}.footer-left strong,.footer-right strong{color:#1e293b;font-weight:600}.footer-left small,.footer-right small{color:#64748b}.footer-center{color:#64748b;flex-wrap:wrap;flex:1;justify-content:center}.footer-divider{color:#cbd5e1;-webkit-user-select:none;user-select:none}.footer-right{text-align:right;flex-direction:column;flex:1;align-items:flex-end;gap:2px;min-width:220px}@media (width<=900px){.app-footer{text-align:center;flex-direction:column;gap:12px}.footer-left,.footer-center,.footer-right{text-align:center;justify-content:center;align-items:center}}.toast{z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;min-width:320px;max-width:420px;padding:14px 16px;animation:.25s ease-out toast-slide-in;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 25px #0f172a1f,0 3px 8px #0f172a14}.toast-icon{color:#16a34a;background:#dcfce7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.toast-icon svg{width:18px;height:18px}.toast-content{flex-direction:column;flex:1;gap:2px;display:flex}.toast-content strong{color:#0f172a;font-size:13px;font-weight:600}.toast-content span{color:#64748b;font-size:12px;line-height:1.4}.toast-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.toast-close:hover{color:#475569;background:#f1f5f9}.toast-close svg{width:15px;height:15px}.toast-error .toast-icon{color:#dc2626;background:#fee2e2}.toast-warning .toast-icon{color:#d97706;background:#fef3c7}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.toast{min-width:0;max-width:none;bottom:12px;left:12px;right:12px}}.app-shell{grid-template-columns:264px minmax(0,1fr);height:100dvh;transition:grid-template-columns .18s;display:grid;overflow:hidden}.app-shell.is-sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overscroll-behavior:contain;background:#fffffff0;border-right:1px solid #dce3ebdb;flex-direction:column;height:100dvh;display:flex;overflow-y:auto}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:3px}.sidebar-top{z-index:2;background:inherit;-webkit-backdrop-filter:inherit;backdrop-filter:inherit;border-bottom:1px solid var(--ink-100);justify-content:space-between;align-items:center;gap:8px;padding:14px 12px 14px 18px;display:flex;position:sticky;top:0}.sidebar-collapse-btn{border:1px solid var(--ink-200);background:var(--surface);width:28px;height:28px;color:var(--ink-600);border-radius:7px;flex:none;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.sidebar-collapse-btn:hover{background:var(--surface-warm);color:var(--brand-400);border-color:#e274504d}.sidebar-collapse-btn svg{width:14px;height:14px;transition:transform .18s}.is-sidebar-collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}.is-sidebar-collapsed .sidebar-top{justify-content:center;padding-inline:0}.is-sidebar-collapsed .sidebar-brand{display:none}.metric-icon,.role-icon{flex:none;place-items:center;display:grid}.sidebar-nav{flex:auto;align-content:start;gap:14px;padding:12px 10px;display:grid}.nav-section-group{gap:3px;display:grid}.nav-section-title{color:var(--ink-500);letter-spacing:.07em;text-transform:uppercase;margin-bottom:2px;padding:0 10px;font-size:.66rem;font-weight:800}.is-sidebar-collapsed .nav-section-title{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.sidebar-nav button{border-radius:var(--radius);min-height:38px;color:var(--ink-600);text-align:left;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:0 10px;font-size:.84rem;font-weight:500;transition:border-color .18s,background .18s,color .18s;display:flex}.sidebar-nav button svg{flex:none;width:17px;height:17px}.sidebar-nav button span{text-overflow:ellipsis;min-width:0;overflow:hidden}.sidebar-nav button:hover{background:var(--surface-warm);color:var(--ink-900);border-color:#e2745033}.sidebar-nav button.active{color:var(--ink-900);box-shadow:inset 3px 0 0 var(--brand-300);background:linear-gradient(90deg,#f9b49952,#fff0);border-color:#e2745052;font-weight:600}.nav-item-group{gap:2px;display:grid}.sidebar-nav button.nav-parent-button{justify-content:space-between}.sidebar-nav button.nav-parent-active{color:var(--ink-900);background:#fff7f3b8;font-weight:600}.nav-parent-chevron{flex:none;width:14px;height:14px}.nav-submenu{border-left:1px solid var(--ink-200);gap:2px;margin-left:27px;padding-left:10px;display:grid}.sidebar-nav .nav-submenu button{gap:8px;min-height:32px;padding:0 10px;font-size:.78rem}.sidebar-nav .nav-submenu button svg{width:14px;height:14px}.is-sidebar-collapsed .nav-parent-chevron,.is-sidebar-collapsed .nav-submenu{display:none}.is-sidebar-collapsed .sidebar-nav button{justify-content:center;padding:0}.is-sidebar-collapsed .sidebar-nav button span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.sidebar-backdrop{display:none}.main-content{flex-direction:column;min-width:0;height:100dvh;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--ink-100);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;flex:none;justify-content:space-between;align-items:center;gap:18px;padding:18px clamp(18px,3vw,36px);display:flex}.sidebar-menu-btn{display:none}.topbar-title h2,.content-toolbar h2{color:var(--ink-900);margin:0;font-size:1.05rem;line-height:1.25}.cycle-selector{border-radius:var(--radius);min-width:190px;min-height:34px;color:var(--brand-400);background:#fff;border:1px solid #e2745047;padding:0 12px;font-size:.8rem;font-weight:800}.main-scroll{overscroll-behavior:contain;flex-direction:column;flex:auto;display:flex;overflow-y:auto}.main-scroll::-webkit-scrollbar{width:8px}.main-scroll::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:4px}.page-content{flex:1 0 auto;padding:22px clamp(18px,3vw,36px) 36px}.content-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.toolbar-actions,.table-action-row,.report-download-actions,.connection-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search-box{border:1px solid var(--ink-200);border-radius:var(--radius);width:min(560px,100%);box-shadow:var(--shadow-sm);background:#ffffffeb;align-items:center;gap:10px;padding:0 14px;display:flex}.search-box svg{color:var(--ink-500)}.search-box input{width:100%;min-height:40px;color:var(--ink-800);background:0 0;border:0}.search-box input::placeholder{color:var(--ink-500)}.topbar-actions,.header-actions,.form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.header-actions{flex:none;justify-content:flex-end}.user-chip{border:1px solid var(--ink-200);border-radius:var(--radius);background:#fff;min-height:46px;padding:6px 12px 6px 6px}.user-chip>span{color:#fff;background:var(--ink-800);border-radius:50%;width:34px;height:34px;font-size:.82rem;font-weight:800}.page-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;display:flex}.page-header>div:first-child{flex:auto;min-width:0}.eyebrow{min-height:26px;color:var(--brand-400);letter-spacing:0;background:#f9b49933;border:1px solid #e2745038;border-radius:999px;align-items:center;padding:4px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.page-header h1{color:var(--ink-900);letter-spacing:0;margin:10px 0 6px;font-size:1.5rem;font-weight:700;line-height:1.2}.page-header p,.panel-header p,.report-card p,.upload-tile span,.upload-dropzone span,.job-row span,.resource-row span,.activity-item p,.field-summary p,.execution-stage span,.stage-card small{color:var(--ink-500);margin:0}.button,.icon-button{border-radius:var(--radius);border:1px solid #0000;justify-content:center;align-items:center;font-size:.84rem;font-weight:700;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:inline-flex}.button{gap:7px;min-height:36px;padding:0 14px}.button.primary{color:#fff;background:linear-gradient(135deg, var(--brand-200), var(--brand-300));box-shadow:0 10px 22px #e2745047}.button.secondary{color:var(--ink-800);border-color:var(--ink-200);background:#fff}.button.ghost{color:var(--ink-700);background:0 0}.button:hover,.icon-button:hover{transform:translateY(-1px)}.icon-button{width:36px;height:36px;color:var(--ink-700);border-color:var(--ink-200);background:#fff}.icon-button.primary{color:#fff;background:var(--brand-300);border-color:#0000}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.metric-card{border-radius:var(--radius);min-height:148px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #dce3ebdb;flex-direction:column;padding:18px;display:flex;position:relative;overflow:hidden}.metric-card:after{content:"";z-index:0;background:#f9b49938;border-radius:50%;width:132px;height:132px;position:absolute;bottom:-42px;right:-36px}.metric-card>*{z-index:1;position:relative}.metric-card span,.metric-card small{color:var(--ink-500);display:block}.metric-card span{margin-top:14px;font-size:.8rem;font-weight:600}.metric-card strong{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:1.6rem;font-weight:700;line-height:1.2;display:block;overflow:hidden}.metric-card small{margin-top:4px;font-size:.76rem}.metric-icon{border-radius:var(--radius);width:36px;height:36px;color:var(--brand-400);background:#f9b49942}.tone-success .metric-icon,.tone-success:after{color:var(--success);background:var(--success-soft)}.tone-danger .metric-icon,.tone-danger:after{color:var(--danger);background:var(--danger-soft)}.tone-blue .metric-icon,.tone-blue:after{color:var(--blue);background:var(--blue-soft)}.dashboard-grid,.recon-grid,.config-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;display:grid}.jobs-layout,.logs-layout,.field-mapping-layout,.tree-layout{grid-template-columns:minmax(0,1.4fr) minmax(340px,.6fr);gap:18px;display:grid}.connections-layout,.mapping-sheet-layout,.gl-grid,.cycle-layout,.trial-balance-layout,.workflow-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.58fr);gap:18px;margin-bottom:18px;display:grid}.mapping-sheet-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.panel,.connection-form-panel,.report-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fffffff5;border:1px solid #dce3ebeb}.panel,.connection-form-panel{min-width:0;padding:18px}.panel-large,.panel-wide{grid-column:span 1}.recon-grid .panel-wide,.config-grid .panel-wide{grid-column:1/-1}.panel-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.panel-header h2{color:var(--ink-900);letter-spacing:0;margin:0 0 4px;font-size:1.05rem;line-height:1.25}.live-pill,.status{letter-spacing:0;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:4px 9px;font-size:.72rem;font-weight:900;display:inline-flex}.live-pill,.status-ready,.status-running,.status-complete,.status-completed,.status-configured,.status-matched,.status-mapped,.status-success,.status-source,.status-target,.status-staging,.status-connected,.status-yes{color:var(--success);background:var(--success-soft)}.status-review,.status-warning,.status-exception,.status-locked,.status-variance,.status-mismatch{color:var(--warning);background:var(--warning-soft)}.status-failed,.status-discrepancy,.status-unmapped{color:var(--danger);background:var(--danger-soft)}.status-queued,.status-pending,.status-mapping,.status-active{color:var(--blue);background:var(--blue-soft)}.job-list{gap:10px;display:grid}.job-row{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"job-info job-status""job-progress job-meta";align-items:center;gap:12px 14px;min-height:74px;padding:12px;display:grid}.job-row>div:first-child{grid-area:job-info}.job-row>.status{grid-area:job-status}.job-row strong,.resource-row strong,.activity-item strong,.role-row strong,.stage-card strong,.execution-stage strong,.field-summary strong,.report-card strong,.db-type-card strong,.upload-tile strong,.upload-dropzone strong{color:var(--ink-900)}.job-row>div:first-child span{margin-top:4px;font-size:.82rem;display:block}.job-progress{grid-area:job-progress;grid-template-columns:minmax(110px,1fr) 42px;align-items:center;gap:10px;display:grid}.job-meta{color:var(--ink-600);white-space:nowrap;grid-area:job-meta;justify-content:flex-end;gap:12px;font-size:.84rem;font-weight:800;display:flex}.progress-track{background:#e8eef5;border-radius:999px;height:9px;position:relative;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--brand-200), var(--brand-300));position:absolute;inset:0 auto 0 0}.progress-fill.cool{background:linear-gradient(90deg, var(--blue), var(--success))}.progress-fill.muted{background:var(--ink-200)}.health-content{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:16px;display:grid}.donut-wrap{place-items:center;width:180px;height:180px;display:grid;position:relative}.donut-chart{width:100%;height:100%;transform:rotate(-90deg)}.donut-bg{fill:none;stroke:#edf2f7;stroke-width:7px}.donut-segment{fill:none;stroke-width:7px}.donut-segment.success{stroke:var(--success)}.donut-segment.partial{stroke:var(--blue)}.donut-segment.failed{stroke:var(--brand-300)}.donut-center{text-align:center;place-items:center;display:grid;position:absolute}.donut-center strong{color:var(--ink-900);font-size:1.7rem;line-height:1}.donut-center span{color:var(--ink-500);font-size:.76rem}.legend-list,.resource-list,.activity-feed,.roles-list,.execution-stages,.stage-timeline{gap:12px;display:grid}.legend-list span{color:var(--ink-700);font-size:.9rem}.dot{border-radius:999px;width:9px;height:9px;margin-right:8px;display:inline-block}.dot.success{background:var(--success)}.dot.partial{background:var(--blue)}.dot.failed{background:var(--brand-300)}.resource-row{border-bottom:1px solid var(--ink-100);grid-template-columns:30px minmax(120px,1fr) minmax(100px,.9fr) 42px;align-items:center;gap:10px;padding-bottom:11px;display:grid}.resource-row:last-child{border-bottom:0;padding-bottom:0}.resource-row svg{color:var(--brand-300)}.resource-row span{margin-top:2px;font-size:.78rem;display:block}.activity-item{grid-template-columns:54px minmax(0,1fr);gap:12px;padding-left:4px;display:grid;position:relative}.activity-item:before{background:var(--success);content:"";border-radius:50%;width:10px;height:10px;position:absolute;top:7px;left:58px}.activity-item.warning:before{background:var(--warning)}.activity-item>span{color:var(--ink-500);font-size:.82rem}.trend-chart svg{width:100%;height:168px;display:block}.chart-axis{color:var(--ink-500);justify-content:space-between;font-size:.78rem;display:flex}.db-type-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.db-type-card{border:1px solid var(--ink-200);border-radius:var(--radius);text-align:left;background:#fff;justify-items:start;gap:7px;min-height:168px;padding:16px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.db-type-card svg{color:var(--brand-300);font-size:1.35rem}.db-type-card span,.db-type-card p{color:var(--ink-500);margin:0;font-size:.8rem}.db-type-card.selected{border-color:var(--brand-300);transform:translateY(-1px);box-shadow:0 14px 34px #e274502e}.db-type-card.tone-blue svg{color:var(--blue)}.db-type-card.tone-green svg,.db-type-card.tone-teal svg{color:var(--success)}.db-type-card.tone-purple svg{color:var(--purple)}.db-type-card.tone-navy svg,.db-type-card.tone-steel svg,.db-type-card.tone-ice svg{color:var(--ink-700)}.connection-form,.upload-grid,.report-actions{gap:12px;display:grid}.connection-form{grid-template-columns:repeat(2,minmax(0,1fr))}.connection-form.single{grid-template-columns:1fr}.connection-form label,.select-label{gap:7px;display:grid}.connection-form label span,.select-label span{color:var(--ink-600);font-size:.78rem;font-weight:800}.connection-form input,.connection-form select,.select-label select,.search-box input{border-radius:var(--radius)}.connection-form input,.connection-form select,.select-label select{border:1px solid var(--ink-200);width:100%;min-height:36px;color:var(--ink-800);background:#fff}.connection-form input{padding:0 12px}.connection-form select,.select-label select{padding:0 32px 0 12px}.form-actions{grid-column:1/-1;justify-content:space-between;margin-top:4px}.test-result{color:var(--success);align-items:center;gap:7px;font-size:.82rem;font-weight:800;display:inline-flex}.table-shell{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{border-bottom:1px solid var(--ink-100);text-align:left;vertical-align:middle;white-space:nowrap;padding:12px 10px}th{color:var(--ink-500);background:#f9fbfd;font-size:.76rem;font-weight:900}td{color:var(--ink-700);font-size:.88rem}.segment-nav{width:100%;box-shadow:none;background:0 0;border:0;border-bottom:1px solid #e2745033;border-radius:0;gap:8px;margin-bottom:16px;padding:0;display:flex}.segment-nav button{min-height:40px;color:var(--ink-600);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:0 14px;font-weight:800}.segment-nav button.active{color:var(--brand-400);border-bottom-color:var(--brand-300);background:0 0}.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.recon-grid .upload-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.upload-tile,.upload-dropzone{border-radius:var(--radius);min-height:142px;color:var(--brand-400);text-align:center;background:#f9b4991f;border:1px dashed #e274507a;place-items:center;gap:8px;padding:18px;display:grid;position:relative}.upload-dropzone{cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.upload-dropzone:hover{border-color:var(--brand-300);background:#f9b4992e;transform:translateY(-1px)}.upload-dropzone input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.upload-tile svg,.upload-dropzone svg{font-size:1.8rem}.mapping-upload-form{gap:12px;margin-bottom:12px;display:grid}.source-entry-list{flex-direction:column;gap:12px;display:flex}.source-entry-card{background:#fff;border:1px solid #dbe3ef;border-radius:8px;padding:14px}.source-entry-card.active{border-color:var(--brand-300);box-shadow:0 0 0 1px #f16f4d29}.source-entry-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.source-entry-title{color:var(--navy);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:900}.source-parse-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.compact-zone{min-height:108px;margin-top:10px}.source-preview-summary{color:#0f766e;background:#e8faf5;border-radius:999px;align-items:center;gap:6px;width:fit-content;margin-top:10px;padding:5px 10px;font-size:.78rem;font-weight:800;display:flex}.source-preview-block{flex-direction:column;gap:10px;display:flex}.source-field-chip-list{flex-wrap:wrap;gap:6px;display:flex}.source-field-chip{color:#10233f;background:#f8fafc;border:1px solid #dbe3ef;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:.76rem;font-weight:800;display:inline-flex}.source-field-chip.muted{color:#66748a;background:#eef2f7}.icon-button{color:#52637a;cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.icon-button:disabled{opacity:.45;cursor:not-allowed}.mapping-upload-zone{min-height:104px}.dataset-type-tag,.field-count-pill{border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 10px;font-size:.72rem;font-weight:900;display:inline-flex}.dataset-type-tag.static{color:var(--blue);background:var(--blue-soft)}.dataset-type-tag.financial{color:var(--success);background:var(--success-soft)}.field-count-pill{color:#fff;background:var(--brand-300)}.mapping-sheet-layout .table-shell{overflow-x:hidden}.mapping-sheet-layout .table-shell table{table-layout:fixed;min-width:0}.mapping-sheet-layout .table-shell th,.mapping-sheet-layout .table-shell td{padding:11px 10px}.mapping-sheet-layout .table-shell th:first-child,.mapping-sheet-layout .table-shell td:first-child{width:34%}.mapping-sheet-layout .table-shell th:nth-child(2),.mapping-sheet-layout .table-shell td:nth-child(2){width:27%}.mapping-sheet-layout .table-shell th:nth-child(3),.mapping-sheet-layout .table-shell td:nth-child(3){text-align:center;width:13%}.mapping-sheet-layout .table-shell th:nth-child(4),.mapping-sheet-layout .table-shell td:nth-child(4){width:14%}.mapping-sheet-layout .table-shell th:nth-child(5),.mapping-sheet-layout .table-shell td:nth-child(5){text-align:right;width:12%}.mapping-control-row{grid-template-columns:minmax(180px,.72fr) minmax(200px,.82fr) minmax(260px,2fr) minmax(210px,.78fr);align-items:end;gap:12px;margin-bottom:8px;display:grid}.mapping-control-row .select-label{min-width:0}.mapping-control-notice{align-items:center;gap:10px;min-height:24px;margin:0 0 14px;display:flex}.mapping-control-notice small{border-radius:999px;align-items:center;min-height:24px;padding:0 10px;font-size:.74rem;font-weight:800;display:inline-flex}.mapping-control-notice .form-error{background:var(--danger-soft);border:1px solid #dc50343d}.mapping-control-notice .form-success{background:var(--success-soft);border:1px solid #2b9a7f38}.mapping-control-notice .form-info{color:var(--blue);background:var(--blue-soft);border:1px solid #4877b138}.select-label.compact select{min-height:38px}.mapping-search{border:1px solid var(--ink-200);border-radius:var(--radius);background:#fff;align-items:center;gap:8px;min-width:0;min-height:38px;padding:0 10px;display:flex}.mapping-search svg{color:var(--ink-500)}.mapping-search input{background:0 0;border:0;width:100%}.mapping-progress-summary{border:1px solid var(--ink-100);border-radius:var(--radius);background:#fff;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;min-height:64px;padding:8px 10px;display:grid}.mapping-progress-summary strong{color:var(--ink-900)}.mapping-progress-summary span{color:var(--ink-500);font-size:.78rem;font-weight:800}.mapping-progress-summary .progress-track{grid-column:1/-1}.field-map-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(260px,.7fr);gap:18px;margin-bottom:18px;display:grid}.field-list,.rule-chip-list,.schema-tree{gap:8px;display:grid}.compact-action{border:1px solid var(--ink-200);border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:0 12px;font-weight:800;display:inline-flex}.compact-action svg{width:16px;height:16px}.compact-action:disabled{cursor:not-allowed;opacity:.55}.primary-button.compact-action{color:#fff;background:linear-gradient(135deg, var(--brand-200), var(--brand-300));border-color:#0000}.secondary-button.compact-action{color:var(--ink-800);background:#fff}.manual-field-form{border:1px solid var(--ink-150);background:#f8fafc;border-radius:8px;grid-template-columns:minmax(180px,1fr) minmax(130px,.55fr) auto auto;align-items:end;gap:10px;margin-bottom:14px;padding:12px;display:grid}.manual-field-form label{gap:6px;min-width:0;display:grid}.manual-field-form label>span{color:var(--ink-500);font-size:.72rem;font-weight:800}.manual-field-form input,.manual-field-form select{width:100%}.manual-field-check{grid-template-columns:auto auto;align-items:center;min-height:38px;padding:0 8px;gap:8px!important;display:inline-flex!important}.manual-field-check input{width:auto;min-height:auto;padding:0}.staging-create-form{grid-template-columns:minmax(180px,1fr) auto;margin-top:10px;margin-bottom:0}.staging-field-controls{grid-template-columns:minmax(120px,1fr) auto;align-items:end;gap:8px;margin-top:8px;display:grid}.staging-field-controls label{gap:4px;display:grid}.staging-field-controls label>span{color:var(--ink-500);font-size:.68rem;font-weight:800}.staging-field-controls select{min-height:32px}.inline-field-select{min-width:150px;min-height:32px}.inline-field-check{color:var(--ink-700);align-items:center;gap:8px;font-weight:700;display:inline-flex}.generate-files-layout{grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:18px;display:grid}.generate-files-controls{grid-template-columns:minmax(220px,1fr) minmax(140px,.4fr) auto;align-items:end;gap:12px;margin-bottom:16px;display:grid}.table-link-button{color:var(--brand-300);background:0 0;border:0;padding:0;font-weight:800}.table-link-button:disabled{color:var(--ink-400);cursor:not-allowed}.generated-files-panel>.panel-header svg{color:var(--brand-300)}.generated-file-list{gap:10px;display:grid}.generated-file-row{border:1px solid var(--ink-150);background:#f8fafc;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:12px;display:grid}.generated-file-row svg{color:var(--brand-300)}.generated-file-row .button{white-space:nowrap;min-height:36px}.generated-file-row strong,.generated-file-row span{overflow-wrap:anywhere;min-width:0;display:block}.generated-file-row span{color:var(--ink-500);word-break:break-all;margin-top:4px;font-size:.78rem;line-height:1.45}.field-map-pill{border:1px solid var(--ink-100);border-radius:var(--radius);min-height:42px;color:var(--ink-900);text-align:left;cursor:pointer;background:#f7fbff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.field-map-pill strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.field-map-pill span{color:var(--ink-500);font-size:.74rem;font-weight:800}.field-map-pill.selected{background:#fff4ef;border-color:#e27450}.field-map-pill.mapped{background:#dcfce7;border-color:#22c55e}.field-map-pill.mapped strong{color:#166534}.field-map-pill.mapped>span,.field-map-pill.mapped small{color:#15803d}.field-map-pill.selected.mapped{background:#bbf7d0;border-color:#16a34a}.field-map-pill.mismatch{border-left:4px solid var(--warning)}.field-map-pill.unmapped{border-left:4px solid var(--danger)}.destination-list .field-map-pill{background:#f7fbff;border-color:#2f6fb72e}.destination-list .field-map-pill.mapped{background:#dcfce7;border-color:#22c55e}.destination-list .field-map-pill.selected.mapped{background:#bbf7d0;border-color:#16a34a}.rule-tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.rule-tabs button{border:1px solid var(--ink-200);min-height:30px;color:var(--ink-600);text-transform:capitalize;background:#fff;border-radius:999px;padding:0 10px;font-size:.74rem;font-weight:900}.rule-tabs button.active{border-color:var(--brand-300);color:#fff;background:var(--brand-300)}.rule-chip-list span{border:1px solid var(--ink-100);border-radius:var(--radius);color:var(--ink-700);background:var(--surface-soft);padding:9px 10px;font-size:.82rem;font-weight:800}.schema-tree-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);gap:18px;display:grid}.schema-tree-system>button,.schema-tree-table button{border:1px solid var(--ink-100);border-radius:var(--radius);width:100%;color:var(--ink-800);text-align:left;background:#fff;grid-template-columns:20px minmax(0,1fr) 20px;align-items:center;gap:8px;padding:10px;display:grid}.schema-tree-system>button svg{color:var(--brand-300)}.schema-tree-table{border-left:2px solid #e274502e;gap:6px;margin:8px 0 12px 18px;padding-left:12px;display:grid}.schema-tree-table>strong{color:var(--ink-900);font-size:.86rem}.schema-tree-table button{min-height:36px;color:var(--ink-700);background:var(--surface-soft);grid-template-columns:minmax(0,1fr) auto}.schema-tree-table button.selected{border-color:var(--brand-300);background:var(--surface-warm)}.schema-tree-table small{color:var(--ink-500);font-weight:900}.field-inspector-card{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft);grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.field-inspector-card svg{border-radius:var(--radius);width:44px;height:44px;color:var(--brand-300);background:#f9b49933;padding:10px}.field-inspector-card span,.inspector-grid span{color:var(--ink-500);font-size:.76rem;font-weight:800;display:block}.field-inspector-card strong{color:var(--ink-900);font-size:1.2rem;display:block}.inspector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.inspector-grid>div{border:1px solid var(--ink-100);border-radius:var(--radius);background:#fff;padding:12px}.inspector-grid strong{color:var(--ink-900);overflow-wrap:anywhere;margin-top:4px;display:block}.dataset-pills,.permission-pills{flex-wrap:wrap;gap:8px;display:flex}.dataset-pills button,.permission-pills span,.confidence{border-radius:999px;align-items:center;min-height:28px;font-size:.78rem;font-weight:900;display:inline-flex}.dataset-pills button{border:1px solid var(--ink-200);color:var(--ink-700);background:#fff;padding:0 12px}.dataset-pills button.active{border-color:var(--brand-300);color:#fff;background:var(--brand-300)}.dataset-detail{border-top:1px solid var(--ink-100);gap:14px;margin-top:16px;padding-top:16px;display:grid}.dataset-heading{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.dataset-heading>svg{border-radius:var(--radius);width:38px;height:38px;color:var(--blue);background:var(--blue-soft);place-items:center;padding:9px;display:grid}.dataset-heading strong,.dataset-heading span,.dataset-meta-grid span,.dataset-meta-grid strong,.destination-overview span,.destination-overview strong,.mapping-preview-summary span,.mapping-preview-summary strong,.table-profile-grid span,.table-profile-grid strong,.field-rule-grid span,.field-rule-grid strong,.rule-band span,.rule-band strong{display:block}.dataset-heading span,.dataset-meta-grid span,.destination-overview span,.mapping-preview-summary span,.table-profile-grid span,.field-rule-grid span,.rule-band span,.db-context-card span{color:var(--ink-500);font-size:.76rem;font-weight:800}.dataset-meta-grid,.destination-overview,.mapping-preview-summary,.table-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dataset-meta-grid>div,.destination-overview>div,.mapping-preview-summary>div,.table-profile-grid>div{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft);padding:11px}.check-list{flex-wrap:wrap;gap:8px;display:flex}.check-list span{min-height:30px;color:var(--success);background:var(--success-soft);border-radius:999px;align-items:center;gap:7px;padding:0 10px;font-size:.78rem;font-weight:900;display:inline-flex}.table-selector{max-height:720px;overflow:auto}.table-list{gap:8px;margin-top:14px;display:grid}.table-row{border:1px solid var(--ink-100);border-radius:var(--radius);background:#fff;grid-template-columns:minmax(170px,1fr) minmax(142px,.58fr) auto auto;align-items:center;gap:10px;padding:10px;display:grid}.table-row.selected{border-color:var(--brand-300);background:var(--surface-warm)}.table-name-button{min-width:0;color:var(--ink-800);text-align:left;background:0 0;border:0;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:0;display:grid}.table-name-button strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.table-name-button span{color:var(--ink-500);font-size:.78rem;display:block}.table-list select{min-width:0}.open-fields-button{border:1px solid var(--ink-200);min-height:34px;color:var(--ink-800);background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:.78rem;font-weight:900;display:inline-flex}.db-context-card{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:12px;padding:12px;display:grid}.db-context-card>svg{border-radius:var(--radius);width:38px;height:38px;color:var(--brand-300);background:#f9b49933;padding:9px}.db-context-card strong{color:var(--ink-900);display:block}.mapping-canvas{border:1px solid var(--ink-100);border-radius:var(--radius);background-image:linear-gradient(var(--ink-100) 1px, transparent 1px), linear-gradient(90deg, var(--ink-100) 1px, transparent 1px);background-size:32px 32px;grid-template-columns:minmax(145px,.8fr) minmax(170px,1fr) minmax(180px,.95fr);align-items:center;min-height:318px;padding:20px;display:grid;position:relative;overflow:hidden}.mapping-column{z-index:1;gap:10px;display:grid;position:relative}.mapping-column span{color:var(--ink-500);font-size:.78rem;font-weight:900}.mapping-column button{min-height:38px;color:var(--ink-800);text-align:left;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e2745042;border-radius:7px;padding:0 12px}.mapping-column.destination button{background:#f7fbff;border-color:#2f6fb73d}.mapping-canvas svg{width:100%;height:250px}.mapping-preview-summary{margin-top:14px}.destination-overview{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.field-detail-grid{grid-template-columns:220px minmax(0,1fr);gap:18px;display:grid}.field-summary{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft);align-self:start;padding:16px}.field-summary strong{margin-bottom:4px;font-size:2.4rem;line-height:1;display:block}.field-summary span{color:var(--ink-500);margin-bottom:14px;display:block}.field-summary p{margin-top:14px;font-size:.86rem}.field-summary-actions{gap:8px;margin-top:16px;display:grid}.field-summary-actions .button{width:100%}.field-mapping-table select{min-width:210px;min-height:34px}.confidence{color:var(--success);background:var(--success-soft);padding:0 9px}.tree-panel{max-height:760px;overflow:auto}.db-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.db-summary-strip button{border:1px solid var(--ink-100);border-radius:var(--radius);min-height:42px;color:var(--ink-700);text-align:left;background:#fff;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;display:grid}.db-summary-strip button.active{background:var(--blue-soft);border-color:#2f6fb747}.db-summary-strip span{color:var(--ink-700);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:800;overflow:hidden}.db-summary-strip strong{color:var(--ink-900);font-size:.86rem}.tree-list,.tree-children{gap:6px;display:grid}.tree-node button,.field-node{border:1px solid var(--ink-100);border-radius:var(--radius);width:100%;min-height:40px;color:var(--ink-700);text-align:left;background:#fff;grid-template-columns:18px 20px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;display:grid}.tree-node.db>button{grid-template-columns:18px 20px minmax(0,1fr) auto auto}.tree-node button.selected,.field-node.selected{background:var(--surface-warm);color:var(--ink-900);border-color:#e2745052}.tree-children{border-left:2px solid #e2745029;margin:6px 0 8px 22px;padding-left:12px}.tree-node.table>button{background:#fbfcfe}.tree-children.fields{gap:4px}.tree-node .field-node{grid-template-columns:18px minmax(0,1fr) auto;min-height:36px}.field-node span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.field-node small{white-space:nowrap;justify-self:end}.field-node small,.tree-node button>span{color:var(--ink-500);font-size:.76rem}.field-inspector{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft);gap:14px;margin-bottom:14px;padding:14px;display:grid}.field-inspector-head{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;display:grid}.field-inspector-head>svg{border-radius:var(--radius);width:42px;height:42px;color:var(--brand-300);background:#f9b49933;padding:10px}.field-inspector-head span{color:var(--ink-500);font-size:.78rem;font-weight:800;display:block}.field-inspector-head strong{overflow-wrap:anywhere;color:var(--ink-900);font-size:1.2rem;display:block}.field-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.field-rule-grid>div,.rule-band,.table-profile-grid{border-top:1px solid var(--ink-100);padding-top:12px}.rule-band{gap:10px;display:grid}.rule-band strong,.field-rule-grid strong,.table-profile-grid strong{color:var(--ink-900);overflow-wrap:anywhere}.table-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.report-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.report-card{align-content:start;gap:12px;min-height:240px;padding:18px;display:grid}.report-card>svg{color:var(--brand-300);font-size:1.9rem}.report-card .button{align-self:end;width:max-content}.stage-timeline{grid-template-columns:repeat(4,minmax(0,1fr))}.stage-card{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft);gap:10px;padding:14px;display:grid}.stage-card>span{color:var(--ink-700);font-weight:800}.stage-card strong{font-size:1.8rem;line-height:1}.execution-stage{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px;display:grid}.stage-index{color:#fff;background:var(--ink-800);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.execution-stage>div:last-child{border-bottom:1px solid var(--ink-100);gap:7px;padding-bottom:12px;display:grid}.report-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.report-actions button{border:1px solid var(--ink-100);border-radius:var(--radius);min-height:58px;color:var(--ink-800);background:var(--surface-soft);align-items:center;gap:10px;padding:0 14px;font-weight:800;display:flex}.report-actions svg{color:var(--brand-300)}.checkbox-line{grid-template-columns:18px minmax(0,1fr);align-items:center}.checkbox-line input{width:18px;height:18px;accent-color:var(--brand-300)}.system-control-list{gap:10px;display:grid}.system-control-row{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.system-control-row strong,.system-control-row span{display:block}.system-control-row strong{color:var(--ink-900)}.system-control-row span{color:var(--ink-500);margin-top:2px;font-size:.8rem}.roles-list{gap:10px}.role-row{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft);grid-template-columns:42px minmax(130px,.8fr) minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.role-icon{border-radius:var(--radius);width:38px;height:38px;color:var(--brand-300);background:#f9b49933}.role-row span{color:var(--ink-500);font-size:.8rem}.permission-pills span{color:var(--ink-700);background:#fff;padding:0 9px}.log-filter-panel{align-self:start}.log-filter-panel .select-label{margin-bottom:12px}.log-summary{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg, var(--ink-800), #2f6fb7);gap:2px;padding:16px;display:grid}.log-summary strong{font-size:2rem;line-height:1}.log-summary span{color:#ffffffc7}.mini-bars{gap:10px;display:grid}.mini-bar-row{color:var(--ink-700);grid-template-columns:90px minmax(0,1fr) 34px;align-items:center;gap:10px;font-size:.82rem;display:grid}.mini-bar-track{background:var(--ink-100);border-radius:999px;height:10px;overflow:hidden}.mini-bar-track span{border-radius:inherit;background:linear-gradient(90deg, var(--success), var(--brand-200));height:100%;display:block}.workflow-overview{margin-bottom:18px}.dashboard-cycle-history{margin-bottom:18px;padding:0;overflow:hidden}.cycle-history-header{justify-content:space-between;align-items:center;gap:14px;padding:14px 16px 0;display:flex}.cycle-history-header h2{color:var(--ink-900);letter-spacing:0;margin:0;font-size:1.05rem}.cycle-history-header .button{min-height:32px;padding-inline:12px;font-size:.78rem}.compact-table table{min-width:680px}.compact-table th{color:var(--ink-700);background:#f9fbfd;padding:12px 14px}.compact-table td{padding:10px 14px}.cycle-view-button{min-height:30px;color:var(--ink-800);background:#fff;border:1px solid #2f6fb74d;border-radius:7px;padding:0 13px;font-size:.78rem;font-weight:900;transition:background .18s,border-color .18s,transform .18s}.cycle-view-button:hover{border-color:var(--blue);background:var(--blue-soft);transform:translateY(-1px)}.cycle-view-button:disabled{cursor:not-allowed;color:var(--ink-400);border-color:var(--ink-100);background:var(--surface-soft);opacity:.68;transform:none}.panel-intro{color:var(--ink-500);margin:0 0 14px;font-size:.88rem}.inline-progress{grid-template-columns:minmax(90px,1fr) 44px;align-items:center;gap:10px;display:grid}.muted-cell{color:var(--ink-500);font-size:.82rem;font-weight:800}.health-summary{gap:14px;display:grid}.summary-line{color:var(--ink-600);justify-content:space-between;align-items:center;gap:12px;font-size:.88rem;display:flex}.summary-line strong{color:var(--ink-900)}.health-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.health-tile{border-radius:var(--radius);text-align:center;place-items:center;min-height:74px;padding:10px;display:grid}.health-tile strong{font-size:1.45rem;line-height:1}.health-tile span{font-size:.75rem;font-weight:800}.health-tile.success{color:var(--success);background:var(--success-soft)}.health-tile.warning{color:var(--warning);background:var(--warning-soft)}.health-tile.danger{color:var(--danger);background:var(--danger-soft)}.action-pill{min-height:26px;color:var(--blue);background:var(--blue-soft);border-radius:999px;align-items:center;padding:0 9px;font-size:.72rem;font-weight:900;display:inline-flex}.rag-dot{border-radius:999px;width:11px;height:11px;display:inline-block;box-shadow:0 0 0 3px #1b26340a}.rag-dot.success{background:var(--success)}.rag-dot.warning{background:var(--warning)}.rag-dot.danger{background:var(--danger)}.connection-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.connection-card{border-radius:var(--radius);min-height:230px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #dce3ebeb;align-content:start;gap:10px;padding:16px;display:grid}.connection-card>svg{color:var(--brand-300);font-size:1.55rem}.connection-card strong{color:var(--ink-900);font-size:1rem}.connection-card p{color:var(--ink-500);overflow-wrap:anywhere;margin:0;font-size:.82rem;line-height:1.4}.connection-user{color:var(--ink-700);font-size:.82rem;font-weight:800}.connection-role{text-transform:uppercase;border-radius:999px;width:max-content;padding:5px 9px;font-size:.68rem;font-weight:900}.connection-role.source{color:var(--blue);background:var(--blue-soft)}.connection-role.staging{color:var(--warning);background:var(--warning-soft)}.connection-role.destination{color:var(--success);background:var(--success-soft)}.connection-role.stream,.connection-role.folder{color:var(--brand-400);background:var(--surface-warm)}.connection-card-actions{margin-top:auto}.connection-card-actions .cycle-view-button{align-items:center;gap:6px;display:inline-flex}.modal-backdrop{z-index:50;background:#1b263461;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.connection-modal{background:#fff;border:1px solid #dce3ebe6;border-radius:14px;width:min(560px,100%);max-height:min(720px,92vh);overflow:auto;box-shadow:0 26px 80px #1b263447}.modal-header,.modal-footer{justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.modal-header{border-bottom:1px solid var(--ink-100)}.modal-header h3{color:var(--ink-900);margin:0;font-size:1rem}.modal-close-button{width:30px;height:30px;color:var(--ink-500);background:0 0;border:0;border-radius:50%;place-items:center;font-size:1rem;font-weight:900;display:grid}.modal-close-button:hover{color:var(--ink-900);background:var(--surface-soft)}.modal-body{padding:20px}.modal-footer{border-top:1px solid var(--ink-100);background:#fff;justify-content:flex-end}.modal-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;display:grid}.modal-field-wide{grid-column:1/-1}.select-label input,.modal-form input,.modal-form select{border-radius:var(--radius);width:100%;min-height:36px;color:var(--ink-800);border:1px solid #e274503d;padding:0 32px 0 12px}.workflow-steps{gap:10px;display:grid}.workflow-steps.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.workflow-step{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft);align-content:start;gap:10px;min-height:174px;padding:14px;display:grid}.workflow-step-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.workflow-number,.artifact-index,.sequence-order{color:#fff;background:var(--ink-800);border-radius:50%;place-items:center;font-weight:900;display:grid}.workflow-number{width:30px;height:30px;font-size:.78rem}.workflow-icon{border-radius:var(--radius);width:38px;height:38px;color:var(--brand-300);background:#f9b49938;place-items:center;display:grid}.workflow-step.status-complete .workflow-icon{color:var(--success);background:var(--success-soft)}.workflow-step.status-running .workflow-icon,.workflow-step.status-review .workflow-icon{color:var(--blue);background:var(--blue-soft)}.workflow-step.status-pending .workflow-icon{color:var(--ink-500);background:var(--ink-100)}.workflow-step strong,.artifact-row strong,.sequence-info strong,.compact-kpi-grid strong,.pipeline-group>strong{color:var(--ink-900)}.workflow-step p{color:var(--ink-500);margin:0;font-size:.84rem;line-height:1.45}.cycle-layout{grid-template-columns:minmax(320px,.58fr) minmax(0,1fr)}.artifact-grid,.sequence-list,.pipeline-stack{gap:12px;display:grid}.artifact-row{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft);grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px;padding:12px;display:grid}.artifact-index,.sequence-order{width:32px;height:32px;font-size:.82rem}.artifact-row .upload-dropzone{min-height:92px;margin-top:8px;padding:14px}.sequence-row{border:1px solid var(--ink-100);border-radius:var(--radius);background:#fff;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.sequence-row.draggable{cursor:grab;transition:border-color .18s,box-shadow .18s,transform .18s,opacity .18s}.sequence-row.draggable:hover{border-color:#e2745057;transform:translateY(-1px);box-shadow:0 12px 28px #1b263414}.sequence-row.dragging{opacity:.58;cursor:grabbing;border-color:var(--brand-300);background:var(--surface-warm)}.sequence-info{gap:7px;min-width:0;display:grid}.sequence-info span,.compact-kpi-grid span,.pipeline-stage small{color:var(--ink-500);font-size:.78rem}.compact-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.compact-kpi-grid>div{border:1px solid var(--ink-100);border-left:4px solid var(--brand-300);border-radius:var(--radius);background:var(--surface-soft);padding:12px}.compact-kpi-grid strong{margin-top:4px;font-size:1.45rem;line-height:1;display:block}.recon-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.recon-message,.recon-empty,.recon-error,.recon-input-card{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft)}.recon-message{color:var(--ink-600);margin-bottom:14px;padding:12px 14px;font-size:.86rem;font-weight:800}.recon-empty{color:var(--ink-500);padding:18px;font-size:.88rem;font-weight:800}.recon-error{color:#b42318;background:#fff0ef;margin-bottom:18px;padding:12px 14px}.recon-input-card{align-content:center;gap:8px;min-height:120px;padding:16px;display:grid}.recon-input-card svg{width:24px;height:24px;color:var(--brand-300)}.recon-input-card strong{color:var(--ink-900)}.recon-input-card span{color:var(--ink-500);font-size:.82rem;font-weight:800}.pipeline-group{gap:8px;display:grid}.pipeline{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.pipeline-stage{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft);align-content:space-between;gap:8px;min-height:74px;padding:10px;display:grid}.pipeline-stage span{overflow-wrap:anywhere;color:var(--ink-700);font-size:.78rem;font-weight:900}.pipeline-stage.complete{background:var(--success-soft);border-color:#1a9d8f38}.pipeline-stage.running{background:var(--surface-warm);border-color:#e2745052}.pipeline-stage.pending{color:var(--ink-500)}.tb-result-row.matched td{background:#e3f6f385}.tb-result-row.variance td{background:#fff5df94}.tb-result-row.mismatch td{background:#fff0ef94}.tb-status-strip{color:var(--ink-600);flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font-size:.84rem;font-weight:800;display:flex}.ledger-page{gap:16px;min-width:0;display:grid;overflow-x:hidden}.ledger-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.ledger-header h1{color:var(--ink-900);margin:0 0 6px;font-size:1.32rem;line-height:1.2}.ledger-header p,.ledger-panel-title p,.ledger-upload-controls p{color:var(--ink-500);margin:0;font-size:.86rem;line-height:1.45}.ledger-header-actions,.ledger-actions,.ledger-inline-fields{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ledger-upload-panel,.ledger-table-panel{border-radius:var(--radius);background:#fffffff5;border:1px solid #e2745052;min-width:0;max-width:100%;padding:16px}.ledger-panel-title{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.ledger-panel-title h2{color:var(--ink-900);margin:0 0 4px;font-size:1rem;line-height:1.25}.ledger-panel-title>svg{color:var(--brand-300)}.ledger-upload-grid{grid-template-columns:minmax(320px,.85fr) minmax(340px,1fr);gap:14px;display:grid}.ledger-dropzone{border:1px dashed var(--brand-300);border-radius:var(--radius);min-height:122px;color:var(--brand-400);background:var(--surface-warm);cursor:pointer;text-align:center;place-items:center;gap:8px;display:grid;position:relative}.ledger-dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.ledger-dropzone svg{width:24px;height:24px}.ledger-dropzone strong{color:var(--brand-400)}.ledger-dropzone span{color:var(--ink-500);font-size:.8rem}.ledger-upload-controls{align-content:start;gap:12px;display:grid}.ledger-file-pills{flex-wrap:wrap;gap:8px;display:flex}.ledger-file-pills span{border-radius:var(--radius-sm);min-height:26px;color:var(--ink-800);background:#fff;border:1px solid #e2745052;padding:6px 10px;font-size:.78rem;font-weight:900}.ledger-file-pills span.uploaded{color:var(--success);background:var(--success-soft);border-color:#1a9d8f42}.ledger-checkbox{background:#fff;border:1px solid #e274503d;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:8px 12px;display:inline-flex}.ledger-checkbox strong{color:var(--ink-900);font-size:.78rem}.ledger-checkbox span{color:var(--ink-500);font-size:.75rem}.ledger-inline-fields label{gap:5px;min-width:150px;display:grid}.ledger-inline-fields span{color:var(--ink-500);text-transform:uppercase;font-size:.68rem;font-weight:900}.ledger-inline-fields input{border:1px solid var(--ink-200);border-radius:var(--radius-sm);min-height:34px;color:var(--ink-900);background:#fff;padding:8px 10px}.ledger-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.ledger-metric{border-radius:var(--radius);background:#fff;border:1px solid #e274503d;min-height:76px;padding:14px}.ledger-metric span{color:var(--ink-500);margin-bottom:8px;font-size:.72rem;display:block}.ledger-metric strong{color:var(--ink-900);overflow-wrap:anywhere;font-size:1.24rem;line-height:1.1}.ledger-results-grid{gap:14px;display:grid}.ledger-empty,.ledger-error{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft);color:var(--ink-500);padding:14px;font-size:.86rem;font-weight:800}.ledger-error{color:#b42318;background:#fff0ef;border-color:#b4231838}.ledger-table-footer{border-top:1px solid var(--ink-100);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.ledger-table-footer>span{color:var(--ink-500);font-size:.82rem;font-weight:800}.ledger-pagination{align-items:center;gap:10px;display:flex}.ledger-pagination strong{min-width:54px;color:var(--ink-800);text-align:center;font-size:.82rem}.ledger-subtabs{border:1px solid var(--ink-200);border-radius:var(--radius);background:#fff;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.ledger-subtabs button{border:0;border-right:1px solid var(--ink-100);min-height:52px;color:var(--ink-600);text-align:left;background:#fff;border-bottom:3px solid #0000;grid-template-columns:20px minmax(0,1fr) 8px;align-items:center;gap:9px;padding:10px 12px 7px;display:grid}.ledger-subtabs button:last-child{border-right:0}.ledger-subtabs button:hover{color:var(--ink-900);background:var(--surface-soft)}.ledger-subtabs button.active{border-bottom-color:var(--brand-300);color:var(--brand-400);background:var(--surface-warm)}.ledger-subtabs button>svg{width:18px;height:18px}.ledger-subtabs button>span:not(.tab-status-dot){font-size:.8rem;font-weight:900;line-height:1.25}.tab-status-dot{background:var(--ink-200);border-radius:50%;width:8px;height:8px}.tab-status-dot.uploaded{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.status-uploaded{color:var(--success);background:var(--success-soft);border-color:#1a9d8f38}.financial-upload-layout{grid-template-columns:minmax(320px,1fr) minmax(300px,.72fr);gap:16px;display:grid}.financial-category-source{border:1px solid var(--ink-100);border-radius:var(--radius-sm);background:var(--surface-soft);grid-template-columns:minmax(220px,.9fr) minmax(260px,1fr) auto;align-items:end;gap:12px;margin-bottom:14px;padding:12px;display:grid}.financial-category-empty-state{border-radius:var(--radius-sm);background:var(--surface-warm);border:1px solid #ee6f4b3d;align-items:center;gap:12px;margin-bottom:14px;padding:12px;display:flex}.financial-category-empty-state svg{width:22px;height:22px;color:var(--coral);flex:none}.financial-category-empty-state div{gap:3px;display:grid}.financial-category-empty-state strong{color:var(--ink-900);font-size:.86rem}.financial-category-empty-state span{color:var(--ink-500);font-size:.82rem}.financial-category-status{border:1px solid var(--ink-100);border-radius:var(--radius-sm);grid-column:1/-1;gap:3px;padding:10px 12px;font-size:.82rem;display:grid}.financial-category-status strong{color:var(--ink-900);overflow-wrap:anywhere}.financial-category-status span{color:var(--ink-500)}.financial-category-status.ready{background:var(--success-soft);border-color:#1a9d8f3d}.financial-category-status.empty{background:var(--surface-warm);border-color:#ee6f4b47}.financial-db-ready{border-radius:var(--radius);min-height:170px;color:var(--success);background:var(--success-soft);text-align:center;border:1px solid #1a9d8f3d;place-items:center;gap:8px;padding:18px;display:grid}.financial-db-ready svg{width:28px;height:28px}.financial-db-ready strong{color:var(--ink-900)}.financial-db-ready span{color:var(--ink-500);font-size:.8rem}.financial-category-preview{border:1px solid var(--ink-100);border-radius:var(--radius-sm);background:#fff;min-width:0;max-width:100%;margin-bottom:14px;padding:12px;overflow:hidden}.financial-category-preview .ledger-panel-title{margin-bottom:10px}.financial-category-preview .table-wrap{max-height:340px;overflow:auto}.financial-category-preview table{min-width:720px}.financial-category-preview th,.financial-category-preview td{overflow-wrap:anywhere;white-space:normal;max-width:260px}.financial-gl-mapping-preview .gl-mapping-table-wrap{width:100%;max-width:100%;max-height:420px;overflow:auto}.financial-gl-mapping-preview .gl-mapping-preview-table{table-layout:auto;width:max-content;min-width:2300px}.financial-gl-mapping-preview .gl-mapping-preview-table th,.financial-gl-mapping-preview .gl-mapping-preview-table td{overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap;max-width:none;overflow:hidden}.financial-gl-mapping-preview .gl-col-group{width:72px}.financial-gl-mapping-preview .gl-col-source-line{width:160px}.financial-gl-mapping-preview .gl-col-source-type{width:120px}.financial-gl-mapping-preview .gl-col-source-description{width:260px}.financial-gl-mapping-preview .gl-col-takeon-account{width:180px}.financial-gl-mapping-preview .gl-col-takeon-description{width:280px}.financial-gl-mapping-preview .gl-col-target-code{width:160px}.financial-gl-mapping-preview .gl-col-target-description{width:240px}.financial-gl-mapping-preview .gl-col-application{width:110px}.financial-gl-mapping-preview .gl-col-asset-pos-type{width:150px}.financial-gl-mapping-preview .gl-col-asset-currency{width:160px}.financial-gl-mapping-preview .gl-col-category{width:150px}.financial-gl-mapping-preview .gl-col-sector{width:120px}.financial-gl-mapping-preview .gl-col-asset-type{width:130px}.financial-gl-mapping-preview .gl-mapping-toggle-column{text-align:center;width:72px}.gl-mapping-group-row td{background:var(--surface-soft);border-top:1px solid var(--ink-100)}.gl-mapping-group-row td:last-child{align-items:center;gap:14px;min-width:0;display:flex;overflow:visible}.gl-mapping-group-row strong{color:var(--ink-900)}.gl-mapping-group-row span{color:var(--ink-600)}.gl-mapping-group-row small{color:var(--ink-500);margin-left:auto}.gl-mapping-group-toggle{border:1px solid var(--ink-200);border-radius:var(--radius-xs);width:30px;height:30px;color:var(--brand-600);cursor:pointer;background:#fff;justify-content:center;align-items:center;display:inline-flex}.gl-mapping-group-toggle:hover{border-color:var(--brand-400);background:var(--surface-warm)}.gl-mapping-detail-row td{background:#fff}.financial-upload-panel .ledger-dropzone{min-height:170px}.financial-upload-details{border-left:1px solid var(--ink-100);flex-direction:column;justify-content:space-between;gap:18px;min-width:0;padding:12px 0 12px 18px;display:flex}.financial-selected-file{grid-template-columns:40px minmax(0,1fr);align-items:start;gap:12px;display:grid}.financial-selected-file>svg{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--brand-300);background:var(--surface-warm);border:1px solid #e2745038;padding:10px}.mapping-summary-page{min-width:0}.mapping-summary-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.mapping-summary-list,.mapping-summary-detail{min-width:0}.mapping-summary-search{border:1px solid var(--ink-200);border-radius:var(--radius-sm);background:#fff;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:12px;padding:9px 12px;display:grid}.mapping-summary-search svg{color:var(--ink-400)}.mapping-summary-search input{width:100%;color:var(--ink-900);font:inherit;background:0 0;border:0;outline:0}.mapping-summary-app-list{gap:8px;max-height:600px;padding-right:2px;display:grid;overflow:auto}.mapping-summary-app{border:1px solid var(--ink-100);border-radius:var(--radius-sm);color:var(--ink-700);text-align:left;cursor:pointer;background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.mapping-summary-app:hover,.mapping-summary-app.active{background:var(--surface-warm);border-color:#e2745059}.mapping-summary-app.mapped{box-shadow:inset 4px 0 0 var(--success)}.mapping-summary-app.unmapped{box-shadow:inset 4px 0 0 var(--ink-200);opacity:.86}.mapping-summary-app span{gap:3px;min-width:0;display:grid}.mapping-summary-app strong,.mapping-summary-hero strong{color:var(--ink-900)}.mapping-summary-app small{color:var(--ink-500);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.mapping-summary-pagination{color:var(--ink-500);justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-size:.82rem;font-weight:800;display:flex}.mapping-summary-detail-stack{gap:14px;display:grid}.mapping-summary-hero{border-radius:var(--radius-sm);background:var(--success-soft);border:1px solid #1a9d8f3d;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.mapping-summary-hero svg{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--success);background:#fff;padding:10px}.mapping-summary-hero div{gap:2px;display:grid}.mapping-summary-hero span,.mapping-summary-hero small,.mapping-summary-field-section p{color:var(--ink-500);font-size:.82rem}.mapping-summary-field-section{gap:10px;display:grid}.mapping-summary-field-section h3{color:var(--ink-900);margin:0 0 4px;font-size:.92rem}.mapping-summary-field-section p{margin:0}.mapping-summary-table-wrap{border:1px solid var(--ink-100);border-radius:var(--radius-sm);max-height:260px;overflow:auto}.mapping-summary-table-wrap table{border-collapse:collapse;width:100%;min-width:720px}.mapping-summary-table-wrap th,.mapping-summary-table-wrap td{border-bottom:1px solid var(--ink-100);color:var(--ink-700);text-align:left;white-space:nowrap;padding:10px 12px;font-size:.8rem}.mapping-summary-table-wrap th{z-index:1;color:var(--ink-500);text-transform:uppercase;background:#f8fafc;font-weight:900;position:sticky;top:0}.financial-selected-file div{gap:4px;min-width:0;display:grid}.financial-selected-file span,.financial-selected-file small{color:var(--ink-500);font-size:.75rem}.financial-selected-file strong{color:var(--ink-900);overflow-wrap:anywhere;font-size:.9rem}.financial-readiness-list{gap:6px;display:grid}.financial-readiness-list>button{border:1px solid var(--ink-100);border-radius:var(--radius-sm);min-height:58px;color:var(--ink-600);background:var(--surface-soft);text-align:left;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.financial-readiness-list>button:hover,.financial-readiness-list>button.active{background:var(--surface-warm);border-color:#e274504d}.financial-readiness-list>button>svg{width:18px;height:18px;color:var(--brand-300)}.financial-readiness-list>button>span{gap:3px;min-width:0;display:grid}.financial-readiness-list strong{color:var(--ink-900);font-size:.84rem}.financial-readiness-list small{color:var(--ink-500);overflow-wrap:anywhere;font-size:.74rem}@media (width<=1180px){.db-type-grid,.connection-card-grid,.report-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-steps.compact{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1040px){.dashboard-grid,.connections-layout,.connection-card-grid,.mapping-sheet-layout,.mapping-control-row,.generate-files-layout,.generate-files-controls,.field-map-grid,.schema-tree-layout,.field-mapping-layout,.tree-layout,.gl-grid,.cycle-layout,.trial-balance-layout,.workflow-grid,.jobs-layout,.recon-grid,.config-grid,.logs-layout,.health-content,.field-detail-grid{grid-template-columns:1fr}.field-summary{max-width:360px}.stage-timeline,.recon-grid .upload-grid,.ledger-metric-grid,.destination-overview,.field-rule-grid,.health-tile-grid,.workflow-steps.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-upload-grid{grid-template-columns:1fr}.ledger-subtabs{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-subtabs button:nth-child(2){border-right:0}.ledger-subtabs button:nth-child(-n+2){border-bottom-color:var(--ink-100)}.ledger-subtabs button.active{border-bottom-color:var(--brand-300)}.financial-upload-layout,.financial-category-source{grid-template-columns:1fr}.financial-upload-details{border-top:1px solid var(--ink-100);border-left:0;padding:16px 0 0}}@media (width<=760px){.app-shell,.app-shell.is-sidebar-collapsed{grid-template-columns:1fr}.sidebar{z-index:60;width:272px;height:100dvh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 24px 60px #0f172a4d}.app-shell.is-mobile-nav-open .sidebar{transform:translate(0)}.is-sidebar-collapsed .sidebar-top,.is-mobile-nav-open .sidebar-top{justify-content:space-between;padding-inline:12px}.is-sidebar-collapsed .sidebar-brand{display:flex}.is-sidebar-collapsed .nav-section-title,.is-sidebar-collapsed .sidebar-nav button span{clip:auto;width:auto;height:auto;position:static;overflow:visible}.is-sidebar-collapsed .sidebar-nav button{justify-content:flex-start;padding:0 10px}.is-sidebar-collapsed .nav-parent-chevron,.is-sidebar-collapsed .nav-submenu{display:revert}.sidebar-collapse-btn{display:none}.sidebar-menu-btn{border:1px solid var(--ink-200);border-radius:var(--radius);background:var(--surface);width:34px;height:34px;color:var(--ink-700);flex:none;place-items:center;display:grid}.sidebar-menu-btn svg{width:18px;height:18px}.sidebar-backdrop{z-index:55;opacity:0;pointer-events:none;background:#0f172a73;transition:opacity .2s;display:block;position:fixed;inset:0}.app-shell.is-mobile-nav-open .sidebar-backdrop{opacity:1;pointer-events:auto}.topbar,.page-header{flex-direction:column;align-items:stretch}.topbar-actions{justify-content:space-between}.content-toolbar{flex-direction:column;align-items:stretch}.toolbar-actions{justify-content:flex-start}.metric-grid,.db-type-grid,.connection-card-grid,.report-grid,.upload-grid,.mapping-control-row,.field-map-grid,.schema-tree-layout,.health-tile-grid,.workflow-steps,.workflow-steps.compact,.pipeline,.compact-kpi-grid,.dataset-meta-grid,.destination-overview,.mapping-preview-summary,.table-profile-grid,.field-rule-grid,.db-summary-strip,.stage-timeline,.recon-grid .upload-grid,.report-actions,.job-row,.resource-row,.role-row,.artifact-row,.sequence-row,.system-control-row,.mapping-canvas{grid-template-columns:1fr}.mapping-canvas svg{display:none}.segment-nav{width:100%;display:grid}.connection-form,.table-row,.db-context-card,.dataset-heading,.tree-node.db>button{grid-template-columns:1fr}.open-fields-button{width:100%}.ledger-subtabs{grid-template-columns:1fr}.ledger-subtabs button,.ledger-subtabs button:nth-child(2){border-right:0;border-bottom:1px solid var(--ink-100)}.ledger-subtabs button:last-child{border-bottom:0}.ledger-subtabs button.active{box-shadow:inset 4px 0 0 var(--brand-300)}.financial-readiness-list>button{grid-template-columns:28px minmax(0,1fr)}.financial-readiness-list .status{grid-column:2;justify-self:start}}.modal-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;flex-direction:column;width:min(620px,100vw - 48px);min-height:0;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #0f172a40}.modal-header p{color:#64748b;margin:.4rem 0 0}.modal-body{flex:auto;gap:1rem;min-height:0;padding:2rem;display:grid;overflow-y:auto}.modal-body label{flex-direction:column;gap:.45rem;display:flex}.modal-body label span{color:#334155;font-weight:600}.modal-body input,.modal-body select{border:1px solid var(--ink-200);border-radius:var(--radius);width:100%;padding:.7rem 1rem;font-size:.84rem}.modal-body select{padding-right:32px}.modal-body input:focus,.modal-body select:focus{border-color:var(--brand-300);outline:none;box-shadow:0 0 0 3px #e2745029}.table-actions{flex-wrap:wrap;gap:.5rem;display:flex}.button.info{color:#fff;background:#2563eb;border-color:#2563eb}.button.info:hover{background:#1d4ed8}.button.warning{color:#fff;background:#7c3aed;border-color:#7c3aed}.button.warning:hover{background:#6d28d9}.button.danger{color:#fff;background:#dc2626;border-color:#dc2626}.button.danger:hover{background:#b91c1c}.button.primary{color:#fff;background:linear-gradient(135deg,#f69777,#e27450)}.copy-input{border:1px solid #d6dce8;border-radius:8px;display:flex;overflow:hidden}.copy-input input{border:none;border-radius:0;flex:1}.copy-input .button{border:none;border-left:1px solid #d6dce8;border-radius:0}.system-account-badge{color:#2556a7;background:#eef4ff;border-radius:999px;align-items:center;padding:6px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.system-role-pill{color:#2753d7;background:#eef4ff;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600}.table-actions,.role-row strong{align-items:center;gap:8px;display:flex}.button:disabled,.button.disabled,.icon-button:disabled,.icon-button.disabled{opacity:1;cursor:not-allowed;pointer-events:none;color:var(--ink-500);background:var(--ink-100);border-color:var(--ink-200);box-shadow:none}.pagination-bar{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:1rem;padding:1rem 0 0;font-size:.9rem;display:flex}.pagination-buttons{align-items:center;gap:.75rem;display:flex}.modal-backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:520px;min-height:0;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 50px #0f172a33}.modal-header{border-bottom:1px solid #e5e7eb;flex:none;padding:22px 24px}.modal-header h2{margin:0;font-size:20px}.modal-header p{color:#64748b;margin:6px 0 0;font-size:13px}.modal-body{flex:auto;min-height:0;padding:24px;overflow-y:auto}.form-group{margin-bottom:18px}.form-group label{color:#334155;margin-bottom:7px;font-size:13px;font-weight:600;display:block}.form-group input,.form-group select{box-sizing:border-box;border:1px solid var(--ink-200);border-radius:var(--radius);outline:none;width:100%;padding:10px 12px;font-size:.84rem}.form-group select{padding-right:32px}.modal-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:7px;margin-top:20px;padding:12px 14px;font-size:13px}.modal-warning strong{margin-left:4px}.modal-footer{background:#f8fafc;border-top:1px solid #e5e7eb;flex:none;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.destination-field-wrapper{flex-direction:column;gap:4px;display:flex}.destination-field-wrapper .field-map-pill{width:100%}.mapped-source{color:#15803d;margin-top:4px;font-size:.72rem;font-weight:700;display:block}.unmap-button{color:#b91c1c;cursor:pointer;background:0 0;border:none;margin:2px 8px 4px auto;padding:0;font-size:.68rem;font-weight:700;line-height:1;display:block}.unmap-button:hover{text-decoration:underline}.mapping-rule-list{flex-wrap:wrap;gap:5px;padding:2px 4px;display:flex}.destination-rule-list{flex-wrap:wrap;justify-content:flex-end;gap:5px;margin-top:5px;display:flex}.mapping-rule{color:#9a3412;background:#fff4ef;border:1px solid #e2745040;border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:3px 7px;font-size:.68rem;font-weight:700;display:inline-flex}.mapping-rule span,.mapping-rule{overflow-wrap:anywhere}.mapping-rule button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;line-height:1}.rule-target-card{border:1px solid var(--ink-100);border-radius:var(--radius);background:var(--surface-soft);gap:4px;margin-top:14px;padding:10px;display:grid}.rule-target-card.active{background:#f0fdf4;border-color:#22c55e47}.rule-target-card span,.selected-rule-list>span{color:var(--ink-500);text-transform:uppercase;font-size:.68rem;font-weight:900}.rule-target-card strong{color:var(--ink-900);font-size:.86rem}.rule-target-card small{color:var(--ink-600);font-size:.74rem;line-height:1.35}.selected-rule-list{gap:7px;margin-top:12px;display:grid}.mapped-field-row{cursor:pointer}.mapped-field-row:hover{background:#fff7ed}.mapped-field-row.selected{background:#fff4ef;box-shadow:inset 3px 0 #e27450}.recon-key-cell{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.recon-key-button{border:1px solid var(--ink-100);color:var(--ink-700);cursor:pointer;background:#f7f9fb;border-radius:8px;min-width:58px;padding:6px 9px;font-size:.72rem;font-weight:800}.recon-key-button:hover:not(:disabled){color:#c84f2f;border-color:#e27450}.recon-key-button.active{color:#087a44;background:#e8fff7;border-color:#50c878}.recon-key-button:disabled{cursor:not-allowed;opacity:.55}.primary-key-hint{color:var(--ink-500);font-size:.68rem;font-weight:700}.rule-chip-list{flex-direction:column;gap:6px;display:flex}.rule-chip{border:1px solid var(--ink-100);text-align:left;cursor:pointer;background:#f7f9fb;border-radius:8px;width:100%;padding:9px 10px;font-size:.75rem;font-weight:700}.rule-chip:hover{background:#fff4ef;border-color:#e27450}.rule-chip.active{color:#9a3412;background:#fff4ef;border-color:#e27450}.apply-rule-button{color:#fff;cursor:pointer;background:#e27450;border:1px solid #e27450;border-radius:6px;width:100%;margin-top:16px;padding:10px 14px;font-size:12px;font-weight:700;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s}.apply-rule-button:hover:not(:disabled){background:#d86643;border-color:#d86643;box-shadow:0 3px 8px #e2745038}.apply-rule-button:active:not(:disabled){transform:translateY(1px)}.apply-rule-button:disabled{color:#9ca3af;cursor:not-allowed;box-shadow:none;background:#e5e7eb;border-color:#d1d5db}.destination-field-wrapper{position:relative}.unmap-button{color:#d94f4f;cursor:pointer;background:0 0;border:none;margin:3px 0 6px auto;padding:0;font-size:11px;font-weight:600;display:block}.unmap-button:hover{color:#b83232;text-decoration:underline}.mapping-validation-panel{margin-top:18px}.mapping-validation-panel .panel-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.validation-status{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;justify-content:center;align-items:center;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}.validation-valid{color:#166534;background:#dcfce7;border:1px solid #86efac}.validation-warning{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.validation-error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.validation-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.validation-summary-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.validation-summary-item strong{color:#0f172a;font-size:20px;line-height:1}.validation-summary-item span{color:#64748b;font-size:12px}.validation-success{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;flex-direction:column;gap:4px;margin-top:14px;padding:14px 16px;display:flex}.validation-success strong{color:#166534;font-size:13px}.validation-success span{color:#15803d;font-size:12px}.validation-issues{border:1px solid #e2e8f0;border-radius:8px;margin-top:14px;overflow:hidden}.validation-issues-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.validation-issues-header strong{color:#334155;font-size:13px}.validation-issues-header span{color:#475569;background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.validation-issue{border-bottom:1px solid #edf2f7;gap:10px;padding:12px 14px;display:flex}.validation-issue:last-child{border-bottom:none}.validation-issue-indicator{border-radius:50%;flex:0 0 22px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:flex}.validation-issue>div:last-child{flex-direction:column;gap:3px;display:flex}.validation-issue strong{font-size:12px}.validation-issue span{font-size:12px;line-height:1.4}.validation-issue-error{background:snow}.validation-issue-error .validation-issue-indicator{color:#991b1b;background:#fee2e2}.validation-issue-error strong{color:#991b1b}.validation-issue-error span{color:#7f1d1d}.validation-issue-warning{background:#fffdf7}.validation-issue-warning .validation-issue-indicator{color:#92400e;background:#fef3c7}.validation-issue-warning strong{color:#92400e}.validation-issue-warning span{color:#78350f}@media (width<=900px){.validation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.validation-summary{grid-template-columns:1fr}.mapping-validation-panel .panel-header{flex-direction:column;align-items:flex-start}}.mapping-actions{align-items:center;gap:8px;display:flex}.mapping-actions button{letter-spacing:.01em;cursor:pointer;border-radius:5px;min-height:34px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .2s}.mapping-actions .secondary-button{color:#475569;background:0 0;border:1px solid #cbd5e1}.mapping-actions .secondary-button:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.mapping-actions .primary-button{color:#fff;background:#e27450;border:1px solid #e27450}.mapping-actions .primary-button:hover:not(:disabled){background:#d96542;border-color:#d96542}.mapping-actions button:disabled{opacity:.5;cursor:not-allowed}.mapping-preview-layout{gap:1rem;display:grid}.preview-header-panel{padding:1.25rem}.preview-source-summary{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.25rem;display:grid}.preview-context-item{border:1px solid var(--border-color,#e5e7eb);background:var(--surface-muted,#f8fafc);border-radius:10px;padding:.9rem 1rem}.preview-context-item span{color:var(--text-muted,#6b7280);margin-bottom:.35rem;font-size:.75rem;display:block}.preview-context-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;display:block;overflow:hidden}.preview-summary-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.preview-stat-card{border:1px solid var(--border-color,#e5e7eb);background:var(--surface,#fff);border-radius:12px;padding:1.1rem}.preview-stat-card span{color:var(--text-muted,#6b7280);font-size:.78rem;display:block}.preview-stat-card strong{margin-top:.35rem;font-size:1.7rem;line-height:1.1;display:block}.preview-stat-card small{color:var(--text-muted,#6b7280);margin-top:.4rem;display:block}.preview-stat-card.has-error{border-color:#dc262659}.preview-validation-panel{padding:1.25rem}.preview-issues{gap:.65rem;display:grid}.preview-issue{border:1px solid var(--border-color,#e5e7eb);border-radius:9px;align-items:flex-start;gap:.75rem;padding:.8rem .9rem;display:flex}.preview-issue.error{background:#dc26260d;border-color:#dc262640}.preview-issue.warning{background:#d977060d;border-color:#d9770640}.preview-issue-indicator{border-radius:50%;flex:0 0 22px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:flex}.preview-issue.error .preview-issue-indicator{color:#dc2626;background:#dc26261f}.preview-issue.warning .preview-issue-indicator{color:#d97706;background:#d977061f}.preview-issue strong{font-size:.85rem}.preview-issue p{color:var(--text-muted,#6b7280);margin:.2rem 0 0;font-size:.8rem}.preview-table-shell{overflow-x:auto}.preview-table-shell table{min-width:950px}.preview-table-shell th,.preview-table-shell td{vertical-align:middle}.preview-muted{color:var(--text-muted,#9ca3af)}.type-badge{background:var(--surface-muted,#f1f5f9);color:var(--text-secondary,#475569);border-radius:6px;align-items:center;padding:.25rem .5rem;font-family:monospace;font-size:.72rem;display:inline-flex}.preview-rules{flex-wrap:wrap;gap:.35rem;display:flex}.preview-rule{color:#c65f3f;white-space:nowrap;background:#e274501a;border-radius:6px;align-items:center;padding:.25rem .5rem;font-size:.72rem;display:inline-flex}.preview-count{background:var(--surface-muted,#f1f5f9);color:var(--text-muted,#64748b);border-radius:999px;align-items:center;padding:.35rem .65rem;font-size:.75rem;display:inline-flex}.preview-readiness{justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.preview-readiness.ready{border-color:#22c55e4d}.preview-readiness.blocked{border-color:#dc26264d}.preview-readiness h2{margin:.25rem 0 .4rem}.preview-readiness p{color:var(--text-muted,#6b7280);margin:0}@media (width<=1000px){.preview-summary-grid{grid-template-columns:repeat(2,1fr)}.preview-source-summary{grid-template-columns:1fr}}@media (width<=650px){.preview-summary-grid{grid-template-columns:1fr}.preview-readiness{flex-direction:column;align-items:flex-start}}.dependency-current-application{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:5px;margin-top:18px;margin-bottom:22px;padding:16px 18px;display:flex}.dependency-current-application>span{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:11px;font-weight:700}.dependency-current-application>strong{color:#0f172a;font-size:17px;font-weight:700}.dependency-current-application>small{color:#64748b;font-size:13px}.dependency-selector{align-items:flex-end;gap:12px;margin-bottom:26px;display:flex}.dependency-selector>label{color:#334155;flex-direction:column;gap:7px;width:100%;max-width:520px;font-size:13px;font-weight:600;display:flex}.dependency-search{width:100%;position:relative}.dependency-search input{width:100%;min-height:40px;font:inherit;color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:8px 12px}.dependency-search input:focus{border-color:#f97350;box-shadow:0 0 0 3px #f973501a}.dependency-search input::placeholder{color:#94a3b8}.dependency-search-results{z-index:100;background:#fff;border:1px solid #dbe3ec;border-radius:8px;max-height:260px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #0f172a1f}.dependency-search-result{text-align:left;color:#1e293b;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eef2f6;width:100%;padding:10px 12px;display:block}.dependency-search-result:last-child{border-bottom:0}.dependency-search-result:hover{background:#fff7f4}.dependency-search-result strong{font-size:13px;font-weight:600}.dependency-list{margin-top:6px}.dependency-list>h3{color:#0f172a;margin:0 0 12px;font-size:15px;font-weight:700}.dependency-item{background:#f8fafc;border:1px solid #dbe3ec;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;max-width:700px;margin-bottom:8px;padding:12px 14px;display:flex}.dependency-item>div{flex-direction:column;gap:3px;display:flex}.dependency-item strong{color:#1e293b;font-size:14px;font-weight:700}.dependency-item small{color:#64748b;font-size:12px}.dependency-item .icon-button{flex-shrink:0}.dependency-list .empty-state{color:#64748b;background:#fafbfc;border:1px dashed #cbd5e1;border-radius:9px;max-width:700px;padding:18px;font-size:13px}@media (width<=720px){.dependency-selector{flex-direction:column;align-items:stretch}.dependency-selector>label,.dependency-item{max-width:none}}.dependency-add-button{color:#fff;white-space:nowrap;cursor:pointer;background:#e96543;border:1px solid #e96543;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:40px;padding:0 18px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.dependency-add-button:hover:not(:disabled){background:#d95736;border-color:#d95736;box-shadow:0 3px 8px #0000001a}.dependency-add-button:active:not(:disabled){transform:translateY(1px)}.dependency-add-button:disabled{color:#9ca6b3;cursor:not-allowed;box-shadow:none;background:#f1f3f5;border-color:#d8dee6}.field-help-overlay{z-index:9999;background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.field-help-modal{background:#fff;border-radius:12px;width:min(620px,100%);max-height:80vh;padding:24px;overflow-y:auto;box-shadow:0 20px 50px #0f172a33}.field-help-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.field-help-modal-header h3{margin:4px 0 0;font-size:20px}.field-help-side{text-transform:uppercase;color:#64748b;font-size:12px;font-weight:700}.field-help-close{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:22px;line-height:1;display:flex}.field-help-metadata{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.field-help-metadata>div{border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:5px;padding:12px;display:flex}.field-help-metadata span,.field-help-content>span{color:#64748b;font-size:12px;font-weight:700}.field-help-metadata strong{color:#0f172a;font-size:14px}.field-help-content{margin-top:20px}.field-help-content p{white-space:pre-wrap;color:#334155;border:1px solid #e5e7eb;border-radius:8px;margin:8px 0 0;padding:16px;line-height:1.6}.field-help-button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.field-help-button:hover{background:#f8fafc}@media (width<=700px){.field-help-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}}.mapping-sheet-field-table-wrapper{width:100%;overflow-x:auto}.mapping-sheet-field-table{border-collapse:collapse;table-layout:auto;width:100%}.mapping-sheet-field-table th,.mapping-sheet-field-table td{vertical-align:middle;text-align:left;padding:12px 10px}.mapping-sheet-field-table th:first-child,.mapping-sheet-field-table td:first-child{width:12%}.mapping-sheet-field-table th:nth-child(2),.mapping-sheet-field-table td:nth-child(2){width:32%}.mapping-sheet-field-table th:nth-child(3),.mapping-sheet-field-table td:nth-child(3){width:16%}.mapping-sheet-field-table th:nth-child(4),.mapping-sheet-field-table td:nth-child(4){width:12%}.mapping-sheet-field-table th:nth-child(5),.mapping-sheet-field-table td:nth-child(5){width:18%}.mapping-sheet-field-table th:nth-child(6),.mapping-sheet-field-table td:nth-child(6){text-align:center;width:10%}.dependency-sequence{margin-top:22px}.dependency-sequence-header{margin-bottom:12px}.dependency-sequence-header h3{margin:0 0 6px}.dependency-sequence-header p{color:#64748b;margin:0;font-size:.85rem}.dependency-sequence-list{flex-direction:column;gap:8px;max-width:620px;display:flex}.dependency-sequence-item{background:#f8fafc;border:1px solid #dbe3ec;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.dependency-sequence-number{background:#e8edf3;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:inline-flex}.dependency-sequence-item strong{font-size:.82rem}.login-page{background:linear-gradient(135deg,#fffaf7,#f4f6fb);justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.login-card{background:#fff;border:1px solid #ececec;border-radius:16px;width:min(420px,100%);padding:40px;box-shadow:0 20px 45px #00000014}.login-header{text-align:center;margin-bottom:35px}.login-logo{width:70px;margin-bottom:15px}.login-header h1{color:#1d3557;margin:0}.login-header p{color:#6c7a92;margin-top:8px;font-size:.9rem}.login-error{color:#d63031;background:#ffeaea;border-radius:8px;margin-bottom:20px;padding:12px;font-size:.9rem}.login-field{margin-bottom:20px}.login-field label{color:#32465a;margin-bottom:8px;font-weight:600;display:block}.input-icon{background:#fff;border:1px solid #dce4ef;border-radius:8px;align-items:center;padding:0 14px;display:flex}.input-icon svg{color:#ff7a45;font-size:18px}.input-icon input{background:0 0;border:none;outline:none;flex:1;padding:14px;font-size:15px}.login-button{cursor:pointer;color:#fff;background:#f57c4b;border:none;border-radius:8px;width:100%;padding:14px;font-size:15px;font-weight:600;transition:all .25s}.login-button:hover:not(:disabled){background:#e86c39}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-footer{text-align:center;color:#8a96a8;margin-top:30px;font-size:.8rem}.login-error{color:#b91c1c;background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;margin-bottom:18px;padding:14px 16px;font-size:.9rem}.login-error strong{margin-bottom:4px;display:block}.login-error p{margin:0}.login-success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;margin-bottom:18px;padding:14px 16px;font-size:.9rem}.login-success strong{margin-bottom:4px;display:block}.login-success p{margin:0}.password-policy{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:20px 0;padding:14px 16px;font-size:.85rem}.password-policy strong{color:#1e293b;margin-bottom:10px;display:block}.password-policy ul{margin:0;padding-left:18px}.password-policy li{margin-bottom:6px}.password-errors{margin-top:10px;padding-left:20px}.password-errors li{margin:4px 0}@media (width<=480px){.login-page{padding:16px}.login-card{padding:24px}.login-header{margin-bottom:24px}.login-logo{width:56px}}.test-cycle-page{flex-direction:column;gap:18px;display:flex}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;display:flex}.page-heading>div:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.page-heading h1{color:#172b4d;margin:0;font-size:1.4rem;font-weight:700;line-height:1.3}.cycle-back-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #d8e0ea;border-radius:6px;align-items:center;gap:6px;width:fit-content;padding:6px 10px;font-size:.85rem;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.cycle-back-button:hover{color:#172b4d;background:#f8fafc;border-color:#cbd5e1}.cycle-back-button svg{font-size:15px}.table-action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cycle-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;font-size:.9rem}.test-cycle-page .panel{margin:0}.test-cycle-page .panel-header{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:4px;padding-bottom:14px;display:flex}.test-cycle-page .panel-header h2{color:#172b4d;margin:0;font-size:1.05rem;font-weight:700}.panel-intro{color:#7a869a;margin:4px 0 0;font-size:.82rem;line-height:1.4}.panel-dataset-tag{color:var(--brand-400);background:#e274501f;border-radius:999px;align-items:center;gap:6px;max-width:100%;margin-top:8px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.panel-dataset-tag .panel-dataset-tag-label{color:#7a869a;font-weight:500}.panel-dataset-tag .panel-dataset-tag-names{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cycle-workflow-panel{overflow:hidden}.cycle-workflow-list{gap:0;margin-top:14px;display:grid}.cycle-workflow-step{grid-template-columns:42px minmax(0,1fr);gap:14px;min-width:0;display:grid;position:relative}.cycle-workflow-step:not(:last-child){padding-bottom:12px}.cycle-workflow-step:not(:last-child):after{content:"";background:#e5eaf0;width:2px;position:absolute;top:42px;bottom:0;left:20px}.cycle-workflow-marker{z-index:1;color:#64748b;background:#fff;border:1px solid #d8e0ea;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:relative}.cycle-workflow-marker span{font-size:.82rem;font-weight:800}.cycle-workflow-card{background:#fff;border:1px solid #e5eaf0;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;min-width:0;padding:13px 14px;display:grid}.cycle-workflow-main{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid}.cycle-workflow-icon{color:#e27450;background:#fff3ee;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.cycle-workflow-icon svg{width:18px;height:18px}.cycle-workflow-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.cycle-workflow-copy strong{color:#172b4d;font-size:.9rem;font-weight:700}.workflow-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.workflow-toggle{color:#475569;cursor:pointer;background:#fff;border:1px solid #d8e0ea;border-radius:6px;padding:4px 8px;font-size:.72rem;font-weight:700}.cycle-workflow-meta{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.workflow-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.workflow-actions.compact{justify-content:flex-start}.workflow-actions .button,.workflow-actions button{min-height:34px}.cycle-workflow-details{border-top:1px solid #eef2f7;flex-direction:column;grid-column:1/-1;gap:12px;padding-top:12px;display:flex}.workflow-option-grid,.workflow-check-grid,.validate-target-grid .workflow-option-card{min-height:150px}.validate-target-upload-card .button{align-self:flex-start;margin-top:4px}.actual-target-upload-control input{width:100%;max-width:100%;font-size:.76rem}.workflow-file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.workflow-option-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.workflow-option-card,.workflow-check-card{background:#f8fafc;border:1px solid #e5eaf0;border-radius:8px;align-items:flex-start;gap:10px;min-width:0;padding:12px;display:flex}.workflow-option-card svg{color:#e27450;flex:none}.workflow-option-card div,.workflow-check-card div{flex-direction:column;gap:4px;min-width:0;display:flex}.workflow-option-card strong,.workflow-check-card strong{color:#172b4d;font-size:.82rem}.workflow-option-card span,.workflow-check-card span{color:#7a869a;font-size:.76rem;line-height:1.4}.workflow-file-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workflow-file-grid>div{background:#fff;border:1px solid #e5eaf0;border-radius:8px;flex-direction:column;gap:5px;padding:12px;display:flex}.workflow-file-grid span{color:#7a869a;text-transform:uppercase;font-size:.72rem;font-weight:700}.workflow-file-grid strong{color:#172b4d;font-size:.86rem}.workflow-substeps{flex-direction:column;gap:10px;display:flex}.workflow-substep{background:#fbfcfe;border:1px solid #e5eaf0;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.workflow-substep>div:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.workflow-substep strong{color:#172b4d;font-size:.84rem}.workflow-substep span{color:#7a869a;font-size:.76rem}.workflow-checkbox{color:#172b4d;align-items:center;gap:9px;width:fit-content;font-size:.85rem;font-weight:700;display:inline-flex}.workflow-checkbox input{width:16px;height:16px}.cycle-workflow-copy span{color:#7a869a;font-size:.78rem;line-height:1.4}.cycle-workflow-step.status-complete .cycle-workflow-marker,.cycle-workflow-step.status-completed .cycle-workflow-marker{color:#1a9d8f;background:#e3f6f3;border-color:#10b98152}.cycle-workflow-step.status-running .cycle-workflow-marker,.cycle-workflow-step.status-ready .cycle-workflow-marker{color:#2f6fb7;background:#edf5ff;border-color:#2f6fb752}.cycle-workflow-step.status-review .cycle-workflow-marker{color:#d9952f;background:#fff5df;border-color:#d9952f52}.cycle-workflow-step.status-failed .cycle-workflow-marker{color:#d95757;background:#fff0ef;border-color:#d9575752}.cycle-summary-grid{background:#e5eaf0;border:1px solid #e5eaf0;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:12px;display:grid;overflow:hidden}.cycle-summary-item{background:#fff;flex-direction:column;gap:7px;min-width:0;padding:16px 18px;display:flex}.cycle-summary-item>span:first-child{text-transform:uppercase;letter-spacing:.04em;color:#7a869a;font-size:.72rem;font-weight:600}.cycle-summary-item>strong{color:#172b4d;word-break:break-word;min-height:22px;font-size:.92rem;font-weight:700}.cycle-rag{align-items:center;gap:8px;min-height:22px;display:inline-flex}.rag-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.rag-dot.success{background:#10b981;box-shadow:0 0 0 3px #10b9811f}.rag-dot.warning{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b1f}.rag-dot.danger{background:#ef4444;box-shadow:0 0 0 3px #ef44441f}.rag-dot.neutral{background:#94a3b8;box-shadow:0 0 0 3px #94a3b81f}.cycle-file-card{color:#475569;background:#f8fafc;border:1px solid #e5eaf0;border-radius:8px;align-items:center;min-height:58px;padding:14px 16px;font-size:.9rem;display:flex}.cycle-file-card strong{color:#172b4d;font-weight:600}.test-cycle-page .panel-empty{color:#7a869a;align-items:center;min-height:80px;font-size:.88rem;display:flex}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:min(520px,100%);overflow:hidden;box-shadow:0 20px 50px #0f172a2e}.modal-header{border-bottom:1px solid #eef2f7;padding:20px 22px}.modal-header p{color:#7a869a;margin:5px 0 0;font-size:.84rem;line-height:1.45}.form-group{flex-direction:column;gap:7px;display:flex}.form-group label,.form-group>label{color:#334155;font-size:.82rem;font-weight:600}.form-group input,.form-group select{box-sizing:border-box;color:#172b4d;background:#fff;border:1px solid #d8e0ea;border-radius:7px;outline:none;width:100%;padding:10px 12px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus{border-color:#e27450;box-shadow:0 0 0 3px #e274501f}.modal-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:7px;padding:11px 13px;font-size:.82rem;line-height:1.45}.modal-warning strong{font-weight:700}.modal-footer{background:#fafbfc;border-top:1px solid #eef2f7;justify-content:flex-end;align-items:center;gap:10px;padding:16px 22px;display:flex}@media (width<=1100px){.cycle-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.page-heading{flex-direction:column;align-items:flex-start}.page-heading h1{font-size:1.25rem}.table-action-row{width:100%}.cycle-summary-grid{grid-template-columns:1fr}.modal-backdrop{padding:14px}}.cycle-dataset-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;display:flex}.cycle-dataset-main{flex-direction:column;gap:4px;min-width:0;display:flex}.cycle-dataset-meta{color:#6b7280;align-items:center;gap:12px;font-size:12px;display:flex}.cycle-dataset-meta>span:not(.status){white-space:nowrap}.cycle-datasets-list{flex-direction:column;gap:12px;padding:0 4px;display:flex}.cycle-dataset-card{background:#fff;border:1px solid #dfe5ec;border-radius:8px;padding:18px}.cycle-dataset-main{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:20px;padding-bottom:16px;display:flex}.cycle-dataset-main>div{flex-direction:column;gap:5px;display:flex}.cycle-dataset-main strong{color:#0f2b4d;font-size:14px;font-weight:600}.cycle-dataset-main span{color:#6b7a90;font-size:12px}.cycle-dataset-details{grid-template-columns:repeat(5,1fr);gap:0;margin-top:16px;display:grid}.cycle-dataset-details>div{border-right:1px solid #edf0f4;flex-direction:column;gap:5px;padding:0 16px;display:flex}.cycle-dataset-details>div:first-child{padding-left:0}.cycle-dataset-details>div:last-child{border-right:none;padding-right:0}.cycle-dataset-details span{text-transform:uppercase;letter-spacing:.04em;color:#7b8798;font-size:10px;font-weight:600}.cycle-dataset-details strong{color:#18324f;word-break:break-word;font-size:12px;font-weight:500}.migration-panel{flex-direction:column;gap:18px;display:flex}.migration-gate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.migration-gate-card{background:#fff;border:1px solid #e5eaf0;border-radius:8px;flex-direction:column;gap:9px;min-width:0;padding:14px 16px;display:flex}.migration-gate-card>span:first-child{color:#7a869a;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.migration-gate-card>strong{color:#172b4d;font-size:.9rem;font-weight:700}.migration-status-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.migration-status-row>div{border-right:1px solid #e5e7eb;flex-direction:column;gap:6px;min-width:0;padding:15px 16px;display:flex}.migration-status-row>div:last-child{border-right:none}.migration-status-row strong{color:#111827;word-break:break-word;font-size:.9rem;font-weight:700}.migration-empty{background:#fafafa;border:1px dashed #d1d5db;border-radius:8px;align-items:center;gap:14px;min-height:76px;padding:18px;display:flex}.migration-empty-icon{color:#e27450;background:#fff3ee;border-radius:8px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.migration-empty-icon svg{width:20px;height:20px}.migration-empty strong{color:#1f2937;margin-bottom:4px;font-size:.9rem;font-weight:700;display:block}.migration-empty span{color:#6b7280;font-size:.8rem;line-height:1.45}.migration-log-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:10px;display:flex}.migration-log-header{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 0;display:flex}.migration-log-header strong{color:#111827;margin-top:3px;font-size:.9rem;display:block}.migration-log-panel pre{color:#1f2937;white-space:pre-wrap;background:#f9fafb;border-top:1px solid #eef2f7;max-height:260px;margin:0;padding:14px 16px 16px;font-size:.78rem;line-height:1.55;overflow:auto}@media (width<=1100px){.migration-status-row{grid-template-columns:repeat(4,minmax(0,1fr))}.migration-status-row>div:nth-child(4){border-right:none}.migration-status-row>div:nth-child(-n+4){border-bottom:1px solid #e5e7eb}}@media (width<=900px){.cycle-dataset-details,.migration-gate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cycle-dataset-details>div{border-right:none;padding:0}}@media (width<=650px){.cycle-workflow-card{grid-template-columns:1fr}.cycle-workflow-main{grid-template-columns:36px minmax(0,1fr)}.cycle-workflow-meta{align-items:flex-start}.workflow-actions{justify-content:flex-start}.workflow-option-grid,.workflow-option-grid.three,.workflow-check-grid,.workflow-file-grid,.workflow-substep,.migration-gate-grid,.migration-status-row{grid-template-columns:1fr}.migration-status-row>div{border-bottom:1px solid #e5e7eb;border-right:none}.migration-status-row>div:last-child{border-bottom:none}}.modal-error{color:#8a5a00;background:#fff8e8;border:1px solid #f4c97a;border-radius:8px;align-items:center;gap:8px;width:100%;margin-bottom:14px;padding:10px 12px;font-size:13px;font-weight:500;line-height:1.4;display:flex}.create-cycle-button{white-space:nowrap;justify-content:center;align-items:center;min-width:130px;min-height:42px;padding:10px 20px;display:inline-flex}.create-cycle-button span{white-space:nowrap}.test-cycle-application{color:#64748b;align-items:center;gap:8px;margin-top:6px;font-size:13px;display:flex}.test-cycle-application span{font-weight:500}.test-cycle-application strong{color:#0f2747;background:#f1f5f9;border-radius:6px;padding:4px 9px;font-size:12px;font-weight:700}.stage-report{flex-direction:column;gap:16px;min-width:0;display:flex}.stage-report-actions{z-index:2;background:#fff;border-bottom:1px solid #eef2f7;justify-content:flex-end;gap:10px;margin:-4px -4px 0;padding:4px;display:flex;position:sticky;top:0}.stage-report-summary{background:#f8fafc;border:1px solid #dbe3ef;border-radius:8px;gap:8px;padding:16px;display:grid}.stage-report-summary strong{color:#0f2747;font-size:15px}.stage-report-summary span{color:#64748b;font-size:13px}.stage-report-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.stage-report-grid>div{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:0;padding:12px}.stage-report-grid span,.stage-report-section h3,.stage-report-error strong{color:#64748b;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.stage-report-grid strong{overflow-wrap:anywhere;color:#0f2747;margin-top:6px;font-size:13px;display:block}.stage-report-section,.stage-report-error{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:0;padding:14px}.stage-report-section h3{margin:0 0 10px}.stage-report-section p{color:#64748b;overflow-wrap:anywhere;margin:0;font-size:13px}.stage-report-preview-note{color:#1e3a8a;overflow-wrap:anywhere;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.45}.stage-report-dependencies{gap:8px;display:grid}.stage-report-dependencies>div{background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.stage-report-error{background:#fff7f7;border-color:#fecaca}.stage-report-error span{color:#991b1b;overflow-wrap:anywhere;margin-top:6px;font-size:13px;display:block}@media (width<=900px){.stage-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.stage-report-grid,.stage-report-actions{grid-template-columns:1fr}.stage-report-actions{flex-direction:column;align-items:stretch}}.enrichment-content{flex-direction:column;gap:24px;display:flex}.application-parameters-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);align-items:start;gap:18px;display:grid}.application-parameters-section,.lookup-upload-card,.lookup-table-card,.application-rule-builder,.application-rule-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px}.application-parameters-section{padding:16px}.lookup-upload-card,.application-rule-builder{background:#fbfdff;flex-direction:column;gap:12px;padding:14px;display:flex}.lookup-upload-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.lookup-upload-row label,.application-rule-builder label{color:#4b5563;flex-direction:column;gap:6px;font-size:11px;font-weight:700;display:flex}.lookup-upload-row input,.lookup-upload-row select,.application-rule-builder select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:7px;height:38px;padding:0 10px;font-size:13px}.lookup-fields-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.lookup-fields-header,.lookup-fields-row{grid-template-columns:minmax(160px,1fr) 160px 90px;align-items:center;gap:12px;padding:10px 12px;display:grid}.lookup-fields-header{color:#64748b;text-transform:uppercase;background:#f5f7fa;font-size:11px;font-weight:700}.lookup-fields-row{border-top:1px solid #edf0f4}.lookup-fields-row select{height:32px}.lookup-table-list,.application-rule-list{flex-direction:column;gap:10px;margin-top:14px;display:flex}.lookup-table-card,.application-rule-card{padding:12px}.lookup-table-card>div:first-child,.application-rule-card>div:first-child{justify-content:space-between;gap:12px;display:flex}.lookup-table-card strong,.application-rule-card strong{color:#111827}.lookup-table-card span,.lookup-table-card>div:nth-child(2),.application-rule-card p{color:#667085;font-size:12px}.lookup-field-preview{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.lookup-field-preview span{color:#315d8c;background:#eef6ff;border-radius:999px;padding:4px 8px}.application-rule-builder{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.application-rule-builder button{align-self:end}.application-rule-card button,.lookup-table-card button{color:#c24b28;background:#fff6f2;border:1px solid #f4c7b9;border-radius:6px;font-weight:700}@media (width<=1100px){.application-parameters-grid,.lookup-upload-row,.application-rule-builder{grid-template-columns:1fr}}.enrichment-connections{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:20px;margin-top:8px;display:grid}.enrichment-connection-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:flex-start;gap:16px;min-width:0;padding:20px;transition:border-color .2s,box-shadow .2s;display:flex}.enrichment-connection-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0f172a0d}.enrichment-connection-icon{color:#e27450;background:#fff3ee;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.enrichment-connection-icon svg{width:20px;height:20px}.enrichment-connection-content{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.enrichment-connection-content strong{color:#1f2937;font-size:14px;font-weight:600}.enrichment-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600;display:block}.enrichment-connection-content select{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:7px;outline:none;width:100%;height:40px;padding:0 12px;font-size:13px;transition:border-color .2s,box-shadow .2s}.enrichment-connection-content select:focus{border-color:#e27450;box-shadow:0 0 0 3px #e274501f}.enrichment-connection-content select:disabled{color:#9ca3af;cursor:not-allowed;background:#f9fafb}.enrichment-connection-meta{justify-content:space-between;align-items:center;gap:12px;min-height:24px;display:flex}.enrichment-connection-meta>span{color:#6b7280;font-size:12px}.enrichment-connection-flow{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:45px;display:flex}.enrichment-connection-flow svg{color:#e27450;width:20px;height:20px}.enrichment-connection-flow span{text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600}.enrichment-configuration-actions{border-top:1px solid #f0f1f3;justify-content:flex-end;margin-top:16px;padding-top:16px;display:flex}.enrichment-status-row{background:#fff;border:1px solid #e5e7eb;border-radius:10px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.enrichment-status-row>div{border-right:1px solid #e5e7eb;flex-direction:column;gap:6px;padding:16px 18px;display:flex}.enrichment-status-row>div:last-child{border-right:none}.enrichment-status-row strong{color:#111827;font-size:16px;font-weight:600}.enrichment-rules{flex-direction:column;gap:14px;margin-top:8px;display:flex}.enrichment-rules-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:20px;padding-bottom:12px;display:flex}.enrichment-rules-header h3{color:#111827;margin:0 0 4px;font-size:15px;font-weight:600}.enrichment-rules-header p{color:#6b7280;margin:0;font-size:12px}.enrichment-rule-list{flex-direction:column;gap:10px;display:flex}.enrichment-rule{background:#fff;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:minmax(150px,1fr) 24px minmax(170px,1fr) 24px minmax(150px,1fr) auto;align-items:center;gap:12px;padding:15px 16px;transition:border-color .2s,box-shadow .2s;display:grid}.enrichment-rule:hover{border-color:#d7d9dd;box-shadow:0 2px 8px #0f172a0a}.enrichment-rule>svg{color:#e27450;justify-self:center;width:16px;height:16px}.enrichment-rule-source,.enrichment-rule-lookup,.enrichment-rule-result{flex-direction:column;gap:4px;min-width:0;display:flex}.enrichment-rule-source span,.enrichment-rule-lookup span,.enrichment-rule-result span{color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.enrichment-rule-source strong,.enrichment-rule-lookup strong,.enrichment-rule-result strong{text-overflow:ellipsis;white-space:nowrap;color:#1f2937;font-size:13px;overflow:hidden}.enrichment-rule-actions{align-items:center;gap:6px;margin-left:8px;display:flex}.enrichment-rule-actions button{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:6px;justify-content:center;align-items:center;gap:5px;height:32px;padding:0 9px;font-size:11px;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.enrichment-rule-actions button:hover{color:#111827;background:#f9fafb;border-color:#d1d5db}.enrichment-rule-actions button:last-child:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.enrichment-rule-actions svg{width:13px;height:13px}.enrichment-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;padding-top:18px;display:flex}.enrichment-empty{background:#fafafa;border:1px dashed #d1d5db;border-radius:10px;align-items:center;gap:16px;padding:24px;display:flex}.enrichment-empty-icon{color:#e27450;background:#fff3ee;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.enrichment-empty-icon svg{width:20px;height:20px}.enrichment-empty strong{color:#1f2937;margin-bottom:4px;font-size:14px;display:block}.enrichment-empty p{color:#6b7280;margin:0;font-size:12px;line-height:1.5}@media (width<=1000px){.enrichment-connections{grid-template-columns:1fr}.enrichment-connection-flow{flex-direction:row;min-width:0;padding:2px 0}.enrichment-connection-flow svg{transform:rotate(90deg)}.enrichment-status-row{grid-template-columns:repeat(3,minmax(0,1fr))}.enrichment-status-row>div:nth-child(3){border-right:none}.enrichment-rule{grid-template-columns:1fr;gap:10px}.enrichment-rule>svg{justify-self:start;transform:rotate(90deg)}.enrichment-rule-actions{border-top:1px solid #f0f1f3;margin-left:0;padding-top:8px}}@media (width<=650px){.enrichment-status-row{grid-template-columns:1fr}.enrichment-status-row>div{border-bottom:1px solid #e5e7eb;border-right:none}.enrichment-status-row>div:last-child{border-bottom:none}.enrichment-rules-header{flex-direction:column;align-items:flex-start}.enrichment-configuration-actions,.enrichment-actions{justify-content:stretch}.enrichment-configuration-actions button,.enrichment-actions button{width:100%}}.enrichment-mapping-section,.enrichment-lookup-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-top:24px;padding:24px;box-shadow:0 2px 8px #0000000a}.enrichment-section-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.enrichment-section-header>div:first-child{min-width:0}.enrichment-section-header h3{color:#1f2937;margin:0 0 6px;font-size:16px;font-weight:600}.enrichment-section-header p{color:#6b7280;margin:0;font-size:13px;line-height:1.5}.enrichment-lookup-selector{flex-direction:column;gap:8px;display:flex}.enrichment-lookup-selector label{color:#374151;font-size:13px;font-weight:600}.enrichment-lookup-selector select{appearance:none;color:#1f2937;cursor:pointer;background-color:#fff;background-image:linear-gradient(45deg,#0000 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,#0000 50%);background-position:calc(100% - 18px) 18px,calc(100% - 13px) 18px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;min-height:44px;padding:0 40px 0 14px;font-size:14px;font-weight:500;transition:border-color .2s,box-shadow .2s,background-color .2s}.enrichment-lookup-selector select:hover:not(:disabled){border-color:#9ca3af}.enrichment-lookup-selector select:focus{border-color:#e27450;box-shadow:0 0 0 3px #e274501f}.enrichment-lookup-selector select:disabled{color:#9ca3af;cursor:not-allowed;background-color:#f9fafb;border-color:#e5e7eb}.enrichment-mapping-section .panel-empty,.enrichment-lookup-section .panel-empty{color:#6b7280;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;align-items:center;min-height:52px;margin-top:0;padding:18px 20px;font-size:13px;display:flex}.enrichment-mapping-section .enrichment-lookup-selector{background:#f9fafb;border:1px solid #eef0f2;border-radius:10px;padding:16px}.enrichment-lookup-section{background:#fcfcfd}.enrichment-lookup-section .enrichment-lookup-selector{background:#fff;border:1px solid #eef0f2;border-radius:10px;padding:16px}.enrichment-section-header .status{flex-shrink:0}@media (width<=768px){.enrichment-mapping-section,.enrichment-lookup-section{margin-top:18px;padding:18px}.enrichment-section-header{flex-direction:column;gap:12px}.enrichment-section-header .status{align-self:flex-start}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:14px;width:100%;max-width:640px;animation:.2s modalFade;overflow:hidden;box-shadow:0 20px 40px #0f172a2e,0 4px 12px #0f172a14}.modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.4rem 1.75rem;display:flex}.modal-header h2{color:#0f172a;margin:0;font-size:1.2rem;font-weight:700}.modal-header p{color:#64748b;margin-top:.35rem;font-size:.9rem}.modal-body{flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex}.modal-field{flex-direction:column;gap:.5rem;display:flex}.modal-field label{color:#334155;font-size:.9rem;font-weight:600}.modal-field input,.modal-field textarea,.modal-field select{background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.75rem .9rem;font-size:.95rem;transition:all .2s}.modal-field textarea{resize:vertical;min-height:110px}.modal-field input:focus,.modal-field textarea:focus,.modal-field select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.modal-help{color:#64748b;font-size:.82rem}.modal-selected-file{color:#0f766e;font-size:.84rem;font-weight:600}.modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.75rem;padding:1.2rem 1.75rem;display:flex}.modal-close{cursor:pointer;color:#64748b;background:0 0;border:none;font-size:1.25rem;transition:all .2s}.modal-close:hover{color:#0f172a}@keyframes modalFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.modal-overlay{padding:1rem}.modal-card{max-width:100%}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%}}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;display:grid}.project-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .2s;display:flex;box-shadow:0 2px 6px #0f172a0d}.project-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0f172a1a}.project-card-header{color:#2563eb;justify-content:space-between;align-items:center;display:flex}.project-card h3{color:#0f172a;margin:0;font-size:1.1rem;font-weight:700}.project-card p{color:#64748b;flex:1;margin:0;line-height:1.6}.project-meta-row{color:#64748b;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;padding:.65rem .75rem;font-size:.82rem;display:flex}.project-meta-row strong{color:#0f172a;font-size:.95rem}.project-card-footer{justify-content:flex-end;gap:.75rem;margin-top:auto;display:flex}.active-project{flex-direction:column;gap:.35rem;margin-top:.5rem;display:flex}.active-project-header{justify-content:space-between;align-items:center;display:flex}.active-project small{color:#6b7280;letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:600}.project-name{color:#1f2937;font-size:1rem;font-weight:700;line-height:1.3}.project-code{color:#6b7280;font-size:.82rem}.project-status{text-transform:uppercase;border-radius:999px;padding:.18rem .65rem;font-size:.7rem;font-weight:600}.project-status.planning{color:#92400e;background:#fef3c7}.project-status.active{color:#166534;background:#dcfce7}.project-status.completed{color:#1d4ed8;background:#dbeafe}.project-status.archived{color:#4b5563;background:#e5e7eb}.project-card-header{justify-content:space-between;align-items:center;display:flex}.project-card-actions{align-items:center;gap:10px;display:flex;position:relative}.project-menu-button{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px}.project-menu-button:hover{background:#f3f4f6}.project-menu{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:10px;width:180px;position:absolute;top:34px;right:0;box-shadow:0 10px 30px #0000001f}.project-menu button{cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:12px 16px;display:flex}.project-menu button:hover{color:#dc2626;background:#fff5f5}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal{text-align:center;background:#fff;border-radius:16px;width:min(430px,100%);padding:28px;box-shadow:0 20px 60px #0000002e}.confirm-icon{color:#ea580c;background:#fff7ed;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:auto;font-size:30px;display:flex}.confirm-modal h2{margin:18px 0 10px}.confirm-modal p{color:#64748b;line-height:1.6}.confirm-actions{justify-content:flex-end;gap:12px;margin-top:28px;display:flex}.checkbox-container{cursor:pointer;-webkit-user-select:none;user-select:none;color:#374151;align-items:center;gap:10px;margin-top:16px;font-size:14px;display:flex}.checkbox-container input{display:none}.custom-checkbox{background:#fff;border:2px solid #cbd5e1;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .2s;display:inline-flex}.checkbox-container input:checked+.custom-checkbox{background:#2563eb;border-color:#2563eb}.checkbox-container input:checked+.custom-checkbox:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:10px;margin-top:-3px;transform:rotate(45deg)}.checkbox-text{font-weight:500;line-height:1.4}.checkbox-container:hover .custom-checkbox{border-color:#2563eb}.status{border-radius:999px;align-items:center;gap:7px;width:fit-content;margin-top:10px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-dot{border-radius:50%;width:8px;height:8px}.status-connected{color:#166534;background:#dcfce7}.status-connected .status-dot{background:#22c55e}.status-disconnected{color:#991b1b;background:#fee2e2}.status-disconnected .status-dot{background:#ef4444}.status-unknown{color:#92400e;background:#fef3c7}.status-unknown .status-dot{background:#f59e0b}.connection-card-title{align-items:center;gap:8px;display:flex}.default-badge{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}
