:root{--primary: #e1aa2a;--bg-light: #f8f9fa;--bg-dark: #1d1d3c;--bg-table-head: #f8f8f8;--text-light: #333;--text-dark: #f9fafb;--text-muted: #999;--hover-bg: #f1f1f1;--box-shadow: 0 2px 5px rgba(0, 0, 0, .1)}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--bg-light);color:var(--text-light);margin:1rem}h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;text-align:center}table{width:100%;border-collapse:collapse;margin-top:1rem;background:#fff;border:1px solid #ccc}th,td{padding:.75rem;text-align:left;border:1px solid #ddd}th{background:var(--bg-table-head)}.error-message{color:red;text-align:center}.container{max-width:900px;margin:auto}.app-footer{text-align:center;font-size:12px;color:#777;position:fixed;bottom:0;left:0;width:100vw;background-color:#f9f9f9;box-shadow:0 -1px 5px #0000001a}.app-footer a{color:inherit}.btn-container{display:flex;align-items:center;gap:.5rem}.btn{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer}.btn.primary{background-color:var(--primary);color:var(--text-light)}.btn.secondary{background-color:var(--bg-table-head);color:var(--text-muted)}.btn.secondary:not(:disabled){color:var(--text-light)}.btn.secondary:not(:disabled):hover{color:var(--primary)}.btn:disabled{opacity:.6;cursor:not-allowed}button:disabled,.icon-btn:disabled{cursor:not-allowed!important;opacity:.6}.icon-btn{background:transparent;border:none;cursor:pointer;padding:.25rem;color:var(--primary)}.icon-btn:hover{color:#e65c00}.required{color:red;margin-left:.25rem}.tabs{display:flex;gap:1rem;margin-bottom:2rem}.tab{padding:.5rem 1rem;color:var(--text-light);text-decoration:none;border-bottom:2px solid transparent;display:flex;align-items:center}.tab-icon{margin-right:6px}.tab.active{border-color:var(--primary);font-weight:700;color:var(--primary)}.expenses-data-container{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.expense-table{width:100%;border-collapse:collapse;margin-top:1rem}.expense-table th,.expense-table td{border:1px solid #ddd;padding:.5rem;text-align:left}.expense-table th{background:var(--bg-table-head);cursor:pointer}.sort-indicator{margin-left:4px}.dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog{background:#fff;padding:1.5rem;border-radius:8px;width:100%;max-width:500px}.dialog h3{margin-top:0}.dialog form .field{margin-bottom:1rem}.dialog form .field label{display:block;margin-bottom:.25rem}.dialog form .field input{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.input-full-width{width:100%}.expense-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.expense-filters-row1{display:flex;gap:8px;align-items:center;margin-bottom:8px;width:100%}.expense-filters-row2{display:flex;gap:8px;align-items:center;width:100%}.expense-filters-row2 select{flex:1 1 0;min-width:0;max-width:100%;width:100%;box-sizing:border-box}.expense-filters-reset{margin-left:auto;display:flex;align-items:center}.expense-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:8px;position:relative}.expense-add-btn{position:absolute;left:50%;transform:translate(-50%);z-index:1}.expense-header-row .expense-filters-toggle{margin-left:auto;position:static}.demo-mode-banner{background:#ffe066;color:#333;padding:.75rem 1rem;border-radius:6px;margin-bottom:16px;font-weight:500;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.app-header-row{display:flex;justify-content:space-between;margin-bottom:1rem;align-items:center}.app-header-actions{display:flex;align-items:center;gap:.5rem}.app-title-row{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.app-title{display:flex;align-items:center;margin:0;gap:1rem}.app-title-logo{height:2em;width:auto;vertical-align:middle;display:inline-block}.language-switch-btn{font-size:2rem;background:none;border:none;cursor:pointer;padding:0;display:inline-flex;align-items:center;vertical-align:middle}@media (max-width: 700px){.expense-header-row{flex-direction:column;align-items:stretch;gap:8px;position:static}.expense-filters-row1{display:flex;flex-direction:column;align-items:stretch;gap:8px}.expense-filters-row1 .expense-filters-reset{order:-1;align-self:center;width:auto;margin:0 0 8px}.expense-filters-row2{flex-direction:column;gap:8px;align-items:stretch}.expense-filters-row2 select{width:100%;min-width:0;max-width:100%}.expense-filters-reset{margin-left:0;width:100%;justify-content:flex-end}}.pagination-controls{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;gap:1rem;flex-wrap:wrap}.page-select,.page-size-select select,.expense-filters select{padding:.4rem .75rem;border:1px solid var(--text-muted);border-radius:4px;background-color:var(--bg-light);color:var(--text-light);font-size:1rem;cursor:pointer}.page-select:focus,.page-size-select select:focus,.expense-filters select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #007bff40}.page-size-select label{margin-right:.5rem;font-weight:500;color:var(--text-light)}.page-select-wrapper{display:flex;align-items:center;gap:.25rem;margin:0 .5rem;color:var(--text-light)}.page-total{font-size:.9rem;color:#666}.login-form{display:flex;flex-direction:column;gap:1rem;max-width:300px;margin:2rem auto}.empty-state{text-align:center;padding:1rem;color:var(--text-muted)}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:2rem 0}.spinner{border:4px solid #f3f3f3;border-top:4px solid var(--primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem}.filters{display:flex;gap:1rem;align-items:flex-end;margin-bottom:1rem;flex-wrap:wrap}.filters label{display:flex;flex-direction:column;font-weight:500;font-size:.9rem}.filters input[type=date],.expense-filters input[type=date]{padding:.5rem;border:1px solid #ccc;border-radius:4px}.form-field{margin-bottom:1rem}.form-hint{font-size:.85rem;color:var(--text-muted);margin-top:-.5rem;margin-bottom:1rem}.pivot-overview{width:100%;font-size:14px}.pivot-group{border-bottom:1px solid #ddd;margin-bottom:8px}.pivot-group-header{display:flex;align-items:center;padding:8px 4px;cursor:pointer;-webkit-user-select:none;user-select:none}.pivot-group-series{display:flex;align-items:center;padding:8px 4px;-webkit-user-select:none;user-select:none}.pivot-toggle{width:20px;text-align:center;font-weight:700}.pivot-title{flex:1;margin-left:8px;font-weight:600}.pivot-total{margin-left:auto;font-weight:500}.pivot-subgroup{overflow:hidden;max-height:0;transition:max-height .3s ease,padding .3s ease;padding:0}.pivot-subgroup.open{max-height:1000px;padding:8px 0 8px 28px}.pivot-item{display:flex;justify-content:space-between;padding:2px 0}.pivot-item-amount{margin-left:auto}.pivot-grand-total{margin-top:20px;font-weight:700;font-size:16px;text-align:right}.diagonal-flag-emoji{position:relative;display:inline-block;width:2em;height:2em;font-size:2rem;vertical-align:middle}.diagonal-flag-emoji .flag-left,.diagonal-flag-emoji .flag-right{position:absolute;top:0;left:0;width:2em;height:2em;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;pointer-events:none}.diagonal-flag-emoji .flag-left{clip-path:polygon(0 0,100% 0,0 100%)}.diagonal-flag-emoji .flag-right{clip-path:polygon(100% 0,100% 100%,0 100%)}.dark-mode-toggle{display:flex;align-items:center;justify-content:center;gap:.5rem}.dark-mode-icon-btn{background:none;border:none;cursor:pointer;padding:.4rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .3s ease;color:var(--text-light)}.dark-mode-icon-btn:hover{color:var(--primary)}.btn-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid #fff;border-top:2px solid transparent;border-radius:50%;animation:btn-spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes btn-spin{to{transform:rotate(360deg)}}body.dark{background-color:var(--bg-dark);color:var(--text-muted)}body.dark h1{color:var(--primary)}body.dark h2{color:var(--text-dark)}body.dark .error-message{color:red!important}body.dark .expense-table th,body.dark .expense-table td{background-color:var(--bg-dark);border-color:var(--text-muted);color:var(--text-dark)}body.dark .btn.secondary{background-color:var(--bg-dark);color:var(--text-muted)}body.dark .btn.secondary:not(:disabled){color:var(--text-dark)}body.dark .btn.secondary:not(:disabled):hover{color:var(--primary)}body.dark .tabs .tab{color:var(--text-muted)}body.dark .tabs .tab.active{border-color:var(--primary);color:var(--primary)}body.dark .page-size-select label,body.dark .page-select,body.dark .page-size-select select,body.dark .expense-filters select,body.dark .page-select-wrapper{background-color:var(--bg-dark);color:var(--text-muted)}body.dark .dark-mode-icon-btn{color:var(--text-muted)}body.dark .dark-mode-icon-btn:hover{color:var(--primary)}body.dark .dialog{background-color:var(--bg-dark);color:var(--text-dark)}body.dark .pivot-title,body.dark .pivot-total,body.dark .pivot-grand-total{color:var(--text-dark)}
