:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.hero-overlay{background:linear-gradient(135deg,#22c55e4d,#16a34a66)}.card-hover:hover{transform:translateY(-8px);box-shadow:0 25px 50px -12px #00000040}.section-padding{padding:5rem 0}@media (max-width: 768px){.section-padding{padding:3rem 0}}.text-gradient{background:linear-gradient(135deg,#22c55e,#16a34a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-primary{background:linear-gradient(135deg,#22c55e,#16a34a);transition:all .3s ease;padding:.75rem 1rem;border-radius:.75rem;font-size:1rem;font-weight:500;color:#fff;border:none;cursor:pointer;height:3.25rem;display:inline-flex;align-items:center;justify-content:center}.btn-secondary{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);transition:all .3s ease}.btn-secondary:hover{background:#fff3;transform:translateY(-2px)}.page-grid{display:grid;grid-template-columns:1fr}@media (min-width: 1024px){.page-grid{grid-template-columns:1.1fr 1fr;min-height:100vh}}.brand-gradient{background:radial-gradient(1200px 600px at 80% 10%,rgba(34,197,94,.15) 0%,rgba(34,197,94,.05) 35%,transparent 70%),linear-gradient(180deg,#15803d,#16a34a,#22c55e)}.auth-card{background:#fff;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border-radius:1rem;border:1px solid #e2e8f0}.form-label{display:block;font-size:.875rem;font-weight:500;color:#0f172a}.form-input-ux{width:100%;border-radius:.75rem;background:#fff;border:1px solid #e2e8f0;padding:.75rem 1rem;font-size:1rem;color:#0f172a;transition:all .2s;height:3.25rem}.form-input-ux:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.form-input-ux::placeholder{color:#64748b}.social-btn{width:100%;display:inline-flex;justify-content:center;align-items:center;padding:.75rem 1rem;border-radius:.75rem;border:1px solid #cbd5e1;background:#fff;font-size:.875rem;font-weight:500;color:#334155;transition:all .2s;cursor:pointer}.social-btn:hover{background:#f8fafc}.payment-form{padding:16px;background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;max-width:100%}.payment-form h1,.payment-form h3{margin:0 0 8px;color:#1a1a1a;font-size:24px;font-weight:700;line-height:1.2}.payment-form .amount-section{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e5e5}.payment-form .amount-label{display:block;font-size:14px;font-weight:500;color:#666;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.payment-form .amount{font-size:32px;font-weight:700;color:#1a1a1a;margin:0}.payment-form .error-message{padding:12px 16px;margin-bottom:16px;background-color:#fee;color:#c33;border:1px solid #fcc;border-radius:8px;font-size:14px;font-weight:500;line-height:1.5}.payment-form .form-group{margin-bottom:20px}.payment-form label{display:block;margin-bottom:10px;font-weight:600;color:#1a1a1a;font-size:14px}.payment-form .card-container{padding:14px 16px;border:2px solid #e5e5e5;border-radius:8px;background-color:#fafafa;transition:border-color .2s ease,background-color .2s ease}.payment-form #card{font-size:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.payment-form .btn{width:100%;padding:16px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:48px;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.5px}.payment-form .btn-primary{background-color:#007bff;color:#fff}.payment-form .btn-primary:active:not(:disabled){background-color:#0056b3;transform:scale(.98)}.payment-form .btn-success{background-color:#28a745;color:#fff}.payment-form .btn-success:active:not(:disabled){background-color:#218838;transform:scale(.98)}.payment-form .btn:disabled{opacity:.5;cursor:not-allowed}.payment-form .loading-spinner{display:inline-block;width:16px;height:16px;margin-right:8px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #ffffff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width: 640px){.payment-form{padding:24px;margin:0 auto}.payment-form h1,.payment-form h3{font-size:28px}.payment-form .amount{font-size:36px}.payment-form .btn{padding:18px;font-size:16px;min-height:52px}}@media (min-width: 1024px){.payment-form{padding:32px}.payment-form h1,.payment-form h3{font-size:32px}.payment-form .amount{font-size:40px}.payment-form .btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.payment-form .btn:active:not(:disabled){transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.payment-form .btn,.payment-form .card-container,.payment-form .loading-spinner{transition:none;animation:none}}@media (prefers-contrast: more){.payment-form{border:2px solid #000}.payment-form .error-message{border-width:2px}.payment-form .card-container{border-width:3px}}@media (prefers-color-scheme: dark){.payment-form{background-color:#1a1a1a;box-shadow:0 2px 8px #0006}.payment-form h1,.payment-form h3,.payment-form .amount{color:#fff}.payment-form .amount-label{color:#999}.payment-form label{color:#fff}.payment-form .card-container{background-color:#2a2a2a;border-color:#444}.payment-form .error-message{background-color:#3a1a1a;color:#f99;border-color:#633}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;color:#333;font-size:20px;font-weight:600}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#999;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-btn:hover{color:#333}.modal-body{padding:20px}.invoice-summary{background-color:#f9f9f9;padding:15px;border-radius:4px;margin-bottom:20px}.invoice-summary p{margin:8px 0;color:#555;font-size:14px}.invoice-summary strong{color:#333}.success-message{text-align:center;padding:40px 20px}.success-icon{font-size:48px;color:#28a745;margin-bottom:15px;font-weight:700}.success-message p{font-size:18px;color:#28a745;margin:0;font-weight:500}@media (max-width: 640px){.modal-overlay{padding:12px}.modal-content{max-width:100%;border-radius:12px}.modal-header{padding:16px}.modal-header h2{font-size:18px}.modal-body{padding:16px}.close-btn{width:28px;height:28px;font-size:24px}}.glass-effect{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.glass-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.gradient-bg{background:linear-gradient(135deg,#22c55e,#16a34a,#15803d)}.card-hover{transition:all .3s ease}.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.sidebar-gradient{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.btn-primary{background:linear-gradient(135deg,#22c55e,#16a34a);transition:all .3s ease}.btn-primary:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px);box-shadow:0 10px 25px #22c55e4d}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.status-pending{background:#fef7ee;color:#92400e;border:1px solid #fbd7a5}.status-paid{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.status-overdue{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.status-submitted{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.status-under-review{background:#fef7ee;color:#92400e;border:1px solid #fbd7a5}.status-approved{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.status-in-progress{background:#f3e8ff;color:#7c3aed;border:1px solid #c4b5fd}.status-completed{background:#f0fdf4;color:#166534;border:1px solid #86efac}.status-rejected{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.status-cancelled{background:#f8fafc;color:#64748b;border:1px solid #cbd5e1}.status-on-hold{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.status-draft{background:#f8fafc;color:#64748b;border:1px solid #cbd5e1}.status-active{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.status-closed{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.status-archived{background:#f8fafc;color:#475569;border:1px solid #cbd5e1}.animate-fade-in{animation:fadeIn .6s ease-in-out}.animate-slide-up{animation:slideUp .8s ease-out}.animate-float{animation:float 6s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.mobile-overlay{position:fixed;inset:0;background-color:#00000080;z-index:40}.sidebar-mobile-hidden{transform:translate(-100%)}.sidebar-mobile-visible{transform:translate(0)}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:#f1f5f9}.custom-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8}.font-serif{font-family:Playfair Display,serif}.font-sans{font-family:Inter,system-ui,sans-serif}.btn-secondary{background:#ffffffe6;border:1px solid #e2e8f0;transition:all .3s ease}.btn-secondary:hover{background:#fff;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.shadow-soft{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.shadow-medium{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow-large{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.responsive-container{width:100%;max-width:100%;box-sizing:border-box}@media (min-width: 640px){.responsive-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.responsive-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1024px){.responsive-container{padding-left:2rem;padding-right:2rem}}.table-responsive{overflow-x:auto}.table-responsive::-webkit-scrollbar{height:6px}.table-responsive::-webkit-scrollbar-track{background:#f1f5f9}.table-responsive::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}
