:root{--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-light:#dbeafe;--color-primary-dark:#1e40af;--color-secondary:#8b5cf6;--color-secondary-hover:#7c3aed;--color-secondary-light:#ede9fe;--color-success:#10b981;--color-success-hover:#059669;--color-success-light:#d1fae5;--color-success-dark:#047857;--color-warning:#f59e0b;--color-warning-hover:#d97706;--color-warning-light:#fef3c7;--color-warning-dark:#b45309;--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-danger-light:#fee2e2;--color-danger-dark:#b91c1c;--color-info:#0ea5e9;--color-info-hover:#0284c7;--color-info-light:#e0f2fe;--color-info-dark:#0369a1;--color-background:#fff;--color-surface:#f8fafc;--color-surface-hover:#f1f5f9;--color-elevated:#fff;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-border-dark:#cbd5e1;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#64748b;--color-text-disabled:#94a3b8;--color-text-inverse:#fff;--color-overlay:rgba(0,0,0,.5);--color-overlay-light:rgba(0,0,0,.25);--spacing-0:0;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-none:0;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-none:none;--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow-sm:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--font-family-base:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-heading:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-mono:"JetBrains Mono","Fira Code",Consolas,monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--sidebar-width:280px;--sidebar-collapsed-width:70px;--header-height:64px;--max-width-container:1280px;--card-bg-start:#fff;--card-bg-end:#f8fafc;--border-color:rgba(226,232,240,.8);--text-primary:#0f172a;--text-secondary:#64748b;--text-tertiary:#94a3b8;--input-border:rgba(226,232,240,.8);--input-bg:#fff;--error-bg-start:#fee2e2;--error-bg-end:#fecaca;--error-border:rgba(239,68,68,.3);--error-text:#dc2626;--button-secondary-bg:#f1f5f9;--button-secondary-hover:#e2e8f0;--spinner-bg:#e2e8f0;--empty-icon-bg:linear-gradient(135deg,#f1f5f9,#e2e8f0);--badge-bg:#f1f5f9;--description-bg:#f8fafc;--action-button-bg:#fff;--success-bg-start:#dcfce7;--success-bg-end:#bbf7d0;--success-border:rgba(34,197,94,.3);--success-text:#166534;--info-bg:#dbeafe;--info-border:rgba(59,130,246,.3);--info-text:#1e40af;--movements-card-bg:#fff;--movements-text-primary:#111827;--movements-text-secondary:#6b7280;--movements-border-color:#d1d5db;--movements-border-hover:#9ca3af;--movements-border-light:#f3f4f6;--movements-input-bg:#fff;--movements-hover-bg:#f9fafb;--movements-disabled-bg:#9ca3af;--movements-shadow-md:0 2px 8px rgba(0,0,0,.1);--movements-shadow-lg:0 4px 16px rgba(0,0,0,.15);--movements-primary-color:#3b82f6;--movements-primary-alpha:rgba(59,130,246,.1);--movements-success-color:#10b981;--movements-success-bg:#d1fae5;--movements-success-text:#065f46;--movements-warning-color:#f59e0b;--movements-warning-bg:#fef3c7;--movements-warning-text:#92400e;--movements-danger-color:#ef4444;--movements-danger-bg:#fee2e2;--movements-danger-text:#991b1b;--movements-spinner-track:#f3f4f6;--movements-header-gradient:linear-gradient(135deg,#f0f9ff,#e0f2fe);--movements-header-gradient-hover:linear-gradient(135deg,#e0f2fe,#dbeafe);--movements-summary-bg:#f9fafb;--movements-table-header-bg:#f9fafb;--movements-badge-bg:#dbeafe;--movements-badge-text:#1e40af}[data-theme=dark]{--color-background:#0f172a;--color-surface:#1e293b;--color-surface-hover:#334155;--color-elevated:#1e293b;--color-border:#334155;--color-border-light:#1e293b;--color-border-dark:#475569;--color-text-primary:#f1f5f9;--color-text-secondary:#cbd5e1;--color-text-tertiary:#94a3b8;--color-text-disabled:#64748b;--color-text-inverse:#0f172a;--color-primary-light:#1e3a8a;--color-success-light:#064e3b;--color-warning-light:#78350f;--color-danger-light:#7f1d1d;--color-info-light:#164e63;--color-overlay:rgba(0,0,0,.7);--color-overlay-light:rgba(0,0,0,.4);--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 1px 3px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4),0 2px 4px -1px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.4),0 4px 6px -2px rgba(0,0,0,.3);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.4),0 10px 10px -5px rgba(0,0,0,.3);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.5);--card-bg-start:#1e293b;--card-bg-end:#0f172a;--border-color:rgba(51,65,85,.8);--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--input-border:rgba(51,65,85,.8);--input-bg:#0f172a;--error-bg-start:#7f1d1d;--error-bg-end:#450a0a;--error-border:rgba(239,68,68,.3);--error-text:#fecaca;--button-secondary-bg:#334155;--button-secondary-hover:#475569;--spinner-bg:#334155;--empty-icon-bg:linear-gradient(135deg,#334155,#1e293b);--badge-bg:#334155;--description-bg:#0f172a;--action-button-bg:#1e293b;--success-bg-start:#064e3b;--success-bg-end:#022c22;--success-border:rgba(16,185,129,.3);--success-text:#6ee7b7;--info-bg:#0c4a6e;--info-border:rgba(59,130,246,.3);--info-text:#bfdbfe;--movements-card-bg:#1f2937;--movements-text-primary:#f9fafb;--movements-text-secondary:#9ca3af;--movements-border-color:#374151;--movements-border-hover:#4b5563;--movements-border-light:#2d3748;--movements-input-bg:#111827;--movements-hover-bg:#374151;--movements-disabled-bg:#4b5563;--movements-shadow-md:0 4px 12px rgba(0,0,0,.3);--movements-shadow-lg:0 8px 24px rgba(0,0,0,.4);--movements-primary-color:#3b82f6;--movements-primary-alpha:rgba(59,130,246,.2);--movements-success-color:#10b981;--movements-success-bg:#064e3b;--movements-success-text:#6ee7b7;--movements-warning-color:#f59e0b;--movements-warning-bg:#78350f;--movements-warning-text:#fcd34d;--movements-danger-color:#ef4444;--movements-danger-bg:#7f1d1d;--movements-danger-text:#fca5a5;--movements-spinner-track:#374151;--movements-header-gradient:linear-gradient(135deg,#1e3a8a,#1e40af);--movements-header-gradient-hover:linear-gradient(135deg,#1e40af,#1d4ed8);--movements-summary-bg:#111827;--movements-table-header-bg:#111827;--movements-badge-bg:#1e3a8a;--movements-badge-text:#93c5fd}*{transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.no-transition,.no-transition *{transition:none!important}.container-responsive{width:100%;max-width:var(--max-width-container);margin:0 auto;padding:0 var(--spacing-md)}@media (min-width:1024px){.container-responsive{padding:0 var(--spacing-xl)}}.grid-responsive{display:grid;grid-gap:var(--spacing-md);gap:var(--spacing-md);grid-template-columns:1fr}@media (min-width:640px){.grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-responsive{grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}}@media (min-width:1280px){.grid-responsive{grid-template-columns:repeat(4,1fr)}}.card-responsive{background:var(--color-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}@media (min-width:768px){.card-responsive{padding:var(--spacing-lg)}}@media (min-width:1024px){.card-responsive{padding:var(--spacing-xl)}}.table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);border:1px solid var(--color-border)}.table-wrapper::-webkit-scrollbar{height:8px}.table-wrapper::-webkit-scrollbar-track{background:var(--color-surface);border-radius:var(--radius-sm)}.table-wrapper::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-sm)}.table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.table-responsive{width:100%;min-width:600px;border-collapse:collapse}.table-responsive td,.table-responsive th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.table-responsive th{background-color:var(--color-surface);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.table-responsive td{color:var(--color-text-primary);font-size:var(--font-size-sm)}.table-responsive tr:hover{background-color:var(--color-surface-hover)}@media (max-width:767px){.stack-mobile{display:flex;flex-direction:column;gap:var(--spacing-sm)}.stack-mobile>*{width:100%!important}.hide-mobile{display:none!important}}@media (min-width:768px){.hide-desktop{display:none!important}}.flex-responsive{display:flex;flex-direction:column;gap:var(--spacing-md)}@media (min-width:768px){.flex-responsive{flex-direction:row;align-items:center;justify-content:space-between}}.button-group-responsive{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}@media (min-width:640px){.button-group-responsive{flex-direction:row;width:auto}.button-group-responsive>button{flex:0 0 auto}}.form-responsive{display:grid;grid-gap:var(--spacing-md);gap:var(--spacing-md);grid-template-columns:1fr}@media (min-width:768px){.form-responsive{grid-template-columns:repeat(2,1fr)}}.form-responsive .full-width{grid-column:1/-1}.stats-grid{display:grid;grid-gap:var(--spacing-md);gap:var(--spacing-md);grid-template-columns:1fr}@media (min-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.text-responsive{font-size:var(--font-size-sm)}@media (min-width:768px){.text-responsive{font-size:var(--font-size-base)}}.spacing-responsive{padding:var(--spacing-md)}@media (min-width:768px){.spacing-responsive{padding:var(--spacing-lg)}}@media (min-width:1024px){.spacing-responsive{padding:var(--spacing-xl)}}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-break{word-wrap:break-word;word-break:break-word;overflow-wrap:break-word}.img-responsive{max-width:100%;height:auto;display:block}.modal-responsive{width:95vw;max-width:500px;max-height:90vh;overflow-y:auto}@media (min-width:768px){.modal-responsive{width:90vw;max-width:600px}}@media (min-width:1024px){.modal-responsive{width:80vw;max-width:800px}}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{overflow-x:hidden;width:100%}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);min-height:100vh;position:relative}*{max-width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0;color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-primary-hover)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}button{font-family:var(--font-family-base);cursor:pointer;border:none;background:none;padding:0;font-size:inherit}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input,select,textarea{font-family:var(--font-family-base);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-base),box-shadow var(--transition-base)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(59,130,246,.1)}input::placeholder,textarea::placeholder{color:var(--color-text-disabled)}input:disabled,select:disabled,textarea:disabled{background-color:var(--color-surface);cursor:not-allowed;opacity:.6}table{width:100%;border-collapse:collapse;background-color:var(--color-elevated);border-radius:var(--radius-lg);overflow:hidden}td,th{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}th{background-color:var(--color-surface);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}tbody tr{transition:background-color var(--transition-fast)}tbody tr:hover{background-color:var(--color-surface-hover)}tbody tr:last-child td{border-bottom:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-sm);-webkit-transition:background-color var(--transition-base);transition:background-color var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-dark) var(--color-surface)}.container{width:100%;max-width:var(--max-width-container);margin:0 auto;padding:0 var(--spacing-md)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-md)}.mb-6{margin-bottom:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-md)}.mt-6{margin-top:var(--spacing-lg)}.p-4{padding:var(--spacing-md)}.p-6{padding:var(--spacing-lg)}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:24px;height:24px;animation:spin 1s linear infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (max-width:768px){html{font-size:14px}.container{padding:0 var(--spacing-sm)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}}@media print{*,:after,:before{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}