:root{--paper:#faf9f5;--surface:#fff;--surface-hover:#f2f0e8;--ink:#12171d;--ink-2:#454f5a;--ink-3:#6b7480;--rule:#e7e4d8;--rule-strong:#d7d2c0;--ok:#2f7d67;--warn:#a8722f;--risk:#ab4a34;--neutral-bar:#d7d2c0;--accent:#a8722f;--accent-dim:#e7d3b4;--chip-bg:#12171d0d;--elevate-shadow:#12171d21}:root[data-theme=dark]{--paper:#12171d;--surface:#181d24;--surface-hover:#1f242c;--ink:#eee9df;--ink-2:#c3bdae;--ink-3:#8f8878;--rule:#eee9df24;--rule-strong:#eee9df38;--ok:#5cb89b;--warn:#d9a35b;--risk:#d97a63;--neutral-bar:#40331f;--accent:#d9a35b;--accent-dim:#40331f;--chip-bg:#eee9df0f;--elevate-shadow:#0006}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);min-height:100vh;font-family:Archivo,system-ui,sans-serif}a{color:inherit}button{cursor:pointer;font-family:inherit}input{font-family:inherit}.auth-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--rule);border-radius:8px;width:100%;max-width:380px;padding:32px 28px;box-shadow:0 1px 3px #141b260f}.auth-brand{margin-bottom:22px}.brand-name{letter-spacing:.02em;font-size:15px;font-weight:700}.auth-title{margin:0 0 6px;font-size:19px;font-weight:600}.auth-sub{color:var(--ink-2);margin:0 0 20px;font-size:13.5px;line-height:1.5}.field-group{margin-bottom:16px}.field-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:11.5px;font-weight:600;display:block}.field-group input{border:1px solid var(--rule-strong);width:100%;color:var(--ink);border-radius:5px;padding:10px 12px;font-size:14px}.field-group input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.btn-primary{background:var(--ink);color:#fff;border:none;border-radius:5px;width:100%;padding:11px 16px;font-size:13.5px;font-weight:600}.btn-primary:hover{background:var(--accent)}.btn-primary:disabled{opacity:.5;cursor:default}.auth-success{color:var(--ink-2);font-size:13.5px;line-height:1.6}.error-text{color:var(--risk);margin:0 0 12px;font-size:12.5px}.home-shell{min-height:100vh;display:flex}.home-sidebar{z-index:5;background:var(--surface);border-right:1px solid var(--rule);flex-direction:column;flex-shrink:0;gap:2px;width:208px;padding:16px 12px;transition:width .18s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:2px 0 10px #141b260a}.home-sidebar-brand{border-bottom:1px solid var(--rule);align-items:center;gap:9px;margin-bottom:6px;padding:4px 6px 16px;display:flex}.home-sidebar-brand .brand-name{flex:1;min-width:0;font-size:14.5px}.brand-mini{font-size:19px;line-height:1;display:none}.home-shell.collapsed .brand-mini{display:block}.sidebar-collapse-btn{width:24px;height:24px;color:var(--ink-3);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-collapse-btn:hover{background:var(--paper);color:var(--ink)}.sidebar-collapse-btn svg{width:14px;height:14px}@media (min-width:900px){.home-shell{padding-left:232px;transition:padding-left .18s}.home-shell.collapsed{padding-left:76px}.home-shell.collapsed .home-sidebar{align-items:center;width:52px}.home-shell.collapsed .home-sidebar-brand{flex-direction:column;gap:10px;padding:4px 0 16px}.home-shell.collapsed .home-nav-item{justify-content:center;padding:9px}.home-shell.collapsed .home-nav-label-text{display:none}.home-shell.collapsed .home-sidebar-user-row{flex-direction:column;gap:8px}}.home-nav{flex-direction:column;gap:2px;display:flex}.home-nav-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:16px 10px 6px;font-size:10.5px;font-weight:600}.home-nav-item{color:var(--ink-2);text-align:left;box-sizing:border-box;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;width:100%;padding:9px 11px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.home-nav-item svg{opacity:.85;flex-shrink:0;width:16px;height:16px}.home-nav-item:hover:not(:disabled){background:var(--paper);color:var(--ink)}.home-nav-item.active{background:var(--accent-dim);color:var(--accent)}.home-nav-item.active svg{opacity:1}.home-nav-item:disabled{color:var(--ink-3);opacity:.55;cursor:default}.home-sidebar-foot{border-top:1px solid var(--rule);flex-direction:column;gap:4px;margin-top:auto;padding-top:14px;display:flex}.home-sidebar-user-row{align-items:center;gap:8px;margin-top:6px;padding:0 2px;display:flex}.logout-btn{border:1px solid var(--rule-strong);color:var(--ink-2);background:0 0;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;font-size:11.5px;display:flex}.theme-toggle{background:var(--surface);border:1px solid var(--rule-strong);width:28px;height:28px;color:var(--ink-2);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-toggle svg{width:14px;height:14px}.theme-toggle .icon-moon,:root[data-theme=dark] .theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-moon{display:block}.home-main{flex:1;min-width:0;padding:28px 32px 80px}@media (max-width:899px){.home-sidebar{display:none}.home-main{padding:20px 16px 90px}}.mobile-bottom-nav{z-index:40;background:var(--surface);border-top:1px solid var(--rule);height:62px;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #141b260f}@media (max-width:899px){.mobile-bottom-nav{display:flex}}.mobile-bottom-nav-item{color:var(--ink-3);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:10px;text-decoration:none;display:flex}.mobile-bottom-nav-item svg{opacity:.8;width:19px;height:19px}.mobile-bottom-nav-item.active{color:var(--accent)}.mobile-bottom-nav-item.active svg{opacity:1}.page-head{margin-bottom:22px}.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:var(--ink-3);margin-bottom:4px;font-size:10.5px;font-weight:600;display:block}.page-head h1{margin:0 0 4px;font-size:20px}.page-sub{color:var(--ink-2);max-width:60ch;margin:0;font-size:13.5px}.integration-card{background:var(--surface);border:1px solid var(--rule);border-radius:8px;align-items:center;gap:14px;max-width:640px;margin-bottom:14px;padding:18px 20px;display:flex}.integration-icon{color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:42px;font-size:15px;font-weight:700;display:flex}.integration-body{flex:1;min-width:0}.integration-title{margin:0 0 2px;font-size:14px;font-weight:600}.integration-sub{color:var(--ink-3);overflow-wrap:anywhere;margin:0;font-size:12.5px}.integration-status{white-space:nowrap;border-radius:20px;padding:3px 9px;font-size:11.5px;font-weight:600}.integration-status.ok{color:var(--ok);background:#dceee6}.integration-status.pending{color:var(--ink-2);background:#f2efe7}.btn-connect{background:var(--ink);color:#fff;border:none;border-radius:6px;flex-shrink:0;padding:8px 16px;font-size:12.5px;font-weight:600}.btn-connect:hover{background:var(--accent)}.btn-connect.disabled{background:var(--neutral-bar);color:#fff;cursor:default}.btn-disconnect{color:var(--ink-3);border:1px solid var(--rule);background:0 0;border-radius:6px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.btn-disconnect:hover{color:#b3403a;border-color:#b3403a}.btn-disconnect:disabled{opacity:.6;cursor:default}.integration-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.bank-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;max-width:640px;display:grid}@media (max-width:640px){.bank-grid{grid-template-columns:repeat(2,1fr);justify-items:stretch;max-width:100%}.bank-pill{text-align:center;flex-direction:column;justify-content:center;padding:12px 8px}.integration-card{flex-wrap:wrap;row-gap:10px;max-width:100%}.integration-actions{flex-basis:100%;justify-content:flex-end}}.bank-pill{background:var(--surface);border:1px solid var(--rule);color:var(--ink);border-radius:7px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;font-weight:500;display:flex}.bank-pill:hover{border-color:var(--accent);background:var(--accent-dim)}.bank-pill:disabled{opacity:.6;cursor:default}.bank-logo{border:1px solid var(--rule);background:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:42px;display:flex;position:relative;overflow:hidden}.bank-logo img{object-fit:contain;width:100%;height:100%;padding:6px}.bank-logo .fallback{background:var(--neutral-bar);color:#fff;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:none;position:absolute;inset:0}.bank-logo.logo-failed img{display:none}.bank-logo.logo-failed .fallback{display:flex}.integracje-split{grid-template-columns:1fr 1fr;align-items:start;gap:28px;display:grid}.integracje-col h2{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin:0 0 14px;font-size:13px;font-weight:600}@media (max-width:899px){.integracje-split{grid-template-columns:1fr;gap:24px}}.consent-box{background:var(--surface);border:1px solid var(--rule);border-radius:8px;width:100%;max-width:480px;padding:22px}.consent-inline{background:var(--surface);border:1px solid var(--rule);border-radius:8px;max-width:640px;padding:20px 22px;overflow:auto}.consent-inline-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:0 0 14px;font-size:11.5px;font-weight:600}.consent-inline h1,.consent-inline h2,.consent-inline h3{color:var(--ink);margin:0 0 10px;font-family:Archivo,system-ui,sans-serif;font-size:15px}.consent-inline p,.consent-inline li{color:var(--ink-2);text-align:justify;font-family:Archivo,system-ui,sans-serif;font-size:13px;line-height:1.6}.consent-inline a{color:var(--accent)}.consent-inline button{text-align:center;background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;max-width:320px;margin:6px auto;padding:10px 16px;font-family:Archivo,system-ui,sans-serif;font-size:13.5px;font-weight:600;display:block}.consent-inline button:hover{background:var(--accent)}.consent-inline button~button{color:var(--ink-2);border:1px solid var(--rule-strong);background:0 0}.consent-inline button~button:hover{border-color:var(--ink);color:var(--ink);background:0 0}.consent-box h2{margin:0 0 12px;font-size:16px}.consent-box p{color:var(--ink-2);margin:0 0 14px;font-size:13px;line-height:1.6}.consent-actions{gap:10px;margin-top:16px;display:flex}.btn-ghost{border:1px solid var(--rule-strong);color:var(--ink-2);background:0 0;border-radius:6px;padding:9px 16px;font-size:13px}
