:root{--bg-base: #121212;--bg-surface: #181818;--bg-elevated: #1f1f1f;--bg-highlight: #282828;--bg-press: #000000;--text-main: #ffffff;--text-muted: #b3b3b3;--primary: #1ed760;--primary-hover: #1fdf64;--primary-active: #169c46;--danger: #f3727f;--danger-bg: rgba(243, 114, 127, .15);--warning: #ffa42b;--warning-bg: rgba(255, 164, 43, .15);--info: #539df5;--info-bg: rgba(83, 157, 245, .15);--success: #1ed760;--success-bg: rgba(30, 215, 96, .15);--border: #282828;--border-subtle: #202020;--shadow: 0 8px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 24px rgba(0, 0, 0, .5);--radius: 8px;--radius-pill: 9999px;--radius-input: 500px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Circular Spotify Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-base);color:var(--text-main);line-height:1.4;font-size:13px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit;transition:color .15s ease}.layout{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-base)}.header{background:var(--bg-base);padding:.875rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.logo{font-size:1.1rem;font-weight:700;color:var(--text-main);letter-spacing:-.2px;display:flex;align-items:center;gap:8px}.logo-dot{width:8px;height:8px;background:var(--primary);border-radius:50%;display:inline-block}.main-container{display:flex;flex:1;overflow:hidden}.sidebar{width:220px;background:var(--bg-base);border-right:1px solid var(--border);padding:1.25rem .75rem;display:flex;flex-direction:column;gap:4px}.nav-link{padding:.625rem .875rem;color:var(--text-muted);font-weight:600;font-size:13px;border-radius:4px;transition:all .15s ease;display:flex;align-items:center;gap:10px}.nav-link:hover{color:var(--text-main);background:var(--bg-elevated)}.nav-link.active{color:var(--text-main);background:var(--bg-highlight);font-weight:700}.content{flex:1;padding:1.5rem 2rem;overflow-y:auto;background:var(--bg-base)}.bottom-nav{display:none;background:var(--bg-surface);border-top:1px solid var(--border);position:fixed;bottom:0;left:0;right:0;z-index:30;justify-content:space-around;padding:.5rem 0}.bottom-nav .nav-link{padding:.5rem;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-muted)}.bottom-nav .nav-link.active{color:var(--primary);background:none}.desktop-only{display:flex}.mobile-only{display:none}@media(max-width:768px){.desktop-only{display:none}.mobile-only{display:flex}.content{padding:1rem 1rem 5.5rem}.header{padding:.75rem 1rem}}h1{font-size:1.35rem;font-weight:700;color:var(--text-main);letter-spacing:-.3px;margin-bottom:.75rem}h2{font-size:1.2rem;font-weight:700;color:var(--text-main);letter-spacing:-.2px;margin-bottom:.75rem}h3{font-size:1rem;font-weight:600;color:var(--text-main);margin-bottom:.5rem}h4{font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:.25rem}.card{background:var(--bg-surface);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);border:none;margin-bottom:1rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.form-container{display:flex;flex-direction:column;gap:.875rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group.row{flex-direction:row;align-items:center;gap:.75rem}label{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}input,select,textarea{padding:.5rem 1rem;background:var(--bg-elevated);border:1px solid transparent;border-radius:var(--radius-input);font-size:13px;color:var(--text-main);width:100%;transition:all .15s ease;outline:none}input::placeholder,select::placeholder{color:#666}input:focus,select:focus,textarea:focus{box-shadow:inset 0 0 0 1px #7c7c7c}select{cursor:pointer}.radio-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-main);cursor:pointer;background:var(--bg-elevated);padding:6px 14px;border-radius:var(--radius-pill);transition:background .15s ease}.radio-label:has(input:checked){background:var(--bg-highlight);color:var(--primary)}.radio-label input{accent-color:var(--primary);width:auto;margin:0}.btn{padding:.5rem 1.25rem;border-radius:var(--radius-pill);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .1s ease,background-color .15s ease,opacity .15s ease;border:none;white-space:nowrap}.btn:hover{transform:scale(1.02)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);color:#000}.btn-primary:hover{background:var(--primary-hover)}.btn-outline{background:transparent;border:1px solid #727272;color:var(--text-main)}.btn-outline:hover{border-color:#fff;background:var(--bg-elevated)}.btn-danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#000}.btn-icon{background:transparent;border:none;color:var(--text-muted);width:32px;height:32px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;padding:0}.btn-icon:hover{color:var(--text-main);background:var(--bg-highlight);transform:scale(1.08)}.btn-icon-danger:hover{color:var(--danger);background:var(--danger-bg)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal-content{background:var(--bg-surface);border-radius:var(--radius);width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.modal-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.1rem;font-weight:700}.close-btn{background:none;border:none;font-size:1.35rem;color:var(--text-muted);cursor:pointer;line-height:1;padding:0 4px}.close-btn:hover{color:var(--text-main)}.modal-body{padding:1.25rem;overflow-y:auto}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:1rem}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;background:var(--bg-surface);border-radius:var(--radius)}th,td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-subtle)}th{font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border)}tr:hover td{background-color:var(--bg-elevated)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-category{background:var(--bg-highlight);color:var(--text-muted);font-size:10px;font-weight:600;text-transform:capitalize;letter-spacing:.2px}.text-credit{color:var(--success);font-weight:600}.text-debit{color:var(--danger);font-weight:600}.text-muted{color:var(--text-muted)}.alert{padding:.875rem 1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:12.5px;font-weight:500;display:flex;align-items:center;gap:8px}.alert-warning{background:var(--warning-bg);color:var(--warning);border:1px solid rgba(255,164,43,.3)}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid rgba(243,114,127,.3)}.alert-info{background:var(--info-bg);color:var(--info);border:1px solid rgba(83,157,245,.3)}.skeleton{background:linear-gradient(90deg,#181818 25%,#242424,#181818 75%);background-size:200% 100%;animation:skeletonLoading 1.5s infinite;border-radius:var(--radius)}@keyframes skeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}
