:root{--brand-50: #eef2ff;--brand-100: #e0e7ff;--brand-200: #c7d2fe;--brand-300: #a5b4fc;--brand-400: #818cf8;--brand-500: #4f46e5;--brand-600: #4338ca;--brand-700: #3730a3;--brand-800: #312e81;--brand-900: #1e1b4b;--gray-25: #fafafa;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--gray-950: #020617;--success-50: #ecfdf5;--success-100: #d1fae5;--success-200: #a7f3d0;--success-500: #10b981;--success-600: #059669;--success-700: #047857;--warning-50: #fffbeb;--warning-100: #fef3c7;--warning-200: #fde68a;--warning-500: #f59e0b;--warning-600: #d97706;--warning-700: #b45309;--error-50: #fef2f2;--error-100: #fee2e2;--error-200: #fecaca;--error-500: #ef4444;--error-600: #dc2626;--error-700: #b91c1c;--purple-50: #faf5ff;--purple-100: #f3e8ff;--purple-500: #a855f7;--purple-600: #9333ea;--purple-700: #7e22ce;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Fira Code", "Roboto Mono", Menlo, monospace;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 4px 12px -2px rgba(0, 0, 0, .06), 0 2px 6px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 12px 24px -4px rgba(0, 0, 0, .08), 0 6px 12px -3px rgba(0, 0, 0, .03);--shadow-xl: 0 20px 32px -6px rgba(0, 0, 0, .12), 0 10px 16px -4px rgba(0, 0, 0, .04);--shadow-doc: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 12px 28px rgba(0, 0, 0, .08);--radius-xs: 3px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--border: 1px solid var(--gray-200);--border-light: 1px solid #edf2f7;--border-active: 1px solid var(--brand-500);--bg-page: #f8fafc;--bg-card: #ffffff;--bg-card-hover: #fbfcfd;--bg-subtle: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--sidebar-bg: #ffffff;--sidebar-border: #e2e8f0;--topbar-bg: rgba(255, 255, 255, .85);--topbar-border: #e2e8f0;--glass-border: rgba(0, 0, 0, .06);--surface-primary: #ffffff;--surface-secondary: #f8fafc;--surface-elevated: #ffffff;--border-default: var(--gray-200);--border-strong: var(--gray-300);--accent-primary: var(--brand-500);--accent-hover: var(--brand-600);--success-background: var(--success-50);--success-text: var(--success-700);--success-border: var(--success-200);--error-background: var(--error-50);--error-text: var(--error-700);--error-border: var(--error-200);--warning-background: var(--warning-50);--warning-text: var(--warning-700);--warning-border: var(--warning-200);--info-background: #eff6ff;--info-text: #1d4ed8;--info-border: #bfdbfe;--toast-bg: #ffffff;--toast-text: #0f172a;--toast-muted: #475569;--toast-border: #e2e8f0;--toast-shadow: 0 10px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .08);--toast-success-bg: #f0fdf4;--toast-success-text: #14532d;--toast-success-border: #86efac;--toast-success-icon: #15803d;--toast-error-bg: #fef2f2;--toast-error-text: #7f1d1d;--toast-error-border: #fca5a5;--toast-error-icon: #b91c1c;--toast-warning-bg: #fffbeb;--toast-warning-text: #78350f;--toast-warning-border: #fcd34d;--toast-warning-icon: #b45309;--toast-info-bg: #eff6ff;--toast-info-text: #1e3a8a;--toast-info-border: #93c5fd;--toast-info-icon: #1d4ed8;--toast-loading-bg: #f8fafc;--toast-loading-text: #0f172a;--toast-loading-border: #cbd5e1;--toast-loading-icon: #4f46e5}[data-theme=dark]{--bg-page: #090d16;--bg-card: #111827;--bg-card-hover: #162032;--bg-subtle: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--sidebar-bg: #0d121f;--sidebar-border: #1e293b;--topbar-bg: rgba(13, 18, 31, .85);--topbar-border: #1e293b;--border: 1px solid #1e293b;--border-light: 1px solid #172033;--border-active: 1px solid #6366f1;--gray-25: #0d121f;--gray-50: #090d16;--gray-100: #162032;--gray-200: #1e293b;--gray-300: #334155;--gray-400: #64748b;--gray-500: #94a3b8;--gray-600: #cbd5e1;--gray-700: #e2e8f0;--gray-800: #f1f5f9;--gray-900: #f8fafc;--brand-50: rgba(79, 70, 229, .15);--brand-100: rgba(79, 70, 229, .25);--brand-200: rgba(79, 70, 229, .35);--brand-400: #818cf8;--brand-500: #6366f1;--brand-600: #4f46e5;--brand-700: #a5b4fc;--success-50: rgba(16, 185, 129, .12);--success-100: rgba(16, 185, 129, .22);--warning-50: rgba(245, 158, 11, .12);--warning-100: rgba(245, 158, 11, .22);--error-50: rgba(239, 68, 68, .12);--error-100: rgba(239, 68, 68, .22);--purple-50: rgba(168, 85, 247, .12);--purple-100: rgba(168, 85, 247, .22);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .5);--shadow-md: 0 6px 16px rgba(0, 0, 0, .6);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .7);--shadow-doc: 0 8px 32px rgba(0, 0, 0, .75);--surface-primary: #111827;--surface-secondary: #090d16;--surface-elevated: #162032;--border-default: #1e293b;--border-strong: #334155;--accent-primary: #6366f1;--accent-hover: #4f46e5;--success-background: rgba(16, 185, 129, .15);--success-text: #34d399;--success-border: rgba(16, 185, 129, .3);--error-background: rgba(239, 68, 68, .15);--error-text: #f87171;--error-border: rgba(239, 68, 68, .3);--warning-background: rgba(245, 158, 11, .15);--warning-text: #fbbf24;--warning-border: rgba(245, 158, 11, .3);--info-background: rgba(59, 130, 246, .15);--info-text: #60a5fa;--info-border: rgba(59, 130, 246, .3);--toast-bg: #1e293b;--toast-text: #f8fafc;--toast-muted: #cbd5e1;--toast-border: #334155;--toast-shadow: 0 10px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .4);--toast-success-bg: #064e3b;--toast-success-text: #ecfdf5;--toast-success-border: #059669;--toast-success-icon: #34d399;--toast-error-bg: #7f1d1d;--toast-error-text: #fef2f2;--toast-error-border: #dc2626;--toast-error-icon: #f87171;--toast-warning-bg: #78350f;--toast-warning-text: #fffbeb;--toast-warning-border: #d97706;--toast-warning-icon: #fbbf24;--toast-info-bg: #1e3a8a;--toast-info-text: #eff6ff;--toast-info-border: #2563eb;--toast-info-icon: #60a5fa;--toast-loading-bg: #1e293b;--toast-loading-text: #f8fafc;--toast-loading-border: #475569;--toast-loading-icon: #818cf8}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;min-height:100vh}.app-container{display:flex;min-height:100vh;background:var(--bg-page)}.main-content{margin-left:260px;flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0;transition:margin-left .2s cubic-bezier(.4,0,.2,1)}.sidebar{transition:transform .25s cubic-bezier(.4,0,.2,1)}@media(max-width:900px){.main-content{margin-left:0}.sidebar{transform:translate(-100%)}.sidebar.sidebar-mobile-open{transform:translate(0)!important;box-shadow:0 10px 30px #00000059}}.content-inner{padding:28px 36px 64px;max-width:1440px;width:100%;margin:0 auto}@media(max-width:640px){.content-inner{padding:16px 14px 48px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:var(--font-sans);font-size:13px;font-weight:500;border-radius:var(--radius-md);padding:8px 14px;border:1px solid transparent;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);white-space:nowrap;text-decoration:none;line-height:1;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.5)}.btn-primary{background:var(--brand-500);color:#fff;border-color:var(--brand-500);box-shadow:0 1px 2px #4f46e533}.btn-primary:hover:not(:disabled){background:var(--brand-600);border-color:var(--brand-600);box-shadow:0 2px 6px #4f46e54d;transform:translateY(-.5px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:var(--border);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-300)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--text-primary)}.btn-danger{background:var(--error-50);color:var(--error-600);border-color:var(--error-100)}.btn-danger:hover:not(:disabled){background:var(--error-500);color:#fff;border-color:var(--error-500)}.btn-success{background:var(--success-50);color:var(--success-600);border-color:var(--success-100)}.btn-success:hover:not(:disabled){background:var(--success-500);color:#fff;border-color:var(--success-500)}.btn-sm{padding:6px 10px;font-size:12px;border-radius:var(--radius-sm);gap:5px}.btn-lg{padding:11px 20px;font-size:14px;font-weight:600;border-radius:var(--radius-lg)}.card{background:var(--bg-card);border:var(--border);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-xs);transition:border-color .15s ease,box-shadow .15s ease}.card-hover:hover{border-color:var(--gray-300);box-shadow:var(--shadow-sm)}.metric-card{background:var(--bg-card);border:var(--border);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-xs);position:relative;overflow:hidden}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:2.5px 8px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;line-height:1.3}.badge-paid{background:var(--success-50);color:var(--success-700);border:1px solid var(--success-100)}.badge-partially_paid{background:var(--warning-50);color:var(--warning-700);border:1px solid var(--warning-200)}.badge-pending,.badge-sent{background:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-200)}.badge-overdue{background:var(--error-50);color:var(--error-700);border:1px solid var(--error-200)}.badge-draft{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200)}.badge-accepted{background:var(--success-50);color:var(--success-700);border:1px solid var(--success-100)}.badge-invoiced{background:var(--purple-50);color:var(--purple-700);border:1px solid var(--purple-100)}.badge-declined,.badge-cancelled{background:var(--error-50);color:var(--error-600);border:1px solid var(--error-100)}.badge-active{background:var(--success-50);color:var(--success-700);border:1px solid var(--success-100)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}.form-input,.form-select,.form-textarea{width:100%;padding:8px 12px;font-family:var(--font-sans);font-size:13px;color:var(--text-primary);background:var(--bg-card);border:var(--border);border-radius:var(--radius-md);outline:none;transition:all .15s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px #4f46e51f}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted);opacity:1}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--bg-subtle);color:var(--text-muted);cursor:not-allowed;opacity:.75}.form-select option{background-color:var(--bg-card);color:var(--text-primary)}[data-theme=dark] input:-webkit-autofill,[data-theme=dark] input:-webkit-autofill:hover,[data-theme=dark] input:-webkit-autofill:focus,[data-theme=dark] textarea:-webkit-autofill,[data-theme=dark] select:-webkit-autofill{-webkit-text-fill-color:var(--text-primary)!important;-webkit-box-shadow:0 0 0px 1000px var(--bg-card) inset!important;caret-color:var(--text-primary)!important;transition:background-color 5000s ease-in-out 0s}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0px 1000px var(--bg-card) inset;caret-color:var(--text-primary)}.form-row{display:grid;gap:16px}.form-row-2{grid-template-columns:1fr 1fr}.form-row-3{grid-template-columns:1fr 1fr 1fr}@media(max-width:640px){.form-row-2,.form-row-3{grid-template-columns:1fr}}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:var(--border);background:var(--bg-card);box-shadow:var(--shadow-xs)}.table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.table th{background:var(--gray-50);padding:10px 16px;font-weight:600;color:var(--text-muted);text-transform:uppercase;font-size:11px;letter-spacing:.05em;border-bottom:var(--border);white-space:nowrap}.table td{padding:13px 16px;border-bottom:var(--border-light);color:var(--text-primary);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--gray-50)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#090d1699;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:overlayFadeIn .15s ease-out}.modal-card{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:580px;max-height:90vh;display:flex;flex-direction:column;border:var(--border);animation:modalIn .2s cubic-bezier(.16,1,.3,1)}.modal-card-lg{max-width:840px}.modal-header{padding:18px 24px;border-bottom:var(--border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:16px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.modal-body{padding:24px;overflow-y:auto}.modal-footer{padding:14px 24px;border-top:var(--border);display:flex;align-items:center;justify-content:flex-end;gap:10px;background:var(--gray-50);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl)}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.toast{position:fixed;bottom:24px;right:24px;background:var(--toast-bg);color:var(--toast-text);padding:12px 18px;border-radius:var(--radius-lg);font-size:13px;font-weight:500;box-shadow:var(--toast-shadow);z-index:2000;display:flex;align-items:center;gap:12px;border:1px solid var(--toast-border);animation:toastIn .25s cubic-bezier(.16,1,.3,1);max-width:440px;line-height:1.4}.toast span{color:inherit}.toast svg{flex-shrink:0;color:currentColor}.toast-success{background:var(--toast-success-bg);color:var(--toast-success-text);border-color:var(--toast-success-border)}.toast-success svg{color:var(--toast-success-icon)}.toast-error{background:var(--toast-error-bg);color:var(--toast-error-text);border-color:var(--toast-error-border)}.toast-error svg{color:var(--toast-error-icon)}.toast-warning{background:var(--toast-warning-bg);color:var(--toast-warning-text);border-color:var(--toast-warning-border)}.toast-warning svg{color:var(--toast-warning-icon)}.toast-info{background:var(--toast-info-bg);color:var(--toast-info-text);border-color:var(--toast-info-border)}.toast-info svg{color:var(--toast-info-icon)}.toast-loading{background:var(--toast-loading-bg);color:var(--toast-loading-text);border-color:var(--toast-loading-border)}.toast-loading svg{color:var(--toast-loading-icon)}.toast-close-btn{background:transparent;border:none;cursor:pointer;color:inherit;opacity:.7;padding:4px;margin-left:auto;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;transition:opacity .15s}.toast-close-btn:hover,.toast-close-btn:focus-visible{opacity:1;outline:2px solid currentColor}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.toast{bottom:16px;right:16px;left:16px;max-width:none;box-sizing:border-box}}.nav-tabs{display:flex;align-items:center;gap:4px;border-bottom:var(--border);margin-bottom:20px}.nav-tab{padding:8px 14px;font-size:13px;font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px}.nav-tab:hover{color:var(--text-primary)}.nav-tab.active{color:var(--brand-500);font-weight:600;border-bottom-color:var(--brand-500)}.terms-clause,.remittance-slip{break-inside:avoid!important;page-break-inside:avoid!important}.pdf-page-break-before{break-before:page!important;page-break-before:always!important}.pdf-page-break-after{break-after:page!important;page-break-after:always!important}@media print{body{background:#fff!important}.no-print{display:none!important}.invoice-doc{box-shadow:none!important;border:none!important;padding:0!important;max-width:100%!important}}@media print{body{background:#fff!important;color:#000!important;font-size:11pt!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.sidebar,.topbar,.btn,.no-print,.modal-overlay,.toast,.editor-col{display:none!important}.main-content{margin:0!important;padding:0!important;width:100%!important}.content-inner{padding:0!important;max-width:100%!important}.preview-col,.document-preview-container{position:static!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;box-shadow:none!important;border:none!important}.invoice-doc{box-shadow:none!important;border:none!important;border-radius:0!important;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important}.invoice-doc tr,.invoice-doc .totals-container,.invoice-doc .payment-info-card,.invoice-doc .notes-panel,.invoice-doc .terms-clause{break-inside:avoid!important;page-break-inside:avoid!important}@page{size:auto;margin:10mm}}
