:root{--color-text:#fbf8da;--color-accent:#d5ab16;--color-accent-hover:#c39a14;--color-card-bg:rgba(65,83,97,.09);--color-border:rgba(73,94,109,.2);--color-danger:#ef4444;--color-success:#22c55e;--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:16px}.modal-overlay,.propexp-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:propexpFadeIn .2s ease-out}.expense-modal,.propexp-modal{background:rgba(42,53,65,.98);border:1px solid rgba(213,171,22,.3);border-radius:16px;width:100%;max-width:550px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:propexpSlideIn .3s ease-out;overflow:hidden;position:relative;z-index:10000}@keyframes propexpFadeIn{0%{opacity:0}to{opacity:1}}@keyframes propexpSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-overlay,.propexp-overlay{isolation:isolate}.propexp-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid hsla(55,80%,92%,.1)}.propexp-header h2{font-size:24px;font-weight:700;color:#fbf8da;margin:0}.propexp-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid hsla(55,80%,92%,.2);border-radius:50%;color:hsla(55,80%,92%,.6);cursor:pointer;transition:all .2s ease;font-size:20px}.propexp-close:hover{background:hsla(55,80%,92%,.1);border-color:hsla(55,80%,92%,.4);color:#fbf8da;transform:rotate(90deg)}.propexp-error{padding:12px 16px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444;margin:0 24px 16px;border-radius:8px;font-size:14px}.propexp-form{display:flex;flex-direction:column;flex:1 1;overflow:hidden}.propexp-body{flex:1 1;overflow-y:auto;padding:24px;gap:20px}.propexp-body,.propexp-field{display:flex;flex-direction:column}.propexp-field{gap:8px}.propexp-label{font-size:14px;font-weight:500;color:hsla(55,80%,92%,.8);display:flex;align-items:center;gap:8px}.propexp-label svg{font-size:16px;flex-shrink:0}.propexp-label.propexp-required:after{content:"*";color:#ef4444;margin-left:2px}.propexp-input,.propexp-textarea{padding:10px 12px;background:rgba(65,83,97,.15);border:1px solid hsla(55,80%,92%,.2);border-radius:8px;color:#fbf8da;font-size:14px;transition:all .2s ease;font-family:inherit}.propexp-input::placeholder,.propexp-textarea::placeholder{color:hsla(55,80%,92%,.4)}.propexp-input:hover,.propexp-textarea:hover{border-color:hsla(55,80%,92%,.3);background:rgba(65,83,97,.2)}.propexp-input:focus,.propexp-textarea:focus{outline:none;border-color:#d5ab16;background:rgba(65,83,97,.25)}.propexp-input[type=select],select.propexp-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23fbf8da' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.propexp-input option{background:#2a3540;color:#fbf8da;padding:8px}.propexp-textarea{resize:vertical;min-height:80px}.propexp-amount-wrapper{position:relative;display:flex;align-items:center}.propexp-dollar{position:absolute;left:12px;color:hsla(55,80%,92%,.6);font-weight:600;pointer-events:none;z-index:1}.propexp-amount{padding-left:32px!important}.propexp-input[type=number]::-webkit-inner-spin-button,.propexp-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.propexp-input[type=number]{-moz-appearance:textfield}.propexp-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-top:1px solid hsla(55,80%,92%,.1);background:rgba(65,83,97,.05);gap:16px}.propexp-actions{gap:12px}.propexp-actions,.propexp-btn{display:flex;align-items:center}.propexp-btn{gap:8px;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;white-space:nowrap;min-height:44px;justify-content:center}.propexp-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.propexp-btn-primary{background:var(--color-accent,#d5ab16);border:1px solid var(--color-accent,#d5ab16);color:var(--color-background,#1f2937)}.propexp-btn-primary:hover:not(:disabled){background:#eab308;border-color:#eab308;transform:translateY(-1px);box-shadow:0 4px 12px rgba(213,171,22,.3)}.propexp-btn-secondary{background:transparent;border:1px solid hsla(55,80%,92%,.3);color:var(--color-text,#fbf8da)}.propexp-btn-secondary:hover:not(:disabled){background:hsla(55,80%,92%,.05);border-color:hsla(55,80%,92%,.5);transform:translateY(-1px)}.propexp-btn-danger{background:#dc2626;border:1px solid #dc2626;color:#fff}.propexp-btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px rgba(220,38,38,.3)}.propexp-body::-webkit-scrollbar{width:8px}.propexp-body::-webkit-scrollbar-track{background:transparent}.propexp-body::-webkit-scrollbar-thumb{background:rgba(213,171,22,.3);border-radius:4px}.propexp-body::-webkit-scrollbar-thumb:hover{background:rgba(213,171,22,.5)}.propexp-upload-area{border:2px dashed hsla(55,80%,92%,.3);border-radius:8px;padding:20px;text-align:center;background:rgba(65,83,97,.1);transition:all .2s ease}.propexp-upload-area:hover{border-color:hsla(55,80%,92%,.5);background:rgba(65,83,97,.15)}.propexp-upload-area.dragging{border-color:#d5ab16;border-style:solid;background:rgba(213,171,22,.1);transform:scale(1.02)}.propexp-upload-area.dragging .propexp-upload-icon{animation:bounce .5s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.propexp-upload-prompt{display:flex;flex-direction:column;align-items:center;gap:12px;color:hsla(55,80%,92%,.7)}.propexp-upload-icon{font-size:32px;color:hsla(55,80%,92%,.4)}.propexp-upload-note{font-size:12px;color:hsla(55,80%,92%,.4);margin:0}.propexp-upload-btn{background:#d5ab16;color:#212a31;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.propexp-upload-btn:hover{background:#c29a14}.propexp-uploaded-files{display:flex;flex-direction:column;gap:12px;text-align:left}.propexp-file-item{display:flex;align-items:center;gap:12px;padding:12px;background:rgba(65,83,97,.15);border:1px solid hsla(55,80%,92%,.1);border-radius:8px}.propexp-file-icon{font-size:20px;color:#d5ab16;flex-shrink:0}.propexp-file-info{flex:1 1;display:flex;flex-direction:column;gap:4px}.propexp-file-name{font-size:14px;font-weight:500;color:#fbf8da}.propexp-file-status{font-size:12px;color:hsla(55,80%,92%,.6)}.propexp-file-actions{display:flex;gap:6px}.propexp-file-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px}.propexp-file-btn.view{background:rgba(59,130,246,.15);color:#3b82f6}.propexp-file-btn.view:hover{background:rgba(59,130,246,.25)}.propexp-file-btn.download{background:rgba(34,197,94,.15);color:#22c55e}.propexp-file-btn.download:hover{background:rgba(34,197,94,.25)}.propexp-file-btn.remove{background:rgba(239,68,68,.15);color:#ef4444}.propexp-file-btn.remove:hover{background:rgba(239,68,68,.25)}.propexp-add-file-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(213,171,22,.1);border:1px solid rgba(213,171,22,.3);border-radius:6px;color:#d5ab16;font-size:14px;cursor:pointer;transition:all .2s ease}.propexp-add-file-btn:hover{background:rgba(213,171,22,.15);border-color:rgba(213,171,22,.4)}.invoice-indicator{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:rgba(34,197,94,.1);color:#22c55e;border-radius:4px;font-size:12px;margin-left:4px}.expense-actions{display:flex;align-items:center;gap:8px}.action-btn.download{background-color:rgba(59,130,246,.1);color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.action-btn.download:hover{background-color:rgba(59,130,246,.2);color:#2563eb}.modal-footer.propexp-footer{display:flex;align-items:center;justify-content:space-between;padding:24px;border-top:1px solid var(--color-border);background:rgba(65,83,97,.05)}.footer-left{flex:1 1}.footer-right{display:flex;align-items:center;gap:12px}.delete-button.propexp-delete{display:flex;align-items:center;gap:8px;padding:10px 16px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-button.propexp-delete:hover:not(:disabled){background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.5)}.delete-button.propexp-delete:disabled{opacity:.5;cursor:not-allowed}@media (max-width:600px){.propexp-modal{width:95%;max-height:95vh;border-radius:12px}.propexp-header{padding:16px 20px}.propexp-body{padding:20px;gap:16px}.propexp-footer{flex-direction:column;align-items:stretch;padding:12px 20px}.propexp-actions{width:100%;margin-left:0}.propexp-actions .propexp-btn{flex:1 1;justify-content:center}.propexp-header h2{font-size:20px}.propexp-file-item{flex-direction:column;align-items:stretch;gap:8px}.propexp-file-actions{justify-content:flex-end}.propexp-upload-area{padding:16px}}@media (max-width:400px){.propexp-modal{max-width:100%;border-radius:0}.propexp-footer,.propexp-header,.propexp_body{padding:12px 16px}.propexp-body{gap:12px}.propexp-input,.propexp-textarea{font-size:16px}}@media (max-width:768px){.expense-modal,.propexp-modal{max-width:100%;max-height:100vh;border-radius:0;margin:0}.propexp-header{padding:16px;position:-webkit-sticky;position:sticky;top:0;background:rgba(42,53,65,.98);z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.propexp-header h2{font-size:18px}.propexp-body{padding:16px;gap:16px}.form-grid{gap:12px}.propexp-field{gap:6px}.propexp-label{font-size:13px}.propexp-input,.propexp-textarea{font-size:16px;padding:12px}.propexp-footer{padding:16px;position:-webkit-sticky;position:sticky;bottom:0;background:rgba(42,53,65,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid hsla(55,80%,92%,.1)}.propexp-btn{padding:12px 18px;font-size:14px;min-height:44px}.type-toggle-group{gap:8px}.type-toggle-btn{flex:1 1;padding:12px 16px;font-size:14px;min-height:44px}.propexp-upload-area{padding:20px 16px}.propexp-file-item{padding:12px}}@media (max-width:430px){.propexp-header{padding:12px}.propexp-header h2{font-size:16px}.propexp-body{padding:12px;gap:12px}.propexp-footer{padding:12px;flex-direction:column;gap:8px}.footer-left,.footer-right,.propexp-actions{width:100%}.propexp-btn{width:100%;justify-content:center}.propexp-input,.propexp-textarea{font-size:16px;padding:10px}}@supports (padding:max(0px)){@media (max-width:768px){.expense-modal,.propexp-modal{padding-bottom:env(safe-area-inset-bottom)}.propexp-footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}}}@media (hover:none) and (pointer:coarse){.propexp-input,.propexp-textarea,select.propexp-input{font-size:16px!important}.propexp-btn,.propexp-close,.propexp-file-btn,.type-toggle-btn{min-height:44px;min-width:44px}.propexp-btn:hover,.propexp-close:hover,.type-toggle-btn:hover{transform:none}.propexp-btn:active,.type-toggle-btn:active{transform:scale(.98)}.propexp-close:active{transform:scale(.9)}}.type-toggle-group{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:8px}.type-toggle-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;background:rgba(65,83,97,.15);border:2px solid hsla(55,80%,92%,.2);border-radius:10px;color:hsla(55,80%,92%,.7);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.type-toggle-btn:hover:not(:disabled){border-color:hsla(55,80%,92%,.4);background:rgba(65,83,97,.25);transform:translateY(-1px)}.type-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.type-toggle-btn svg{font-size:18px;transition:transform .2s ease}.type-toggle-btn:hover:not(:disabled) svg{transform:scale(1.1)}.type-toggle-btn.active.income{background:rgba(34,197,94,.2);border-color:#22c55e;color:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.1)}.type-toggle-btn.active.income svg{color:#22c55e}.type-toggle-btn.active.expense{background:rgba(239,68,68,.2);border-color:#ef4444;color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}.type-toggle-btn.active.expense svg{color:#ef4444}.type-toggle-btn.active.income:hover:not(:disabled){background:rgba(34,197,94,.25);border-color:#16a34a}.type-toggle-btn.active.expense:hover:not(:disabled){background:rgba(239,68,68,.25);border-color:#dc2626}