*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;color:#333;background-color:#f5f5f5}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-header{background-color:#1a365d;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.app-header h1{font-size:1.5rem;font-weight:600}.auth-status{display:flex;align-items:center;gap:1rem;font-size:.875rem}.app-main{flex:1;padding:2rem;max-width:800px;margin:0 auto;width:100%}.expense-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-section{padding:1.5rem;border-bottom:1px solid #e2e8f0}.form-section:last-of-type{border-bottom:none}.form-section h2{font-size:1.125rem;font-weight:600;color:#1a365d;margin-bottom:1rem}.field-group{margin-bottom:1rem}.field-group:last-child{margin-bottom:0}.field-group label{display:block;font-size:.875rem;font-weight:500;color:#4a5568;margin-bottom:.25rem}.field-group input,.field-group select,.field-group textarea{width:100%;padding:.625rem .75rem;font-size:1rem;border:1px solid #cbd5e0;border-radius:4px;transition:border-color .2s,box-shadow .2s}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e133}.field-group input:disabled{background-color:#f7fafc;cursor:not-allowed}.field-loading{font-size:.75rem;color:#718096;margin-left:.5rem}.line-items-container{display:flex;flex-direction:column;gap:1rem}.line-item-row{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#f7fafc;border-radius:6px;border:1px solid #e2e8f0}.line-item-number{font-weight:600;color:#4a5568;min-width:1.5rem;padding-top:1.75rem}.line-item-fields{flex:1;display:grid;grid-template-columns:140px 120px 1fr auto;gap:.75rem;align-items:end}.amount-field{min-width:100px}.description-field{flex:1}.remove-item-btn{padding:.5rem .75rem;background:#fed7d7;color:#c53030;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .2s}.remove-item-btn:hover{background:#feb2b2}.line-items-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.total-amount{font-size:1.125rem;color:#1a365d}.attachment-section{margin-top:.5rem}.attachment-dropzone{border:2px dashed #cbd5e0;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:border-color .2s,background-color .2s}.attachment-dropzone:hover{border-color:#4299e1;background-color:#ebf8ff}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#718096}.dropzone-icon{font-size:2rem;color:#a0aec0}.attachment-error{color:#c53030;font-size:.875rem;margin-top:.5rem;padding:.5rem;background:#fed7d7;border-radius:4px}.attachment-list{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.attachment-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f7fafc;border-radius:4px;border:1px solid #e2e8f0}.attachment-info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.attachment-name{font-weight:500;word-break:break-all}.attachment-size{color:#718096;font-size:.875rem}.attachment-warning{color:#c53030;font-size:.75rem;background:#fed7d7;padding:.125rem .375rem;border-radius:3px}.attachment-remove{padding:.25rem .5rem;background:transparent;color:#c53030;border:1px solid #c53030;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .2s}.attachment-remove:hover{background:#fed7d7}.btn-primary{background-color:#2b6cb0;color:#fff;padding:.625rem 1.25rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary:hover{background-color:#2c5282}.btn-primary:disabled{background-color:#a0aec0;cursor:not-allowed}.btn-primary.btn-large{padding:1rem 2rem;font-size:1.125rem;width:100%}.btn-secondary{background-color:#edf2f7;color:#4a5568;padding:.625rem 1.25rem;border:1px solid #cbd5e0;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-secondary:hover{background-color:#e2e8f0}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-link{background:none;border:none;color:#90cdf4;text-decoration:underline;cursor:pointer;font-size:inherit}.btn-link:hover{color:#fff}.form-actions{padding:1.5rem;background:#f7fafc;border-top:1px solid #e2e8f0;border-radius:0 0 8px 8px}.submit-error{color:#c53030;padding:1rem;margin:0 1.5rem 1.5rem;background:#fed7d7;border-radius:4px;font-size:.875rem}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.dialog{background:#fff;border-radius:8px;max-width:400px;width:100%;box-shadow:0 4px 20px #0003}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0}.dialog-header h2{font-size:1.125rem;font-weight:600;color:#1a365d}.dialog-close{background:none;border:none;font-size:1.5rem;color:#718096;cursor:pointer;line-height:1}.dialog-close:hover{color:#4a5568}.dialog-content{padding:1.5rem}.dialog-content p{color:#718096;margin-bottom:1rem}.dialog-error{color:#c53030;font-size:.875rem;margin-top:.5rem;padding:.5rem;background:#fed7d7;border-radius:4px}.dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.confirmation-container{background:#fff;border-radius:8px;padding:3rem 2rem;text-align:center;box-shadow:0 2px 4px #0000001a}.confirmation-icon{width:80px;height:80px;border-radius:50%;background:#c6f6d5;color:#22543d;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 1.5rem}.confirmation-container h2{color:#22543d;margin-bottom:1rem}.confirmation-number{font-size:1.125rem;color:#4a5568;margin-bottom:.5rem}.confirmation-message{color:#718096;margin-bottom:2rem}.confirmation-actions{display:flex;justify-content:center}@media (max-width: 768px){.app-header,.app-main,.form-section{padding:1rem}.line-item-row{flex-direction:column;padding:.75rem}.line-item-number{padding-top:0;margin-bottom:.5rem}.line-item-fields{grid-template-columns:1fr;width:100%}.line-items-actions{flex-direction:column;gap:1rem;align-items:stretch}.total-amount{text-align:center}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}}
