:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color:#1a202c;background-color:#f7fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6,p{margin:0}html.dark{background-color:#111827;color:#e2e8f0}html.dark .layout,html.dark .main-content{background:#111827}html.dark .sidebar{background:#0d1520}html.dark .sidebar-header{border-bottom-color:#ffffff14}html.dark .sidebar-footer{border-top-color:#ffffff14}html.dark .nav-item{color:#ffffff8c}html.dark .nav-item:hover{background:#ffffff14;color:#e2e8f0}html.dark .nav-item.active{background:#ffffff1f;color:#fff}html.dark .sidebar-logo{background:#ffffffe6}html.dark .imprests-panel,html.dark .transactions-panel,html.dark .login-card,html.dark .project-detail-panel,html.dark .proposal-details-panel,html.dark .users-container,html.dark .transactions-container{background:#1e2533;border-color:#374151}html.dark h1,html.dark h2,html.dark h3,html.dark h4{color:#e2e8f0}html.dark .page-header p,html.dark .dashboard-header p{color:#9ca3af}html.dark .error-banner{background:#3b1a1a;color:#fc8181;border-color:#742a2a}html.dark .summary-card.credit{background:#1a3328;border-color:#276749}html.dark .summary-card.debit{background:#3b1a1a;border-color:#742a2a}html.dark .summary-card.balance{background:#1a2a3a;border-color:#2b6cb0}html.dark .summary-card h3,html.dark .summary-card .label{color:#9ca3af}html.dark .summary-card .amount{color:#e2e8f0}html.dark .imprest-item{background:#1e2533;border-color:#374151}html.dark .imprest-item:hover{background:#263044}html.dark .imprest-item.selected{background:#1a2f4a;border-color:#3182ce}html.dark .imprest-title{color:#90cdf4}html.dark .imprest-date,html.dark .imprest-assignee{color:#6b7280}html.dark .amount-row .label,html.dark .progress-label{color:#9ca3af}html.dark .source-badge{background:#374151;color:#d1d5db}html.dark .source-badge.company-imprest{background:#1a3328;color:#68d391}html.dark .source-badge.directors-advance{background:#2d1f47;color:#b794f4}html.dark .source-badge.loan{background:#3b2a0a;color:#f6ad55}html.dark .project-badge{background:#1a2a3a;color:#63b3ed;border-color:#2b6cb0}html.dark .filter-input{background:#252f3f;border-color:#4b5563;color:#e2e8f0}html.dark .filter-input:focus{border-color:#63b3ed;background:#1e2533}html.dark .filter-input::placeholder{color:#6b7280}html.dark .filter-date-group label{color:#6b7280}html.dark .clear-filters-btn{color:#63b3ed}html.dark .transactions-table th{background:#252f3f;color:#9ca3af;border-bottom-color:#374151}html.dark .transactions-table td{color:#d1d5db;border-bottom-color:#2d3748}html.dark .transactions-table tr:hover td{background:#263044}html.dark .transactions-table tr.selected td{background:#1a2f4a}html.dark .transactions-table tfoot td{color:#e2e8f0;border-top-color:#374151}html.dark .transactions-table .total-label{color:#9ca3af}html.dark .imprest-summary{background:#1e2533;border-color:#374151}html.dark .imprest-summary .label{color:#9ca3af}html.dark .imprest-summary .value{color:#e2e8f0}html.dark .proposals-list-panel h2{color:#9ca3af}html.dark .proposal-card{background:#1e2533;border-color:#374151}html.dark .proposal-card:hover{border-color:#3182ce}html.dark .proposal-card.selected{background:#1a2f4a;border-color:#3182ce}html.dark .proposal-card h3{color:#90cdf4}html.dark .proposal-meta .amount{color:#68d391}html.dark .proposal-meta .date{color:#6b7280}html.dark .details-header h2{color:#e2e8f0}html.dark .details-meta .label{color:#9ca3af}html.dark .details-meta .value{color:#e2e8f0}html.dark .items-section h3{color:#9ca3af;border-bottom-color:#374151}html.dark .items-table th{background:#252f3f;color:#9ca3af}html.dark .items-table td{color:#d1d5db;border-bottom-color:#2d3748}html.dark .no-selection{color:#4b5563}html.dark .project-card{background:#1e2533;border-color:#374151}html.dark .project-card:hover{border-color:#3182ce}html.dark .project-card.selected{background:#1a2f4a;border-color:#3182ce}html.dark .project-card-header h3{color:#90cdf4}html.dark .project-description{color:#9ca3af}html.dark .stat-label{color:#6b7280}html.dark .stat-value{color:#d1d5db}html.dark .project-date{color:#4b5563}html.dark .detail-header h2{color:#e2e8f0}html.dark .detail-description{color:#9ca3af}html.dark .detail-summary .summary-card.credit{background:#1a3328;border-color:#276749}html.dark .detail-summary .summary-card.debit{background:#3b1a1a;border-color:#742a2a}html.dark .detail-summary .summary-card.balance{background:#1a2a3a;border-color:#2b6cb0}html.dark .detail-summary .label{color:#9ca3af}html.dark .detail-summary .amount{color:#e2e8f0}html.dark .imprests-section h3{color:#9ca3af;border-bottom-color:#374151}html.dark .imprest-block{background:#252f3f;border-color:#374151}html.dark .imprest-block-title h4{color:#90cdf4}html.dark .imprest-assignees{color:#6b7280}html.dark .no-data-inline{color:#4b5563}html.dark .preview-header{background:#252f3f;border-bottom-color:#374151}html.dark .preview-header h4{color:#d1d5db}html.dark .close-preview-btn{color:#9ca3af}html.dark .transaction-image-preview,html.dark .imprest-card{background:#1e2533;border-color:#374151}html.dark .imprest-card .card-header h3{color:#90cdf4}html.dark .imprest-card .card-date,html.dark .imprest-card .card-assignee{color:#6b7280}html.dark .imprest-card .label{color:#9ca3af}html.dark .imprest-card .card-footer{border-top-color:#374151;color:#6b7280}html.dark .no-data-card{background:#1e2533}html.dark .users-table th{background:#252f3f;color:#9ca3af}html.dark .users-table td{color:#d1d5db;border-bottom-color:#2d3748}html.dark .users-table tr:hover td{background:#263044}html.dark .user-avatar{background:#2b6cb0}html.dark .login-container{background:linear-gradient(135deg,#0d1520,#1a2233)}html.dark .login-card{background:#1e2533;box-shadow:0 10px 40px #00000080}html.dark .login-header p{color:#6b7280}html.dark .form-group label{color:#9ca3af}html.dark .form-group input{background:#252f3f;border-color:#4b5563;color:#e2e8f0}html.dark .form-group input::placeholder{color:#4b5563}html.dark .form-group input:focus{border-color:#63b3ed;background:#1e2533}html.dark .login-button{background:#2b6cb0}html.dark .login-button:hover:not(:disabled){background:#3182ce}html.dark .po-page{background:#0d1117}html.dark .po-hero-card.secondary{background:#1e2533;border-color:#374151}html.dark .po-hero-card.secondary .po-hero-amount.dim{color:#e2e8f0}html.dark .po-hero-card.secondary .po-hero-sub{color:#6b7280}html.dark .po-stat-card{background:#1e2533;border-color:#374151}html.dark .po-stat-label{color:#6b7280}html.dark .po-stat-value{color:#e2e8f0}html.dark .po-stat-sub{color:#4b5563}html.dark .po-content-panel{background:#1e2533;border-color:#374151}html.dark .po-panel-header{background:#060d17;border-bottom-color:#1e2533}html.dark .po-table thead tr{background:#060d17}html.dark .po-table th{border-bottom-color:#374151}html.dark .po-table td{color:#d1d5db;border-bottom-color:#2d3748}html.dark .po-table tbody tr:hover td{background:#263044}html.dark .po-sub-row td{background:#252f3f!important}html.dark .po-sub-wrap{background:#252f3f}html.dark .po-sub-table thead tr{background:#1a2233}html.dark .po-sub-table td{background:#252f3f}html.dark .po-expand-btn{border-color:#4b5563;color:#6b7280}html.dark .po-expand-btn:hover{background:#374151}html.dark .po-nav-panel{background:#1e2533;border-color:#374151}html.dark .po-nav-header{background:#060d17;border-bottom-color:#374151}html.dark .po-nav-item{color:#9ca3af;border-bottom-color:#2d3748}html.dark .po-nav-item:hover{background:#252f3f;color:#e2e8f0}html.dark .po-nav-item.active{background:#1a2a3a;color:#60a5fa;border-left-color:#3b82f6}html.dark .po-nav-arrow{color:#374151}html.dark .po-nav-mini-stats{background:#252f3f;border-top-color:#374151}html.dark .po-mini-stat{color:#6b7280}html.dark .po-empty{color:#4b5563}html.dark .po-field label{color:#9ca3af}html.dark .po-field input,html.dark .po-field textarea{background:#252f3f;border-color:#4b5563;color:#e2e8f0}html.dark .po-field input:focus,html.dark .po-field textarea:focus{border-color:#60a5fa;background:#1e2533}html.dark .po-field input::placeholder,html.dark .po-field textarea::placeholder{color:#4b5563}html.dark .po-drop-zone{background:#252f3f;border-color:#4b5563}html.dark .po-drop-zone:hover{border-color:#60a5fa;background:#1a2a3a}html.dark .po-drop-zone.loaded{border-color:#16a34a;background:#1a3328}html.dark .po-drop-main{color:#d1d5db}html.dark .po-csv-meta{border-top-color:#374151;color:#6b7280}html.dark .po-preview{background:#1a2a3a;border-color:#2b6cb0;color:#60a5fa}html.dark .po-toggle-group{border-color:#4b5563}html.dark .po-toggle-opt{background:#252f3f;color:#9ca3af}html.dark .po-toggle-opt:first-child{border-right-color:#4b5563}html.dark .po-toggle-opt.active{background:#1e3a5f;color:#e2e8f0}html.dark .po-toggle-opt:hover:not(.active){background:#374151}html.dark .po-form-footer{border-top-color:#374151}html.dark .po-initiate-btn{background:#1e3a5f}html.dark .po-initiate-btn:hover:not(:disabled){background:#0d1f3c}html.dark .pin-modal{background:#1e2533}html.dark .pin-payout-summary{background:#252f3f;border-color:#374151}html.dark .pin-desc{color:#9ca3af}html.dark .psr-val{color:#d1d5db}html.dark .psr-amount{color:#90cdf4}html.dark .pin-timer-bar{background:#1a2a3a;border-color:#2b6cb0;color:#90cdf4}html.dark .pin-timer-bar.urgent{background:#3b1a1a;border-color:#742a2a;color:#fc8181}html.dark .pin-input{background:#252f3f;border-color:#4b5563;color:#90cdf4}html.dark .pin-input:focus{border-color:#60a5fa;background:#1e2533}html.dark .pin-cancel-btn{background:#252f3f;border-color:#4b5563;color:#9ca3af}html.dark .pin-cancel-btn:hover{background:#374151}html.dark .pin-expired-body p{color:#9ca3af}html.dark ::-webkit-scrollbar-track{background:#1e2533}html.dark ::-webkit-scrollbar-thumb{background:#4b5563}html.dark ::-webkit-scrollbar-thumb:hover{background:#6b7280}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a365d,#2d3748);padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:40px;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:32px}.login-logo{width:180px;height:auto;margin:0 auto 8px;display:block}.login-header p{color:#718096;margin:0;font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:20px}.form-group label{color:#4a5568;font-size:.9rem;font-weight:500}.form-group input{padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.form-group input::placeholder{color:#a0aec0}.error-message{background:#fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;font-size:.9rem;text-align:center}.login-button{background:#1a365d;color:#fff;border:none;padding:14px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s;margin-top:8px}.login-button:hover:not(:disabled){background:#2c5282}.login-button:active:not(:disabled){transform:scale(.98)}.login-button:disabled{background:#a0aec0;cursor:not-allowed}.layout{display:flex;min-height:100vh;background:#f7fafc}.sidebar{width:260px;background:#1a365d;color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0}.sidebar-header{padding:24px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo{width:100%;max-width:180px;height:auto;display:block;margin:0 auto;border-radius:6px;background:#fff;padding:6px}.sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 24px;color:#ffffffb3;text-decoration:none;transition:all .2s}.nav-item:hover{background:#ffffff1a;color:#fff}.nav-item.active{background:#ffffff26;color:#fff;border-right:3px solid #63b3ed}.nav-icon{font-size:1.2rem}.nav-label{font-size:.95rem;font-weight:500}.sidebar-footer{padding:20px;border-top:1px solid rgba(255,255,255,.1)}.user-info{display:flex;align-items:center;gap:12px;margin-bottom:16px}.user-avatar{width:40px;height:40px;background:#3182ce;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem}.user-details{display:flex;flex-direction:column}.user-name{font-size:.95rem;font-weight:500}.user-role{font-size:.75rem;color:#fff9;text-transform:capitalize}.settings-nav-item{border-top:1px solid rgba(255,255,255,.1)}.logout-button{width:100%;padding:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s}.logout-button:hover{background:#fff3}.app-version{display:block;text-align:center;margin-top:8px;font-size:.65rem;color:#ffffff4d;letter-spacing:.05em}.main-content{flex:1;margin-left:260px;min-height:100vh}@media(max-width:768px){.sidebar{width:100%;height:auto;position:relative}.main-content{margin-left:0}.layout{flex-direction:column}}.dashboard{padding:24px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.refresh-btn{background:none;border:1px solid #e2e8f0;border-radius:8px;width:38px;height:38px;font-size:1.3rem;color:#4a5568;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;line-height:1}.refresh-btn:hover:not(:disabled){background:#ebf8ff;color:#1a365d;border-color:#3182ce}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.refresh-btn.spinning{animation:spin .7s linear infinite}.dashboard-header h1{color:#1a365d;margin:0 0 4px;font-size:1.75rem}.dashboard-header p{color:#718096;margin:0}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.summary-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;border-left:4px solid}.summary-card.credit{border-left-color:#38a169}.summary-card.debit{border-left-color:#e53e3e}.summary-card.balance{border-left-color:#3182ce}.summary-card h3{color:#718096;font-size:.9rem;font-weight:500;margin:0 0 8px}.summary-card .amount{font-size:1.5rem;font-weight:700;color:#1a365d;margin:0 0 4px}.summary-card .label{font-size:.75rem;color:#a0aec0;text-transform:uppercase;letter-spacing:.5px}.dashboard-content{display:grid;grid-template-columns:525px 1fr;gap:24px}@media(max-width:900px){.dashboard-content{grid-template-columns:1fr}}.imprests-panel,.transactions-panel{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014}.imprests-panel h2,.transactions-panel h2{color:#1a365d;font-size:1.1rem;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.no-data{color:#a0aec0;text-align:center;padding:24px}.imprest-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.filter-input{width:100%;padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;color:#2d3748;background:#f7fafc;box-sizing:border-box;transition:border-color .2s}.filter-input:focus{outline:none;border-color:#3182ce;background:#fff}.filter-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-date-group{display:flex;flex-direction:column;gap:3px}.filter-date-group label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#a0aec0;font-weight:600}.clear-filters-btn{background:none;border:none;color:#3182ce;font-size:.8rem;cursor:pointer;padding:0;text-align:left;text-decoration:underline}.clear-filters-btn:hover{color:#1a365d}.imprest-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;max-height:600px;overflow-y:auto}.imprest-list::-webkit-scrollbar{width:6px}.imprest-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.imprest-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.imprest-list::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.imprest-item{padding:16px;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s}.imprest-item:hover{border-color:#3182ce;background:#f7fafc}.imprest-item.selected{border-color:#3182ce;background:#ebf8ff}.imprest-info{display:flex;flex-direction:column;gap:4px;margin-bottom:4px}.imprest-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}.project-badge{display:inline-block;background:#ebf8ff;color:#2b6cb0;border:1px solid #bee3f8;border-radius:12px;font-size:.72rem;font-weight:600;padding:2px 8px;white-space:nowrap}.imprest-title{flex:1;min-width:0;word-wrap:break-word;overflow-wrap:break-word;line-height:1.3}.imprest-date{font-size:.75rem;color:#a0aec0;margin-bottom:10px;display:block}.imprest-assignee{font-size:.75rem;color:#718096;margin-top:10px;padding-top:10px;border-top:1px dashed #e2e8f0}.expense-progress{margin-top:12px;padding-top:12px;border-top:1px dashed #e2e8f0}.progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:6px}.progress-label{font-size:.7rem;color:#718096}.imprest-info h4{margin:0;color:#1a365d;font-size:.95rem}.source-badge{font-size:.7rem;padding:4px 8px;border-radius:4px;text-transform:uppercase;font-weight:600;flex-shrink:0;white-space:nowrap}.source-badge.directors-advance{background:#faf5ff;color:#805ad5}.source-badge.company-imprest{background:#e6fffa;color:#319795}.source-badge.loan{background:#fff5f5;color:#c53030}.imprest-amounts{display:flex;flex-direction:column;gap:4px}.amount-row{display:flex;justify-content:space-between;font-size:.85rem}.amount-row .label{color:#718096}.amount-row.balance{margin-top:4px;padding-top:8px;border-top:1px dashed #e2e8f0;font-weight:600}.credit-amount{color:#38a169}.debit-amount{color:#e53e3e}.positive{color:#38a169}.negative{color:#e53e3e}.transactions-table{width:100%;border-collapse:collapse}.transactions-table th,.transactions-table td{padding:12px;text-align:left;border-bottom:1px solid #e2e8f0}.transactions-table th{background:#f7fafc;color:#4a5568;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.transactions-table td{font-size:.9rem;color:#2d3748}.transactions-table tbody tr:hover{background:#f7fafc}.transactions-table tfoot td{font-weight:600;background:#f7fafc}.total-label{text-align:right;color:#4a5568}.transactions-table tbody tr{cursor:pointer;transition:background .2s}.transactions-table tbody tr.selected{background:#ebf8ff}.transactions-table tbody tr.selected:hover{background:#bee3f8}.transaction-image-preview{margin-top:20px;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f7fafc;border-bottom:1px solid #e2e8f0}.preview-header h3{margin:0;color:#1a365d;font-size:.95rem;font-weight:600}.close-preview-btn{background:none;border:none;font-size:1.5rem;color:#718096;cursor:pointer;padding:0;line-height:1}.preview-content{padding:20px;display:flex;justify-content:center;align-items:center;min-height:150px;background:#fff}.preview-content img{max-width:100%;max-height:400px;border-radius:8px;box-shadow:0 4px 12px #00000026;cursor:pointer;transition:transform .2s}.preview-content img:hover{transform:scale(1.02)}.loading-spinner{display:flex;flex-direction:column;align-items:center;color:#718096}.no-image{color:#718096;font-style:italic;margin:0}.pdf-preview{width:100%;height:500px;border:none;border-radius:8px}.imprests-page{padding:24px}.imprest-filters{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.imprest-date-filters{display:flex;align-items:center;gap:10px}.imprest-date-group{display:flex;align-items:center;gap:6px}.imprest-date-group label{font-size:.75rem;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.imprest-date-group input[type=date]{padding:7px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;color:#2d3748;background:#fff;outline:none;transition:border-color .2s}.imprest-date-group input[type=date]:focus{border-color:#3182ce}.imprest-clear-dates{padding:7px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.8rem;color:#e53e3e;cursor:pointer;transition:background .2s}.imprest-clear-dates:hover{background:#fff5f5;border-color:#feb2b2}.imprest-search-input{padding:9px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:.88rem;color:#2d3748;background:#fff;outline:none;width:220px;transition:border-color .2s}.imprest-search-input:focus{border-color:#3182ce}.imprests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.no-data-card{grid-column:1 / -1;background:#fff;padding:48px;border-radius:12px;text-align:center;color:#718096;box-shadow:0 2px 8px #00000014}.imprest-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;border-top:4px solid #3182ce;transition:box-shadow .2s,transform .15s}.imprest-card.clickable{cursor:pointer}.imprest-card.clickable:hover{box-shadow:0 4px 16px #00000021;transform:translateY(-2px)}.imprest-card.panel-selected{box-shadow:0 0 0 2px #3182ce}.imprest-card.closed{border-top-color:#718096;opacity:.7}.imprest-card.depleted{border-top-color:#e53e3e}.imprest-card.low{border-top-color:#dd6b20}.imprest-card.active{border-top-color:#38a169}.card-header{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0}.card-header h3{margin:0;color:#1a365d;font-size:1.1rem}.card-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}.card-date{font-size:.75rem;color:#a0aec0}.card-assignee{font-size:.75rem;color:#718096;padding-left:8px;border-left:1px solid #d0d0d0}.status-badge{font-size:.7rem;padding:4px 10px;border-radius:12px;font-weight:600;text-transform:uppercase}.status-badge.closed{background:#e2e8f0;color:#4a5568}.status-badge.depleted{background:#fed7d7;color:#c53030}.status-badge.low{background:#feebc8;color:#c05621}.card-body{padding:20px}.imprest-card-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.source-tag{display:inline-block;font-size:.75rem;padding:4px 10px;background:#edf2f7;color:#4a5568;border-radius:4px;text-transform:capitalize}.project-tag{display:inline-block;font-size:.75rem;padding:4px 10px;background:#ebf8ff;color:#2b6cb0;border:1px solid #bee3f8;border-radius:4px;font-weight:500}.project-tag.unassigned{background:#f7fafc;color:#a0aec0;border-color:#e2e8f0;font-weight:400}.amounts-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.amount-item{display:flex;flex-direction:column;gap:4px}.amount-item.full-width{grid-column:1 / -1;padding-top:12px;border-top:1px dashed #e2e8f0}.amount-item .label{font-size:.8rem;color:#718096}.amount-item .value{font-size:1.1rem;font-weight:600}.amount-item .value.credit{color:#38a169}.amount-item .value.debit{color:#e53e3e}.amount-item .value.positive{color:#38a169}.amount-item .value.negative{color:#e53e3e}.progress-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#38a169,#3182ce);border-radius:4px;transition:width .3s ease}.progress-label{font-size:.75rem;color:#718096}.card-footer{padding:12px 20px;background:#f7fafc;border-top:1px solid #e2e8f0}.card-footer .date{font-size:.8rem;color:#718096}.modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.card-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.manage-users-btn{background:none;border:1px solid #cbd5e0;color:#718096;border-radius:6px;padding:4px 10px;font-size:.75rem;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.manage-users-btn:hover{border-color:#3182ce;color:#2b6cb0}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.iu-modal{background:#fff;border-radius:12px;width:420px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000002e;overflow:hidden}.iu-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px 14px;border-bottom:1px solid #e2e8f0}.iu-modal-header h3{margin:0 0 2px;font-size:1.1rem;color:#1a365d}.iu-modal-sub{margin:0;font-size:.8rem;color:#a0aec0}.iu-close-btn{background:none;border:none;font-size:1.4rem;color:#718096;cursor:pointer;line-height:1;padding:0 4px;flex-shrink:0}.iu-close-btn:hover{color:#1a365d}.iu-error{background:#fed7d7;color:#c53030;font-size:.85rem;padding:10px 24px}.iu-modal-body{padding:16px 24px 24px;overflow-y:auto}.iu-section-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#a0aec0;margin:0 0 10px}.iu-empty{font-size:.875rem;color:#a0aec0;font-style:italic;margin:0}.iu-user-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.iu-user-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px}.iu-user-avatar{width:34px;height:34px;background:#3182ce;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0}.iu-user-info{flex:1;display:flex;flex-direction:column;gap:1px}.iu-user-name{font-size:.9rem;font-weight:500;color:#2d3748}.iu-user-phone{font-size:.75rem;color:#a0aec0}.iu-remove-btn{background:none;border:none;color:#e53e3e;font-size:.8rem;cursor:pointer;padding:4px 8px;border-radius:4px;flex-shrink:0;transition:background .15s}.iu-remove-btn:hover{background:#fff5f5}.iu-add-row{display:flex;gap:8px}.iu-select{flex:1;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#2d3748;background:#fff;transition:border-color .2s}.iu-select:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.iu-add-btn{padding:10px 20px;background:#1a365d;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.iu-add-btn:hover:not(:disabled){background:#2c5282}.iu-add-btn:disabled{background:#a0aec0;cursor:not-allowed}.imprest-panel-overlay{position:fixed;inset:0;background:#00000040;z-index:200}.imprest-panel{position:fixed;top:0;right:0;width:380px;max-width:100vw;height:100vh;background:#fff;box-shadow:-4px 0 24px #0000001f;z-index:201;display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}.imprest-panel.open{transform:translate(0)}.ip-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 20px 16px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.ip-title{margin:0 0 4px;font-size:1rem;color:#1a365d;font-weight:600}.ip-sub{font-size:.78rem;color:#a0aec0;text-transform:capitalize}.ip-close-btn{background:none;border:none;font-size:1.4rem;color:#718096;cursor:pointer;line-height:1;padding:0 4px;flex-shrink:0}.ip-close-btn:hover{color:#1a365d}.ip-error{background:#fed7d7;color:#c53030;font-size:.85rem;padding:10px 20px;flex-shrink:0}.ip-loading{display:flex;align-items:center;justify-content:center;flex:1}.ip-body{flex:1;overflow-y:auto;padding:8px 0 24px}.ip-section{padding:20px 20px 16px;border-bottom:1px solid #f0f4f8}.ip-section:last-child{border-bottom:none}.ip-section-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#a0aec0;margin:0 0 12px}.ip-field-label{font-size:.82rem;color:#4a5568;margin:12px 0 8px;font-weight:500}.ip-current-project{margin-bottom:4px}.ip-row{display:flex;gap:8px}.hamburger-btn{background:none;border:1px solid #e2e8f0;border-radius:6px;color:#718096;width:28px;height:28px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s,background .15s;flex-shrink:0}.hamburger-btn:hover{border-color:#3182ce;color:#2b6cb0;background:#ebf8ff}.imprests-layout{display:flex;gap:24px;align-items:flex-start}.imprests-left{flex:1;min-width:0}.imprests-images-panel{width:48%;flex-shrink:0;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;position:sticky;top:24px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;overflow:hidden}.iip-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 20px 16px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.iip-header h2{margin:0 0 2px;font-size:1rem;color:#1a365d;font-weight:600}.iip-header p{margin:0;font-size:.75rem;color:#a0aec0}.iip-close-btn{background:none;border:none;font-size:1.4rem;color:#718096;cursor:pointer;line-height:1;padding:0 4px;flex-shrink:0}.iip-close-btn:hover{color:#1a365d}.iip-loading{display:flex;align-items:center;justify-content:center;flex:1;padding:40px}.iip-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px;color:#a0aec0;font-size:.9rem;text-align:center}.iip-grid{flex:1;overflow-y:auto;padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;align-content:start}.iip-thumb{aspect-ratio:1;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;cursor:pointer;transition:transform .15s,box-shadow .15s;background:#f7fafc}.iip-thumb:hover{transform:scale(1.03);box-shadow:0 4px 16px #0000001f}.iip-thumb img{width:100%;height:100%;object-fit:cover;display:block}.iip-pdf-thumb{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px}.iip-pdf-icon{font-size:.7rem;font-weight:700;background:#e53e3e;color:#fff;padding:4px 8px;border-radius:4px;letter-spacing:.05em}.iip-pdf-name{font-size:.7rem;color:#4a5568;text-align:center;word-break:break-all;line-height:1.3}.lightbox-overlay{position:fixed;inset:0;background:#000000e0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.lightbox-close{position:fixed;top:20px;right:24px;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;line-height:1;z-index:1001}.lightbox-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px}.lightbox-pdf{width:80vw;height:88vh;border:none;border-radius:8px}.transactions-page{padding:24px;height:calc(100vh - 64px);display:flex;flex-direction:column;box-sizing:border-box}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.page-header p{color:#718096;margin:0;font-size:.9rem}.txn-split-layout{display:flex;gap:16px;flex:1;min-height:0}.txn-list-panel{width:340px;flex-shrink:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}.txn-list-panel::-webkit-scrollbar{width:4px}.txn-list-panel::-webkit-scrollbar-track{background:transparent}.txn-list-panel::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}.load-more-btn{width:100%;padding:10px;background:#fff;border:1px dashed #cbd5e0;border-radius:10px;color:#718096;font-size:.85rem;cursor:pointer;transition:border-color .2s,color .2s}.load-more-btn:hover:not(:disabled){border-color:#3182ce;color:#3182ce}.load-more-btn:disabled{opacity:.6;cursor:not-allowed}.txn-list-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.txn-list-item:hover{border-color:#bee3f8;box-shadow:0 2px 8px #3182ce14}.txn-list-item.active{border-color:#3182ce;background:#ebf8ff;box-shadow:0 2px 12px #3182ce26}.txn-list-meta{display:flex;justify-content:space-between;margin-bottom:4px}.txn-list-date{font-size:.75rem;color:#718096;font-weight:500}.txn-list-time{font-size:.75rem;color:#a0aec0}.txn-list-main{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.txn-list-item-name{font-size:.95rem;font-weight:600;color:#1a365d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.txn-list-receipt-dot{width:8px;height:8px;border-radius:50%;background:#38a169;flex-shrink:0;margin-left:6px}.txn-list-footer{display:flex;justify-content:space-between;align-items:center}.txn-list-imprest{font-size:.78rem;color:#718096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.txn-list-amount{font-size:.85rem;font-weight:700;color:#e53e3e;flex-shrink:0}.txn-detail-panel{flex:1;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.txn-detail-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#a0aec0;font-size:.95rem}.txn-detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.txn-detail-header h2{margin:0 0 6px;color:#1a365d;font-size:1.2rem}.txn-detail-imprest-badge{display:inline-block;background:#ebf8ff;color:#2b6cb0;border:1px solid #bee3f8;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:500}.close-preview-btn{background:none;border:none;font-size:1.5rem;color:#718096;cursor:pointer;padding:0;line-height:1;flex-shrink:0}.close-preview-btn:hover{color:#e53e3e}.txn-detail-body{padding:20px 24px;overflow-y:auto;flex:1}.txn-detail-body::-webkit-scrollbar{width:4px}.txn-detail-body::-webkit-scrollbar-track{background:transparent}.txn-detail-body::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}.txn-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e2e8f0}.txn-detail-total{grid-column:1 / -1;background:#f7fafc;border-radius:8px;padding:12px 14px}.txn-detail-field{display:flex;flex-direction:column;gap:3px}.txn-detail-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#718096}.txn-detail-value{font-size:.95rem;color:#2d3748;font-weight:500}.txn-detail-value.debit{font-size:1.15rem;font-weight:700;color:#e53e3e}.txn-detail-section{margin-bottom:24px}.txn-detail-section-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.txn-detail-section-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#718096}.no-categories{font-size:.85rem;color:#a0aec0;font-style:italic}.categories-in-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.category-add-wrapper{position:relative}.category-tag{display:inline-flex;align-items:center;gap:3px;background:#ebf8ff;color:#2b6cb0;border:1px solid #bee3f8;border-radius:999px;padding:3px 10px 3px 12px;font-size:.78rem;font-weight:500}.txn-receipt-area{margin-top:8px}.txn-receipt-area img{max-width:100%;max-height:420px;border-radius:8px;box-shadow:0 4px 12px #0000001f;cursor:pointer;transition:transform .2s;display:block}.txn-receipt-area img:hover{transform:scale(1.01)}.pdf-preview{width:100%;height:480px;border:none;border-radius:8px}.loading-container.small{height:120px}.spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#1a365d;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}.no-image-message{color:#718096;font-style:italic;font-size:.9rem}.image-error-message{color:#c53030;font-style:italic;font-size:.9rem}.error-banner{background:#fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;margin-bottom:16px}.proposals-page{padding:24px}.proposals-content{display:grid;grid-template-columns:400px 1fr;gap:24px}@media(max-width:900px){.proposals-content{grid-template-columns:1fr}}.proposals-list-panel,.proposal-details-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.proposals-list-panel{padding:20px}.proposals-list-panel h2{color:#1a365d;font-size:1.1rem;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.filter-bar{display:flex;flex-direction:column;gap:10px;padding:14px;background:#f7fafc;border-radius:8px;margin-bottom:16px;border:1px solid #e2e8f0}.filter-row{display:flex;gap:10px}.filter-group{display:flex;flex-direction:column;gap:4px;flex:1}.filter-group.full-width{flex:1}.filter-group label{font-size:.75rem;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.03em}.filter-group input,.filter-group select{padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;background:#fff;color:#2d3748;transition:border-color .2s}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#3182ce}.filter-actions{display:flex;gap:8px;padding-top:2px}.apply-filter-btn{padding:8px 20px;background:#1a365d;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s}.apply-filter-btn:hover{background:#2c5282}.clear-filter-btn{padding:8px 16px;background:#fff;color:#e53e3e;border:1px solid #fed7d7;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.clear-filter-btn:hover{background:#fff5f5}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:14px;margin-top:8px;border-top:1px solid #e2e8f0}.page-btn{padding:6px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem;font-weight:500;color:#1a365d;cursor:pointer;transition:background .2s}.page-btn:hover:not(:disabled){background:#ebf8ff;border-color:#3182ce}.page-btn:disabled{color:#a0aec0;cursor:not-allowed}.page-info{font-size:.85rem;color:#4a5568;font-weight:500;min-width:90px;text-align:center}.list-loading{display:flex;justify-content:center;padding:40px 0}.spinner.small{width:24px;height:24px;border-width:2px;margin-bottom:0}.proposals-list{display:flex;flex-direction:column;gap:12px;max-height:520px;overflow-y:auto}.proposal-card{padding:16px;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s}.proposal-card:hover{border-color:#3182ce;background:#f7fafc}.proposal-card.selected{border-color:#3182ce;background:#ebf8ff}.proposal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.proposal-header h3{margin:0;color:#1a365d;font-size:.95rem}.proposal-card.in-compare{border-color:#3182ce;background:#ebf8ff}.proposal-card.compare-pick{border-style:dashed;cursor:pointer}.proposal-card.compare-pick:hover{border-color:#3182ce;background:#f0f7ff}.proposal-card.compare-full{opacity:.4;cursor:not-allowed;pointer-events:none}.status-badge{font-size:.65rem;padding:4px 8px;border-radius:4px;font-weight:600;text-transform:uppercase}.status-badge.large{font-size:.75rem;padding:6px 12px}.status-badge.pending{background:#fefcbf;color:#975a16}.status-badge.approved{background:#c6f6d5;color:#276749}.status-badge.rejected{background:#fed7d7;color:#c53030}.status-badge.partial{background:#feebc8;color:#c05621}.proposal-meta{display:flex;justify-content:space-between;font-size:.85rem}.proposal-meta .amount{color:#1a365d;font-weight:600}.proposal-meta .date{color:#718096}.proposal-details-panel{padding:24px}.open-compare-btn{display:flex;align-items:center;gap:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;color:#4a5568;cursor:pointer;font-size:.85rem;font-weight:500;overflow:hidden;max-width:42px;transition:max-width .25s ease,border-color .2s,color .2s,background .2s;white-space:nowrap;flex-shrink:0}.open-compare-btn:hover{max-width:200px;border-color:#3182ce;color:#1a365d;background:#ebf8ff}.open-compare-label{margin-left:8px;opacity:0;transition:opacity .15s ease .1s;pointer-events:none}.open-compare-btn:hover .open-compare-label{opacity:1}.compare-toggle-btn{width:22px;height:22px;border-radius:50%;border:none;font-size:.95rem;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .15s}.compare-toggle-btn.remove{background:#fed7d7;color:#c53030}.compare-toggle-btn.remove:hover{background:#c53030;color:#fff;transform:scale(1.1)}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.details-header h2{margin:0;color:#1a365d;font-size:1.25rem}.details-meta{display:flex;gap:32px;margin-bottom:24px}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-item .label{font-size:.8rem;color:#718096}.meta-item .value{font-size:1.1rem;font-weight:600;color:#1a365d}.items-section{margin-bottom:24px}.items-section h3{color:#4a5568;font-size:.95rem;margin:0 0 12px}.items-table{width:100%;border-collapse:collapse}.items-table th,.items-table td{padding:12px;text-align:left;border-bottom:1px solid #e2e8f0}.items-table th{background:#f7fafc;color:#4a5568;font-size:.8rem;font-weight:600;text-transform:uppercase}.items-table td{font-size:.9rem;color:#2d3748}.action-buttons{display:flex;gap:12px;padding-top:20px;border-top:1px solid #e2e8f0}.approve-btn,.partial-btn,.reject-btn{padding:10px 20px;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .2s}.approve-btn{background:#38a169;color:#fff}.partial-btn{background:#dd6b20;color:#fff}.reject-btn{background:#e53e3e;color:#fff}.approve-btn:hover,.partial-btn:hover,.reject-btn:hover{opacity:.9}.no-selection,.no-data{padding:48px;text-align:center;color:#718096}.modal{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal.large{max-width:600px}.items-input-section{border:1px solid #e2e8f0;border-radius:8px;padding:16px}.items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.items-header h3{margin:0;font-size:.95rem;color:#4a5568}.add-item-btn{background:#ebf8ff;color:#3182ce;border:none;padding:6px 12px;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer}.add-item-btn:hover{background:#bee3f8}.item-row{display:flex;gap:8px;margin-bottom:8px;align-items:center}.item-row .form-group{margin:0}.item-row .item-name{flex:2}.item-row .item-qty{flex:.5}.item-row .item-price{flex:1}.item-row input{padding:10px 12px}.remove-item-btn{background:#fff5f5;color:#c53030;border:none;width:32px;height:32px;border-radius:4px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-item-btn:disabled{opacity:.3;cursor:not-allowed}.remove-item-btn:hover:not(:disabled){background:#fed7d7}.total-preview{display:flex;justify-content:space-between;padding:16px;background:#f7fafc;border-radius:8px;font-weight:600}.total-preview .total-value{color:#1a365d;font-size:1.1rem}.compare-view{height:100%}.compare-view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.compare-view-header h2{margin:0;color:#1a365d;font-size:1.1rem}.clear-compare-btn{padding:6px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem;color:#4a5568;cursor:pointer;transition:background .2s}.clear-compare-btn:hover{background:#f7fafc;border-color:#a0aec0}.compare-columns{display:grid;gap:20px;overflow-x:auto}.compare-columns.cols-1,.compare-columns.cols-2{grid-template-columns:1fr 1fr}.compare-column{border:1px solid #e2e8f0;border-radius:10px;padding:16px;min-width:0}.compare-col-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.compare-col-title h3{margin:0 0 4px;color:#1a365d;font-size:.95rem;line-height:1.3}.compare-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.8rem;color:#718096;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}.compare-grand-total{font-weight:700;color:#1a365d}.compare-placeholder{border:2px dashed #e2e8f0;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:200px;color:#a0aec0}.compare-placeholder span{font-size:2rem;font-weight:300;line-height:1}.projects-page{padding:24px;height:100vh;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h1{margin:0 0 4px;color:#1a365d;font-size:1.75rem}.page-header p{margin:0;color:#718096;font-size:.95rem}.error-banner{background:#fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.projects-layout{display:grid;grid-template-columns:340px 1fr;gap:24px;flex:1;overflow:hidden;min-height:0}.projects-list-panel{overflow-y:auto;height:100%}.projects-list-header{position:sticky;top:0;background:#f7fafc;padding-bottom:10px;z-index:10}.project-search-input{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.88rem;color:#2d3748;background:#fff;box-sizing:border-box;outline:none;transition:border-color .2s}.project-search-input:focus{border-color:#3182ce}.projects-list-panel h2{font-size:1rem;color:#4a5568;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px}.project-card{background:#fff;border:2px solid #e2e8f0;border-radius:10px;padding:16px;margin-bottom:12px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.project-card:hover{border-color:#3182ce;box-shadow:0 2px 8px #3182ce26}.project-card.selected{border-color:#3182ce;background:#ebf8ff}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.project-card-header h3{margin:0;font-size:.95rem;color:#1a365d;font-weight:600}.project-description{font-size:.82rem;color:#718096;margin:0 0 10px;line-height:1.4}.project-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.stat{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:.72rem;color:#a0aec0;text-transform:uppercase;letter-spacing:.03em}.stat-value{font-size:.85rem;font-weight:600;color:#2d3748}.stat-value.credit{color:#2f855a}.stat-value.debit{color:#c53030}.stat-value.positive{color:#2f855a}.stat-value.negative{color:#c53030}.project-date{font-size:.75rem;color:#a0aec0}.status-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.status-badge.active{background:#c6f6d5;color:#276749}.status-badge.completed{background:#bee3f8;color:#2c5282}.status-badge.on-hold{background:#fefcbf;color:#744210}.status-badge.large{font-size:.85rem;padding:5px 14px}.project-detail-panel{background:#fff;border-radius:10px;border:1px solid #e2e8f0;min-height:0;padding:24px;overflow-y:auto;height:100%;box-sizing:border-box}.no-selection{display:flex;align-items:center;justify-content:center;height:300px;color:#a0aec0;font-size:.95rem}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.detail-header h2{margin:0 0 4px;color:#1a365d;font-size:1.4rem}.detail-description{margin:0;color:#718096;font-size:.9rem}.detail-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.summary-card{padding:14px 16px;border-radius:8px;display:flex;flex-direction:column;gap:4px}.summary-card.credit{background:#f0fff4;border:1px solid #9ae6b4}.summary-card.debit{background:#fff5f5;border:1px solid #feb2b2}.summary-card.balance{background:#ebf8ff;border:1px solid #90cdf4}.summary-card .label{font-size:.78rem;color:#718096;text-transform:uppercase;letter-spacing:.04em}.summary-card .amount{font-size:1.1rem;font-weight:700;color:#1a365d}.imprests-section h3{font-size:1rem;color:#4a5568;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.imprest-block{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:16px}.imprest-block-header{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.imprest-block-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.imprest-block-clickable:hover .imprest-block-title h4{color:#3182ce}.imprest-chevron{font-size:1.1rem;color:#a0aec0;transition:transform .2s;display:inline-block;line-height:1}.imprest-chevron.open{transform:rotate(90deg);color:#3182ce}.txn-count{font-size:.75rem;color:#a0aec0;background:#edf2f7;padding:1px 7px;border-radius:10px}.imprest-block-title{display:flex;align-items:center;gap:10px}.imprest-block-title h4{margin:0;color:#1a365d;font-size:.95rem}.source-tag{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:12px;background:#e2e8f0;color:#4a5568;text-transform:capitalize}.imprest-block-amounts{display:flex;align-items:center;gap:8px;font-size:.82rem;flex-wrap:wrap;padding-left:2px}.imprest-block-amounts .credit{color:#2f855a;font-weight:600}.imprest-block-amounts .debit{color:#c53030;font-weight:600}.imprest-block-amounts .positive{color:#2f855a;font-weight:600}.imprest-block-amounts .negative{color:#c53030;font-weight:600}.imprest-block-amounts .separator{color:#cbd5e0}.imprest-assignees{font-size:.8rem;color:#718096;margin-bottom:10px}.no-data-inline{color:#a0aec0;font-size:.85rem;margin:8px 0 0}.transactions-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:10px}.transactions-table.compact{font-size:.82rem}.transactions-table th{background:#edf2f7;color:#4a5568;text-align:left;padding:8px 10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0}.transactions-table td{padding:8px 10px;border-bottom:1px solid #f0f4f8;color:#2d3748}.transactions-table tr:hover td{background:#f7fafc}.transactions-table tr.selected td{background:#ebf8ff}.transactions-table tbody tr{cursor:pointer}.transactions-table tfoot td{font-weight:700;padding-top:10px;color:#1a365d;border-top:2px solid #e2e8f0;border-bottom:none}.transactions-table .total-label{text-align:right;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.debit{color:#c53030;font-weight:600}.categories-cell{position:relative;white-space:nowrap}.categories-in-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.category-tag{display:inline-flex;align-items:center;gap:3px;background:#ebf8ff;color:#2b6cb0;border:1px solid #bee3f8;border-radius:999px;padding:2px 8px 2px 10px;font-size:.75rem;font-weight:500;white-space:nowrap}.remove-tag-btn{background:none;border:none;color:#718096;cursor:pointer;font-size:.9rem;padding:0;line-height:1;margin-left:2px}.remove-tag-btn:hover{color:#e53e3e}.add-category-btn{background:none;border:1px dashed #a0aec0;color:#718096;border-radius:999px;width:22px;height:22px;font-size:1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:border-color .2s,color .2s}.add-category-btn:hover{border-color:#3182ce;color:#3182ce}.category-popover{position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:100;min-width:160px;max-height:200px;overflow-y:auto;padding:4px}.category-popover-item{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 12px;font-size:.875rem;color:#2d3748;cursor:pointer;border-radius:6px;transition:background .15s}.category-popover-item:hover{background:#ebf8ff;color:#2b6cb0}.category-popover-empty{display:block;padding:8px 12px;font-size:.8rem;color:#a0aec0;font-style:italic}.has-receipt{font-size:1rem}.no-receipt{color:#cbd5e0}.transaction-image-preview{margin-top:12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#edf2f7;border-bottom:1px solid #e2e8f0}.preview-header h4{margin:0;font-size:.88rem;color:#2d3748}.close-preview-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#718096;line-height:1;padding:0 4px}.close-preview-btn:hover{color:#1a365d}.preview-content{padding:14px;text-align:center}.preview-content img{max-width:100%;max-height:400px;border-radius:4px;cursor:pointer}.preview-content .pdf-preview{width:100%;height:400px;border:none}.no-image-message{color:#a0aec0;font-size:.85rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px}.loading-container.small{padding:20px}.spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#3182ce;border-radius:50%;animation:spin .7s linear infinite}.no-data{text-align:center;padding:40px 20px;color:#a0aec0}@media(max-width:900px){.projects-page{height:auto;overflow:visible}.projects-layout{grid-template-columns:1fr;overflow:visible;flex:none}.projects-list-panel,.project-detail-panel{height:auto;overflow:visible}.detail-summary{grid-template-columns:1fr 1fr}.imprest-block-header{flex-direction:column}}@media(max-width:600px){.projects-page{padding:16px}.detail-summary{grid-template-columns:1fr}}.imprest-block-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.imprest-menu-wrapper{position:relative;display:inline-flex;flex-shrink:0}.imprest-menu-btn{background:none;border:none;color:#a0aec0;border-radius:6px;width:28px;height:28px;font-size:1.2rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:background .15s,color .15s}.imprest-menu-btn:hover:not(:disabled){background:#edf2f7;color:#2d3748}.imprest-menu-btn:disabled{opacity:.4;cursor:not-allowed}.imprest-menu-popover{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:200;min-width:200px;max-height:260px;overflow-y:auto;padding:6px}.move-popover-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#a0aec0;padding:4px 8px 6px;margin:0}.move-popover-item{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 10px;font-size:.875rem;color:#2d3748;cursor:pointer;border-radius:6px;transition:background .15s}.move-popover-item:hover{background:#ebf8ff;color:#2b6cb0}.move-popover-item.unlink{color:#c53030}.move-popover-item.unlink:hover{background:#fff5f5}.move-popover-divider{height:1px;background:#e2e8f0;margin:4px 0}.move-popover-empty{display:block;padding:8px 10px;font-size:.8rem;color:#a0aec0;font-style:italic}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box{background:#fff;border-radius:12px;width:440px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;font-size:1.1rem;color:#1a365d}.modal-close-btn{background:none;border:none;font-size:1.4rem;color:#718096;cursor:pointer;line-height:1;padding:0 4px}.modal-close-btn:hover{color:#1a365d}.modal-sub{margin:0;padding:14px 24px 10px;font-size:.9rem;color:#4a5568}.modal-project-list{flex:1;overflow-y:auto;padding:4px 12px}.modal-project-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px;background:none;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s;gap:12px}.modal-project-item:hover:not(:disabled){border-color:#3182ce;background:#ebf8ff}.modal-project-item:disabled{opacity:.5;cursor:not-allowed}.modal-project-name{font-size:.9rem;color:#1a365d;font-weight:500}.modal-empty{text-align:center;color:#a0aec0;font-size:.9rem;padding:24px 0}.modal-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid #e2e8f0;gap:10px}.modal-unlink-btn{background:none;border:1px solid #fc8181;color:#c53030;border-radius:6px;padding:8px 14px;font-size:.85rem;cursor:pointer;transition:background .15s}.modal-unlink-btn:hover:not(:disabled){background:#fff5f5}.modal-unlink-btn:disabled{opacity:.5;cursor:not-allowed}.modal-cancel-btn{background:#edf2f7;border:none;color:#4a5568;border-radius:6px;padding:8px 16px;font-size:.85rem;cursor:pointer;transition:background .15s}.modal-cancel-btn:hover{background:#e2e8f0}.po-page{padding:24px;display:flex;flex-direction:column;gap:16px;min-height:100%;background:#f1f5f9}.po-hero-row{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.po-hero-card{border-radius:14px;padding:28px 32px;position:relative;overflow:hidden}.po-hero-card.primary{background:linear-gradient(135deg,#1a365d,#2c5282 60%,#2b4c8c);color:#fff;box-shadow:0 8px 32px #1a365d59}.po-hero-card.primary:after{content:"";position:absolute;top:-40px;right:-40px;width:200px;height:200px;background:#ffffff0d;border-radius:50%}.po-hero-card.secondary{background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 12px #0000000f}.po-hero-pill{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;color:#ffffffbf}.po-hero-pill.muted{color:#a0aec0}.po-hero-amount{font-size:2.6rem;font-weight:800;letter-spacing:-.02em;color:#fff;margin-bottom:8px;font-variant-numeric:tabular-nums}.po-hero-amount.dim{color:#1a365d}.po-hero-sub{font-size:.82rem;color:#fff9;margin-bottom:16px}.po-hero-src{font-family:monospace;color:#ffffffe6;font-size:.8rem}.po-hero-card.secondary .po-hero-sub{color:#718096;margin-bottom:0}.po-hero-indicators{display:flex;gap:16px;flex-wrap:wrap}.po-ind{display:flex;align-items:center;gap:5px;font-size:.75rem;color:#ffffffa6}.po-ind-dot{width:7px;height:7px;border-radius:50%}.po-ind-dot.green{background:#22c55e;box-shadow:0 0 6px #22c55e}.po-ind-dot.blue{background:#60a5fa;box-shadow:0 0 6px #60a5fa}.po-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.po-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px;box-shadow:0 1px 6px #0000000d}.po-stat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.po-stat-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.po-stat-icon{font-size:1.1rem}.po-stat-value{font-size:1.45rem;font-weight:800;color:#1e293b;letter-spacing:-.01em;margin-bottom:4px;font-variant-numeric:tabular-nums}.po-stat-value.numeric{font-size:2rem}.po-stat-value.green{color:#16a34a}.po-stat-value.red{color:#dc2626}.po-stat-sub{font-size:.75rem;color:#94a3b8}.po-main{display:grid;grid-template-columns:1fr 240px;gap:16px;align-items:start}.po-content-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 6px #0000000d;overflow:hidden;min-height:420px}.po-panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #f1f5f9;background:#0f172a}.po-panel-header h2{margin:0 0 2px;font-size:1rem;font-weight:700;color:#f1f5f9}.po-panel-header p{margin:0;font-size:.78rem;color:#64748b}.po-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 24px;color:#94a3b8;text-align:center}.po-empty-icon{font-size:2.5rem}.po-empty p{font-size:.88rem;max-width:280px}.po-table-wrap{overflow-x:auto}.po-table{width:100%;border-collapse:collapse;font-size:.84rem}.po-table thead tr{background:#0f172a}.po-table th{padding:11px 16px;text-align:left;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;white-space:nowrap;border-bottom:1px solid #1e293b}.po-table td{padding:12px 16px;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.po-table tbody tr:last-child td{border-bottom:none}.po-table tbody tr:hover td{background:#f8fafc}.td-mono{font-family:monospace;font-size:.8rem;color:#64748b}.td-desc{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-amount{font-weight:700;font-variant-numeric:tabular-nums;color:#1e293b;text-align:right}.po-sub-row td{padding:0!important;background:#f8fafc}.po-sub-wrap{padding:12px 20px;overflow-x:auto}.po-sub-table thead tr{background:#1e293b}.po-sub-table th{font-size:.68rem}.po-sub-table td{font-size:.8rem;background:#f8fafc}.po-expand-btn{background:none;border:1px solid #e2e8f0;border-radius:4px;padding:2px 8px;font-size:.72rem;color:#94a3b8;cursor:pointer;transition:background .15s}.po-expand-btn:hover{background:#f1f5f9}.po-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:middle}.po-status-txt{font-size:.8rem;font-weight:600;vertical-align:middle}.po-status-txt.pending{color:#d97706}.po-status-txt.processing{color:#2563eb}.po-status-txt.completed{color:#16a34a}.po-status-txt.failed{color:#dc2626}.po-status-txt.expired{color:#6b7280}.po-status-txt.cancelled{color:#9ca3af}.po-type-badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:.7rem;font-weight:700;white-space:nowrap}.po-type-badge.payroll{background:#dbeafe;color:#1d4ed8}.po-type-badge.single{background:#dcfce7;color:#15803d}.po-type-badge.b2b{background:#ede9fe;color:#6d28d9}.po-nav-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 6px #0000000d;overflow:hidden}.po-nav-header{padding:14px 16px 10px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8;background:#0f172a;border-bottom:1px solid #1e293b}.po-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:13px 16px;background:none;border:none;border-bottom:1px solid #f1f5f9;cursor:pointer;text-align:left;transition:background .15s;color:#475569}.po-nav-item:hover{background:#f8fafc;color:#1e293b}.po-nav-item.active{background:#eff6ff;color:#1d4ed8;border-left:3px solid #3b82f6}.po-nav-icon{font-size:1rem;flex-shrink:0}.po-nav-label{font-size:.875rem;font-weight:500;flex:1}.po-nav-count{background:#1d4ed8;color:#fff;font-size:.68rem;font-weight:700;padding:1px 6px;border-radius:10px}.po-nav-arrow{color:#cbd5e1;font-size:1.1rem}.po-nav-mini-stats{padding:12px 16px;display:flex;flex-direction:column;gap:7px;border-top:1px solid #f1f5f9;background:#f8fafc}.po-mini-stat{display:flex;align-items:center;gap:7px;font-size:.78rem;color:#64748b}.po-mini-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.po-form{padding:24px;display:flex;flex-direction:column;gap:18px}.po-form.narrow{max-width:480px}.po-field{display:flex;flex-direction:column;gap:6px}.po-field label{font-size:.82rem;font-weight:600;color:#475569}.po-field input,.po-field textarea{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;color:#1e293b;background:#f8fafc;transition:border-color .2s,background .2s;font-family:inherit}.po-field input:focus,.po-field textarea:focus{outline:none;border-color:#3b82f6;background:#fff}.po-field textarea{resize:vertical;min-height:78px}.po-field-error{color:#dc2626;font-size:.8rem;margin:0}.po-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:22px 20px;border:2px dashed #cbd5e1;border-radius:10px;cursor:pointer;background:#f8fafc;transition:all .2s;text-align:center}.po-drop-zone:hover{border-color:#3b82f6;background:#eff6ff}.po-drop-zone.loaded{border-color:#16a34a;background:#f0fdf4;border-style:solid}.po-drop-zone input{display:none}.po-drop-icon{font-size:1.7rem}.po-drop-main{font-size:.88rem;font-weight:600;color:#334155}.po-drop-hint{font-size:.75rem;color:#94a3b8}.po-csv-meta{display:flex;justify-content:space-between;font-size:.82rem;color:#64748b;padding:8px 0;border-top:1px solid #f1f5f9}.po-csv-meta strong{color:#16a34a}.po-preview{padding:11px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:.875rem;color:#1d4ed8}.po-toggle-group{display:flex;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;width:fit-content}.po-toggle-opt{padding:9px 22px;border:none;background:#f8fafc;color:#475569;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.po-toggle-opt:first-child{border-right:1px solid #e2e8f0}.po-toggle-opt.active{background:#1e293b;color:#fff;font-weight:600}.po-toggle-opt:hover:not(.active){background:#f1f5f9}.po-form-footer{display:flex;align-items:center;gap:14px;padding-top:8px;border-top:1px solid #f1f5f9;margin-top:4px}.po-initiate-btn{padding:11px 24px;background:#1e293b;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .2s,transform .1s;letter-spacing:.01em}.po-initiate-btn:hover:not(:disabled){background:#0f172a}.po-initiate-btn:active:not(:disabled){transform:scale(.98)}.po-initiate-btn:disabled{background:#cbd5e1;cursor:not-allowed}.po-hint{font-size:.78rem;color:#94a3b8}.pin-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pin-modal{background:#fff;border-radius:16px;width:100%;max-width:440px;box-shadow:0 24px 64px #0000004d;overflow:hidden}.pin-modal-head{background:#0f172a;padding:24px 28px 20px;text-align:center}.pin-lock-icon{font-size:2.2rem;display:block;margin-bottom:8px}.pin-modal-head h2{margin:0;color:#f1f5f9;font-size:1.05rem}.pin-modal-body{padding:24px 28px 28px}.pin-desc{font-size:.875rem;color:#475569;line-height:1.6;margin:0 0 18px}.pin-payout-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px;margin-bottom:18px;display:flex;flex-direction:column;gap:8px}.pin-summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.psr-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-weight:600}.psr-val{font-size:.875rem;color:#334155;text-align:right}.psr-amount{font-size:1.05rem;font-weight:800;color:#1e293b}.pin-timer-bar{display:flex;align-items:center;gap:7px;font-size:.875rem;color:#475569;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:9px 12px;margin-bottom:18px}.pin-timer-bar.urgent{background:#fef2f2;border-color:#fecaca;color:#dc2626}.pin-clock{font-size:1rem;font-family:monospace;margin-left:auto}.pin-input{width:100%;box-sizing:border-box;text-align:center;font-size:2.2rem;font-family:monospace;letter-spacing:.6em;padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#1e293b;margin-bottom:20px;transition:border-color .2s}.pin-input:focus{outline:none;border-color:#3b82f6;background:#fff}.po-min-notice{font-size:12px;color:#6b7280;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:7px 12px;margin-bottom:12px}.po-min-notice strong{color:#374151}.pin-error{color:#dc2626;font-size:13px;text-align:center;margin:4px 0 0}.pin-modal-actions{display:flex;gap:10px}.pin-cancel-btn{flex:1;padding:11px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#475569;font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s}.pin-cancel-btn:hover{background:#f8fafc}.pin-auth-btn{flex:2;padding:11px;border:none;border-radius:8px;background:#1e293b;color:#fff;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .2s}.pin-auth-btn:hover:not(:disabled){background:#0f172a}.pin-auth-btn:disabled{background:#94a3b8;cursor:not-allowed}.pin-expired-body{text-align:center;padding:8px 0 4px}.pin-expired-body p{color:#64748b;font-size:.875rem;line-height:1.6;margin-bottom:10px}.pin-expired-body .pin-cancel-btn{width:100%;margin-top:8px}.po-inline-phone{width:100%;max-width:180px;padding:6px 9px;border:1px solid #e2e8f0;border-radius:6px;font-size:.82rem;font-family:monospace;color:#1e293b;background:#f8fafc;transition:border-color .2s}.po-inline-phone:focus{outline:none;border-color:#3b82f6;background:#fff}.po-inline-phone.invalid{border-color:#f87171;background:#fff5f5}.po-contact-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:700;white-space:nowrap}.po-contact-badge.matched{background:#dcfce7;color:#15803d}.po-contact-badge.missing{background:#fef2f2;color:#dc2626}.po-meta-warn{color:#d97706;font-weight:600}.po-phone-hint{font-size:.8rem;color:#64748b;margin:0}.po-link-btn{background:none;border:none;padding:0;color:#2563eb;font-size:.8rem;cursor:pointer;text-decoration:underline}.po-link-btn:hover{color:#1d4ed8}.po-contacts-section{display:flex;flex-direction:column;gap:14px;padding-bottom:20px;border-bottom:1px solid #f1f5f9}.po-section-title{margin:0;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.po-contacts-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:end}.po-label-opt{font-weight:400;color:#94a3b8;font-size:.75rem}.po-add-contact-btn{align-self:flex-start;padding:9px 20px;background:#1e293b;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s}.po-add-contact-btn:hover{background:#0f172a}.po-contacts-count{font-size:.78rem;color:#94a3b8;padding:8px 0 4px}.po-del-btn{background:none;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-size:.75rem;padding:3px 8px;cursor:pointer;transition:background .15s}.po-del-btn:hover{background:#fef2f2}.po-txp-section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;padding-bottom:4px;border-bottom:1px solid #f1f5f9;margin-bottom:-4px}.po-txp-select{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;color:#1e293b;background:#f8fafc;font-family:inherit;cursor:pointer;transition:border-color .2s,background .2s}.po-txp-select:focus{outline:none;border-color:#3b82f6;background:#fff}.po-txp-loading{font-size:.85rem;color:#94a3b8;padding:10px 0}.po-txp-search{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;color:#1e293b;background:#f8fafc;font-family:inherit;transition:border-color .2s,background .2s}.po-txp-search:focus{outline:none;border-color:#3b82f6;background:#fff}.po-txp-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0000001f;max-height:220px;overflow-y:auto;z-index:200}.po-txp-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .12s}.po-txp-option:last-child{border-bottom:none}.po-txp-option:hover{background:#f8fafc}.po-txp-option.selected{background:#eff6ff}.po-txp-opt-name{font-size:.875rem;font-weight:500;color:#1e293b;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.po-txp-opt-proj{color:#94a3b8;font-weight:400}.po-txp-opt-bal{font-size:.8rem;font-weight:700;color:#16a34a;white-space:nowrap;font-variant-numeric:tabular-nums}.po-txp-no-results{padding:14px;font-size:.85rem;color:#94a3b8;text-align:center}.pin-modal.wide{max-width:540px}.po-txn-record-form{display:flex;flex-direction:column;gap:14px}.po-txn-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.po-vat-row{display:flex;align-items:center;gap:12px}.po-vat-label{font-size:.82rem;font-weight:600;color:#475569;flex:1}.po-vat-toggle{padding:5px 16px;border-radius:20px;border:2px solid #e2e8f0;font-size:.75rem;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:all .2s;background:#f1f5f9;color:#94a3b8}.po-vat-toggle.on{background:#dcfce7;border-color:#16a34a;color:#15803d}.po-vat-toggle.off{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8}.po-txn-totals{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px;display:flex;flex-direction:column;gap:6px}.po-txn-total-row{display:flex;justify-content:space-between;font-size:.83rem;color:#64748b}.po-txn-total-row.vat{color:#d97706}.po-txn-total-row.grand{font-size:.92rem;font-weight:800;color:#1e293b;border-top:1px solid #e2e8f0;padding-top:6px;margin-top:2px}.po-txn-total-row.grand.mismatch{color:#dc2626}.po-txn-mismatch{font-size:.75rem;font-weight:600;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:5px 10px;margin-top:4px}.po-txn-receipt-note{margin-top:14px;padding:10px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;font-size:.83rem;color:#15803d}.po-action-required{margin:0;background:#fff7ed;border-bottom:1px solid #fed7aa}.po-ar-header{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:.82rem;color:#c2410c;border-bottom:1px solid #fed7aa}.po-ar-icon{font-size:1rem}.po-ar-count{margin-left:auto;font-size:.75rem;color:#9a3412}.po-ar-item{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid #ffedd5}.po-ar-item:last-child{border-bottom:none}.po-ar-info{flex:1;min-width:0}.po-ar-label{font-size:.85rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.po-ar-meta{font-size:.75rem;color:#94a3b8;margin-top:2px}.po-ar-amount{font-size:.88rem;font-weight:700;color:#1e293b;white-space:nowrap;font-variant-numeric:tabular-nums}.po-ar-retry-btn{padding:5px 14px;background:#c2410c;color:#fff;border:none;border-radius:6px;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s}.po-ar-retry-btn:hover{background:#9a3412}.po-success-banner{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;font-size:.875rem;font-weight:600;padding:12px 20px;border-radius:8px;margin:0 0 4px}.po-nav-count.alert{background:#dc2626}@media(max-width:1100px){.po-stats-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.po-hero-row,.po-main{grid-template-columns:1fr}.po-nav-panel{display:grid;grid-template-columns:repeat(4,1fr)}.po-nav-header,.po-nav-mini-stats{display:none}}@media(max-width:600px){.po-page{padding:12px;gap:12px}.po-stats-row,.po-nav-panel{grid-template-columns:repeat(2,1fr)}.pin-modal{margin:16px}}.users-page{padding:24px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{color:#1a365d;margin:0 0 4px;font-size:1.75rem}.page-header p{color:#718096;margin:0}.create-button{background:#1a365d;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s}.create-button:hover{background:#2c5282}.error-banner{background:#fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;margin-bottom:24px}.users-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.no-data{padding:48px;text-align:center;color:#718096}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:16px 20px;text-align:left;border-bottom:1px solid #e2e8f0}.users-table th{background:#f7fafc;color:#4a5568;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.users-table td{font-size:.95rem;color:#2d3748}.users-table tbody tr:hover{background:#f7fafc}.user-cell{display:flex;align-items:center;gap:12px}.user-avatar{width:36px;height:36px;background:#3182ce;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.role-badge{font-size:.75rem;padding:4px 10px;border-radius:4px;font-weight:600;text-transform:uppercase}.role-badge.admin{background:#faf5ff;color:#805ad5}.role-badge.staff{background:#e6fffa;color:#319795}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:#718096}.spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#1a365d;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:#fff;border-radius:12px;width:100%;max-width:450px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;color:#1a365d;font-size:1.25rem}.close-button{background:none;border:none;font-size:1.5rem;color:#718096;cursor:pointer;padding:0;line-height:1}.close-button:hover{color:#1a365d}.modal-form{padding:24px;display:flex;flex-direction:column;gap:20px}.form-error{background:#fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;font-size:.9rem}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.9rem;font-weight:500;color:#4a5568}.form-group input,.form-group select{padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.form-group .hint{font-size:.8rem;color:#a0aec0}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.cancel-button{padding:12px 24px;border:1px solid #e2e8f0;background:#fff;color:#4a5568;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s}.cancel-button:hover{background:#f7fafc}.submit-button{padding:12px 24px;border:none;background:#1a365d;color:#fff;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s}.submit-button:hover:not(:disabled){background:#2c5282}.submit-button:disabled{background:#a0aec0;cursor:not-allowed}.super-admin-hint{font-size:.7rem;font-weight:400;color:#a0aec0;text-transform:none;letter-spacing:0}.toggle-switch{position:relative;display:inline-flex;width:42px;height:24px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;inset:0;background:#e2e8f0;border-radius:999px;transition:background .2s}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background:#1a365d}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.settings-page{padding:24px}.settings-page-header{margin-bottom:28px}.settings-page-header h1{color:#1a365d;margin:0 0 4px;font-size:1.75rem}.settings-page-header p{color:#718096;margin:0}.settings-body{display:flex;gap:24px;align-items:flex-start}.settings-nav{width:200px;flex-shrink:0;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:8px;display:flex;flex-direction:column;gap:2px}.settings-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;background:none;border:none;border-radius:8px;font-size:.925rem;font-weight:500;color:#4a5568;cursor:pointer;text-align:left;transition:background .15s,color .15s}.settings-nav-item:hover{background:#f7fafc;color:#1a365d}.settings-nav-item.active{background:#ebf8ff;color:#2b6cb0}.settings-nav-icon{font-size:1rem}.settings-content{flex:1}.settings-section{display:flex;flex-direction:column;gap:16px}.settings-section-title{margin:0;font-size:1.1rem;font-weight:600;color:#1a365d}.settings-section-desc{margin:-8px 0 0;font-size:.875rem;color:#718096}.settings-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px 24px}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.settings-row-label{font-size:.95rem;font-weight:500;color:#2d3748;margin-bottom:2px}.settings-row-hint{font-size:.8rem;color:#a0aec0}.theme-toggle-pill{padding:9px 20px;background:#edf2f7;border:1px solid #e2e8f0;border-radius:999px;font-size:.875rem;color:#4a5568;cursor:pointer;white-space:nowrap;transition:background .2s}.theme-toggle-pill:hover{background:#e2e8f0}.cat-add-row{display:flex;gap:10px}.cat-input{flex:1;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.cat-input:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.cat-add-btn{padding:10px 20px;background:#1a365d;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.cat-add-btn:hover:not(:disabled){background:#2c5282}.cat-add-btn:disabled{background:#a0aec0;cursor:not-allowed}.cat-error{margin:10px 0 0;font-size:.875rem;color:#c53030}.cat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.cat-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f4f8;font-size:.9rem;color:#2d3748}.cat-item:last-child{border-bottom:none;padding-bottom:0}.cat-item:first-child{padding-top:0}.cat-name{font-weight:500}.cat-remove-btn{background:none;border:none;color:#e53e3e;font-size:.8rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s}.cat-remove-btn:hover{background:#fff5f5}.cat-locked-notice{padding:12px 16px;background:#fffbeb;border:1px solid #f6e05e;border-radius:8px;font-size:.875rem;color:#744210}.cat-empty,.cat-loading{color:#a0aec0;font-style:italic;font-size:.875rem;margin:0;text-align:center;padding:8px 0}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}a{text-decoration:none}button,input{font-family:inherit}
