.statement-container{--brand-primary: #000000;--brand-secondary: #ffffff;--brand-navy: #26478a;--brand-light-blue: #5b9bd5;--brand-orange: #ed7d31;--brand-green: #70ad47;--brand-gold: #c29a05;--brand-dark-gray: #323232;--brand-gray: #60676b;--font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12)}.statement-container{font-family:var(--font-family);color:var(--brand-dark-gray);background:#f8f9fa;max-width:1400px;margin:0 auto;padding:var(--spacing-xl);min-height:100vh}.card{background:var(--brand-secondary);border-radius:8px;box-shadow:var(--shadow-md);overflow:hidden}.card-header{padding:var(--spacing-lg) var(--spacing-xl);background:var(--brand-primary);border-bottom:none}.card-title{font-size:18px;font-weight:var(--font-weight-semibold);color:var(--brand-secondary);margin:0}.card-section{padding:var(--spacing-xl)}.card-footer{padding:var(--spacing-md) var(--spacing-xl) var(--spacing-lg);background:#f8f9fa;border-top:1px solid #e9ecef}.card-footer-text{font-size:12px;font-weight:var(--font-weight-regular);color:var(--brand-gray)}.card-footer-text strong{font-weight:var(--font-weight-semibold);color:var(--brand-navy)}.statement-header{padding:var(--spacing-lg) var(--spacing-xl);margin-bottom:var(--spacing-xl);background:var(--brand-primary);border-radius:8px;position:relative}.statement-header__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.statement-header__logo{max-height:50px;height:auto;width:auto}.statement-header__report-date{font-size:12px;font-weight:var(--font-weight-medium);color:var(--brand-light-blue);text-align:right}.statement-header__identity{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.12)}.statement-header__content{text-align:left}.statement-header__investor-name{font-size:26px;font-weight:var(--font-weight-bold);color:var(--brand-secondary);margin:0;letter-spacing:-.01em}.statement-header__contact-name{font-size:14px;font-weight:var(--font-weight-medium);color:var(--brand-light-blue);margin:var(--spacing-xs) 0 0 0;letter-spacing:.02em}.statement-header__formerly{font-size:13px;font-weight:var(--font-weight-medium);color:var(--brand-light-blue);margin:4px 0 0;letter-spacing:.02em;font-style:italic}.statement-header__meta{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.statement-header__meta-item{font-size:12px;font-weight:var(--font-weight-medium);color:#ffffffb3}.statement-header__meta-detail{color:#ffffff73;margin-left:4px}.statement-header__meta-sep{color:#fff3;font-size:12px}.statement-header__company-selector{margin-bottom:var(--spacing-xs)}.statement-header__company-dropdown{font-family:var(--font-family);font-size:22px;font-weight:var(--font-weight-bold);color:var(--brand-secondary);background:transparent;border:none;border-bottom:2px solid var(--brand-light-blue);padding:4px 28px 4px 0;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b9bd5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;background-size:20px;max-width:100%;text-overflow:ellipsis}.statement-header__company-dropdown:focus{outline:none;border-bottom-color:var(--brand-secondary)}.statement-header__company-dropdown option{background:var(--brand-primary);color:var(--brand-secondary);padding:8px}.statement-header__kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}.kpi-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:var(--spacing-md) var(--spacing-lg);text-align:center}.kpi-card__label{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--brand-light-blue);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--spacing-sm)}.kpi-card__value{font-size:20px;font-weight:var(--font-weight-bold);color:var(--brand-secondary);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.kpi-card__value--highlight{color:var(--brand-secondary)}.statement-actions{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background:#f8f9fa;border-bottom:1px solid #e9ecef;justify-content:flex-end}.btn-primary{background:var(--brand-navy);color:var(--brand-secondary)}.btn-primary:hover{background:#1d3a70;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary:hover{background:#f8f9fa;border-color:#adb5bd}.btn-icon{width:16px;height:16px;opacity:.85}.view-toggle{display:flex;gap:2px;margin-bottom:var(--spacing-lg);background:#e9ecef;border-radius:8px;padding:3px}.view-toggle__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px var(--spacing-lg);font-family:var(--font-family);font-size:13px;font-weight:var(--font-weight-semibold);color:var(--brand-gray);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.view-toggle__btn:hover{color:var(--brand-dark-gray);background:#ffffff80}.view-toggle__btn--active{background:var(--brand-secondary);color:var(--brand-dark-gray);box-shadow:var(--shadow-sm)}.view-toggle__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;font-size:11px;font-weight:var(--font-weight-bold);background:#00000014;color:var(--brand-gray)}.view-toggle__btn--active .view-toggle__count{background:var(--brand-navy);color:var(--brand-secondary)}.investment-section{margin-bottom:var(--spacing-xl);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm);background:var(--brand-secondary);border:1px solid #e9ecef}.investment-section__title-bar{background:var(--brand-primary);color:var(--brand-secondary);text-align:left;padding:12px 20px;font-size:13px;font-weight:var(--font-weight-semibold);letter-spacing:.02em}.section-kpis{display:flex;gap:1px;background:#e9ecef;border-bottom:1px solid #e9ecef}.section-kpi{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;background:var(--brand-secondary)}.section-kpi__label{font-size:9px;font-weight:var(--font-weight-semibold);color:var(--brand-gray);text-transform:uppercase;letter-spacing:.06em}.section-kpi__value{font-size:15px;font-weight:var(--font-weight-bold);color:var(--brand-dark-gray);font-variant-numeric:tabular-nums}.section-kpi__value--highlight{color:var(--brand-dark-gray)}.investment-table-wrapper{overflow-x:auto}.investment-table{width:100%;border-collapse:collapse;font-family:var(--font-family);font-size:13px;table-layout:fixed}.investment-table .col-account-name{width:28%}.investment-table .col-series{width:10%}.investment-table .col-currency{width:12%}.investment-table .col-date{width:8%}.investment-table th{background:var(--brand-primary);color:var(--brand-secondary);font-weight:var(--font-weight-semibold);padding:10px 12px;text-align:right;border:none;border-bottom:2px solid var(--brand-navy);white-space:nowrap;vertical-align:middle;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.investment-table th.col-account-name,.investment-table th.col-series{text-align:left}.investment-table th.col-date{text-align:center}.investment-table td{padding:10px 12px;border:none;border-bottom:1px solid #eef0f2;vertical-align:middle;font-size:13px;line-height:1.4}.investment-table tbody tr{background:var(--brand-secondary)}.investment-table tbody tr:nth-child(2n){background:#f9fafb}.investment-table tbody tr:hover{background:#eef3f8}.investment-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.investment-table th.sortable:hover{background:#1a1a1a}.sort-icon{margin-left:3px;font-size:10px}.sort-icon--inactive{opacity:.35}.sort-icon--active{opacity:1}.investment-table tbody .col-account-name{text-align:left;font-weight:var(--font-weight-medium);color:var(--brand-dark-gray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.investment-table tbody .col-series{text-align:left;font-weight:var(--font-weight-semibold);color:var(--brand-dark-gray)}.investment-table tbody .col-account-name a{color:var(--brand-navy);text-decoration:none}.investment-table tbody .col-account-name a:hover{text-decoration:underline}.investment-table tbody .col-currency{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--brand-dark-gray);font-weight:var(--font-weight-medium)}.investment-table tbody .col-date{text-align:center;white-space:nowrap;color:var(--brand-gray);font-size:12px}.investment-table .totals-row{background:var(--brand-primary)!important;color:var(--brand-secondary)}.investment-table .totals-row td{border-bottom:none;padding:12px;color:var(--brand-secondary);font-size:13px;font-weight:var(--font-weight-bold)}.investment-table .totals-row .col-currency{color:var(--brand-secondary);font-weight:var(--font-weight-bold)}.investment-table .totals-row .col-account-name{color:var(--brand-secondary);font-weight:var(--font-weight-bold);text-transform:uppercase;font-size:11px;letter-spacing:.04em}.investment-table .totals-row:hover{background:var(--brand-primary)!important}.statement-footer{padding:var(--spacing-lg) 0;text-align:center}.statement-footer__date{font-size:13px;color:var(--brand-gray);font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--brand-secondary);border-radius:6px;border:1px solid #e9ecef}.empty-state{padding:var(--spacing-2xl) var(--spacing-xl);text-align:center;color:var(--brand-gray);background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6}.empty-state__text{font-size:14px;font-weight:var(--font-weight-regular)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md)}.loading-spinner{width:36px;height:36px;border:3px solid #e9ecef;border-top-color:var(--brand-navy);border-radius:50%;animation:spin .8s linear infinite}.loading-state p{color:var(--brand-gray);font-size:14px}.error-state{padding:var(--spacing-lg);background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;text-align:center}.error-state__title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);color:#c53030;font-size:15px}.error-state__message{font-weight:var(--font-weight-regular);font-size:13px;color:#9b2c2c}@media print{@page{size:landscape;margin:.4in}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.statement-container{max-width:100%;padding:0;background:#fff}.statement-actions{display:none!important}.card{box-shadow:none;border-radius:0}.card-header,.card-footer{display:none}.card-section{padding:0}.statement-header{border-radius:0;padding:20px;margin-bottom:20px}.statement-header__logo{max-height:60px}.investment-section,.loan-section{box-shadow:none;border-radius:0;page-break-inside:avoid;margin-bottom:20px}.investment-table,.loan-table{font-size:9px}.investment-table th,.investment-table td,.loan-table th,.loan-table td{padding:5px 6px}.statement-footer{margin-top:20px}.statement-footer__date{background:transparent;border:none;padding:0}}@media (max-width: 1200px){.investment-table,.loan-table{font-size:10px}.investment-table th,.investment-table td,.loan-table th,.loan-table td{padding:6px 8px}.investment-table th.col-investment-name,.loan-table th.col-loan-name{min-width:200px}}@media (max-width: 768px){.statement-container{padding:var(--spacing-md)}.statement-header{padding:var(--spacing-xl) var(--spacing-md)}.statement-header__top{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.statement-header__report-date{text-align:left}.statement-header__investor-name{font-size:20px}.statement-actions{flex-wrap:wrap;justify-content:center}.btn{flex:1;min-width:100px}}.dc-container,.dc-stage{display:flex;flex-direction:column;gap:var(--spacing-md)}.dc-stage__header{margin-bottom:var(--spacing-sm)}.dc-stage__header--with-action{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.dc-stage__title{font-size:18px;font-weight:var(--font-weight-semibold);color:var(--brand-dark-gray);margin:0}.dc-stage__subtitle{font-size:13px;color:var(--brand-gray);margin:4px 0 0}.dc-breadcrumb{display:flex;align-items:center;gap:var(--spacing-sm);font-size:13px;color:var(--brand-gray);margin-bottom:var(--spacing-sm)}.dc-breadcrumb__back{background:none;border:none;color:var(--brand-navy);font-size:13px;font-weight:var(--font-weight-medium);cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s}.dc-breadcrumb__back:hover{background:#26478a14}.dc-breadcrumb__sep{color:var(--brand-gray)}.dc-breadcrumb__current{color:var(--brand-dark-gray);font-weight:var(--font-weight-medium)}.dc-fund-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.dc-fund-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:var(--spacing-lg);cursor:pointer;transition:all .15s ease;font-family:inherit}.dc-fund-card:hover{border-color:var(--brand-navy);box-shadow:var(--shadow-md);transform:translateY(-1px)}.dc-fund-card__top{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.dc-fund-card__short{font-size:24px;font-weight:var(--font-weight-bold);color:var(--brand-navy);letter-spacing:-.5px}.dc-fund-card__badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:var(--font-weight-semibold);background:#dcfce7;color:#166534;white-space:nowrap}.dc-fund-card__badge--empty{background:#f3f4f6;color:#6b7280}.dc-fund-card__name{font-size:13px;color:var(--brand-gray);margin-top:4px;margin-bottom:var(--spacing-md);line-height:1.4}.dc-fund-card__meta{display:flex;flex-direction:column;gap:2px;padding-top:var(--spacing-sm);border-top:1px solid #f0f1f3}.dc-fund-card__label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--brand-gray);font-weight:var(--font-weight-medium)}.dc-fund-card__value{font-size:14px;color:var(--brand-dark-gray);font-weight:var(--font-weight-medium)}.dc-fund-card__cta{margin-top:var(--spacing-md);font-size:13px;font-weight:var(--font-weight-semibold);color:var(--brand-navy);text-align:right}.dc-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-2xl) var(--spacing-lg);background:#fff;border:1px dashed #d1d5db;border-radius:8px}.dc-empty__title{font-size:16px;font-weight:var(--font-weight-semibold);color:var(--brand-dark-gray)}.dc-empty__hint{font-size:13px;color:var(--brand-gray);line-height:1.5;max-width:600px}.dc-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md)}.dc-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:var(--spacing-md);display:flex;flex-direction:column;gap:4px}.dc-summary-card--success{border-color:var(--brand-green);background:#f3faf6}.dc-summary-card--danger{border-color:var(--brand-orange);background:#fff7f0}.dc-summary-card__label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--brand-gray);font-weight:var(--font-weight-medium)}.dc-summary-card__value{font-size:24px;font-weight:var(--font-weight-bold);color:var(--brand-dark-gray);line-height:1.2}.dc-summary-card__sub{font-size:12px;color:var(--brand-gray)}.dc-help{font-size:13px;color:var(--brand-gray);margin-bottom:var(--spacing-md);line-height:1.5}.dc-file-upload{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#f9fafb;border:1px dashed #d1d5db;border-radius:6px;margin-bottom:var(--spacing-md)}.dc-file-upload input[type=file]{font-family:inherit;font-size:13px}.dc-file-info{display:flex;align-items:center;gap:var(--spacing-sm);font-size:13px;color:var(--brand-dark-gray)}.dc-action-row{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.btn-ghost{background:transparent;border:1px solid transparent;color:var(--brand-navy)}.btn-ghost:hover{background:#26478a14}.dc-table-wrap{overflow-x:auto}.dc-table{width:100%;border-collapse:collapse;font-size:13px}.dc-table th{text-align:left;padding:10px 12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-weight:var(--font-weight-semibold);color:var(--brand-gray);font-size:11px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.dc-table td{padding:10px 12px;border-bottom:1px solid #f0f1f3;vertical-align:top}.dc-table__row:hover{background:#fafbfc}.dc-table__row--needs_resolution,.dc-table__row--amount_mismatch,.dc-table__row--admin_account_mismatch,.dc-table__row--needs_master_admin{background:#fff7f0}.dc-table__row--needs_resolution:hover,.dc-table__row--amount_mismatch:hover,.dc-table__row--admin_account_mismatch:hover,.dc-table__row--needs_master_admin:hover{background:#ffedd9}.dc-table__row--ready_with_warning{background:#fffaf0}.dc-table__num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dc-table__sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.dc-table__sortable:hover{background:#f0f1f3;color:var(--brand-navy)}.dc-table__deal{max-width:360px}.dc-table__deal-name{font-weight:var(--font-weight-medium);color:var(--brand-dark-gray)}.dc-table__issues{margin-top:4px;font-size:11px;color:var(--brand-orange);line-height:1.4}.dc-table__mono{font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;color:var(--brand-gray)}.dc-badge{display:inline-block;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.dc-badge--success{background:#70ad4726;color:var(--brand-green)}.dc-badge--warning{background:#ed7d3126;color:var(--brand-orange)}.dc-badge--danger{background:#dc354526;color:#dc3545}.dc-badge--info{background:#26478a1f;color:var(--brand-navy)}.dc-action-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:#fff;border:1px solid #e5e7eb;border-radius:8px;position:sticky;bottom:0;box-shadow:var(--shadow-md)}.dc-action-bar__msg{font-size:14px;font-weight:var(--font-weight-medium)}.dc-link{color:var(--brand-navy);text-decoration:none;font-weight:var(--font-weight-medium)}.dc-link:hover{text-decoration:underline}.dc-card-header-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.dc-validation-header{background:var(--brand-navy);color:#fff;padding:var(--spacing-md) var(--spacing-lg);border-radius:8px 8px 0 0;display:flex;flex-direction:column;gap:6px}.dc-validation-header__top{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.dc-validation-header__title{font-size:14px;font-weight:var(--font-weight-semibold);color:#fff;text-transform:uppercase;letter-spacing:.5px}.dc-validation-header__file{font-size:12px;color:#ffffffd9;font-family:SF Mono,Monaco,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dc-validation-header .btn-secondary{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff}.dc-validation-header .btn-secondary:hover:not(:disabled){background:#ffffff40;border-color:#ffffff80}.dc-validation-header .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.dc-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:1000;display:flex;justify-content:flex-end;animation:dc-fade-in .15s ease}@keyframes dc-fade-in{0%{opacity:0}to{opacity:1}}.dc-panel{background:#fff;width:min(560px,100%);height:100vh;box-shadow:-8px 0 24px #00000026;overflow-y:auto;animation:dc-slide-in .2s ease}.dc-panel--wide{width:min(880px,100%)}@keyframes dc-slide-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.dc-panel__header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e5e7eb;padding:var(--spacing-md) var(--spacing-lg);z-index:1}.dc-panel__header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.dc-panel__close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--brand-gray);padding:4px 8px;border-radius:4px;line-height:1}.dc-panel__close:hover{background:#f0f1f3;color:var(--brand-dark-gray)}.dc-panel__title{font-size:16px;font-weight:var(--font-weight-semibold);color:var(--brand-dark-gray);margin:0;line-height:1.3}.dc-panel__title .dc-link{color:var(--brand-dark-gray)}.dc-panel__title .dc-link:hover{color:var(--brand-navy)}.dc-panel__subtitle{font-size:12px;color:var(--brand-gray);margin-top:4px}.dc-panel__section{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid #f0f1f3}.dc-panel__section--issues{background:#fff7f0}.dc-panel__section-title{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--brand-gray);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm) 0}.dc-panel__sub-title{font-size:12px;font-weight:var(--font-weight-semibold);color:var(--brand-dark-gray);margin:var(--spacing-sm) 0 4px 0}.dc-panel__issue-list{list-style:none;padding:0;margin:0}.dc-panel__issue-list li{font-size:13px;color:var(--brand-orange);line-height:1.5;padding:4px 0}.dc-panel__issue-list li:before{content:"• "}.dc-panel__compare{width:100%;border-collapse:collapse;font-size:13px}.dc-panel__compare th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--brand-gray);font-weight:var(--font-weight-medium);padding:6px 8px;border-bottom:1px solid #e5e7eb}.dc-panel__compare td{padding:8px;border-bottom:1px solid #f0f1f3;vertical-align:top}.dc-panel__compare-label{font-weight:var(--font-weight-medium);color:var(--brand-dark-gray);width:110px}.dc-panel__compare-val{color:var(--brand-dark-gray);font-variant-numeric:tabular-nums}.dc-panel__compare-check{text-align:center;width:32px}.dc-panel__dl{display:grid;grid-template-columns:180px 1fr;gap:8px 12px;margin:0;font-size:13px}.dc-panel__dl dt{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--brand-gray);font-weight:var(--font-weight-medium);padding-top:2px}.dc-panel__dl dd{margin:0;color:var(--brand-dark-gray);word-break:break-word}.dc-panel__actions{margin-top:var(--spacing-md);display:flex;gap:var(--spacing-sm)}.dc-panel__candidate-list{list-style:none;padding:0;margin:0}.dc-panel__candidate-list li{font-size:12px;padding:6px 0;border-bottom:1px solid #f0f1f3}.dc-mono{font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.dc-text-muted{color:var(--brand-gray);font-size:13px}.dc-text-danger{color:#dc3545}.dc-banner{padding:var(--spacing-md) var(--spacing-lg);border-radius:8px;font-size:13px;line-height:1.6}.dc-banner--info{background:#eef2ff;border:1px solid #c7d2fe;color:#1e3a8a}.dc-banner--info ul{margin:8px 0 0 20px;padding:0}.dc-banner--info li{padding:2px 0}.dc-banner--warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.dc-banner__details{margin-top:8px}.dc-banner__details summary{cursor:pointer;font-weight:var(--font-weight-medium);-webkit-user-select:none;user-select:none}.dc-banner__details ul{margin:8px 0 0 20px;padding:0;max-height:240px;overflow-y:auto}.dc-banner__details li{padding:2px 0;font-size:12px}.dc-plan-row{border-bottom:1px solid #f0f1f3}.dc-plan-row:last-child{border-bottom:none}.dc-plan-row__header{display:grid;grid-template-columns:24px 1fr auto auto;align-items:center;gap:var(--spacing-md);width:100%;padding:12px var(--spacing-lg);background:none;border:none;text-align:left;font-family:inherit;font-size:13px;cursor:pointer;transition:background .15s ease}.dc-plan-row__header:hover{background:#fafbfc}.dc-plan-row__chevron{color:var(--brand-gray);font-size:11px}.dc-plan-row__name{font-weight:var(--font-weight-medium);color:var(--brand-dark-gray)}.dc-plan-row__amounts{font-variant-numeric:tabular-nums;color:var(--brand-dark-gray);white-space:nowrap}.dc-plan-row__admin{font-size:12px;color:var(--brand-gray);white-space:nowrap}.dc-plan-row__body{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg) calc(var(--spacing-lg) + 24px);background:#fafbfc;display:flex;flex-direction:column;gap:var(--spacing-md)}.dc-plan-row__section h4{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--brand-gray);font-weight:var(--font-weight-semibold);margin:0 0 6px}.dc-props-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;overflow:hidden}.dc-props-table td{padding:4px 8px;border-bottom:1px solid #f0f1f3;vertical-align:top}.dc-props-table tr:last-child td{border-bottom:none}.dc-props-table__key{font-family:SF Mono,Monaco,Consolas,monospace;color:var(--brand-gray);width:280px;white-space:nowrap}.dc-props-table__val{font-family:SF Mono,Monaco,Consolas,monospace;color:var(--brand-dark-gray);word-break:break-all}.btn-lg{font-size:14px;padding:10px 20px}.dc-confirm-modal{background:#fff;border-radius:8px;padding:var(--spacing-xl);max-width:480px;width:calc(100% - 32px);margin:auto;box-shadow:var(--shadow-lg)}.dc-confirm-modal__title{font-size:18px;font-weight:var(--font-weight-semibold);color:var(--brand-dark-gray);margin:0 0 var(--spacing-md) 0}.dc-confirm-modal__bullets{margin:var(--spacing-md) 0;padding-left:20px;font-size:13px;color:var(--brand-dark-gray)}.dc-confirm-modal__bullets li{padding:4px 0}.dc-confirm-modal__actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-md)}.dc-panel-overlay:has(.dc-confirm-modal){align-items:center;justify-content:center}.dc-progress{width:100%;height:12px;background:#f0f1f3;border-radius:6px;overflow:hidden}.dc-progress__bar{height:100%;background:linear-gradient(90deg,var(--brand-navy),var(--brand-light-blue));transition:width .3s ease}.dc-progress__label{font-size:12px;color:var(--brand-gray);margin-top:6px;text-align:center}.dc-help{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.dc-help__toggle{width:100%;background:none;border:none;padding:12px var(--spacing-lg);font-family:inherit;font-size:13px;font-weight:var(--font-weight-medium);color:var(--brand-navy);text-align:left;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);transition:background .15s ease}.dc-help__toggle:hover{background:#f9fafb}.dc-help__icon{font-size:16px}.dc-help__content{border-top:1px solid #e5e7eb;background:#fafbfc}.dc-help__tabs{display:flex;border-bottom:1px solid #e5e7eb;background:#fff;padding:0 var(--spacing-lg);gap:var(--spacing-md)}.dc-help__tab{background:none;border:none;padding:12px 0;font-family:inherit;font-size:13px;color:var(--brand-gray);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease}.dc-help__tab:hover{color:var(--brand-dark-gray)}.dc-help__tab--active{color:var(--brand-navy);border-bottom-color:var(--brand-navy);font-weight:var(--font-weight-semibold)}.dc-help__section{padding:var(--spacing-lg);font-size:13px;line-height:1.6;color:var(--brand-dark-gray);max-width:900px}.dc-help__section h3{font-size:14px;font-weight:var(--font-weight-semibold);color:var(--brand-dark-gray);margin:0 0 var(--spacing-sm) 0}.dc-help__section h3:not(:first-child){margin-top:var(--spacing-lg)}.dc-help__section h4{font-size:13px;font-weight:var(--font-weight-semibold);color:var(--brand-dark-gray);margin:0 0 4px}.dc-help__section p{margin:0 0 var(--spacing-sm) 0}.dc-help__section ul,.dc-help__section ol{margin:0 0 var(--spacing-sm) 0;padding-left:20px}.dc-help__section li{margin-bottom:4px}.dc-help__section code{background:#f0f1f3;padding:1px 4px;border-radius:3px;font-size:12px;font-family:SF Mono,Monaco,Consolas,monospace}.dc-help-step{display:flex;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid #f0f1f3}.dc-help-step:last-child{border-bottom:none}.dc-help-step__num{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--brand-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:var(--font-weight-bold)}.dc-help-step__body{flex:1}.dc-help-step__body h4{margin-bottom:6px}.dc-help-step__tip{font-size:12px;color:var(--brand-gray);background:#fffbeb;border-left:3px solid #f59e0b;padding:8px 12px;margin-top:8px;border-radius:0 4px 4px 0}.dc-help-faq{padding:var(--spacing-md) 0;border-bottom:1px solid #f0f1f3}.dc-help-faq:last-child{border-bottom:none}.dc-help-faq h4{color:var(--brand-navy);margin-bottom:6px}.ti-upload-zone{border:2px dashed #d1d5db;border-radius:8px;padding:var(--spacing-2xl) var(--spacing-lg);background:#fafbfc;text-align:center;cursor:pointer;transition:all .15s ease;margin-bottom:var(--spacing-lg)}.ti-upload-zone:hover{border-color:var(--brand-navy);background:#f5f7fb}.ti-upload-zone--active{border-color:var(--brand-navy);background:#eef2ff}.ti-upload-zone--has-file{border-style:solid;border-color:var(--brand-green);background:#f3faf6;padding:var(--spacing-md) var(--spacing-lg)}.ti-upload-zone__icon{font-size:32px;margin-bottom:var(--spacing-sm)}.ti-upload-zone__text{font-size:14px;font-weight:var(--font-weight-medium);color:var(--brand-dark-gray)}.ti-upload-zone__hint{font-size:12px;color:var(--brand-gray);margin-top:4px}.ti-upload-zone__file{display:flex;align-items:center;gap:var(--spacing-md);text-align:left}.ti-upload-zone__file-icon{font-size:24px}.ti-upload-zone__file-meta{flex:1}.ti-upload-zone__file-name{font-size:14px;font-weight:var(--font-weight-medium);color:var(--brand-dark-gray)}.ti-upload-zone__file-size{font-size:12px;color:var(--brand-gray)}.ti-field{margin-bottom:var(--spacing-md)}.ti-field__label{display:block;font-size:13px;font-weight:var(--font-weight-medium);color:var(--brand-dark-gray);margin-bottom:4px}.ti-field__input{width:100%;padding:8px 12px;font-size:13px;font-family:inherit;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:var(--brand-dark-gray);transition:border-color .15s ease}.ti-field__input:focus{outline:none;border-color:var(--brand-navy);box-shadow:0 0 0 2px #26478a1a}.ti-field__input:disabled{background:#f9fafb;color:var(--brand-gray);cursor:not-allowed}.ti-field__hint{display:block;font-size:12px;color:var(--brand-gray);margin-top:4px;line-height:1.4}.ti-log-toggle{width:100%;background:none;border:none;padding:12px var(--spacing-lg);font-family:inherit;font-size:13px;font-weight:var(--font-weight-medium);color:var(--brand-gray);text-align:left;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);transition:background .15s ease}.ti-log-toggle:hover{background:#f9fafb}.ti-log-toggle__arrow{font-size:10px}.ti-log-content{border-top:1px solid #f0f1f3;padding:var(--spacing-md) var(--spacing-lg);background:#1e1e1e;color:#d4d4d4;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;max-height:400px;overflow-y:auto}.ti-log-line{white-space:pre-wrap;line-height:1.5}.btn-xs{font-size:11px;padding:4px 8px;border-radius:4px;text-decoration:none;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}a.btn-xs{text-decoration:none}.statement-container{--font-family: "Lexend Deca", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-semibold: 600;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 24px;--line-height-tight: 18px;--line-height-normal: 24px;--line-height-relaxed: 28px;--color-text-primary: #33475B;--color-text-secondary: #516F90;--color-text-muted: #7C98B6;--color-text-inverse: #FFFFFF;--color-bg-white: #FFFFFF;--color-bg-light: #F5F8FA;--color-bg-hover: #EAF0F6;--color-bg-active: #CBD6E2;--color-primary: #FF7A59;--color-primary-hover: #FF5C35;--color-secondary: #00A4BD;--color-success: #00BDA5;--color-warning: #FFAB00;--color-danger: #F2545B;--color-border-light: #CBD6E2;--color-border-default: #99ACC2;--color-border-dark: #7C98B6;--shadow-card: 0px 1px 5px 0px rgba(45, 62, 80, .12);--shadow-elevated: 0px 3px 12px 0px rgba(45, 62, 80, .15);--shadow-modal: 0px 8px 24px 0px rgba(45, 62, 80, .2);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease}@media print{.statement-container{--shadow-card: none;--color-bg-light: #FFFFFF}}.statement-container.recon-container{min-height:0;max-width:100%;width:100%;padding:var(--spacing-lg) 0;background:transparent}.recon-filters{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-lg);background:var(--brand-secondary);border-radius:8px;box-shadow:var(--shadow-sm)}.recon-filters__group{display:flex;align-items:center;gap:var(--spacing-sm)}.recon-filters__label{font-size:11px;font-weight:var(--font-weight-semibold);color:var(--brand-gray);text-transform:uppercase;letter-spacing:.05em}.recon-chip{font-family:var(--font-family);font-size:12px;font-weight:var(--font-weight-medium);padding:6px 12px;border-radius:6px;border:1px solid #dee2e6;background:var(--brand-secondary);color:var(--brand-gray);cursor:pointer;transition:all .15s ease}.recon-chip:hover{background:#f0f3f7;border-color:var(--brand-navy)}.recon-chip--active{background:var(--brand-navy);color:var(--brand-secondary);border-color:var(--brand-navy)}.recon-filters__count{margin-left:auto;font-size:12px;color:var(--brand-gray);display:flex;align-items:center}.recon-badge{display:inline-block;font-family:var(--font-family);font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:12px;white-space:nowrap}.recon-badge--success{background:#70ad471f;color:var(--brand-green);border:1px solid rgba(112,173,71,.3)}.recon-badge--warning{background:#c29a051f;color:var(--brand-gold);border:1px solid rgba(194,154,5,.3)}.recon-badge--danger{background:#ed7d311f;color:var(--brand-orange);border:1px solid rgba(237,125,49,.3)}.recon-badge--info{background:#5b9bd51f;color:var(--brand-light-blue);border:1px solid rgba(91,155,213,.3)}.recon-badge--neutral{background:#f0f3f7;color:var(--brand-gray);border:1px solid #dee2e6}.kpi-card__value--success{color:var(--brand-green)!important}.kpi-card__value--warning{color:var(--brand-gold)!important}.kpi-card__value--danger{color:var(--brand-orange)!important}.recon-container .investment-table{table-layout:auto}.recon-container .investment-table th,.recon-container .investment-table td{padding:10px 8px;white-space:nowrap}.recon-container .investment-table .col-series{width:auto;min-width:70px;font-weight:var(--font-weight-semibold)}.recon-container .investment-table .col-investment-name{width:auto;min-width:240px;max-width:340px;white-space:normal;text-align:left}.recon-container .investment-table th.col-investment-name{text-align:left}.recon-container .investment-table .col-fund-status,.recon-container .investment-table .col-recon-status{width:auto;min-width:100px;text-align:center}.recon-container .investment-table th.col-fund-status,.recon-container .investment-table th.col-recon-status,.recon-container .investment-table th.col-txn-count{text-align:center}.recon-container .investment-table .col-currency{width:auto;min-width:90px}.recon-container .investment-table .col-txn-count{width:auto;min-width:95px;text-align:center;font-variant-numeric:tabular-nums}.recon-container .investment-table .col-date{width:auto;min-width:90px;text-align:center}.recon-container .investment-table tbody td.col-investment-name{font-weight:var(--font-weight-medium);color:var(--brand-dark-gray)}.recon-container .investment-table tbody tr.recon-row{cursor:pointer}.recon-container .investment-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.recon-container .investment-table th.sortable:hover{background:#1a1a1a}.recon-container .investment-table th .sort-icon{display:inline-block;margin-left:4px;font-size:10px}.recon-container .investment-table th .sort-icon--inactive{opacity:.35}.recon-container .investment-table th .sort-icon--active{opacity:1}.recon-container~.dc-panel-overlay .dc-panel--wide,.dc-panel-overlay .dc-panel.dc-panel--recon{width:min(1200px,100vw)}.dc-panel.dc-panel--wide.dc-panel--recon{width:min(1200px,100vw)}.dc-panel--recon .dc-panel__section{padding:var(--spacing-md) var(--spacing-md)}.recon-accounts-table{table-layout:auto;width:100%;font-size:12px}.recon-accounts-table th,.recon-accounts-table td{padding:6px 8px;vertical-align:middle}.recon-accounts-table th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-gray);white-space:nowrap}.recon-accounts-table th:first-child,.recon-accounts-table td:first-child{max-width:260px;white-space:normal;word-break:break-word;line-height:1.3}.recon-accounts-table th:nth-child(2),.recon-accounts-table td:nth-child(2){white-space:nowrap;min-width:60px}.recon-accounts-table th.dc-table__num,.recon-accounts-table td.dc-table__num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:70px}.dc-panel--recon .dc-panel__compare:not(.recon-accounts-table){font-size:13px}.dc-panel--recon .dc-panel__compare:not(.recon-accounts-table) th,.dc-panel--recon .dc-panel__compare:not(.recon-accounts-table) td{padding:8px 10px}.recon-upload-btn{font-family:var(--font-family);font-size:13px;font-weight:var(--font-weight-semibold);padding:8px 16px;border-radius:6px;background:var(--brand-orange);color:var(--brand-secondary);border:none;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.recon-upload-btn:hover:not(:disabled){background:#d66a21;transform:translateY(-1px);box-shadow:var(--shadow-md)}.recon-upload-btn:disabled{opacity:.6;cursor:not-allowed}.recon-upload-status{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:6px;font-size:13px;font-family:var(--font-family)}.recon-upload-status--success{background:#70ad471f;color:var(--brand-green);border:1px solid rgba(112,173,71,.3)}.recon-upload-status--error{background:#ed7d311f;color:var(--brand-orange);border:1px solid rgba(237,125,49,.3)}.investment-table tbody td.col-currency--negative{color:var(--brand-orange);font-weight:var(--font-weight-semibold)}.investment-table tbody td.col-txn-count--partial{color:var(--brand-gold);font-weight:var(--font-weight-semibold)}.recon-loading,.recon-error{padding:var(--spacing-2xl) var(--spacing-xl);text-align:center;font-size:14px;color:var(--brand-gray);background:var(--brand-secondary);border-radius:8px;box-shadow:var(--shadow-sm);margin-top:var(--spacing-lg)}.recon-error{color:var(--brand-orange);border-left:4px solid var(--brand-orange);text-align:left;padding-left:var(--spacing-lg)}.recon-error strong{color:var(--brand-dark-gray);display:block;margin-bottom:4px}.recon-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.recon-page-header__title{font-family:var(--font-family);font-size:24px;font-weight:var(--font-weight-bold);color:var(--brand-dark-gray);margin:0;letter-spacing:-.01em}.recon-page-header__refresh{font-family:var(--font-family);font-size:13px;font-weight:var(--font-weight-semibold);padding:8px 16px;border-radius:6px;background:var(--brand-navy);color:var(--brand-secondary);border:none;cursor:pointer;transition:all .15s ease}.recon-page-header__refresh:hover:not(:disabled){background:#1d3a70;transform:translateY(-1px);box-shadow:var(--shadow-md)}.recon-page-header__refresh:disabled{opacity:.6;cursor:not-allowed}.recon-cat-cell{display:flex;flex-direction:column;align-items:flex-end;gap:1px;line-height:1.25}.recon-cat-cell__hs{font-weight:var(--font-weight-semibold);color:var(--brand-dark-gray)}.recon-cat-cell__fm3{font-size:11px;color:#8a9095;font-weight:var(--font-weight-regular)}.recon-cat-cell__delta{font-size:11px;font-weight:var(--font-weight-semibold);padding:1px 6px;border-radius:4px;margin-top:1px;display:inline-block}.recon-cat-cell__delta--over{background:#fef0e6;color:#c25e1c}.recon-cat-cell__delta--under{background:#e6f0fb;color:#1d5fbf}.recon-cat-cell__delta--zero{background:#ecf3ed;color:#2f7a3a}.investment-table--recon td{vertical-align:middle}.dc-panel__compare th.dc-table__num{text-align:right}:root{--brand-primary: #000000;--brand-secondary: #ffffff;--brand-navy: #26478a;--brand-light-blue: #5b9bd5;--brand-orange: #ed7d31;--brand-green: #70ad47;--brand-gold: #c29a05;--brand-dark-gray: #323232;--brand-gray: #60676b;--font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);color:var(--brand-dark-gray);background:#f5f6f8;min-height:100vh}.admin-container{min-height:100vh;display:flex;flex-direction:column;background:#f3f4f6}.admin-header{background:var(--brand-primary);padding:16px 32px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #00000026;position:sticky;top:0;z-index:100}.admin-header__left{display:flex;align-items:center;gap:14px}.admin-header__logo{height:26px;width:auto}.admin-header__title{font-size:16px;font-weight:var(--font-weight-semibold);color:var(--brand-secondary);letter-spacing:-.2px}.admin-header__right{display:flex;align-items:center;gap:14px}.admin-header__user{font-size:12px;color:#ffffff80;font-weight:var(--font-weight-regular)}.admin-main{flex:1;padding:24px;max-width:960px;width:100%;margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;font-family:var(--font-family);font-size:13px;font-weight:var(--font-weight-semibold);line-height:1;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--brand-navy);color:var(--brand-secondary);border-radius:10px}.btn-primary:hover:not(:disabled){background:#1d3a70;transform:translateY(-1px);box-shadow:0 4px 12px #26478a4d}.btn-secondary{background:var(--brand-secondary);color:var(--brand-dark-gray);border:1px solid #dee2e6}.btn-secondary:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd}.btn-danger{background:#dc3545;color:var(--brand-secondary)}.btn-danger:hover:not(:disabled){background:#c82333;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-success{background:var(--brand-green);color:var(--brand-secondary)}.btn-success:hover:not(:disabled){background:#5f9a3a;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background:transparent;color:var(--brand-secondary);border:1px solid rgba(255,255,255,.4)}.btn-outline:hover:not(:disabled){background:#ffffff1a;border-color:#ffffffb3}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:14px 28px;font-size:15px}.card{background:var(--brand-secondary);border-radius:12px;box-shadow:0 1px 4px #0000000f;overflow:hidden;border:1px solid #e4e7ec}.card-header{padding:16px 24px;background:var(--brand-navy);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:14px;font-weight:var(--font-weight-semibold);color:var(--brand-secondary);margin:0;letter-spacing:-.1px}.card-body{padding:24px}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f3f4f6}.login-card{background:var(--brand-secondary);border-radius:12px;box-shadow:0 8px 32px #0000001f;width:100%;max-width:420px;overflow:hidden}.login-card__header{background:var(--brand-primary);padding:28px 32px;display:flex;align-items:center;justify-content:center}.login-card__logo{height:32px;width:auto}.login-card__body{padding:32px;text-align:center}.login-card__title{font-size:24px;font-weight:var(--font-weight-bold);color:var(--brand-primary);margin-bottom:4px;letter-spacing:-.3px}.login-card__subtitle{font-size:13px;color:var(--brand-gray);font-weight:var(--font-weight-regular);margin-bottom:28px;letter-spacing:.3px}.login-card__error{background:#fff3f3;border:1px solid #ffcdd2;color:#c62828;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px;text-align:left}.login-card__footer{margin-top:28px;padding-top:16px;border-top:1px solid #e4e7ec;font-size:11px;color:#adb5bd;letter-spacing:.3px}.magic-link-form{display:flex;flex-direction:column;gap:12px}.magic-link-form__input{width:100%;padding:13px 16px;font-family:var(--font-family);font-size:14px;border:1.5px solid #e4e7ec;border-radius:10px;color:var(--brand-dark-gray);background:#f8f9fb;transition:all .2s ease}.magic-link-form__input:focus{outline:none;border-color:var(--brand-navy);background:var(--brand-secondary);box-shadow:0 0 0 3px #26478a1a}.magic-link-form__input::placeholder{color:#9ca3af}.login-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#d1d5db;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#e4e7ec}.magic-link-sent{text-align:center;padding:20px 0}.magic-link-sent__icon{font-size:44px;margin-bottom:12px}.magic-link-sent__text{font-size:15px;font-weight:var(--font-weight-medium);color:var(--brand-dark-gray);margin-bottom:4px}.magic-link-sent__email{font-size:14px;color:var(--brand-navy);font-weight:var(--font-weight-semibold)}.btn-google{width:100%;padding:13px 24px;background:var(--brand-secondary);color:var(--brand-dark-gray);border:1.5px solid #e4e7ec;border-radius:10px;font-size:14px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-family)}.btn-google:hover:not(:disabled){background:#f8f9fb;border-color:#d1d5db;box-shadow:0 2px 8px #0000000f}.btn-google:disabled{opacity:.6;cursor:not-allowed}.btn-google__icon{width:18px;height:18px}.upload-zone{border:2px dashed #d0d5dd;border-radius:8px;padding:var(--spacing-2xl) var(--spacing-xl);text-align:center;cursor:pointer;transition:all .2s ease;background:#fafbfc}.upload-zone:hover{border-color:var(--brand-light-blue);background:#f0f6ff}.upload-zone--active{border-color:var(--brand-navy);background:#eef3ff}.upload-zone--has-file{border-color:var(--brand-green);background:#f0faf0;border-style:solid}.upload-zone__icon{font-size:36px;margin-bottom:var(--spacing-sm);color:var(--brand-gray)}.upload-zone__text{font-size:14px;color:var(--brand-dark-gray);margin-bottom:var(--spacing-xs)}.upload-zone__hint{font-size:12px;color:var(--brand-gray)}.upload-zone__file{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-size:14px;font-weight:var(--font-weight-medium);color:var(--brand-dark-gray)}.upload-zone__file-size{font-weight:var(--font-weight-regular);color:var(--brand-gray)}.upload-zone__remove{background:none;border:none;color:#dc3545;cursor:pointer;font-size:18px;padding:2px 6px;border-radius:4px}.upload-zone__remove:hover{background:#fff3f3}.source-toggle{display:flex;background:#f0f1f3;border-radius:6px;padding:3px;margin-bottom:var(--spacing-lg)}.source-toggle__option{flex:1;padding:8px 16px;font-family:var(--font-family);font-size:13px;font-weight:var(--font-weight-medium);border:none;background:transparent;color:var(--brand-gray);cursor:pointer;border-radius:4px;transition:all .2s ease}.source-toggle__option--active{background:var(--brand-secondary);color:var(--brand-dark-gray);box-shadow:var(--shadow-sm)}.filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.filter-field{flex:1;min-width:200px}.filter-field--full{flex-basis:100%}.filter-field label{display:block;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--brand-gray);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.filter-field input{width:100%;padding:11px 14px;font-family:var(--font-family);font-size:13px;border:1.5px solid #e4e7ec;border-radius:10px;color:var(--brand-dark-gray);background:#f8f9fb;transition:all .2s ease}.filter-field input:focus{outline:none;border-color:var(--brand-navy);background:var(--brand-secondary);box-shadow:0 0 0 3px #26478a1a}.filter-field input::placeholder{color:#9ca3af}.filter-field__hint{display:block;font-size:11px;color:#98a2b3;margin-top:4px;line-height:1.4}.help-inline{font-size:12px;color:#98a2b3;margin-top:var(--spacing-sm);text-align:right}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.stat-card{background:var(--brand-secondary);border-radius:8px;padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border-left:3px solid var(--brand-navy)}.stat-card--success{border-left-color:var(--brand-green)}.stat-card--warning{border-left-color:var(--brand-orange)}.stat-card--danger{border-left-color:#dc3545}.stat-card__value{font-size:28px;font-weight:var(--font-weight-bold);color:var(--brand-primary);line-height:1;margin-bottom:var(--spacing-xs)}.stat-card__label{font-size:12px;font-weight:var(--font-weight-medium);color:var(--brand-gray);text-transform:uppercase;letter-spacing:.03em}.log-viewer{margin-top:var(--spacing-lg)}.log-viewer__toggle{display:flex;align-items:center;gap:var(--spacing-sm);background:none;border:none;font-family:var(--font-family);font-size:13px;font-weight:var(--font-weight-semibold);color:var(--brand-navy);cursor:pointer;padding:var(--spacing-sm) 0}.log-viewer__toggle:hover{color:#1d3a70}.log-viewer__arrow{transition:transform .2s ease;font-size:10px}.log-viewer__arrow--open{transform:rotate(90deg)}.log-viewer__content{background:#1e1e2e;color:#cdd6f4;border-radius:8px;padding:var(--spacing-lg);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.6;max-height:400px;overflow-y:auto;margin-top:var(--spacing-sm)}.log-viewer__line{white-space:pre-wrap;word-break:break-all}.loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md)}.spinner{width:36px;height:36px;border:3px solid #e9ecef;border-top-color:var(--brand-navy);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:14px;color:var(--brand-gray);font-weight:var(--font-weight-medium)}.status-banner{padding:var(--spacing-md) var(--spacing-lg);border-radius:8px;font-size:14px;font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-lg)}.status-banner--success{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.status-banner--error{background:#fff3f3;color:#c62828;border:1px solid #ffcdd2}.status-banner--info{background:#e3f2fd;color:#1565c0;border:1px solid #bbdefb}.unmatched-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:var(--spacing-md)}.unmatched-table th{background:#f5f6f8;font-weight:var(--font-weight-semibold);text-align:left;padding:8px 12px;border-bottom:2px solid #dee2e6;text-transform:uppercase;letter-spacing:.03em;font-size:11px;color:var(--brand-gray)}.unmatched-table td{padding:8px 12px;border-bottom:1px solid #e9ecef;color:var(--brand-dark-gray)}.action-bar{display:flex;gap:var(--spacing-md);align-items:center;padding-top:var(--spacing-lg);border-top:1px solid #e9ecef;margin-top:var(--spacing-lg)}.action-bar__spacer{flex:1}.preview-table{width:100%;border-collapse:collapse;font-size:13px}.preview-table th{background:#f8f9fb;font-weight:var(--font-weight-semibold);text-align:left;padding:10px 14px;border-bottom:1px solid #e4e7ec;text-transform:uppercase;letter-spacing:.4px;font-size:10px;color:var(--brand-gray);white-space:nowrap;position:sticky;top:0;z-index:1}.preview-table td{padding:10px 14px;border-bottom:1px solid #f0f1f3;color:var(--brand-dark-gray);vertical-align:middle}.preview-table tbody tr{transition:background .15s ease}.preview-table tbody tr:hover{background:#f0f4f8}.preview-table__th--status{width:32px}.preview-table__td--status{width:32px;text-align:center}.preview-table__td--name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-table__td--mono{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:11px}.preview-table__td--amount{text-align:right;font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);white-space:nowrap}.preview-table__row--unmatched{background:#fff8f0}.preview-table__row--unmatched td{color:#9a6700}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.status-dot--success{background:var(--brand-green)}.status-dot--danger{background:var(--brand-orange)}.record-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:var(--font-weight-bold);letter-spacing:.05em}.record-badge--transaction{background:#e3f2fd;color:#1565c0}.record-badge--commitment{background:#f3e5f5;color:#7b1fa2}.admin-main__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--spacing-md)}.admin-main__step{font-size:13px;color:var(--brand-gray);font-weight:var(--font-weight-medium)}.help-guide{margin-bottom:var(--spacing-lg)}.help-guide__toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid #dee2e6;border-radius:var(--radius-sm);padding:8px 16px;font-size:13px;font-weight:var(--font-weight-medium);color:var(--brand-navy);cursor:pointer;transition:background .15s,border-color .15s}.help-guide__toggle:hover{background:#f5f6f8;border-color:var(--brand-navy)}.help-guide__icon{font-size:16px}.help-guide__content{margin-top:var(--spacing-md);border:1px solid #dee2e6;border-radius:var(--radius-md);background:#fff;overflow:hidden}.help-guide__tabs{display:flex;border-bottom:1px solid #dee2e6;background:#f9fafb}.help-guide__tab{flex:1;padding:10px 16px;border:none;background:none;font-size:13px;font-weight:var(--font-weight-semibold);color:var(--brand-gray);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.help-guide__tab:hover{color:var(--brand-navy)}.help-guide__tab--active{color:var(--brand-navy);border-bottom-color:var(--brand-navy);background:#fff}.help-guide__section{padding:var(--spacing-lg);font-size:13px;line-height:1.6;color:var(--brand-dark-gray)}.help-guide__section h4{font-size:15px;font-weight:var(--font-weight-bold);color:var(--brand-navy);margin:0 0 var(--spacing-md) 0}.help-guide__section ul,.help-guide__section ol{padding-left:20px;margin:8px 0}.help-guide__section li{margin-bottom:4px}.help-step{display:flex;gap:16px;margin-bottom:var(--spacing-lg)}.help-step__number{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--brand-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:var(--font-weight-bold);margin-top:2px}.help-step__body{flex:1}.help-step__title{font-weight:var(--font-weight-bold);color:var(--brand-navy);margin-bottom:4px;font-size:14px}.help-step__body p{margin:6px 0}.help-faq{border-bottom:1px solid #f0f1f3;padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md)}.help-faq:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.help-faq__q{font-weight:var(--font-weight-bold);color:var(--brand-navy);margin-bottom:6px;font-size:14px}.help-faq__a{color:var(--brand-dark-gray)}.help-faq__a ol{padding-left:20px;margin:8px 0}.help-faq__a ol li{margin-bottom:4px}.help-faq__table{width:100%;border-collapse:collapse;margin-top:8px;font-size:12px}.help-faq__table th{background:#f5f6f8;font-weight:var(--font-weight-semibold);text-align:left;padding:8px 10px;border-bottom:2px solid #dee2e6;text-transform:uppercase;letter-spacing:.03em;font-size:10px;color:var(--brand-gray)}.help-faq__table td{padding:8px 10px;border-bottom:1px solid #f0f1f3}.help-faq__table tbody tr:hover{background:#f8f9fb}.dashboard-tabs{display:flex;border-bottom:2px solid #e4e7ec;margin-bottom:24px;gap:0;overflow-x:auto}.dashboard-tab{padding:12px 20px;font-family:var(--font-family);font-size:13px;font-weight:var(--font-weight-medium);color:var(--brand-gray);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .2s ease,border-color .2s ease;white-space:nowrap;letter-spacing:-.1px}.dashboard-tab:hover{color:var(--brand-navy)}.dashboard-tab--active{color:var(--brand-navy);font-weight:var(--font-weight-semibold);border-bottom-color:var(--brand-navy)}.admin-main--wide{max-width:1400px}.admin-main--xwide{max-width:min(1800px,calc(100vw - 48px))}
