*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #121212;--bg-secondary: #1E1E1E;--bg-tertiary: #2D2D2D;--text-primary: #FFFFFF;--text-secondary: #B3B3B3;--text-muted: #666666;--accent: #4CAF50;--accent-hover: #66BB6A;--danger: #EF5350;--warning: #FFA726;--success: #4CAF50;--border: #333333;--border-focus: #4CAF50;--shadow-card: 0 2px 8px rgba(0, 0, 0, .3);--shadow-elevated: 0 4px 12px rgba(0, 0, 0, .4);--primary: var(--accent);--primary-dark: var(--accent-hover);--gray-100: var(--bg-primary);--gray-200: var(--bg-secondary);--gray-300: var(--border);--gray-600: var(--text-secondary);--gray-800: var(--text-primary)}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;color:var(--text-primary);background:var(--bg-primary)}.container{max-width:800px;margin:0 auto;padding:0}@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top)}}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:0;background:var(--bg-secondary)}.tab{padding:.75rem 1.25rem;background:none;border:none;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid transparent;transition:all .2s}.tab:hover{color:var(--accent)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.form-group{margin-bottom:1rem}label{display:block;font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}input,select{width:100%;padding:.75rem;font-size:1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);transition:border-color .2s}input:focus,select:focus{outline:none;border-color:var(--border-focus)}input::placeholder{color:var(--text-muted)}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23B3B3B3' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}select option{background:var(--bg-secondary);color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-link{background:none;color:var(--accent);padding:0;text-transform:none}.btn-link:hover{color:var(--accent-hover)}.row{display:flex;gap:1rem}.row>*{flex:1}.card{background:var(--bg-secondary);border-radius:12px;box-shadow:var(--shadow-card);padding:1.5rem;margin-bottom:1rem}.list-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border)}.list-item:last-child{border-bottom:none}.item-info{display:flex;flex-direction:column;gap:.25rem}.item-category{font-weight:500;color:var(--text-primary)}.item-comment{font-size:.875rem;color:var(--text-secondary)}.item-value{font-weight:600;font-size:1.125rem;color:var(--text-primary)}.item-value.negative{color:var(--danger)}.item-actions{display:flex;gap:.5rem}.total{display:flex;justify-content:space-between;padding:1rem 0;font-weight:600;font-size:1.25rem;border-top:2px solid var(--border);margin-top:1rem;color:var(--text-primary)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{width:100%;max-width:400px;padding:2.5rem;background:var(--bg-secondary);border-radius:12px;box-shadow:var(--shadow-elevated)}.login-title{text-align:center;margin-bottom:2rem;font-size:2rem;font-weight:700;color:var(--text-primary)}.expense-row-odd{background-color:var(--bg-secondary)}.expense-row-even{background-color:var(--bg-tertiary)}.expense-row-total{background-color:#2a1a1a}.summary-item{display:flex;align-items:center;padding:.75rem 1rem;color:var(--text-primary)}.summary-total{background:#2a1a1a!important;font-weight:600}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto;z-index:100;box-shadow:var(--shadow-elevated);border:1px solid var(--border);border-top:none}.autocomplete-item{padding:.75rem 1rem;color:var(--text-primary);cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover,.autocomplete-item:active{background:var(--bg-tertiary)}.bills-table{width:100%;border-collapse:collapse}.bills-table th{background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;padding:.75rem 1rem;text-align:left;font-size:.875rem}.bills-table td{padding:0;border-bottom:1px solid var(--border)}.bills-table input{border:none;border-radius:0;background:transparent;padding:.75rem 1rem}.bills-table input:focus{background:var(--bg-tertiary)}.text-success{color:var(--success)!important}.text-error,.text-danger{color:var(--danger)!important}.text-muted{color:var(--text-muted)!important}.text-secondary{color:var(--text-secondary)!important}.text-right{text-align:right}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.tab,.btn,input,select,.autocomplete-item,.list-item{transition:all .2s ease-in-out}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.expense-form{padding:1rem;display:flex;flex-direction:column;gap:1rem}.period-selector{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.5rem;background:var(--bg-secondary);border-radius:8px;width:fit-content;margin:0 auto}.period-selector select{width:auto;padding:.4rem 1.5rem .4rem .5rem;font-size:.8rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer}.period-selector select:focus{color:var(--text-primary)}.period-separator{color:var(--text-muted);font-size:.8rem}.main-inputs{display:flex;flex-direction:column;gap:.75rem}.input-group{position:relative;display:flex;align-items:center}.input-large{font-size:1.1rem;padding:1rem;background:var(--bg-secondary);border:2px solid transparent}.input-large:focus{border-color:var(--accent);background:var(--bg-secondary)}.input-large::placeholder{color:var(--text-muted)}.input-prefix{position:absolute;left:1rem;color:var(--text-muted);font-size:1.2rem;font-weight:500;pointer-events:none}.input-value{font-size:1.5rem;font-weight:600;padding:1rem 1rem 1rem 2.5rem;background:var(--bg-secondary);border:2px solid transparent;text-align:left}.input-value:focus{border-color:var(--accent)}.input-value::placeholder{color:var(--text-muted);font-weight:400}.input-value::-webkit-outer-spin-button,.input-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-value[type=number]{-moz-appearance:textfield}.input-comment{flex:1;font-size:.9rem;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border)}.btn-icon-small{position:absolute;right:.5rem;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;font-size:.9rem}.btn-icon-small:hover{color:var(--text-secondary)}.btn-add-comment{background:none;border:1px dashed var(--border);border-radius:8px;color:var(--text-muted);padding:.6rem 1rem;font-size:.85rem;cursor:pointer;transition:all .2s;width:fit-content}.btn-add-comment:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.form-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem}.message{font-size:.85rem}.message.success{color:var(--success)}.message.error{color:var(--danger)}.btn-save{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:.9rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-left:auto}.btn-save:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-save:active{transform:translateY(0)}.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.card{border-radius:0;margin-bottom:0}.tabs{justify-content:space-around}.tab{padding:.75rem .5rem;font-size:.75rem}.expense-form{padding:1rem .75rem}.input-value{font-size:1.3rem}}
