:root {
    --dpe-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
    --dpe-primary: #1B2559;
    --dpe-primary-dark: #111842;
    --dpe-primary-tint: #3A4A8A;
    --dpe-primary-soft: rgba(27,37,89,.10);
    --dpe-primary-softer: rgba(27,37,89,.04);
    --dpe-text: #1A1D26;
    --dpe-text-secondary: #5A5F72;
    --dpe-text-tertiary: #8E93A5;
    --dpe-surface: #FFFFFF;
    --dpe-surface-alt: #F7F8FA;
    --dpe-border: #E5E7EB;
    --dpe-border-strong: #D1D5DB;
    --dpe-success: #0D7C3D;
    --dpe-success-soft: #E8F5EC;
    --dpe-warning: #B45309;
    --dpe-warning-soft: #FEF3C7;
    --dpe-danger: #C53030;
    --dpe-danger-soft: #FEE2E2;
    --dpe-info: #1D6FA5;
    --dpe-info-soft: #E0F0FA;
    --dpe-radius-sm: 6px;
    --dpe-radius-md: 8px;
    --dpe-radius-lg: 12px;
    --dpe-radius-full: 9999px;
    --dpe-shadow-sm: 0 1px 2px rgba(10,14,39,.06);
    --dpe-shadow-md: 0 4px 12px rgba(10,14,39,.08);
    --dpe-shadow-focus: 0 0 0 3px rgba(27,37,89,.15);
    --dpe-space-1: 4px; --dpe-space-2: 8px; --dpe-space-3: 12px;
    --dpe-space-4: 16px; --dpe-space-5: 20px; --dpe-space-6: 24px; --dpe-space-8: 32px;
    --dpe-transition: 150ms ease;
}
[data-theme="dark"] {
    --dpe-primary: #6B7FCC; --dpe-primary-dark: #8A9ADE; --dpe-primary-tint: #4A5EA0;
    --dpe-primary-soft: rgba(107,127,204,.15); --dpe-primary-softer: rgba(107,127,204,.06);
    --dpe-text: #E5E7EB; --dpe-text-secondary: #9CA3AF; --dpe-text-tertiary: #6B7280;
    --dpe-surface: #1F2937; --dpe-surface-alt: #111827;
    --dpe-border: #374151; --dpe-border-strong: #4B5563;
    --dpe-success: #34D399; --dpe-success-soft: rgba(52,211,153,.12);
    --dpe-warning: #FBBF24; --dpe-warning-soft: rgba(251,191,36,.12);
    --dpe-danger: #F87171; --dpe-danger-soft: rgba(248,113,113,.12);
    --dpe-info: #60A5FA; --dpe-info-soft: rgba(96,165,250,.12);
}
.fin-wrap{max-width:1280px;margin:0 auto;padding:var(--dpe-space-4) var(--dpe-space-5) var(--dpe-space-8)}
.fin-section{background:var(--dpe-surface);border:1px solid var(--dpe-border);border-radius:var(--dpe-radius-md);padding:var(--dpe-space-5);margin-bottom:var(--dpe-space-5)}
.fin-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--dpe-text-tertiary);margin-bottom:var(--dpe-space-4)}
.fin-summary{display:grid;gap:var(--dpe-space-4);margin-bottom:var(--dpe-space-5)}
.fin-summary-3{grid-template-columns:repeat(3,1fr)}.fin-summary-4{grid-template-columns:repeat(4,1fr)}.fin-summary-5{grid-template-columns:repeat(5,1fr)}
.fin-card{background:var(--dpe-surface);border:1px solid var(--dpe-border);border-radius:var(--dpe-radius-md);padding:var(--dpe-space-4) var(--dpe-space-5)}
.fin-card-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--dpe-text-tertiary);margin-bottom:6px}
.fin-card-value{font-size:20px;font-weight:600;color:var(--dpe-text)}
.fin-card-sub{font-size:12px;color:var(--dpe-text-secondary);margin-top:4px}
.fin-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--dpe-radius-full);font-size:12px;font-weight:500;white-space:nowrap}
.fin-chip::before{content:"";width:6px;height:6px;border-radius:50%;margin-right:6px;background:currentColor}
.fin-chip.neutral{background:var(--dpe-surface-alt);color:var(--dpe-text-secondary)}
.fin-chip.info{background:var(--dpe-info-soft);color:var(--dpe-info)}
.fin-chip.warning{background:var(--dpe-warning-soft);color:var(--dpe-warning)}
.fin-chip.success{background:var(--dpe-success-soft);color:var(--dpe-success)}
.fin-chip.danger{background:var(--dpe-danger-soft);color:var(--dpe-danger)}
.fin-chip.brand{background:var(--dpe-primary-soft);color:var(--dpe-primary)}
.fin-status-bar{display:flex;gap:var(--dpe-space-5);align-items:center;padding:var(--dpe-space-3) var(--dpe-space-4);border-radius:var(--dpe-radius-md);margin-bottom:var(--dpe-space-5);font-size:13px;border:1px solid}
.fin-status-bar.ok{background:var(--dpe-success-soft);border-color:var(--dpe-success);color:var(--dpe-success)}
.fin-status-bar.warning{background:var(--dpe-warning-soft);border-color:var(--dpe-warning);color:var(--dpe-warning)}
.fin-status-bar.danger{background:var(--dpe-danger-soft);border-color:var(--dpe-danger);color:var(--dpe-danger)}
.fin-toolbar{display:flex;gap:var(--dpe-space-2);align-items:center;margin-bottom:var(--dpe-space-4);flex-wrap:wrap}
.fin-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;font-size:13px;font-weight:500;border-radius:var(--dpe-radius-sm);border:1px solid transparent;cursor:pointer;transition:all var(--dpe-transition);white-space:nowrap;height:30px}
.fin-btn:hover{opacity:.88}.fin-btn:disabled{opacity:.5;cursor:not-allowed}
.fin-btn.primary{background:var(--dpe-primary);color:#fff}
.fin-btn.success{background:var(--dpe-success);color:#fff}
.fin-btn.danger{background:var(--dpe-danger);color:#fff}
.fin-btn.outline{background:transparent;border-color:var(--dpe-border-strong);color:var(--dpe-text)}
.fin-btn.outline:hover{background:var(--dpe-surface-alt)}
.fin-filters{display:grid;gap:var(--dpe-space-3);align-items:end}
.fin-field{display:flex;flex-direction:column;gap:4px}
.fin-label{font-size:12px;color:var(--dpe-text-tertiary);font-weight:500}
.fin-input{height:32px;padding:0 8px;border:1px solid var(--dpe-border);border-radius:var(--dpe-radius-sm);font-size:13px;color:var(--dpe-text);background:var(--dpe-surface);width:100%;box-sizing:border-box}
.fin-input:focus{outline:none;border-color:var(--dpe-primary);box-shadow:var(--dpe-shadow-focus)}
.fin-table{width:100%;border-collapse:collapse;font-size:13px}
.fin-table th{background:var(--dpe-surface-alt);padding:7px 10px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--dpe-text-tertiary);border-bottom:2px solid var(--dpe-border);white-space:nowrap;text-align:left;cursor:pointer}
.fin-table th.right,.fin-table td.right{text-align:right;white-space:nowrap;min-width:100px}
.fin-table td{padding:5px 10px;border-bottom:1px solid var(--dpe-border)}
.fin-table tr:hover td{background:var(--dpe-surface-alt)}
.fin-table .root-header td{font-weight:600;background:var(--dpe-surface-alt);text-transform:uppercase;color:var(--dpe-text-tertiary);border-top:2px solid var(--dpe-border)}
.fin-table .subtotal-row td{font-weight:600;background:var(--dpe-surface-alt)}
.fin-table .total-row td{font-weight:700;background:var(--dpe-surface-alt);border-top:2px solid var(--dpe-border)}
.fin-tabs{display:flex;gap:2px;margin-bottom:var(--dpe-space-4);border-bottom:2px solid var(--dpe-border);overflow-x:auto;scrollbar-width:none}
.fin-tabs::-webkit-scrollbar{display:none}
.fin-tab{padding:8px 20px;font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--dpe-text-secondary);transition:all var(--dpe-transition)}
.fin-tab:hover{color:var(--dpe-text)}.fin-tab.active{color:var(--dpe-primary);border-bottom-color:var(--dpe-primary)}
.fin-tab-pane{display:none}.fin-tab-pane.active{display:block;animation:fin-fade 200ms ease-out}
@keyframes fin-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.fin-toggle-group{display:flex;border:1px solid var(--dpe-border);border-radius:var(--dpe-radius-sm);overflow:hidden;width:fit-content;margin-bottom:var(--dpe-space-4)}
.fin-toggle-btn{padding:5px 16px;font-size:12px;font-weight:500;cursor:pointer;border:none;background:var(--dpe-surface);color:var(--dpe-text-secondary)}
.fin-toggle-btn.active{background:var(--dpe-primary);color:#fff}
.fin-pos{color:var(--dpe-success)}.fin-neg{color:var(--dpe-danger)}.fin-warn{color:var(--dpe-warning)}.fin-muted{color:var(--dpe-text-tertiary)}.fin-pending{color:var(--dpe-warning);font-weight:500}
.fin-empty{text-align:center;padding:var(--dpe-space-8);color:var(--dpe-text-secondary);font-size:13px}
.fin-note{font-size:12px;color:var(--dpe-text-tertiary);font-style:italic;padding:var(--dpe-space-2) var(--dpe-space-3)}
.fin-pending-banner{display:flex;align-items:center;gap:var(--dpe-space-3);padding:var(--dpe-space-2) var(--dpe-space-4);background:var(--dpe-warning-soft);border-bottom:1px solid var(--dpe-warning);font-size:13px;color:var(--dpe-warning);font-weight:500;margin-bottom:var(--dpe-space-4);border-radius:var(--dpe-radius-sm)}
.fin-progress{height:8px;background:var(--dpe-surface-alt);border-radius:var(--dpe-radius-full);overflow:hidden}
.fin-progress-fill{height:100%;border-radius:var(--dpe-radius-full);transition:width 400ms ease-out}
.fin-dropzone{border:2px dashed var(--dpe-border-strong);border-radius:var(--dpe-radius-md);padding:var(--dpe-space-6) var(--dpe-space-5);text-align:center;background:var(--dpe-surface);color:var(--dpe-text-secondary);cursor:pointer}
.fin-dropzone:hover,.fin-dropzone.dragover{border-color:var(--dpe-primary);background:var(--dpe-primary-softer);color:var(--dpe-primary)}
.fin-alert{padding:var(--dpe-space-3) var(--dpe-space-4);border-radius:var(--dpe-radius-md);font-size:14px;display:flex;gap:var(--dpe-space-3);margin-bottom:var(--dpe-space-4);border:1px solid transparent}
.fin-alert.info{background:var(--dpe-info-soft);color:var(--dpe-info)}.fin-alert.success{background:var(--dpe-success-soft);color:var(--dpe-success)}
.fin-alert.warning{background:var(--dpe-warning-soft);color:var(--dpe-warning)}.fin-alert.danger{background:var(--dpe-danger-soft);color:var(--dpe-danger)}
@media print{.fin-section:first-child,.fin-toolbar,.fin-toggle-group,.page-head,.navbar,.sidebar{display:none!important}.fin-wrap{padding:0;max-width:100%}.fin-section{border:none;padding:.5rem 0}.fin-table{font-size:11px}.fin-print-header{display:block!important}}
.fin-print-header{display:none;text-align:center;margin-bottom:var(--dpe-space-4)}
.fin-print-header h2{margin:0;font-size:16px}.fin-print-header p{margin:2px 0;font-size:12px;color:var(--dpe-text-secondary)}
@media(max-width:768px){.fin-summary-3,.fin-summary-4,.fin-summary-5{grid-template-columns:repeat(2,1fr)}.fin-filters{grid-template-columns:1fr}}
@media(max-width:480px){.fin-summary-3,.fin-summary-4,.fin-summary-5{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
