:root{--bg-color: #0c111d;--card-bg: #161b26;--header-bg: #ffffff;--text-primary: #f9fafb;--text-secondary: #94a3b8;--accent-primary: #6366f1;--accent-secondary: #4f46e5;--income-color: #10b981;--expense-color: #ef4444;--border-color: #262c3a;--surface-hover: #1f2937;--font-main: "Inter", sans-serif;--font-display: "Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-main);overflow-x:hidden}.app-container{min-height:100vh;display:flex;flex-direction:column}.header{background-color:var(--header-bg);color:#1e293b;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #0000001a;z-index:100}.company-logo{display:flex;align-items:center;gap:.75rem}.logo-icon{background:#f1f5f9;padding:.5rem;border-radius:12px;display:flex;align-items:center;justify-content:center}.company-info h1{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.sync-status{font-size:.75rem;color:#10b981;display:flex;align-items:center;gap:.25rem}.header-actions{display:flex;align-items:center;gap:1.5rem}.header-tabs{display:flex;background:#f1f5f9;padding:.25rem;border-radius:10px}.tab{padding:.5rem 1.25rem;border:none;background:transparent;font-family:var(--font-main);font-weight:500;color:#64748b;cursor:pointer;border-radius:8px;transition:all .2s}.tab.active{background:#fff;color:var(--accent-primary);box-shadow:0 2px 10px #0000000d}.btn-refresh{background:transparent;border:none;color:#64748b;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;transition:all .2s}.btn-refresh:hover:not(:disabled){background-color:#f1f5f9;color:var(--accent-primary)}.btn-refresh:disabled{opacity:.5}.btn-login,.btn-logout{padding:.5rem 1rem;border-radius:10px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s;border:none}.btn-login{background-color:var(--accent-primary);color:#fff;box-shadow:0 4px 10px #6366f133}.btn-login:hover{background-color:var(--accent-secondary);transform:translateY(-1px)}.btn-logout{background-color:#f1f5f9;color:#64748b}.btn-logout:hover{background-color:#fee2e2;color:#ef4444}.app-container.login-mode{display:grid;place-items:center;height:100vh;width:100vw;background-color:#0c111d;margin:0;padding:0;overflow:hidden}.login-wrapper{display:contents}.login-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:3rem;text-align:center;background-color:#161b26;border-radius:16px;border:1px solid rgba(255,255,255,.03);max-width:420px;box-shadow:0 10px 40px #0006}.login-prompt h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:#fff;line-height:1.3;margin-top:-.5rem}.login-prompt p{color:#94a3b8;font-size:.95rem;line-height:1.5;margin-bottom:.5rem}.btn-login-large{background-color:#6366f1;color:#fff;border:none;padding:.8rem 1.75rem;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 15px #6366f140;margin-top:.5rem;letter-spacing:.02em}.btn-login-large:hover{background-color:#4f46e5;transform:translateY(-1px);box-shadow:0 6px 20px #6366f159}.dashboard{padding:1.5rem 2rem;display:flex;flex-direction:column;gap:2rem;width:100%;max-width:100vw;overflow-x:hidden}.top-summary{background-color:var(--header-bg);border-radius:20px;padding:1.5rem 2rem;display:flex;align-items:center;gap:3rem;box-shadow:0 4px 20px #0000000d;color:#1e293b}.balance-card{display:flex;flex-direction:column}.card-label{font-size:.7rem;font-weight:700;color:#94a3b8;letter-spacing:.05em}.balance-value{display:flex;align-items:baseline;gap:.25rem}.balance-value .currency{font-size:1.5rem;color:var(--accent-primary);font-weight:500}.balance-input{font-size:2.25rem;font-weight:700;font-family:var(--font-display);background:transparent;border:none;color:#1e293b;width:250px;outline:none;padding:.25rem .5rem;border-radius:8px;transition:background-color .2s}.balance-input:hover,.balance-input:focus{background-color:#f1f5f9}.btn-new-entry{background-color:var(--accent-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;display:flex;align-items:center;gap:.5rem;font-weight:600;cursor:pointer;transition:transform .2s,background-color .2s;box-shadow:0 4px 15px #6366f14d}.btn-new-entry:hover{background-color:var(--accent-secondary);transform:translateY(-2px)}.row-detail td.expandable-sub{cursor:pointer;display:flex;align-items:center;gap:8px}.row-detail:hover{background-color:#ffffff08!important}.row-sub-detail{background-color:#00000026!important;font-size:.85rem}.row-sub-detail td{border-bottom:1px solid rgba(255,255,255,.02)}.row-sub-detail .sub-detail-name{padding-left:3rem;display:flex;align-items:center;gap:10px;color:#94a3b8;font-style:italic}.invoice-icon{color:#6366f1;opacity:.6}.empty-val{color:#334155!important;font-size:.75rem}.cashflow-table-container{overflow-x:auto;background-color:var(--card-bg);border-radius:24px;border:1px solid var(--border-color);box-shadow:0 10px 30px #0003;position:relative;-webkit-overflow-scrolling:touch;max-height:80vh}.cashflow-table-container.fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;max-height:100vh;z-index:2000;border-radius:0;margin:0}.table-header-actions{position:absolute;top:1rem;right:1.5rem;z-index:100}.btn-fullscreen-toggle{background:#ffffff0d;border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem;border-radius:8px;cursor:pointer;display:flex;transition:all .2s}.cashflow-table{min-width:100%;width:max-content;border-collapse:separate;border-spacing:0;text-align:left}.cashflow-table th{padding:1.5rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;border-bottom:1px solid var(--border-color);background:#1e293b;position:sticky;top:0;z-index:10;min-width:160px}.header-controls-container{display:flex;flex-direction:column;gap:.75rem}.control-row-complex{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background-color:#ffffff08;padding:6px 12px;border-radius:8px;border:1px solid var(--border-color)}.control-main{display:flex;align-items:center;gap:1rem}.btn-fullscreen-toggle{background:#ffffff1a;border:1px solid var(--border-color);color:var(--text-secondary);padding:4px;border-radius:6px;cursor:pointer;display:flex;transition:all .2s;align-self:center}.btn-fullscreen-toggle:hover{background-color:var(--accent-primary);color:#fff}.label-with-icon{display:flex;align-items:center;gap:.5rem}.header-controls-container .label{font-size:.6rem;font-weight:800;color:#94a3b8;white-space:nowrap}.control-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;background-color:#ffffff08;padding:6px 12px;border-radius:8px;border:1px solid var(--border-color)}.input-group{display:flex;align-items:center;gap:.5rem}.unit-label{font-size:.75rem;font-weight:700;color:var(--accent-primary)}.period-count-input{width:45px;background:transparent;border:none;border-bottom:2px solid var(--accent-primary);color:#fff;font-weight:700;font-size:.9rem;text-align:center;outline:none;padding:2px 0}.period-type-select{background:transparent;border:none;color:var(--accent-primary);font-weight:700;font-size:.85rem;cursor:pointer;outline:none;text-transform:uppercase;text-align:right}.cashflow-table thead th{position:sticky;top:0;z-index:150;background-color:#1a1e2b!important}.cashflow-table thead th:nth-child(1),.cashflow-table thead th:nth-child(2){z-index:300!important;background-color:#1a1e2b!important}.cashflow-table th:nth-child(1),.cashflow-table td:nth-child(1){position:sticky;left:0;z-index:160;min-width:320px;background-color:#1a1e2b!important}.cashflow-table th:nth-child(2),.cashflow-table td:nth-child(2){position:sticky;left:320px;z-index:160;min-width:150px;background-color:#1a1e2b!important;border-right:2px solid var(--border-color)}.cashflow-table td{padding:1.25rem 1.5rem;font-size:.9rem;border-bottom:1px solid var(--border-color);background-color:var(--card-bg)}.row-balance-start td{font-weight:500;color:#94a3b8;background-color:#0c111d!important}.row-group{font-weight:700;cursor:pointer}.row-group:hover{background-color:var(--surface-hover)}.income{background-color:#10b9810d}.income td:nth-child(1),.income td:nth-child(2){background-color:#172221!important}.income .expandable,.income .value{color:var(--income-color)}.expense{background-color:#ef44440d}.expense td:nth-child(1),.expense td:nth-child(2){background-color:#211c1e!important}.expense .expandable,.expense .value{color:var(--expense-color)}.row-category{background-color:#ffffff05!important;font-weight:600;cursor:pointer}.row-category td{padding-top:.75rem;padding-bottom:.75rem;font-size:.85rem}.row-entity{background-color:transparent!important;cursor:pointer}.row-entity td{padding-top:.5rem;padding-bottom:.5rem;font-size:.8rem;color:var(--text-secondary)}.row-invoice{background-color:#0000001a!important;font-size:.75rem}.row-invoice td{padding-top:.4rem;padding-bottom:.4rem;color:#64748b;font-style:italic}.indent-1{padding-left:1.5rem;display:flex;align-items:center;gap:8px}.indent-2{padding-left:3rem;display:flex;align-items:center;gap:6px}.indent-3{padding-left:4.5rem;display:flex;align-items:center;gap:8px}.expandable-cat,.expandable-entity{display:flex;align-items:center}.cashflow-table td{padding:1rem 1.5rem;font-size:.9rem;border-bottom:1px solid var(--border-color);background-color:var(--card-bg)}.row-balance-end{position:sticky;bottom:0;z-index:400;background-color:#0c111d!important;box-shadow:0 -10px 50px #0009}.row-balance-end td{padding:2rem 1.5rem;font-family:var(--font-display);font-weight:700;font-size:1rem;background-color:#0c111d!important}.row-balance-end td:nth-child(1),.row-balance-end td:nth-child(2){z-index:500!important;position:sticky;left:0;background-color:#0c111d!important}.row-balance-end td:nth-child(2){left:320px;border-right:2px solid var(--border-color)}.value-total{font-size:1.5rem!important}.negative{color:var(--expense-color)!important}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#030712d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:2100}.modal-content{background-color:#0f172a;width:100%;max-width:500px;border-radius:28px;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 60px #0009;overflow:hidden;animation:modalAppear .3s cubic-bezier(.16,1,.3,1)}@keyframes modalAppear{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to right,rgba(99,102,241,.1),transparent);border-bottom:1px solid rgba(255,255,255,.05)}.modal-header h2{font-size:1.25rem;font-weight:700;color:#fff;margin:0}.btn-close{background:#ffffff0d;border:none;color:#94a3b8;padding:8px;border-radius:12px;cursor:pointer;transition:all .2s}.btn-close:hover{background:#ef44441a;color:#ef4444}.entry-form{padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.6rem}.form-group label{font-size:.75rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.entry-form input,.entry-form select{background-color:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:.9rem 1rem;color:#fff;font-size:.95rem;outline:none;transition:all .2s}.entry-form input:focus,.entry-form select:focus{border-color:var(--accent-primary);background-color:#262c3a;box-shadow:0 0 0 4px #6366f126}.form-group-row{display:flex;gap:1rem}.flex-1{flex:1}.flex-2{flex:2}.input-with-icon{position:relative;display:flex;align-items:center}.label-with-actions{display:flex;align-items:center;gap:8px;margin-bottom:0}.label-with-actions label{margin-bottom:0!important}.category-actions-inline{display:flex;gap:4px}.btn-icon-xs{background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#94a3b8;padding:2px 6px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.category-select-full{width:100%}.btn-icon-xs:hover{background:var(--accent-primary);color:#fff}.invoice-container{display:flex;align-items:center;gap:8px;width:100%}.invoice-label{flex:1}.value-cell-content{position:relative;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;width:100%}.btn-edit-cell{position:absolute;right:-10px;background:var(--accent-primary);border:none;color:#fff;padding:2px;border-radius:4px;cursor:pointer;opacity:0;transition:all .2s;display:flex;align-items:center;justify-content:center;z-index:5}td:hover .btn-edit-cell{opacity:1;right:-5px}.btn-delete-entry{background:transparent;border:1px solid #ef4444;color:#ef4444;padding:8px 16px;border-radius:12px;font-weight:600;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.btn-delete-entry:hover{background:#ef4444;color:#fff}.edit-scope-warning{margin-top:1rem;padding:1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:12px;display:flex;gap:12px;color:#f59e0b;font-size:.85rem}.scope-options{margin-top:8px;display:flex;flex-direction:column;gap:6px}.scope-options label{display:flex;align-items:center;gap:8px;cursor:pointer;color:#d1d5db}.spacer{flex:1}.category-creation-group{display:flex;gap:4px;align-items:center}.category-creation-group input{flex:1;padding:8px!important}.btn-confirm-cat{background:#10b981;border:none;color:#fff;padding:8px 12px;border-radius:8px;font-weight:700;cursor:pointer}.btn-cancel-cat{background:#ef4444;border:none;color:#fff;padding:8px 12px;border-radius:8px;font-weight:700;cursor:pointer}.input-with-icon .icon{position:absolute;left:1rem;color:#64748b}.input-with-icon input{padding-left:2.8rem;width:100%}.currency-label-inner{position:absolute;left:1rem;font-weight:800;font-size:.75rem;color:var(--accent-primary)}.currency-select{position:absolute;right:5px;border:none!important;background:#ffffff0d!important;border-radius:10px!important;padding:6px 10px!important;font-size:.8rem!important;color:#94a3b8!important;width:auto!important}.modal-actions{display:flex;gap:1rem;margin-top:1rem}.btn-primary,.btn-secondary{padding:.9rem 1.5rem;border-radius:14px;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s;border:none;flex:1}.btn-primary{background-color:var(--accent-primary);color:#fff;box-shadow:0 10px 20px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 25px #6366f166}.btn-secondary{background-color:#ffffff0d;color:#94a3b8}.btn-secondary:hover{background-color:#ffffff1a;color:#fff}.overdue-container{background-color:var(--card-bg);border-radius:24px;border:1px solid rgba(239,68,68,.2);padding:1.5rem;box-shadow:0 10px 40px #ef44440d;margin-top:1rem}.overdue-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.overdue-title{display:flex;align-items:center;gap:.75rem}.overdue-title h3{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:#f87171}.overdue-count{font-size:.75rem;color:#94a3b8;background:#ef44441a;padding:4px 12px;border-radius:100px;border:1px solid rgba(239,68,68,.2)}.overdue-table-wrapper{overflow-x:auto}.overdue-table{width:100%;border-collapse:collapse}.overdue-table th{text-align:left;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;padding:1rem;border-bottom:1px solid var(--border-color)}.overdue-table td{padding:1rem;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.02)}.row-overdue-income{background-color:#10b98105}.row-overdue-expense{background-color:#ef444405}.row-overdue-income:hover,.row-overdue-expense:hover{background-color:#ffffff0a}.status-badge{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:6px;text-transform:uppercase}.status-badge.income{background:#10b9811a;color:#10b981}.status-badge.expense{background:#ef44441a;color:#ef4444}.text-right{text-align:right!important}.text-secondary{color:#64748b}.font-medium{font-weight:500}.font-bold{font-weight:700}.positive{color:#10b981}.overdue-table th svg{vertical-align:middle;margin-right:4px;opacity:.7}.btn-floating-add{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;border-radius:50%;background-color:var(--accent-primary);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px #6366f166;z-index:3000;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.btn-floating-add:hover{background-color:var(--accent-secondary);transform:scale(1.1) rotate(90deg);box-shadow:0 6px 25px #6366f180}.btn-floating-add:active{transform:scale(.95)}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}
