:root{--bg-primary: #F9FAFB;--bg-white: #FFFFFF;--bg-input: #F3F3F5;--bg-tab: #ECECF0;--bg-income-light: #DCFCE7;--bg-expense-light: #FFE2E2;--bg-balance-light: #DBEAFE;--text-primary: #0A0A0A;--text-secondary: #4A5565;--text-tertiary: #717182;--text-quaternary: #6A7282;--color-primary: #155DFC;--color-income: #00A63E;--color-income-dark: #016630;--color-expense: #E7000B;--color-expense-dark: #9F0712;--color-button: #030213;--border-color: rgba(0, 0, 0, .1);--border-light: #D1D5DC}.signin-page{min-height:100vh;background-color:var(--bg-primary);display:flex;justify-content:center;align-items:center;padding:142.8px 355.6px}.signin-container{width:100%;max-width:448px}.signin-card{background:var(--bg-white);border:.8px solid var(--border-color);border-radius:14px;padding:24px}.signin-header{text-align:center;margin-bottom:24px}.signin-icon{width:56px;height:56px;background:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;padding:12px}.signin-title{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:16px;line-height:1em;color:var(--text-primary);margin-bottom:8px}.signin-description{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:16px;line-height:1.5em;color:var(--text-tertiary)}.signin-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:14px;line-height:1em;color:var(--text-primary)}.form-group input{width:100%;padding:4px 12px;background:var(--bg-input);border:.8px solid transparent;border-radius:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:14px;line-height:1.15em;color:var(--text-tertiary);outline:none}.form-group input:focus{border-color:var(--border-color)}.signin-button{width:100%;padding:8px 16px;background:var(--color-button);color:var(--bg-white);border:none;border-radius:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:14px;line-height:1.43em;cursor:pointer;margin-top:8px}.signin-button:hover{opacity:.9}.signin-link{text-align:center;margin-top:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;color:var(--text-tertiary)}.signin-link a{color:var(--color-primary);text-decoration:none}.signin-link a:hover{text-decoration:underline}@media (max-width: 768px){.signin-page{padding:0}.signin-container{min-height:100vh;padding:24px}.signin-card{width:100%;max-width:400px;padding:24px}.signin-title{font-size:24px}.signin-description{font-size:16px}}.dashboard{min-height:100vh;background-color:var(--bg-primary)}.dashboard-header{background:var(--bg-white);border-bottom:.8px solid var(--border-color);padding:16px 32px}.header-container{display:flex;justify-content:space-between;align-items:center;max-width:1144px;margin:0 auto}.header-left{display:flex;align-items:center;gap:12px}.logo{width:40px;height:40px;background:var(--color-primary);border-radius:10px;display:flex;align-items:center;justify-content:center;padding:8px}.header-info{display:flex;flex-direction:column;gap:0}.header-title{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:24px;line-height:1.5em;color:var(--text-primary);margin:0}.header-email{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:16px;line-height:1.5em;color:var(--text-secondary);margin:0}.logout-button{display:flex;align-items:center;gap:8px;padding:8px 12.8px;background:var(--bg-white);border:.8px solid var(--border-color);border-radius:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:14px;line-height:1.43em;color:var(--text-primary);cursor:pointer}.logout-button:hover{opacity:.8}.dashboard-content{max-width:1144px;margin:0 auto;padding:32px}.balance-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:32px}.balance-card{background:var(--bg-white);border:.8px solid var(--border-color);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:24px}.card-header{display:flex;justify-content:space-between;align-items:center}.card-title{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:16px;line-height:1em;color:var(--text-secondary)}.card-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.balance-icon{background:var(--bg-balance-light)}.income-icon{background:var(--bg-income-light)}.expense-icon{background:var(--bg-expense-light)}.card-content{display:flex;flex-direction:column;gap:4px}.card-amount{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:16px;line-height:1.5em}.balance-amount,.income-amount{color:var(--color-income)}.expense-amount{color:var(--color-expense)}.card-subtitle{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:16px;line-height:1.5em;color:var(--text-quaternary)}.transactions-section{display:flex;flex-direction:column;gap:32px}.tab-list{display:flex;justify-content:center;align-items:center;gap:0;background:var(--bg-tab);border-radius:14px;padding:4px;width:fit-content}.tab-button{display:flex;align-items:center;gap:6px;padding:4px 8px;background:transparent;border:.8px solid transparent;border-radius:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:14px;line-height:1.43em;color:var(--text-primary);cursor:pointer;white-space:nowrap}.tab-button.active{background:var(--bg-white);border-color:transparent}.tab-button:hover:not(.active){opacity:.7}.transaction-card{background:var(--bg-white);border:.8px solid var(--border-color);border-radius:14px;padding:24px}.card-header-section{margin-bottom:24px}.card-title-large{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:16px;line-height:1em;color:var(--text-primary);margin-bottom:8px}.card-description{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:16px;line-height:1.5em;color:var(--text-tertiary)}.transaction-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:14px;line-height:1em;color:var(--text-primary)}.form-field input,.form-field select{width:100%;padding:4px 12px;background:var(--bg-input);border:.8px solid transparent;border-radius:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:14px;line-height:1.15em;color:var(--text-tertiary);outline:none}.form-field input:focus,.form-field select:focus{border-color:var(--border-color)}.form-field input.error,.form-field select.error{border-color:#e7000b;background:#fff5f5}.form-field input.error:focus,.form-field select.error:focus{border-color:#e7000b;outline:none;box-shadow:0 0 0 2px #e7000b1a}.error-message{display:block;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:12px;line-height:1.33em;color:#e7000b;margin-top:4px}.form-field select{cursor:pointer;display:flex;align-items:center;justify-content:space-between}.date-input{color:var(--text-primary);cursor:pointer}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.date-input::-webkit-calendar-picker-indicator:hover{opacity:1}.submit-button{width:fit-content;padding:8px 16px;background:var(--color-button);color:var(--bg-white);border:none;border-radius:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:14px;line-height:1.43em;cursor:pointer;margin-top:8px}.submit-button:hover{opacity:.9}.transaction-table-container{border:.8px solid var(--border-color);border-radius:10px;overflow:hidden}.transaction-table{width:100%;border-collapse:collapse}.transaction-table thead{background:transparent}.transaction-table th{padding:8px;text-align:left;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:14px;line-height:1.43em;color:var(--text-primary);border-bottom:.8px solid var(--border-color)}.transaction-table th.text-right{text-align:right}.transaction-table tbody tr{border-bottom:.8px solid var(--border-color)}.transaction-table tbody tr:last-child{border-bottom:none}.transaction-table td{padding:13.2px 8px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:14px;line-height:1.43em;color:var(--text-primary)}.transaction-table td.text-right{text-align:right}.transaction-desc{display:flex;align-items:center;gap:8px}.transaction-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center}.badge{display:inline-block;padding:1.8px 8.8px;border-radius:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:12px;line-height:1.33em}.badge-outline{background:transparent;border:.8px solid var(--border-color);color:var(--text-primary)}.badge-income{background:var(--bg-income-light);border:.8px solid transparent;color:var(--color-income-dark)}.badge-expense{background:var(--bg-expense-light);border:.8px solid transparent;color:var(--color-expense-dark)}.amount-income{color:var(--color-income);font-weight:400}.amount-expense{color:var(--color-expense);font-weight:400}.action-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;margin:0 auto}.action-button:hover{opacity:.7}.action-button svg{display:block;width:16px;height:16px}.upload-section{display:flex;flex-direction:column;gap:24px}.upload-alert{display:flex;gap:16px;padding:16px;background:var(--bg-white);border:.8px solid var(--border-color);border-radius:10px}.alert-content{display:flex;flex-direction:column;gap:8px}.alert-title{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:14px;line-height:1.625em;color:var(--text-tertiary)}.code-block{background:#f3f4f6;border-radius:4px;padding:8px;font-family:Courier New,monospace;font-size:14px;line-height:1.43em;color:var(--text-tertiary)}.code-block code{display:block;font-family:Courier New,monospace}.upload-area{width:100%;min-height:167px;border:1.6px dashed var(--border-light);border-radius:10px;display:flex;align-items:center;justify-content:center;position:relative}.upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;cursor:pointer;width:100%;height:100%;padding:40px}.select-file-button{display:flex;align-items:center;gap:8px;padding:8px 12.8px;background:var(--bg-white);border:.8px solid var(--border-color);border-radius:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:14px;line-height:1.43em;color:var(--text-primary);cursor:pointer;pointer-events:none}.select-file-button:hover{opacity:.8}.select-file-button span{pointer-events:none}.upload-label{cursor:pointer}.upload-label:hover .select-file-button{opacity:.8}.error-alert,.success-alert{display:flex;gap:12px;padding:16px;border-radius:10px;margin-bottom:24px;position:relative;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.error-alert{background:#fff5f5;border:1px solid #FFE2E2}.success-alert{background:#f0fdf4;border:1px solid #DCFCE7}.error-icon,.success-icon{flex-shrink:0;width:20px;height:20px}.error-content,.success-content{flex:1}.error-title{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600;font-size:16px;line-height:1.2em;color:#e7000b;margin-bottom:8px}.error-message{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:14px;line-height:1.5em;color:#9f0712;white-space:pre-wrap;word-wrap:break-word;margin:0}.success-message{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;font-size:14px;line-height:1.5em;color:#00a63e;margin:0}.error-close,.success-close{position:absolute;top:12px;right:12px;background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.error-close:hover{background:#e7000b1a}.success-close:hover{background:#00a63e1a}.upload-label.loading{cursor:not-allowed;opacity:.7}.loading-spinner{width:32px;height:32px;border:3px solid var(--bg-input);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}.loading-text{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:14px;color:var(--text-tertiary)}@media (max-width: 1200px){.balance-overview,.form-row{grid-template-columns:1fr}.transaction-table{font-size:12px}.modal-content{padding:32px 24px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:var(--bg-white);border-radius:14px;padding:40px;max-width:400px;width:90%;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease-out;display:flex;flex-direction:column;align-items:center;text-align:center}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:16px;right:16px;background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background:var(--bg-input)}.modal-icon{display:flex;justify-content:center;margin-bottom:24px;animation:scaleIn .3s ease-out .1s both}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.modal-title{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600;font-size:24px;line-height:1.2em;color:var(--text-primary);text-align:center;margin-bottom:12px}.modal-message{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:16px;line-height:1.5em;color:var(--text-tertiary);text-align:center;margin:0 0 16px}.modal-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;background:var(--bg-income-light);border:1px solid rgba(0,166,62,.2);border-radius:8px;margin-top:8px}.modal-badge span{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;font-size:14px;line-height:1.43em;color:var(--color-income-dark)}.modal-icon-delete{margin-bottom:20px;animation:scaleIn .3s ease-out .1s both}.modal-buttons{display:flex;gap:12px;width:100%;margin-top:24px}.modal-button-cancel,.modal-button-delete{flex:1;padding:12px;font-size:16px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease}.modal-button-cancel{background-color:#f0f1f3;color:#0a0a0a;border:1px solid #D9DCE1}.modal-button-cancel:hover{background-color:#e4e5e7}.modal-button-delete{background-color:#e7000b;color:#fff}.modal-button-delete:hover{background-color:#c9000a}@media (max-width: 768px){.dashboard-header{padding:16px}.header-email{display:none}.header-title{font-size:20px}.dashboard-content{padding:16px}.balance-overview{grid-template-columns:1fr;gap:16px}.tab-list{flex-wrap:wrap;width:100%;justify-content:flex-start}.tab-button{flex-grow:1;justify-content:center}.form-row{grid-template-columns:1fr;gap:16px}.transaction-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.transaction-table{min-width:600px}.modal-content{padding:24px;width:95%}.modal-buttons{flex-direction:column}}@media (max-width: 768px){.tab-list{width:100%;overflow-x:auto;justify-content:flex-start;-ms-overflow-style:none;scrollbar-width:none}.tab-list::-webkit-scrollbar{display:none}.tab-button{flex-shrink:0}.transaction-card{overflow:hidden}}@media (max-width: 768px){.transaction-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.transaction-table{min-width:600px}}@media (max-width: 768px){.tab-list{width:100%;overflow-x:auto;justify-content:flex-start;-ms-overflow-style:none;scrollbar-width:none}.tab-list::-webkit-scrollbar{display:none}.tab-button{flex-shrink:0}.transaction-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.transaction-table{min-width:600px}.upload-alert{overflow-x:auto;-webkit-overflow-scrolling:touch}.alert-content{min-width:500px}.transaction-card{overflow:hidden}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#ffffffb3;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#0a0a0a;animation:fadeIn .2s ease-out}.loading-overlay p{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;font-size:1.1rem;margin-top:1rem}.overlay-spinner{width:50px;height:50px;border:5px solid #f0f1f3;border-top:5px solid #155DFC;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
