:root{--font-family: "Inter", system-ui, -apple-system, sans-serif;--font-heading: "Outfit", sans-serif;--primary: #244635;--primary-hover: #205628;--primary-light: #f1f5f2;--secondary: #4D5D4F;--accent: #D6C59B;--neutral: #38553F;--success: #205628;--warning: #D6C59B;--danger: #ef4444;--info: #4D5D4F;--bg-main: #f8fafc;--bg-sidebar: #244635;--bg-card: #ffffff;--text-main: #1e293b;--text-muted: #4D5D4F;--text-light: #ffffff;--border: #C6C9C9;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--glass: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .3);print-color-adjust:exact;-webkit-print-color-adjust:exact}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,.heading{font-family:var(--font-heading);font-weight:600;color:#0f172a}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app-container{display:flex;min-height:100vh}.sidebar{width:260px;background-color:var(--bg-sidebar);color:var(--text-light);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;padding:1.5rem 1rem;z-index:50}.main-content{flex:1;padding:2rem;overflow-y:auto}.logo-container{display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem;padding:0 .5rem}.logo-text{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.nav-menu{display:flex;flex-direction:column;gap:.5rem}.nav-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:var(--radius-md);text-decoration:none;color:#94a3b8;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #2446354d}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:1.5rem;transition:transform .2s,box-shadow .2s}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{padding:1.5rem;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);display:flex;flex-direction:column}.stat-label{font-size:.875rem;color:var(--text-muted);font-weight:500;margin-bottom:.25rem}.stat-value{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:#0f172a}.stat-trend{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;margin-top:.5rem}.stat-trend.up{color:var(--success)}.stat-trend.down{color:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;border:1px solid transparent}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background:#fff;border-color:var(--border);color:var(--text-main)}.btn-secondary:hover{background:var(--bg-main)}.table-container{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;margin-top:1.5rem}table{width:100%;border-collapse:collapse}th{background:#f8fafc;padding:1rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border)}td{padding:1rem;font-size:.875rem;border-bottom:1px solid var(--border);color:var(--text-main)}tr:hover{background:#f1f5f9}.form-group{margin-bottom:1.5rem}label{display:block;font-size:.875rem;font-weight:500;color:#334155;margin-bottom:.5rem}input[type=text],input[type=date],select{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);font-family:inherit;font-size:.875rem;transition:border-color .2s}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease-out forwards}.glass-effect{background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border)}.badge-primary{font-size:.65rem;padding:.2rem .6rem;border-radius:4px;background:var(--primary-light);color:var(--primary);font-weight:700}@media print{.sidebar,.top-header,.no-print,.btn,.cat-badge,select,input,.search-container,.card:not(.print-only),.nav-item,.sidebar-logo,.user-profile,.logo-container{display:none!important;visibility:hidden!important;height:0!important;width:0!important}body,html,#root{background:#fff!important;padding:0!important;margin:0!important;overflow:visible!important;font-family:Outfit,sans-serif!important}.main-content{margin:0!important;padding:0!important;box-shadow:none!important;width:100%!important;background:#fff!important}@page{size:letter vertical;margin:1.5cm}.proforma-document.print-only{display:block!important;visibility:visible!important;position:relative!important;width:100%!important;color:#1e293b!important;background:#fff!important;font-family:Outfit,sans-serif!important}.doc-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #244635;padding-bottom:1.5rem;margin-bottom:2rem}.company-name{font-size:22pt;font-weight:800;margin:0;color:#244635!important;letter-spacing:-.02em}.doc-tagline{font-size:8pt;font-weight:600;color:#64748b;margin:2px 0 0;text-transform:uppercase;letter-spacing:.05em}.title-box{background:#244635!important;color:#fff!important;padding:6px 15px;font-weight:800;font-size:11pt;text-align:center;border-radius:4px;margin-bottom:8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.doc-period,.doc-id{font-size:8.5pt;margin:0;text-align:right}.doc-client-info{display:flex;justify-content:space-between;margin-bottom:2.5rem;padding:1.5rem;background:#f8fafc!important;border-radius:8px;border:1px solid #e2e8f0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.label{font-size:7.5pt;margin:0 0 4px;font-weight:800;color:#64748b;text-transform:uppercase}.client-name{font-size:14pt;margin:0;font-weight:800;color:#0f172a}.section-divider{font-size:9pt;font-weight:800;color:#244635;border-bottom:1px solid #244635;padding-bottom:5px;margin-bottom:1rem;text-transform:uppercase}.doc-table{width:100%;border-collapse:collapse;margin-bottom:2.5rem}.doc-table th{background:#f1f5f9!important;color:#0f172a!important;text-align:left;padding:10px;font-size:8pt;font-weight:800;border-bottom:2px solid #e2e8f0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.doc-table td{border-bottom:1px solid #f1f5f9;padding:8px 10px;font-size:8pt;color:#334155}.doc-footer-area{display:flex;justify-content:space-between;gap:2rem;page-break-inside:avoid}.observations{width:60%;font-size:8pt;color:#64748b;line-height:1.4}.doc-totals{width:35%;background:#f8fafc!important;padding:1rem;border-radius:8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.total-row{display:flex;justify-content:space-between;padding:4px 0;font-size:9pt;font-weight:600}.grand-total{border-top:2px solid #244635;margin-top:10px;padding-top:10px;font-size:12pt;font-weight:800;color:#244635!important}.print-footer{position:fixed;bottom:0;width:100%;font-size:7pt;color:#94a3b8;text-align:center;border-top:1px solid #f1f5f9;padding-top:10px}}.timeout-warning-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172ad1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease-out}.timeout-warning-modal{background:#fff;padding:2.5rem;border-radius:var(--radius-lg);max-width:480px;width:90%;text-align:center;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;align-items:center;gap:1.25rem;border:1px solid rgba(0,0,0,.05)}
