.expense-list-screen{max-width:1200px;margin:0 auto;padding:20px;min-height:100vh;background-color:#f5f5f5}.expense-list-header{margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px}.expense-list-header h1{margin:0;font-size:28px;font-weight:600}.user-summary{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:14px;color:#ffffffeb}.user-summary span{background:#ffffff24;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18)}.expense-list-header .subtitle{margin:8px 0 0;font-size:14px;opacity:.9}.feature-flag-panel{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.feature-flag-button{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#ffffff1f;color:#fffc;font-size:16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.4;transition:opacity .2s ease,transform .2s ease,background .2s ease}.feature-flag-button:hover:not(:disabled){opacity:.9;transform:scale(1.05);background:#ffffff2e}.feature-flag-feedback{font-size:12px;color:#ffffffd1;max-width:240px;text-align:right}.filter-panel{background:#fff;border-radius:10px;padding:20px;margin:20px 0;box-shadow:0 2px 8px #0000000d}.filter-form{display:grid;gap:18px}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-size:13px;font-weight:700;color:#374151}.filter-group input{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.filter-status .status-options{display:flex;flex-wrap:wrap;gap:8px}.status-option{padding:8px 12px;border:1px solid #d1d5db;border-radius:999px;background:#f8fafc;color:#374151;cursor:pointer;transition:all .2s ease}.status-option.selected{background:#667eea;color:#fff;border-color:#667eea}.filter-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.btn-secondary{background:#e5e7eb;color:#111827;border:none;border-radius:8px;padding:10px 18px;font-weight:700;cursor:pointer}.btn-secondary:hover:not(:disabled){background:#d1d5db}.expense-list{display:grid;gap:16px;margin-bottom:20px}.expense-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:all .3s ease;border-left:4px solid #667eea}.expense-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #eee}.card-title{flex:1;display:flex;align-items:center;gap:12px}.card-title h3{margin:0;font-size:16px;font-weight:600;color:#333}.status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-pending{background-color:#fff3cd;color:#856404}.badge-approved{background-color:#d4edda;color:#155724}.badge-rejected{background-color:#f8d7da;color:#721c24}.badge-paid{background-color:#d1ecf1;color:#0c5460}.badge-default{background-color:#e2e3e5;color:#383d41}.card-amount{font-size:20px;font-weight:700;color:#667eea;text-align:right}.card-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.detail-row{display:flex;justify-content:space-between;align-items:center}.detail-row .label{font-size:12px;text-transform:uppercase;color:#666;font-weight:600;min-width:100px}.detail-row .value{font-size:14px;color:#333;font-weight:500}.no-expenses{text-align:center;padding:40px;color:#666;font-size:16px}.loading{text-align:center;padding:40px;color:#667eea;font-size:16px;font-weight:500}.load-more-container{display:flex;justify-content:center;padding:20px}.btn-load-more{padding:10px 32px;font-size:14px;font-weight:600;color:#fff;background-color:#667eea;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease}.btn-load-more:hover:not(:disabled){background-color:#764ba2;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-load-more:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.expense-list-screen{padding:12px}.expense-list-header h1{font-size:22px}.card-details{grid-template-columns:1fr}.card-header{flex-direction:column;gap:12px}.card-amount{text-align:left}}.expense-detail-screen{max-width:1000px;margin:0 auto;padding:20px;min-height:100vh;background-color:#f5f5f5}.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px}.detail-header h1{margin:0;font-size:24px;font-weight:600;flex:1;text-align:center}.btn-back{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.4);padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-back:hover{background:#ffffff4d;border-color:#fff9}.error-container{background:#fff;border-radius:8px;padding:40px;text-align:center;box-shadow:0 2px 4px #0000001a}.error-container p{margin:0 0 20px;color:#666;font-size:16px}.detail-card{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000001a}.section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #eee}.section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}.primary-info{padding:16px;background:#f9f9f9;border-radius:6px;border-left:4px solid #667eea}.primary-info .info-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.info-row:last-child{border-bottom:none}.info-row .label{font-size:13px;text-transform:uppercase;color:#666;font-weight:600;letter-spacing:.5px;min-width:150px}.info-row .value{font-size:16px;color:#333;font-weight:500;text-align:right}.info-row .amount{font-size:24px;color:#667eea;font-weight:700}.info-row .status{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.status.finance_review{background-color:#fff3cd;color:#856404}.status.finance_approved{background-color:#d4edda;color:#155724}.status.finance_rejected{background-color:#f8d7da;color:#721c24}.status.paid{background-color:#d1ecf1;color:#0c5460}.action-buttons{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:2px solid #eee}.action-buttons button{flex:1;padding:12px 20px;font-size:14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.btn-approve{background-color:#28a745;color:#fff}.btn-approve:hover:not(:disabled){background-color:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a74566}.btn-reject{background-color:#dc3545;color:#fff}.btn-reject:hover:not(:disabled){background-color:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px #dc354566}.btn-paid{background-color:#007bff;color:#fff;flex:1}.btn-paid:hover:not(:disabled){background-color:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px #007bff66}.btn-primary{background-color:#667eea;color:#fff;padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease}.btn-primary:hover{background-color:#764ba2;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:8px;box-shadow:0 4px 16px #0003;max-width:500px;width:90%;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:#333}.btn-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.btn-close:hover:not(:disabled){color:#333}.btn-close:disabled{opacity:.5;cursor:not-allowed}.modal-body{padding:20px;flex:1;overflow-y:auto}.modal-body label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#333}.modal-body textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;resize:vertical;transition:border-color .3s ease}.modal-body textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.invoice-section .invoice-image-container{display:flex;justify-content:center;margin-top:16px}.invoice-thumb{max-width:380px;width:100%;cursor:pointer}.invoice-thumb img{width:100%;height:auto;border-radius:10px;border:1px solid #e0e0e0;box-shadow:0 4px 10px #00000014;transition:transform .2s ease}.invoice-thumb:hover img{transform:scale(1.02)}.invoice-preview-card{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:16px;padding:16px;border:1px solid #e5e7eb;border-radius:12px;background:#fafafa;margin-top:16px}.invoice-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:14px;background:#eef2ff;color:#4338ca;font-weight:700;font-size:16px}.invoice-preview-info{min-width:0}.invoice-preview-label{font-size:14px;font-weight:700;color:#111827;margin-bottom:4px}.invoice-preview-filename{font-size:13px;color:#6b7280;word-break:break-all}.btn-view-document{background-color:#667eea;color:#fff;border:none;border-radius:8px;padding:10px 16px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.btn-view-document:hover{background-color:#5a67d8}.approval-stages-section{margin-top:24px}.approval-stages{display:grid;grid-template-columns:1fr;gap:16px}.approval-stage-card{padding:18px;border-radius:14px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 4px 10px #0f172a0a}.stage-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:14px}.stage-title{font-size:16px;font-weight:700;color:#111827}.stage-subtitle{font-size:13px;color:#6b7280;margin-top:4px}.stage-badge{padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase}.stage-badge.stage-approved{background-color:#d1fae5;color:#065f46}.stage-badge.stage-pending,.stage-badge.stage-waiting{background-color:#fef3c7;color:#92400e}.stage-badge.stage-rejected{background-color:#fee2e2;color:#991b1b}.stage-detail-row,.stage-approvers{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.stage-label{width:150px;font-size:13px;font-weight:700;color:#374151}.stage-value{font-size:14px;color:#111827;flex:1;min-width:0}.stage-approvers ul{margin:0;padding-left:18px;color:#4b5563}.stage-approvers li{margin-bottom:4px}.eligibility-banner{margin-bottom:20px;padding:16px 18px;border-radius:12px;background:#fffbeb;border:1px solid #f5d27c;color:#92400e}.eligibility-banner p{margin:0;font-size:14px}.eligibility-banner strong{color:#7c2d12}.invoice-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.invoice-modal{position:relative;width:min(1000px,100%);max-height:90vh;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px #0f172a40;display:flex;flex-direction:column}.invoice-modal .btn-close{position:absolute;top:16px;right:16px;z-index:10;background:#ffffffe6;border:none;width:36px;height:36px;border-radius:50%;color:#111827;font-size:18px;cursor:pointer}.invoice-full-image,.invoice-embed{width:100%;height:80vh;object-fit:contain;border:none}.document-preview-fallback{padding:40px;text-align:center}.document-preview-fallback p{margin-bottom:18px;color:#374151;font-size:15px}.document-preview-fallback .btn-view-document{padding:12px 22px}.modal-footer{display:flex;gap:12px;padding:20px;border-top:1px solid #eee;justify-content:flex-end}.btn-cancel,.btn-submit{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background-color:#e9ecef;color:#333}.btn-cancel:hover:not(:disabled){background-color:#dee2e6}.btn-submit{background-color:#667eea;color:#fff}.btn-submit:hover:not(:disabled){background-color:#764ba2;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-cancel:disabled,.btn-submit:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.expense-detail-screen{padding:12px}.detail-header{flex-direction:column;gap:12px}.detail-header h1{order:2}.btn-back{order:1;align-self:flex-start}.detail-card{padding:16px}.action-buttons{flex-direction:column}.info-row{flex-direction:column;align-items:flex-start}.info-row .value{text-align:left}}:root{font-family:Inter,Arial,sans-serif;color:#0f172a;background:#f1f5f9}*{box-sizing:border-box}body{margin:0}.page{min-height:100vh;padding:24px}.card{background:#fff;border-radius:12px;box-shadow:0 8px 24px #0f172a14;padding:24px}.login-wrap{max-width:420px;margin:10vh auto}.title{margin:0 0 8px}.subtitle{margin:0 0 20px;color:#475569}.form-group{margin-bottom:14px}label{display:block;margin-bottom:6px;font-weight:600}input{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;font-size:14px;outline:none}input:focus{border-color:#2563eb}select{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;font-size:14px;outline:none}select:focus{border-color:#2563eb}button{border:0;border-radius:8px;padding:10px 14px;font-weight:600;cursor:pointer}.btn-primary{background:#2563eb;color:#fff}.btn-secondary{background:#e2e8f0;color:#0f172a}.btn-danger{background:#dc2626;color:#fff}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.toolbar-right{display:flex;gap:8px}.grid{display:grid;gap:14px}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 12px;margin-bottom:12px}.filter-actions{display:flex;align-items:end}.pagination-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 14px;color:#334155}.ticket{border:1px solid #e2e8f0;border-radius:12px;padding:18px;background:#fff;box-shadow:0 2px 10px #0f172a0d}.ticket-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.ticket-title-block{display:flex;flex-direction:column;gap:2px}.ticket-id{margin:0;font-size:18px}.muted{color:#64748b}.pill{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.status-open{background:#e2e8f0}.status-approved{background:#dbeafe;color:#1d4ed8}.status-rejected{background:#fee2e2;color:#b91c1c}.status-paid{background:#dcfce7;color:#15803d}.ticket-fields{margin-top:4px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 14px;font-size:14px}.ticket-field{display:flex;flex-direction:column;gap:3px}.field-label{font-size:12px;color:#64748b;font-weight:600}.field-value{font-size:14px;color:#0f172a;font-weight:500}.amount-value{font-weight:700}.ticket-note{margin:12px 0 0}.ticket-actions{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap;padding-top:8px;border-top:1px dashed #e2e8f0}.error{color:#b91c1c;margin:8px 0 0;font-size:14px}.success{color:#15803d;margin:8px 0 0;font-size:14px}.empty{text-align:center;color:#475569;padding:32px 0}.invoice-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.invoice-modal{width:min(1100px,96vw);height:min(85vh,900px);background:#fff;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.invoice-modal-header{padding:12px 14px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.invoice-frame{height:100%;border:none;width:100%}.invoice-content{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#f8fafc}.invoice-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}@media (max-width: 640px){.page{padding:12px}.card{padding:16px}}
