:root{--bg: #f5f9fc;--panel: #fff;--text: #151515;--muted: #5f6d78;--line: #d8e6ef;--accent: #8fd3ff;--accent-dark: #176b95;--ink: #111111;--danger: #b42318;--ok: #247a48;--hover-bg: #eef5fa;--diff-bg: #f7fbfd;--border: var(--line);font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;min-width:320px;background:var(--bg);overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);cursor:pointer;min-height:36px;padding:8px 12px;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.45}button.primary{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff;font-weight:700}button.ghost{background:transparent}button.danger{color:var(--danger)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);min-height:38px;padding:8px 10px}textarea{resize:vertical}label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700}table{width:100%;border-collapse:collapse;font-size:13px}th,td{border-bottom:1px solid var(--line);padding:9px 8px;text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px;text-transform:uppercase}.topbar{align-items:center;background:var(--ink);border-bottom:3px solid var(--accent);color:#fff;display:flex;justify-content:space-between;gap:20px;padding:14px 22px}.topbar p,.eyebrow{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:0;margin:0 0 2px;text-transform:uppercase}.topbar h1,.login-panel h1{margin:0;font-size:28px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar nav{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.user-menu{position:relative}.user-trigger{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:700}.user-menu-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 32px #0000002e;display:none;min-width:180px;padding:8px;position:absolute;right:0;top:100%;z-index:20}.user-menu.open .user-menu-panel{display:grid;gap:6px}.user-menu-panel button{justify-content:flex-start;text-align:left;width:100%}.app-shell{display:grid;gap:18px;grid-template-columns:minmax(320px,420px) minmax(0,1fr);padding:18px}.left-col,.right-col{display:grid;align-content:start;gap:16px}.panel,.metric{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}.panel h2{font-size:18px;margin:0 0 12px}.panel-title{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.panel-title h2{margin:0}.panel-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.entry-form{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.entry-form .wide{grid-column:1 / -1}.segmented{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,1fr);gap:6px}.segmented button.active{background:var(--ink);border-color:var(--ink);color:#fff}.summary-list,.mini-list{display:grid;gap:8px}.summary-list div,.mini-list div{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.summary-list div span,.mini-list div span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-list div strong,.mini-list div strong{flex-shrink:0;padding-right:4px;white-space:nowrap}.summary-list span,.mini-list span,.muted{color:var(--muted)}.metrics-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-sub{padding-left:12px;font-size:.88rem;opacity:.8}.summary-group-sep{align-items:baseline;display:flex;gap:12px;justify-content:space-between;border-top:1px solid var(--line);margin-top:4px;padding-top:8px}.metric header{display:grid;gap:4px;margin-bottom:12px}.metric header span{color:var(--muted);font-weight:700}.metric header strong{color:var(--ok);font-size:26px}.metric.expense header strong,.error{color:var(--danger)}.period-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.filters,.password-form{align-items:end;display:flex;flex-wrap:wrap;gap:10px}.period-bar label,.label-inline{width:170px}.period-step{min-width:48px;font-weight:700}.period-label{flex:1;font-weight:700;font-size:16px;text-align:center}.filters select{width:150px}.filters input{width:220px}.table-wrap{overflow-x:auto}.table-wrap.compact{max-height:260px;overflow:auto}.num{font-weight:700;text-align:right;white-space:nowrap}.row-actions{display:flex;gap:6px;min-width:150px}.pager{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.report-section{display:grid;gap:12px}.report-section-title{font-size:11px;font-weight:700;letter-spacing:.08em;margin:0;padding-bottom:8px;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--line)}.report-grid,.config-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.config-meta-row{max-width:420px;margin-bottom:8px}.config-box{border:1px solid var(--line);border-radius:8px;padding:12px}.config-section{display:grid;gap:12px;margin-top:16px}.nested-config-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.nested-config-grid .config-section{margin-top:0;align-content:start}.config-section>h3,.config-section-head h3{font-size:16px;margin:0}.config-section-head{align-items:center;display:flex;gap:10px;justify-content:space-between;background:var(--bg);border-radius:4px;padding:6px 8px;margin:-4px -4px 0}.config-title{align-items:center;display:flex;gap:10px;justify-content:space-between;background:var(--bg);border-radius:4px;padding:6px 8px;margin:-4px -4px 8px}.config-title h3{font-size:14px;margin:0}.config-rows{display:grid;gap:6px}.config-row{display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto}.config-box input,.config-section input,.nested-config-group input{min-height:32px;padding:4px 8px;font-size:13px}.config-box button,.config-section button:not(.primary){min-height:32px;padding:4px 10px;font-size:13px}.nested-config{display:grid;gap:12px}.nested-config-group{border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;padding:12px}.nested-type-row{background:var(--bg);border-radius:6px 6px 0 0;padding:6px 12px;margin:-12px -12px 10px;border-bottom:1px solid var(--line)}.nested-type-row input{font-weight:700;background:transparent;border-color:transparent;padding-left:0}.nested-type-row input:focus{border-color:var(--accent);background:#fff;padding-left:8px}.nested-items{padding-left:12px}.login-shell{align-items:center;display:grid;min-height:100vh;padding:18px}.login-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;gap:14px;margin:0 auto;max-width:380px;padding:24px;width:100%}.wide-error{grid-column:1 / -1;margin:0}.single-view{padding:18px}.narrow-panel{max-width:560px}.ok-message{color:var(--ok);font-weight:700}@media (max-width: 1100px){.app-shell,.metrics-grid,.report-grid,.config-grid{grid-template-columns:1fr}}@media (max-width: 620px){.topbar{align-items:flex-start;flex-direction:column}.topbar h1{font-size:20px}.col-typ,.col-pracownik,.col-platnosc{display:none}input,select,textarea{font-size:16px}.topbar nav{justify-content:flex-start;width:100%}.user-menu,.user-trigger,.user-menu-panel{width:100%}.user-menu-panel{position:static}.app-shell{padding:10px}.entry-form{grid-template-columns:1fr}.filters,.password-form{align-items:stretch;flex-direction:column}.filters input,.filters select,.password-form input,.password-form button{width:100%}.period-bar label{width:calc(50% - 5px)}.period-bar .primary,.period-label{flex-basis:100%}.config-row,.nested-config-grid{grid-template-columns:1fr}}.log-row.clickable{cursor:pointer}.log-row.clickable:hover td{background:var(--hover-bg, #f5f5f5)}.log-diff-row td{padding:8px 12px;background:var(--diff-bg, #fafafa)}.log-diff-table{width:100%;border-collapse:collapse;font-size:.85rem}.log-diff-table th,.log-diff-table td{padding:4px 10px;text-align:left;border-bottom:1px solid var(--border, #e0e0e0)}.log-diff-table th{font-weight:600;color:var(--muted, #666)}.log-diff-old{color:#b91c1c;text-decoration:line-through}.log-diff-new{color:#15803d}.log-diff-empty{color:var(--muted, #666);font-size:.85rem;padding:4px 10px;margin:0}
