:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:16px;line-height:1.5;font-weight:400;color:#333;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:#f5f5f5}#root{width:100%;min-height:100vh}button:focus,button:focus-visible{outline:none}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}}.landing-container{min-height:100vh;background:#fff;display:flex;flex-direction:column;color:#111}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:1.125rem 3rem;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:100}.landing-logo h1{margin:0;font-size:1.125rem;font-weight:700;color:#04692e;letter-spacing:-.02em}.landing-buttons{display:flex;gap:.625rem}.btn-primary{padding:.5rem 1.125rem;background:#04692e;color:#fff;border:1.5px solid #04692e;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.btn-primary:hover{background:#035a27;border-color:#035a27}.btn-secondary{padding:.5rem 1.125rem;background:transparent;color:#111;border:1.5px solid #d1d5db;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.btn-secondary:hover{border-color:#04692e;background:#f0faf4}.btn-outline{padding:.75rem 1.75rem;background:transparent;color:#111;border:1.5px solid #d1d5db;border-radius:.375rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.btn-outline:hover{border-color:#04692e;background:#f0faf4}.btn-large{padding:.875rem 2rem;font-size:.9375rem}.landing-hero{flex:1;display:flex;align-items:center;justify-content:center;padding:6rem 2rem 5rem;text-align:center;background:#fff}.hero-content{color:#111;max-width:660px}.hero-content h2{font-size:3.75rem;margin:0 0 1.25rem;font-weight:800;line-height:1.1;letter-spacing:-.04em;color:#111}.hero-subtitle{background:#f9fafb;border:1px solid #e5e7eb;padding:1.125rem 1.5rem;border-radius:.5rem;margin:1.5rem 0 2rem}.hero-subtitle p{margin:0;font-size:.9375rem;color:#6b7280;line-height:1.65}.hero-content>p{font-size:1.125rem;margin:0 0 .75rem;color:#555;line-height:1.6}.hero-buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.landing-features{background:#f9fafb;padding:5rem 2rem;border-top:1px solid #e5e7eb}.features-header{text-align:center;margin-bottom:3rem}.features-header h2{font-size:1.75rem;color:#111;margin:0;font-weight:700;letter-spacing:-.025em}.features-container{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.25rem}.feature-card{padding:1.625rem;background:#fff;border-radius:.5rem;border:1px solid #e5e7eb;transition:box-shadow .15s ease;text-align:left}.feature-card:hover{box-shadow:0 4px 16px #00000012}.feature-icon{font-size:1.375rem;margin-bottom:.75rem;display:block}.feature-card h3{font-size:.9375rem;margin:0 0 .4rem;color:#111;font-weight:700}.feature-card p{margin:0;color:#6b7280;font-size:.875rem;line-height:1.65}.landing-how-it-works{background:#fff;padding:5rem 2rem;text-align:center;border-top:1px solid #e5e7eb}.landing-how-it-works h2{font-size:1.75rem;color:#111;margin-bottom:3rem;font-weight:700;letter-spacing:-.025em}.steps-container{max-width:900px;margin:0 auto;display:flex;align-items:flex-start;justify-content:center;flex-wrap:wrap}.step{padding:1.5rem 1.75rem;flex:1;min-width:180px;text-align:left;background:transparent;border:none;box-shadow:none}.step-number{background:#04692e;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;margin-bottom:1rem}.step h3{color:#111;margin:0 0 .375rem;font-size:.9375rem;font-weight:700}.step p{color:#6b7280;font-size:.875rem;line-height:1.6;margin:0}.step-arrow{font-size:1.125rem;color:#d1d5db;align-self:center;padding-bottom:1.25rem;flex-shrink:0}.landing-ideal-for{background:#f9fafb;padding:5rem 2rem;text-align:center;border-top:1px solid #e5e7eb}.landing-ideal-for h2{font-size:1.75rem;color:#111;margin-bottom:3rem;font-weight:700;letter-spacing:-.025em}.ideal-container{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}.ideal-card{padding:1.625rem;background:#fff;border-radius:.5rem;border:1px solid #e5e7eb;transition:box-shadow .15s ease;text-align:left}.ideal-card:hover{box-shadow:0 4px 16px #00000012}.ideal-icon{font-size:1.25rem;display:block;margin-bottom:.75rem}.ideal-card h3{color:#111;font-size:.9375rem;margin:0 0 .4rem;font-weight:700}.ideal-card p{color:#6b7280;font-size:.875rem;line-height:1.6;margin:0}.landing-cta{background:#04692e;padding:5rem 2rem;text-align:center;color:#fff}.landing-cta h2{font-size:2rem;margin-bottom:2rem;color:#fff;font-weight:700;letter-spacing:-.03em}.landing-cta .btn-primary{background:#fff;color:#04692e;border-color:#fff}.landing-cta .btn-primary:hover{background:#f0faf4;border-color:#f0faf4}.landing-footer{background:#021a0e;color:#6b7280;text-align:center;padding:1.5rem 2rem;font-size:.8125rem;border-top:1px solid #043d1a;margin-top:auto}.landing-footer p{margin:.25rem 0}.trust-signal{font-size:.8125rem;opacity:.7;font-style:normal;margin-top:.375rem!important}@media(max-width:768px){.landing-nav{padding:1rem 1.25rem;flex-direction:column;gap:.875rem}.landing-buttons{width:100%;justify-content:center}.hero-content h2{font-size:2.375rem;letter-spacing:-.03em}.hero-buttons{flex-direction:column;align-items:center}.btn-large{width:100%;max-width:280px;text-align:center}.features-container{grid-template-columns:1fr}.landing-hero{padding:3.5rem 1.25rem 3rem}.landing-features,.landing-ideal-for,.landing-how-it-works{padding:3.5rem 1.25rem}.steps-container{flex-direction:column}.step{border-bottom:1px solid #e5e7eb;padding:1.25rem 0}.step:last-of-type{border-bottom:none}.step-arrow{display:none}.landing-cta{padding:3.5rem 1.25rem}.landing-cta h2{font-size:1.625rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f9fafb;padding:1.5rem}.auth-card{background:#fff;padding:2.5rem;border-radius:.5rem;border:1px solid #e5e7eb;width:100%;max-width:380px;position:relative}.auth-card-logo{font-size:.9375rem;font-weight:700;color:#04692e;letter-spacing:-.02em;margin-bottom:1.75rem;display:block}.auth-card-subtitle{font-size:.875rem;color:#6b7280;margin:0 0 1.75rem}.back-button{display:inline-flex;align-items:center;gap:.25rem;background:transparent;border:none;color:#6b7280;font-size:.8125rem;font-weight:500;cursor:pointer;padding:0;margin-bottom:1.5rem;transition:color .15s}.back-button:hover{color:#04692e}.auth-card h2{font-size:1.375rem;font-weight:700;color:#111;letter-spacing:-.025em;margin:0 0 .375rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.375rem;color:#374151;font-size:.8125rem;font-weight:600}.form-group input{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.9375rem;color:#111;background:#fff;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#04692e;box-shadow:0 0 0 2px #04692e1f}.form-group input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.auth-submit-btn{width:100%;padding:.6875rem;background:#04692e;color:#fff;border:1.5px solid #04692e;border-radius:.375rem;font-size:.9375rem;font-weight:600;cursor:pointer;margin-top:.5rem;transition:background .15s,border-color .15s}.auth-submit-btn:hover:not(:disabled){background:#035a27;border-color:#035a27}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed}.error-message{background:#fef2f2;color:#b91c1c;padding:.75rem .875rem;border-radius:.375rem;margin-bottom:1.25rem;font-size:.875rem;border:1px solid #fecaca}.toggle-auth{text-align:center;margin-top:1.25rem;color:#6b7280;font-size:.875rem}.link-button{background:none;border:none;color:#04692e;cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:0;font-size:.875rem;font-weight:600;transition:color .15s}.link-button:hover{color:#035a27}.navbar{background:#fff;color:#111;padding:0;border-bottom:1px solid #e5e7eb}.navbar-container{max-width:1200px;margin:0 auto;padding:20px;display:flex;justify-content:space-between;align-items:center}.navbar-brand h1{font-size:1rem;margin:0;font-weight:700;color:#04692e;letter-spacing:-.02em}.navbar-brand p{font-size:.75rem;margin:2px 0 0;color:#6b7280}.navbar-info{display:flex;align-items:center;gap:20px}.user-email{font-size:.8125rem;color:#6b7280}.logout-btn{padding:.4rem .875rem;background:transparent;color:#374151;border:1.5px solid #d1d5db;border-radius:.375rem;cursor:pointer;font-size:.8125rem;font-weight:600;transition:border-color .15s,background .15s}.logout-btn:hover{border-color:#04692e;background:#f0faf4}@media(max-width:768px){.navbar-container{flex-direction:column;gap:15px}.navbar-info{flex-direction:column;gap:10px}.user-email{text-align:center;font-size:13px}}.navbar-info .token-badge{background:#f9fafb;color:#374151;border:1px solid #e5e7eb;border-radius:.375rem;padding:.25rem .625rem;font-size:.8125rem;font-weight:600;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.navbar-info .token-badge.token-badge-low{background:#fffbeb;color:#92400e;border-color:#fde68a}.navbar-info .token-badge.token-badge-empty{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.role-select{padding:.3rem .625rem;border:1.5px solid #d1d5db;border-radius:.375rem;background:#fff;font-size:.8125rem;font-weight:600;color:#374151;cursor:pointer;transition:border-color .15s,background .15s;outline:none}.role-select:hover,.role-select:focus{border-color:#04692e;background:#f0faf4}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:.75rem;box-shadow:0 20px 60px #0000004d;max-width:1000px;width:90%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:#fff;z-index:1001}.modal-header-extra{margin-left:auto}.modal-header-status-total{display:flex;align-items:flex-end;gap:12px}.modal-header-field{display:flex;flex-direction:column;gap:3px}.modal-header-field label{font-size:.75rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.04em}.modal-header-field select{padding:0 8px;height:34px;border:1px solid #ccc;border-radius:5px;font-size:.875rem;font-family:inherit;color:#222;background:#fff;cursor:pointer;box-sizing:border-box}.modal-header-field select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.modal-close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .3s ease}.modal-close-btn:hover{background:#f3f4f6;color:#333}.modal-body{padding:1.5rem}.modal-footer{display:flex;gap:1rem;padding:8px 1rem;border-top:1px solid #e5e7eb;background:#f9fafb;justify-content:flex-end;flex-shrink:0}.modal-footer button{padding:.5625rem 1.125rem;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;border:1.5px solid transparent}.modal-footer .btn-primary{background:#04692e;color:#fff;border-color:#04692e}.modal-footer .btn-primary:hover{background:#035a27;border-color:#035a27}.modal-footer .btn-secondary{background:transparent;color:#374151;border-color:#d1d5db}.modal-footer .btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.management-section{background-color:#fff;padding:20px 30px 0;border-radius:10px 10px 0 0;box-shadow:0 2px 8px #0000001a;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.section-header h2{color:#333;font-size:24px;margin:0}.management-section h2{color:#333;margin-bottom:30px;font-size:24px}.form-card{background:#f9f9f9;padding:25px;border-radius:8px;border:1px solid #e0e0e0;margin-bottom:30px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.form-group label{margin-bottom:6px;color:#333;font-weight:600;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #ccc;border-radius:6px;font-size:.95rem;font-family:inherit;color:#222;background-color:#fff;appearance:auto;-webkit-appearance:auto;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#04692e;box-shadow:0 0 0 2px #04692e1f}.form-group input:disabled,.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-buttons{display:flex;gap:10px;margin-top:25px}.form-buttons button{padding:.6rem 1.25rem;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;border:1.5px solid transparent}.form-buttons button[type=submit]{background:#04692e;color:#fff;border-color:#04692e;flex:1}.form-buttons button[type=submit]:hover:not(:disabled){background:#035a27;border-color:#035a27}.form-buttons button.secondary{background:transparent;color:#374151;border-color:#d1d5db}.form-buttons button.secondary:hover{background:#f9fafb;border-color:#9ca3af}.form-buttons button:disabled{opacity:.6;cursor:not-allowed}.export-btn{padding:.5rem 1rem;background:#04692e;color:#fff;border:1.5px solid #04692e;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s}.export-btn:hover:not(:disabled){background:#035a27;border-color:#035a27}.export-btn:disabled{opacity:.45;cursor:not-allowed}.error-message{background-color:#fee;color:#c00;padding:15px;border-radius:5px;margin-bottom:20px;border-left:4px solid #c00}.table-container{flex:1;min-height:0;overflow-y:auto;overflow-x:auto;margin-top:12px}table{width:100%;border-collapse:collapse;font-size:14px}table thead{background-color:#f0f0f0;border-bottom:2px solid #ddd}table th{padding:15px;text-align:left;font-weight:600;color:#333}table td{padding:15px;border-bottom:1px solid #e0e0e0}table tbody tr:hover{background-color:#f9f9f9}table .actions{display:flex;gap:8px}table .edit-btn,table .delete-btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:all .3s}table .edit-btn{background:transparent;color:#374151;border:1.5px solid #d1d5db;border-radius:.375rem;padding:.3rem .7rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}table .edit-btn:hover{border-color:#04692e;background:#f0faf4}table .delete-btn{background:transparent;color:#b91c1c;border:1.5px solid #fca5a5;border-radius:.375rem;padding:.3rem .7rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}table .delete-btn:hover{border-color:#b91c1c;background:#fef2f2}.status-pending{color:#f39c12;font-weight:600}.status-completed{color:#27ae60;font-weight:600}.status-cancelled{color:#e74c3c;font-weight:600}.empty-message{text-align:center;padding:40px 15px!important;color:#999;font-style:italic}@media(max-width:768px){.management-section{padding:20px}.section-header{flex-direction:column;gap:15px;align-items:flex-start}.form-row{grid-template-columns:1fr}.form-buttons{flex-direction:column}table{font-size:12px}table th,table td{padding:10px}table .actions{flex-direction:column;gap:5px}table .edit-btn,table .delete-btn{width:100%}}.link-btn{background:none;border:none;color:#374151;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-size:inherit;padding:0;text-align:left}.link-btn:hover{color:#111}.link-btn:disabled{color:#9ca3af;cursor:not-allowed}.selected-row{background-color:#f0faf4;border-left:3px solid #04692e}.selected-row td{padding-left:20px}.status-draft{color:#666;font-weight:600}.status-submitted{color:#f59e0b;font-weight:600}.status-approved{color:#10b981;font-weight:600}.status-pending{color:#f59e0b;font-weight:600}.status-completed{color:#10b981;font-weight:600}.status-cancelled{color:#ef4444;font-weight:600}.payments-header{display:flex;gap:10px;margin-bottom:25px;flex-wrap:wrap}.payments-header button{padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;border:1.5px solid transparent}.payments-header .btn-primary{background:#04692e;color:#fff;border-color:#04692e;flex:1;min-width:150px}.payments-header .btn-primary:hover{background:#035a27;border-color:#035a27}.payments-header .btn-secondary{background:transparent;color:#374151;border-color:#d1d5db;flex:1;min-width:150px}.payments-header .btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.payments-summary{background:#f0faf4;padding:15px 20px;border-radius:5px;margin-bottom:20px;border-left:4px solid #04692e;color:#04692e;font-weight:600}.opme-info-card{background:#f0faf4;padding:20px;border-radius:8px;border:1px solid #bbf7d0;margin-bottom:25px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.info-row{display:flex;justify-content:space-between;align-items:center}.info-row .label{font-weight:600;color:#04692e;font-size:.9rem}.info-row .value{color:#333;font-weight:500}.data-table{width:100%;border-collapse:collapse;font-size:.95rem;background:#fff;border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.data-table thead tr{background-color:#f5f5f5}.data-table th{padding:10px 14px;text-align:left;font-weight:600;color:#444;border-bottom:2px solid #e0e0e0;white-space:nowrap;font-size:.9rem}.data-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .15s}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background-color:#f0faf4}.data-table tbody tr.row-editing{background-color:#e8f5e9}.data-table td{padding:10px 14px;color:#333;vertical-align:middle}.data-table td.actions{white-space:nowrap;text-align:right}.tbl-btn{width:32px;height:32px;padding:0;background:transparent!important;border:1.5px solid transparent;border-radius:5px;font-size:1rem;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;line-height:1;-webkit-appearance:none;appearance:none}.tbl-btn-delete{border-color:#f44336;color:#f44336}.tbl-btn-delete:hover{background-color:#ffebee!important}.btn-new{padding:.5rem 1rem;background:#04692e;color:#fff;border:1.5px solid #04692e;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.btn-new:hover{background:#035a27;border-color:#035a27}.token-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;background-color:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;border-radius:20px;font-size:.88rem;font-weight:600;white-space:nowrap}.token-badge.token-badge-low{background-color:#fff8e1;color:#e65100;border-color:#ffcc80}.token-badge.token-badge-empty{background-color:#fce4ec;color:#b71c1c;border-color:#ef9a9a}.opme-modal{max-width:1200px;max-height:90vh;width:95%;overflow-y:auto}.opme-modal-body{flex:1;overflow-y:auto;min-height:0;padding:0}.opme-header-form{padding:10px 16px;border-bottom:1px solid #e0e0e0;background:#fafafa}.opme-header-fields{display:grid;grid-template-columns:2fr 2fr 1.4fr 1.2fr;gap:10px;align-items:end}.form-group--total{white-space:nowrap}.total-display{display:flex;align-items:center;justify-content:flex-end;height:34px;padding:0 10px;background:#f0f7f1;border:1px solid #c8e6c9;border-radius:5px;font-size:.875rem;font-weight:700;color:#2e7d32;white-space:nowrap;box-sizing:border-box}.form-section{margin-bottom:0;padding:16px;border-bottom:1px solid #e0e0e0}.form-section h3{margin:0 0 12px;font-size:.95rem;color:#333}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}.form-row.single{grid-template-columns:1fr}.form-group{display:flex;flex-direction:column}.form-group label{font-size:.85rem;font-weight:600;margin-bottom:4px;color:#444}.form-group input,.form-group select{padding:8px 10px;border:1px solid #ccc;border-radius:5px;font-size:.95rem;font-family:inherit;color:#222;background-color:#fff;appearance:auto;-webkit-appearance:auto;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.form-group input:disabled,.form-group select:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.disabled-input{background-color:#f5f5f5!important;color:#666!important;cursor:not-allowed!important}.form-buttons{display:flex;gap:12px;margin-top:20px}.form-buttons button{padding:10px 20px;border:none;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.form-buttons button[type=submit],.form-buttons button.btn-primary{background-color:#4caf50;color:#fff}.form-buttons button[type=submit]:hover,.form-buttons button.btn-primary:hover{background-color:#45a049}.form-buttons button[type=submit]:disabled,.form-buttons button.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.form-buttons button.secondary,.form-buttons button.btn-secondary{background-color:#f0f0f0;color:#333;border:1px solid #ddd}.form-buttons button.secondary:hover,.form-buttons button.btn-secondary:hover{background-color:#e0e0e0}.payments-section{padding:20px;border-top:1px solid #e0e0e0}.payments-section h3{margin:0 0 20px;font-size:1.1rem;color:#333}.payments-table-container{margin-bottom:20px;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden}.payments-table{width:100%;border-collapse:collapse;font-size:.875rem}.payments-table thead{background-color:#f5f5f5;border-bottom:1px solid #ddd;position:sticky;top:0;z-index:1}.payments-table th{padding:12px;text-align:left;font-weight:600;color:#333}.payments-table td{padding:12px;border-bottom:1px solid #f0f0f0}.payments-table .actions{text-align:center}.payments-table .actions button{padding:6px 12px;margin:0 4px;border:none;border-radius:3px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.edit-btn{background-color:#2196f3;color:#fff}.edit-btn:hover{background-color:#0b7dda}.delete-btn{background-color:#f44336;color:#fff}.delete-btn:hover{background-color:#da190b}.empty-message{padding:20px;text-align:center;color:#999;font-size:.9rem}.loading{padding:20px;text-align:center;color:#666}.payment-form{margin-bottom:16px;padding:0;border:none;background-color:transparent}.payment-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:flex-end;margin-bottom:12px}.payment-row .form-group{margin-bottom:0}.btn-group{display:flex;gap:8px}.btn-add-payment{width:36px;height:36px;padding:0;background:transparent;color:#4caf50;border:1.5px solid #4CAF50;border-radius:5px;font-size:1.3rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;line-height:1}.btn-add-payment:hover{background-color:#e8f5e9}.btn-add-payment:disabled{border-color:#ccc;color:#ccc;cursor:not-allowed}.error-message{padding:12px 16px;background-color:#ffebee;color:#c62828;border:1px solid #ef5350;border-radius:4px;margin-bottom:16px;font-size:.875rem}.payments-list{border:1px solid #e0e0e0;border-radius:4px;overflow-x:auto;overflow-y:auto;max-height:240px;display:block;width:100%;min-height:60px}.payments-table{width:100%;border-collapse:collapse;font-size:.85rem;background-color:#fff}.payments-table thead{background-color:#f5f5f5;border-bottom:2px solid #ddd}.payments-table th{padding:10px 12px;text-align:left;font-weight:600;color:#333}.payments-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0}.payments-table tbody tr:last-child td{border-bottom:none}.payments-table tbody tr:hover{background-color:#f0f7ff;cursor:pointer}.no-payments{padding:20px;text-align:center;color:#999;font-size:.9rem;margin:0}.payments-info{margin-bottom:12px;padding:8px 12px;background-color:#f0f7f0;border-radius:4px}.total-amount{font-size:.9rem;color:#2d7a2d;font-weight:600}.btn-sm{width:32px;height:32px;padding:0;background:transparent;border:1.5px solid transparent;border-radius:5px;font-size:1rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;line-height:1}.btn-edit{border:1.5px solid #2196F3;color:#2196f3;margin-right:4px}.btn-edit:hover{background-color:#e3f2fd}.btn-delete{border:1.5px solid #f44336;color:#f44336}.btn-delete:hover{background-color:#ffebee}.btn-primary{padding:8px 16px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover{background-color:#45a049}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.btn-secondary{padding:8px 16px;background-color:#f0f0f0;color:#333;border:1px solid #ddd;border-radius:4px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background-color:#e0e0e0}.form-actions{display:flex;gap:8px;margin-top:12px}.opme-filters{flex-shrink:0;display:flex;gap:12px;margin-bottom:16px;padding:12px 16px;background-color:#f5f5f5;border-radius:4px;align-items:flex-end;position:relative}.opme-filters .btn-new{margin-left:auto;flex-shrink:0;padding:8px 16px;font-size:.95rem}.filter-label{display:block;font-size:.85rem;font-weight:600;color:#444;margin-bottom:4px}.filter-reset{position:absolute;top:6px;right:10px}.btn-reset-filters{padding:2px 7px;background:transparent;border:none;border-radius:3px;font-size:.72rem;font-weight:600;cursor:pointer;color:#999;transition:color .15s;white-space:nowrap;line-height:1.4}.btn-reset-filters:hover{color:#f44336;background:transparent}.filter-group{flex:1;min-width:200px}.search-input,.status-select{width:100%;padding:8px 10px;border:1px solid #ccc;border-radius:5px;font-size:.95rem;font-family:inherit;color:#222;background-color:#fff;appearance:auto;-webkit-appearance:auto;transition:border-color .2s;box-sizing:border-box}.search-input:focus,.status-select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.opme-list-container{flex:1;min-height:0;overflow-y:auto;overflow-x:auto;margin-top:8px}.opme-table{width:100%;border-collapse:collapse;font-size:.95rem;background:#fff;border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.opme-table thead tr{background-color:#f5f5f5}.opme-table th{padding:11px 14px;text-align:left;font-weight:600;color:#444;border-bottom:2px solid #e0e0e0;white-space:nowrap;font-size:.9rem}.opme-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .15s}.opme-table tbody tr:last-child{border-bottom:none}.opme-table tbody tr:hover{background-color:#f0f7ff}.opme-table td{padding:10px 14px;color:#333;vertical-align:middle}.opme-table tbody tr.status-row-draft td:first-child{border-left:3px solid #ff9800}.opme-table tbody tr.status-row-submitted td:first-child{border-left:3px solid #2196F3}.opme-table tbody tr.status-row-approved td:first-child{border-left:3px solid #4CAF50}.total-cell{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.actions-cell{white-space:nowrap}.status-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.status-badge.status-draft{background-color:#ffe0b2;color:#e65100}.status-badge.status-submitted{background-color:#bbdefb;color:#01579b}.status-badge.status-approved{background-color:#c8e6c9;color:#1b5e20}.action-btn{width:32px;height:32px;padding:0;background:transparent!important;border:1.5px solid transparent;border-radius:5px;font-size:1rem;cursor:pointer;transition:all .15s;margin-right:4px;display:inline-flex;align-items:center;justify-content:center;line-height:1;-webkit-appearance:none;appearance:none}.action-btn:last-child{margin-right:0}.action-btn.download-btn{border-color:#4caf50;color:#4caf50}.action-btn.download-btn:hover{background-color:#e8f5e9!important}.action-btn.delete-btn{border-color:#f44336;color:#f44336}.action-btn.delete-btn:hover{background-color:#ffebee!important}.empty-state{padding:60px 20px;text-align:center;color:#999;font-size:1rem;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px}.empty-state p{margin:0}@media(max-width:768px){.opme-filters{flex-direction:column}.opme-table th,.opme-table td{padding:8px 10px;font-size:.8rem}}.packages-subtitle{color:#666;margin:0 0 2.5rem;font-size:.95rem;max-width:600px}.packages-grid{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}.package-card{background:#fff;border:2px solid #e0e0e0;border-radius:16px;padding:2rem 1.75rem;width:240px;display:flex;flex-direction:column;align-items:center;gap:1rem;position:relative;transition:box-shadow .2s,transform .2s}.package-card:hover{box-shadow:0 6px 24px #0000001a;transform:translateY(-2px)}.package-popular{border-color:#04692e;box-shadow:0 4px 20px #04692e2e}.popular-badge{position:absolute;top:-14px;background:#04692e;color:#fff;padding:4px 16px;border-radius:20px;font-size:.78rem;font-weight:700;letter-spacing:.3px}.package-header{text-align:center}.package-label{font-size:1.4rem;font-weight:700;color:#222;margin:0 0 4px}.package-description{color:#999;font-size:.83rem;margin:0}.package-price{display:flex;align-items:baseline;gap:5px;margin:.25rem 0}.price-amount{font-size:3rem;font-weight:800;color:#222;line-height:1}.price-currency{font-size:1rem;color:#666;font-weight:600}.package-tokens{display:flex;flex-direction:column;align-items:center;gap:2px}.tokens-count{font-size:2.2rem;font-weight:800;color:#04692e;line-height:1}.tokens-label{font-size:.72rem;color:#aaa;text-transform:uppercase;letter-spacing:1px}.package-per-unit{font-size:.82rem;color:#bbb;font-style:italic}.package-btn{width:100%;padding:11px;border:2px solid #04692e;background:#fff;color:#04692e;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s,color .2s;margin-top:.25rem}.package-btn:hover:not(:disabled){background:#04692e;color:#fff}.package-btn-popular{background:#04692e;color:#fff}.package-btn-popular:hover:not(:disabled){background:#035a27;border-color:#035a27}.package-btn:disabled{opacity:.55;cursor:not-allowed}.packages-note{text-align:center;color:#aaa;font-size:.83rem;margin-top:.5rem}.payment-success-banner{background:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32;border-radius:8px;padding:14px 20px;margin-bottom:1.5rem;font-weight:600;display:flex;align-items:center;gap:10px}.payment-cancelled-banner{background:#fff8e1;border:1px solid #ffcc80;color:#e65100;border-radius:8px;padding:14px 20px;margin-bottom:1.5rem;font-weight:600;display:flex;align-items:center;gap:10px}.banner-close{margin-left:auto;background:none;border:none;font-size:1.1rem;cursor:pointer;color:inherit;opacity:.6}.banner-close:hover{opacity:1}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f5f5f5;color:#333}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#f9fafb;color:#6b7280}.spinner{border:3px solid #e5e7eb;border-radius:50%;border-top:3px solid #04692e;width:32px;height:32px;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tabs-container{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:0}.tabs{display:flex;gap:0;max-width:1200px;margin:0 auto;padding:0 20px}.tab{padding:15px 25px;background:none;border:none;cursor:pointer;font-size:16px;font-weight:500;color:#666;border-bottom:3px solid transparent;transition:all .3s ease;position:relative}.tab:hover{color:#333;background-color:#f9f9f9}.tab.active{color:#04692e;border-bottom-color:#04692e}.content{flex:1;min-height:0;max-width:1200px;width:100%;margin:0 auto;padding:20px 20px 0;display:flex;flex-direction:column;overflow:hidden}@media(max-width:768px){.tabs{padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{padding:12px 15px;font-size:14px;white-space:nowrap}.content{padding:12px 10px 0}}
