@font-face{font-family:Moco Sans;src:url(/fonts/mocoSans-Regular.ttf) format("truetype");font-weight:400;font-style:normal}:root{--color-primary: #c174db;--color-primary-rgb: 193, 116, 219;--color-bg-primary: #151b23;--color-bg-secondary: #212830;--color-text-primary: #d1d7e0;--color-text-secondary: #9ca3af;--color-text-white: #ffffff;--color-border: #2a3441;--color-expense: #ff4444;--color-expense-soft: #ff6b6b;--color-expense-text: #ffb3b3;--color-expense-bg: rgba(255, 107, 107, .1);--color-success: #51cf66;--color-success-bg: rgba(81, 207, 102, .1);--color-warning: #ffa500;--color-warning-bg: rgba(255, 200, 0, .1);--color-badge-bg: rgba(255, 255, 255, .05);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 24px rgba(0, 0, 0, .3);--shadow-focus: 0 0 0 3px rgba(var(--color-primary-rgb), .1);--shadow-hover: 0 4px 12px rgba(var(--color-primary-rgb), .3)}*{margin:0;padding:0;box-sizing:border-box;font-family:Moco Sans,system-ui,-apple-system,sans-serif;line-height:1.75}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);min-height:100dvh}#root{min-height:100dvh}.auth-container{display:flex;justify-content:center;align-items:start;min-height:100dvh;padding:24px;padding-block-start:64px}.auth-box{background-color:var(--color-bg-secondary);border-radius:12px;padding:36px 48px;width:100%;max-width:480px;box-shadow:var(--shadow-md)}.auth-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-block-end:32px}.auth-icon{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(var(--color-primary-rgb),.3))}.auth-title{font-size:32px;font-weight:600;margin:0;color:var(--color-text-white)}.auth-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group input{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-white);font-size:15px;padding:12px 16px;transition:all .2s ease}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:var(--color-expense-bg);border-left:3px solid var(--color-expense-soft);color:var(--color-expense-text);padding:12px 16px;border-radius:4px;font-size:14px;text-align:left;margin-block-start:12px}.auth-button{background-color:var(--color-primary);border:none;border-radius:8px;color:var(--color-text-white);cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s ease;margin-block-start:8px}.auth-button:hover:not(:disabled){opacity:.75;transform:translateY(-1px);box-shadow:var(--shadow-hover)}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-link{margin-block-start:24px;text-align:center;font-size:14px}.auth-link a{position:relative;text-decoration:none;color:var(--color-text-secondary);transition:color .3s ease}.auth-link a:after{content:"";position:absolute;inset:auto 0 -2px;block-size:2px;inline-size:0;background-color:var(--color-primary);transition:inline-size .3s ease}.auth-link a:hover{color:var(--color-primary)}.auth-link a:hover:after{inline-size:100%}.app-header{background-color:var(--color-bg-secondary);padding:20px 40px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm)}.header-logo{display:flex;align-items:center;gap:16px;text-decoration:none;cursor:pointer;transition:all .3s ease}.logo-icon{width:40px;height:40px;object-fit:contain;transition:transform .3s ease}.logo-title{font-size:28px;font-weight:600;margin:0;color:var(--color-text-white);transition:color .3s ease}.header-logo:hover .logo-icon{transform:rotate(15deg)}.header-logo:hover .logo-title{color:var(--color-primary)}.header-actions{display:flex;align-items:center;gap:24px}.logout-button{background-color:transparent;border:1px solid var(--color-primary);border-radius:8px;color:var(--color-primary);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease;display:flex;align-items:center;gap:8px}.logout-button:hover{background-color:var(--color-primary);color:var(--color-text-white);transform:translateY(-1px)}.logout-button:active{transform:translateY(0)}.logout-icon{width:20px;height:20px;object-fit:contain}.home-container{min-height:100dvh;display:flex;flex-direction:column}.home-content{flex:1;padding:48px 40px;max-width:1200px;width:100%;margin:0 auto}.home-content h2{font-size:32px;font-weight:600;margin:0 0 48px;color:var(--color-text-white)}.home-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px}.home-card{background-color:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:12px;padding:32px;text-decoration:none;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer}.home-card:not(.disabled):hover{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:var(--shadow-md)}.home-card.disabled{opacity:.5;cursor:not-allowed}.card-icon{width:64px;height:64px;object-fit:contain;margin-block-end:16px;filter:drop-shadow(0 4px 12px rgba(var(--color-primary-rgb),.3))}.home-card h3{font-size:20px;font-weight:600;margin:0 0 8px;color:var(--color-text-white)}.home-card p{font-size:14px;color:var(--color-text-secondary);margin:0}.card-stat{font-weight:500;color:var(--color-primary)}.accounts-container{min-height:100dvh;display:flex;flex-direction:column}.accounts-content{flex:1;padding:48px 40px;max-width:800px;width:100%;margin:0 auto}.accounts-panel{background-color:var(--color-bg-secondary);border-radius:12px;padding:32px;box-shadow:var(--shadow-md)}.account-form{margin-block-end:32px}.form-group input[type=text],.form-group input[type=number]{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-white);font-size:15px;padding:12px 16px;transition:all .2s ease}.form-group input[type=text]:focus,.form-group input[type=number]:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.form-group input[type=text]:disabled,.form-group input[type=number]:disabled{opacity:.6;cursor:not-allowed}.accounts-list{display:flex;flex-direction:column;gap:12px}.account-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:16px;transition:all .2s ease}.account-item:hover{border-color:var(--color-primary)}.account-info{display:flex;align-items:center;flex:1}.account-details{display:flex;flex-direction:column;gap:4px}.account-name{font-size:15px;color:var(--color-text-white);font-weight:500}.account-balances{display:flex;flex-direction:column;gap:4px}.account-balance{font-size:14px;color:var(--color-text-secondary);display:flex;align-items:center;gap:4px}.account-current-balance{font-size:14px;color:var(--color-primary);font-weight:600;display:flex;align-items:center;gap:4px}.coin-icon{width:14px;height:14px;object-fit:contain}.account-actions{display:flex;gap:8px}.categories-container{min-height:100dvh;display:flex;flex-direction:column}.categories-content{flex:1;padding:48px 40px;max-width:800px;width:100%;margin:0 auto}.categories-panel{background-color:var(--color-bg-secondary);border-radius:12px;padding:32px;box-shadow:var(--shadow-md)}.category-form{margin-block-end:32px}.color-input-wrapper{display:flex;align-items:center;gap:12px;background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:6px 16px;transition:all .2s ease}.color-input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.color-input-wrapper input[type=color]{border:none;background:none;cursor:pointer;width:34px;height:40px;padding:3px 0}.color-input-wrapper input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-input-wrapper input[type=color]::-webkit-color-swatch{border:2px solid var(--color-border);border-radius:6px}.color-value{font-size:14px;color:var(--color-text-secondary);font-family:monospace}.categories-list{display:flex;flex-direction:column;gap:12px}.category-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:16px;transition:all .2s ease}.category-item:hover{border-color:var(--color-primary)}.category-info{display:flex;align-items:center;gap:12px}.category-color{width:24px;height:24px;border-radius:50%;border:2px solid var(--color-border)}.category-name{font-size:15px;color:var(--color-text-white);font-weight:500}.category-actions{display:flex;gap:8px}.tags-container{min-height:100dvh;display:flex;flex-direction:column}.tags-content{flex:1;padding:48px 40px;max-width:800px;width:100%;margin:0 auto}.tags-panel{background-color:var(--color-bg-secondary);border-radius:12px;padding:32px;box-shadow:var(--shadow-md)}.tag-form{margin-block-end:32px}.form-group input[type=text]{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-white);font-size:15px;padding:12px 16px;transition:all .2s ease}.form-group input[type=text]:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.form-group input[type=text]:disabled{opacity:.6;cursor:not-allowed}.tags-list{display:flex;flex-direction:column;gap:12px}.tag-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:16px;transition:all .2s ease}.tag-item:hover{border-color:var(--color-primary)}.tag-info{display:flex;align-items:center;gap:16px;flex:1}.tag-name{font-size:15px;color:var(--color-text-white);font-weight:500}.tag-count{font-size:13px;color:var(--color-text-secondary);background-color:var(--color-bg-secondary);padding:4px 10px;border-radius:10px;border:1px solid var(--color-border)}.tag-actions{display:flex;gap:8px}.delete-button:hover:not(:disabled){background-color:var(--color-expense-bg)}.delete-button:disabled{opacity:.3;cursor:not-allowed}.delete-button:disabled:hover{background-color:transparent}.transactions-container{min-height:100dvh;display:flex;flex-direction:column}.transactions-content{flex:1;padding:48px 40px;max-width:1000px;width:100%;margin:0 auto}.transactions-panel{background-color:var(--color-bg-secondary);border-radius:12px;padding:32px;box-shadow:var(--shadow-md)}.transaction-form{margin-block-end:32px}.form-row{display:flex;gap:16px;margin-block-end:16px}.form-group{flex:1;display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:500;color:var(--color-text-primary)}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group select{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-white);font-size:15px;padding:12px 16px;transition:all .2s ease;appearance:none;-webkit-appearance:none}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group input[type=date]:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.form-group input[type=text]:disabled,.form-group input[type=number]:disabled,.form-group input[type=date]:disabled,.form-group select:disabled{opacity:.6;cursor:not-allowed}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-group input[type=date]::-webkit-calendar-picker-indicator{display:none}.form-group input[type=text]::-webkit-calendar-picker-indicator,.input-wrapper input[type=text]::-webkit-calendar-picker-indicator,input[list]::-webkit-calendar-picker-indicator{display:none!important;opacity:0!important;pointer-events:none!important}.form-group input[type=text]::-webkit-list-button,.input-wrapper input[type=text]::-webkit-list-button,input[list]::-webkit-list-button{display:none!important;opacity:0!important;pointer-events:none!important}input[type=text][list]{background-image:none!important}.amount-input-wrapper{display:flex;align-items:center;gap:12px;background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:6px 16px;transition:all .2s ease}.amount-input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.amount-input-wrapper input[type=number]{border:none;background:none;padding:6px 0;flex:1}.amount-input-wrapper input[type=number]:focus{outline:none;box-shadow:none}.amount-input-wrapper input[type=number]::-webkit-inner-spin-button,.amount-input-wrapper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.currency-symbol{width:20px;height:20px;object-fit:contain}.select-wrapper{position:relative;display:flex;align-items:center}.select-wrapper select{padding-right:44px;flex:1;width:0}.select-icon{position:absolute;right:12px;width:20px;height:20px;object-fit:contain;pointer-events:none;z-index:1}.date-wrapper{position:relative;display:flex;align-items:center}.date-wrapper input[type=date]{padding-right:44px;flex:1;position:relative}.date-icon{position:absolute;right:12px;width:20px;height:20px;object-fit:contain;pointer-events:auto;cursor:pointer;z-index:1}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input[type=text]{padding-right:44px;flex:1}.input-icon{position:absolute;right:12px;width:20px;height:20px;object-fit:contain;pointer-events:none;z-index:1}.tag-select-wrapper{display:flex;gap:8px;align-items:center}.tag-select-wrapper .select-wrapper{flex:1}.add-tag-button{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:8px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;font-weight:600;transition:all .2s ease;flex-shrink:0}.add-tag-button:hover:not(:disabled){background-color:var(--color-bg-primary);color:var(--color-primary);border-color:var(--color-primary)}.add-tag-button:disabled{opacity:.6;cursor:not-allowed}.form-actions{display:flex;gap:12px;justify-content:flex-end}.submit-button,.cancel-button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.submit-button{background-color:var(--color-primary);color:var(--color-text-white)}.submit-button:hover:not(:disabled){opacity:.75;transform:translateY(-1px);box-shadow:var(--shadow-hover)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.cancel-button{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.cancel-button:hover:not(:disabled){background-color:var(--color-bg-primary);color:var(--color-text-white)}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.transaction-type-toggle{display:flex;gap:12px;width:100%}.type-button{flex:1;padding:7px 16px;border:2px solid var(--color-border);background-color:transparent;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.type-button .type-symbol{font-size:20px;font-weight:700}.type-button .type-label{font-size:15px;font-weight:500;color:var(--color-text-secondary)}.type-button.expense .type-symbol{color:var(--color-expense)}.type-button.income .type-symbol{color:var(--color-success)}.type-button:hover:not(:disabled){background-color:var(--color-bg-primary)}.type-button:hover:not(:disabled) .type-label{color:var(--color-text-white)}.type-button.expense.active{border-color:var(--color-expense)}.type-button.income.active{border-color:var(--color-success)}.type-button.active .type-label{color:var(--color-text-white)}.type-button:disabled{opacity:.6;cursor:not-allowed}.transactions-list{display:flex;flex-direction:column;gap:12px}.transaction-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:16px;transition:all .2s ease}.transaction-item:hover{border-color:var(--color-primary)}.transaction-info{display:flex;align-items:center;flex:1}.transaction-details{display:flex;flex-direction:column;gap:8px;flex:1}.transaction-main{display:flex;align-items:center;gap:12px}.transaction-type{font-size:20px;font-weight:700;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--color-bg-secondary)}.transaction-type.expense{color:var(--color-expense)}.transaction-type.income{color:var(--color-success)}.transaction-amount{font-size:18px;font-weight:600;color:var(--color-text-white);display:flex;align-items:center;gap:6px}.coin-icon{width:16px;height:16px;object-fit:contain}.transaction-category{font-size:14px;font-weight:500;padding:4px 12px;border-radius:12px;background-color:var(--color-badge-bg)}.transaction-tag{font-size:12px;color:var(--color-text-secondary);padding:4px 10px;border-radius:10px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border)}.transaction-meta{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--color-text-secondary)}.transaction-account{font-weight:500}.transaction-date{color:var(--color-text-secondary)}.transaction-actions{display:flex;gap:8px}.edit-button,.delete-button{background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.action-icon{width:20px;height:20px;object-fit:contain}.edit-button:hover{background-color:var(--color-bg-secondary)}.delete-button:hover{background-color:var(--color-expense-bg)}.empty-message{text-align:center;color:var(--color-text-secondary);font-size:14px;padding:32px}.error-message{background-color:var(--color-expense-bg);border-left:3px solid var(--color-expense-soft);color:var(--color-expense-text);padding:12px 16px;border-radius:4px;font-size:14px;text-align:left;margin-block-end:16px}.import-container{min-height:100dvh;display:flex;flex-direction:column}.import-content{flex:1;padding:48px 40px;max-width:1000px;width:100%;margin:0 auto}.import-panel{background-color:var(--color-bg-secondary);border-radius:12px;padding:32px;box-shadow:var(--shadow-md)}.panel-header{display:flex;align-items:center;gap:16px;margin-block-end:32px}.panel-icon{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(var(--color-primary-rgb),.3))}.panel-header h2{font-size:28px;font-weight:600;margin:0;color:var(--color-text-white)}.import-instructions{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:24px;margin-block-end:32px}.import-instructions h3{font-size:18px;font-weight:600;color:var(--color-text-white);margin:0 0 12px}.import-instructions p{color:var(--color-text-secondary);margin:0 0 16px}.import-instructions ul{list-style:none;padding:0;margin:0}.import-instructions li{color:var(--color-text-primary);padding:8px 0;border-bottom:1px solid var(--color-border)}.import-instructions li:last-child{border-bottom:none}.import-instructions strong{color:var(--color-primary);font-weight:600}.import-form{display:flex;flex-direction:column;gap:24px}.file-input-wrapper{position:relative}.file-input-wrapper input[type=file]{position:absolute;opacity:0;width:0;height:0}.file-input-label{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;background-color:var(--color-bg-primary);border:2px dashed var(--color-border);border-radius:8px;color:var(--color-text-primary);text-align:center;cursor:pointer;transition:all .2s ease;font-size:15px;font-weight:500}.file-input-label:hover{border-color:var(--color-primary);background-color:var(--color-bg-secondary)}.file-icon{width:24px;height:24px;object-fit:contain;filter:brightness(.8)}.preview-section{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:20px}.preview-section h3{font-size:16px;font-weight:600;color:var(--color-text-white);margin:0 0 16px}.preview-table{overflow-x:auto}.preview-table table{width:100%;border-collapse:collapse;font-size:14px}.preview-table th,.preview-table td{padding:10px 12px;text-align:left;border:1px solid var(--color-border);color:var(--color-text-primary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-table th{background-color:var(--color-bg-secondary);color:var(--color-primary);font-weight:600}.preview-table td{background-color:var(--color-bg-primary)}.line-number-header,.line-number{width:50px;min-width:50px;max-width:50px;text-align:center!important;font-weight:600;color:var(--color-text-secondary);background-color:var(--color-bg-secondary)!important}.preview-table th:nth-child(2),.preview-table td:nth-child(2){width:100px;min-width:100px;max-width:100px}.preview-table th:nth-child(3),.preview-table td:nth-child(3){width:100px;min-width:100px;max-width:100px}.preview-table th:nth-child(4),.preview-table td:nth-child(4){width:100px;min-width:100px;max-width:100px}.preview-table th:nth-child(5),.preview-table td:nth-child(5){width:120px;min-width:120px;max-width:120px}.preview-table th:nth-child(6),.preview-table td:nth-child(6){width:120px;min-width:120px;max-width:120px}.preview-table th:nth-child(7),.preview-table td:nth-child(7){width:150px;min-width:150px;max-width:150px}.error-message{background-color:var(--color-expense-bg);border-left:3px solid var(--color-expense-soft);color:var(--color-expense-text);padding:12px 16px;border-radius:4px;font-size:14px}.errors-list{background-color:var(--color-warning-bg);border-left:3px solid var(--color-warning);padding:12px 16px;border-radius:4px}.errors-list h4{color:var(--color-warning);font-size:14px;font-weight:600;margin:0 0 8px}.errors-list ul{list-style:none;padding:0;margin:0}.errors-list li{color:var(--color-text-primary);font-size:13px;padding:4px 0;border-bottom:1px solid var(--color-border)}.errors-list li:last-child{border-bottom:none}.success-message{background-color:var(--color-success-bg);border-left:3px solid var(--color-success);color:var(--color-success);padding:12px 16px;border-radius:4px;font-size:14px;font-weight:500}.upload-button{background-color:var(--color-primary);color:var(--color-text-white);border:none;border-radius:8px;padding:14px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.upload-button:hover:not(:disabled){opacity:.75;transform:translateY(-1px);box-shadow:var(--shadow-hover)}.upload-button:disabled{opacity:.6;cursor:not-allowed}
