:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#0f172a;background:#f1f5f9;--blue: #2563eb;--ink: #0f172a;--muted: #64748b;--line: #e2e8f0}*{box-sizing:border-box}body,h1,h2,h3{margin:0}.center{display:grid;place-items:center;min-height:100vh}.muted{color:var(--muted)}.err{color:#dc2626}.pad{padding:24px}.grow{flex:1;min-width:0}.left{text-align:left}.strong{font-weight:700}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.empty{text-align:center;color:#94a3b8;margin:40px 0}.loginWrap{display:grid;place-items:center;min-height:100vh;padding:20px}.card{background:#fff;border-radius:16px;padding:28px;width:100%;max-width:360px;box-shadow:0 10px 30px #0f172a14;display:flex;flex-direction:column;gap:14px}.card h1{font-size:22px;text-align:center}.card .sub{margin:-8px 0 6px;font-size:13px}.loginLogo{width:110px;height:auto;align-self:center;margin-bottom:2px}.checkLine{flex-direction:row;align-items:center;gap:8px;font-weight:500;color:#475569;font-size:14px;cursor:pointer}.checkLine input{width:16px;height:16px;cursor:pointer}.card label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#334155}.card input{border:1px solid #cbd5e1;border-radius:10px;padding:11px 12px;font-size:15px}.card input:focus{outline:2px solid var(--blue);border-color:var(--blue)}.card button{background:var(--blue);color:#fff;border:0;border-radius:10px;padding:12px;font-size:15px;font-weight:700;cursor:pointer}.card button:disabled{opacity:.6}.btnBlue{background:var(--blue);color:#fff;border:0;border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer;font-size:14px}.btnGreen{background:#16a34a;color:#fff;border:0;border-radius:10px;padding:12px 16px;font-weight:700;cursor:pointer;font-size:15px}.btnGhost{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer;font-size:14px}.btnGhost:hover{background:#f8fafc}.btnBlue.tiny,.btnGhost.tiny{padding:6px 10px;font-size:12px;border-radius:8px}.btnGhost.small{padding:6px 12px;font-size:13px}.full{width:100%;margin-top:10px}.big{padding:14px;font-size:16px}.linkBtn{background:none;border:0;color:var(--blue);font-weight:700;cursor:pointer;font-size:13px;padding:4px}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:#fff;display:flex;flex-direction:column;padding:20px 14px;gap:18px;position:sticky;top:0;height:100vh}.brand{padding:0 6px}.brandName{font-size:20px;font-weight:800}.brandSub{font-size:12px;color:#94a3b8;margin-top:2px}.firmPicker{display:flex;flex-direction:column;gap:5px;padding:0 6px}.pickerLabel{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;font-weight:700}.firmPicker select{background:#1e293b;color:#fff;border:1px solid #334155;border-radius:9px;padding:9px 10px;font-size:14px}.nav{display:flex;flex-direction:column;gap:4px}.navItem{color:#cbd5e1;text-decoration:none;padding:10px 12px;border-radius:9px;font-size:14.5px;font-weight:600}.navItem:hover{background:#1e293b;color:#fff}.navItem.active{background:var(--blue);color:#fff}.sidebarFoot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:0 6px}.userLine{font-size:12.5px;color:#94a3b8}.sidebarFoot .btnGhost{border-color:#334155;color:#cbd5e1}.sidebarFoot .btnGhost:hover{background:#1e293b}.content{min-width:0}.page{max-width:820px;margin:0 auto;padding:24px 24px 60px}.pageHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.pageHead h2{font-size:22px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.chip{border:1px solid #cbd5e1;background:#fff;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:600;color:#334155;cursor:pointer}.chip.chipActive{background:var(--ink);border-color:var(--ink);color:#fff}.sectionH{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:18px 0 10px}.sectionH.overdueH{color:#dc2626}.periodH{font-size:15px;font-weight:800;margin:20px 0 8px;padding-bottom:6px;border-bottom:2px solid var(--line)}.list{display:flex;flex-direction:column;gap:8px}.rowCard{display:flex;align-items:center;gap:12px;background:#fff;border-radius:12px;padding:12px 14px}.rowCard.flush{padding:0;background:transparent}.rowCard.paidRow{opacity:.6}.badge{border-radius:8px;padding:4px 8px;min-width:56px;text-align:center;color:#fff;font-size:11px;font-weight:700}.rowTitle{font-size:14.5px;font-weight:600;color:var(--ink)}.rowSub{font-size:12.5px;color:var(--muted);margin-top:2px}.rowClient{font-size:12px;color:var(--blue);font-weight:700}.rowRight{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.rowAmount{font-size:15px;font-weight:700}.rowActions{display:flex;gap:6px}.wOverdue{color:#dc2626;font-weight:700}.wToday{color:#ea580c;font-weight:700}.wSoon{color:#b45309;font-weight:600}.wNormal{color:var(--muted);font-weight:600}.sumBar{background:var(--ink);color:#fff;border-radius:14px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between}.sumLabel{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;font-weight:700}.sumValue{font-size:22px;font-weight:800}.moreBtn{margin:18px auto 0;display:block;background:#fff;border:1px solid #cbd5e1;border-radius:20px;padding:10px 20px;font-size:13px;font-weight:700;color:#334155;cursor:pointer}.saldo{background:var(--ink);color:#fff;border-radius:14px;padding:16px;margin-bottom:14px}.saldo.saldoOver{background:#065f46}.saldo.saldoOk{background:#334155}.saldoLabel{color:#94a3b8;font-size:12px;font-weight:700;text-transform:uppercase}.saldoAmount{font-size:26px;font-weight:800;margin-top:4px}.saldoSub{color:#cbd5e1;font-size:12px;margin-top:2px}.clientCard{background:#fff;border-radius:12px;overflow:hidden}.clientHead{width:100%;display:flex;align-items:center;gap:10px;padding:14px;background:none;border:0;cursor:pointer}.clientNet{font-size:15px;font-weight:800}.chev{width:16px;text-align:center;color:var(--muted)}.overpay{color:#059669}.kind{border-radius:8px;padding:4px 7px;min-width:44px;text-align:center;font-size:11px;font-weight:800}.kindFakt{background:#e0e7ff;color:#3730a3}.kindWpl{background:#dcfce7;color:#166534}.unsettled{font-size:11px;color:#b45309;font-weight:700}.settled{font-size:11px;color:#059669;font-weight:600}.selBar{display:flex;align-items:center;justify-content:space-between;margin:12px 0 4px}.selHint{font-size:13px;font-weight:600;color:#334155}.noAcct{color:#b45309;font-size:12px;font-weight:600}.checkRow{width:100%;display:flex;align-items:center;gap:10px;background:#fff;border:0;border-radius:12px;padding:12px 14px;cursor:pointer}.checkbox{width:22px;height:22px;border-radius:6px;border:2px solid #cbd5e1;display:grid;place-items:center;color:#fff;font-weight:900;font-size:14px;flex-shrink:0}.checkbox.on{background:var(--blue);border-color:var(--blue)}.nzWrap,.fakturaCard{background:#fff;border-radius:12px;padding:12px 14px}.fakturaHead{display:flex;align-items:center;gap:10px;cursor:default}.subWplata{display:flex;align-items:center;gap:8px;margin:8px 0 0 8px;padding-left:8px;border-left:2px solid #dcfce7}.subAmt{font-size:13px;color:#059669;font-weight:700}.unmatched{margin-top:16px}.payFloat{position:sticky;bottom:16px;width:100%;margin-top:14px;background:#16a34a;color:#fff;border:0;border-radius:14px;padding:15px;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px #16a34a4d}.calNav{display:flex;align-items:center;justify-content:center;gap:18px;margin:8px 0 12px}.calMonth{font-size:18px;font-weight:800;min-width:160px;text-align:center}.calGrid{display:grid;grid-template-columns:repeat(7,1fr);background:#fff;border-radius:12px;overflow:hidden}.calWd{text-align:center;font-size:12px;font-weight:700;color:var(--muted);padding:10px 0;background:#f8fafc}.calWd.weekend{color:#b91c1c}.calCell{min-height:64px;border:.5px solid #eef2f7;padding:5px 6px}.calCell.empty,.calCell.weekendCell{background:#fafafa}.calCell.leaveCell{background:#f0fdf4}.calDay{font-size:13px;font-weight:600;color:#334155}.calDay.todayDot{background:var(--blue);color:#fff;border-radius:11px;padding:1px 7px}.calDots{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px;align-items:center}.dot{width:8px;height:8px;border-radius:4px;display:inline-block}.moreDots{font-size:9px;color:var(--muted);font-weight:700}.legend{display:flex;gap:16px;margin:14px 2px}.legendItem{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#475569;font-weight:600}.reportList{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:20px}.reportCard{text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;cursor:pointer}.reportCard:hover{border-color:var(--blue)}.reportCard.busy{opacity:.6}.reportTable{background:#fff;border-radius:12px;padding:16px}.tableScroll{overflow-x:auto;margin-top:12px}.reportTable table{width:100%;border-collapse:collapse;font-size:13.5px}.reportTable th,.reportTable td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.reportTable th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.3px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:grid;place-items:center;padding:20px;z-index:50}.sheet{background:#fff;border-radius:20px;padding:24px;width:100%;max-width:420px;max-height:92vh;overflow-y:auto}.sheet h2{font-size:20px;margin-bottom:6px}.payBody{display:flex;flex-direction:column;align-items:center;gap:4px}.payBody h2{align-self:center}.payBody .center{text-align:center}.qrWrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin:14px 0}.qrBox{background:#fff;padding:12px;border-radius:16px;border:1px solid var(--line);line-height:0}.details{align-self:stretch;margin-top:8px}.copyRow{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:10px 2px;border:0;border-bottom:1px solid #f1f5f9;background:none;cursor:pointer;text-align:left}.copyLabel{font-size:14px;color:var(--muted);flex-shrink:0}.copyValue{font-size:14px;color:var(--ink);text-align:right;word-break:break-word}.copyValue.strong{font-weight:700;font-size:16px}.details+.btnGreen,.details+.btnGhost,.payBody .btnGreen,.payBody .btnGhost{align-self:stretch;margin-top:12px}.taxNote{align-self:stretch;margin-top:12px;background:#fffbeb;border:1px solid #fcd34d;border-radius:12px;padding:12px;font-size:12.5px;color:#92400e;line-height:1.5}.covers{align-self:stretch;margin-top:16px;background:#f8fafc;border-radius:12px;padding:12px}.coversLabel{font-size:12px;color:var(--muted);font-weight:700;margin-bottom:6px}.coversRow{display:flex;justify-content:space-between;padding:3px 0;font-size:13px}.dayList{display:flex;flex-direction:column;gap:6px;margin:12px 0;max-height:340px;overflow-y:auto}.dayRow{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid #f1f5f9}.errorBox{display:grid;place-items:center;gap:14px;padding:60px 20px;text-align:center}.empRow{cursor:pointer;border:0;text-align:left;width:100%}.avatar{width:40px;height:40px;border-radius:20px;background:#e0e7ff;color:#3730a3;font-weight:700;font-size:14px;display:grid;place-items:center;flex-shrink:0}.avatar.big{width:54px;height:54px;border-radius:27px;font-size:18px}.inactive{font-size:11px;color:#b45309;font-weight:600}.empHead{display:flex;align-items:center;gap:14px;margin:8px 0 4px}.empHead h2{font-size:22px}.empSection{margin-top:16px}.empCard{background:#fff;border-radius:12px;padding:14px}.leaveTop{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.leaveBig{font-size:30px;font-weight:800;color:var(--blue)}.accessOn{color:#16a34a;font-weight:700;font-size:15px}.btnGhost.danger{color:#dc2626;border-color:#fecaca}.btnGhost.danger:hover{background:#fef2f2}.eventRow{display:flex;align-items:center;gap:10px;padding:8px 0}.eventRow.divider{border-top:1px solid #f1f5f9}.eventStatus{font-size:12px;font-weight:700}.tokenBox{background:#eff6ff;border-radius:12px;padding:18px;margin:16px 0;text-align:center;font-size:28px;font-weight:800;color:var(--blue);letter-spacing:3px}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:column}.nav{flex-direction:row;flex-wrap:wrap}.navItem{font-size:13px;padding:8px 10px}.sidebarFoot{margin-top:8px;flex-direction:row;align-items:center;justify-content:space-between}.page{padding:16px 14px 48px}}
