.cb-app{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin-top:8px}
@media(min-width:960px){.cb-app{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start}.cb-side{position:sticky;top:76px}}
.cb-app *{box-sizing:border-box}
.cb-privacy{display:flex;gap:10px;align-items:flex-start;background:var(--c-accsoft,#eef2ff);border:1px solid var(--c-line,#e5e7eb);border-radius:12px;padding:10px 14px;font-size:14px;color:var(--c-fg,#111)}
.cb-bar{display:grid;gap:10px;grid-template-columns:1fr}
@media(min-width:640px){.cb-bar{grid-template-columns:1.3fr 1.3fr .8fr}}
.cb-bar .form-field{margin:0}
.cb-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cb-btns .tool-button,.cb-side .tool-button,.cb-tools .tool-button{padding:9px 14px;font-size:14px;min-height:40px}
.cb-cards{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:640px){.cb-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cb-card{display:flex;flex-direction:column;gap:2px;min-width:0}
.cb-card strong{font-size:clamp(17px,4.4vw,22px);overflow-wrap:anywhere}
.cb-card small{color:var(--c-mut,#6b7280);font-size:12px}
.cb-lbl{font-size:12px;color:var(--c-mut,#6b7280);text-transform:uppercase;letter-spacing:.04em}
.cb-card.cb-main{grid-column:1/-1;background:var(--c-acc,#4f46e5);color:var(--c-accfg,#fff);border-color:transparent}
.cb-card.cb-main .cb-lbl,.cb-card.cb-main small{color:rgba(255,255,255,.85)}
.cb-card.cb-main strong{font-size:clamp(24px,7vw,34px);color:inherit}
.cb-card.cb-main strong.cb-neg{color:#fecaca}
.cb-pos{color:var(--c-ok,#15803d)}.cb-neg{color:var(--c-bad,#b91c1c)}
.cb-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}
.cb-switch button{border:2px solid var(--c-line,#e5e7eb);background:var(--c-card,#fff);color:var(--c-fg,#111);border-radius:10px;padding:10px;font-weight:700;font-size:15px;cursor:pointer;min-height:44px}
.cb-switch #cb-in.on{background:var(--c-ok,#15803d);border-color:var(--c-ok,#15803d);color:#fff}
.cb-switch #cb-out.on{background:var(--c-bad,#b91c1c);border-color:var(--c-bad,#b91c1c);color:#fff}
.cb-two{display:grid;gap:10px;grid-template-columns:1fr 1fr}
.cb-form .form-field{margin-bottom:10px}
.cb-err{color:var(--c-bad,#b91c1c);font-size:14px;margin:0 0 8px}
.cb-filters{display:grid;gap:8px;grid-template-columns:1fr 1fr}
.cb-filters .cb-wide{grid-column:1/-1}
@media(min-width:760px){.cb-filters{grid-template-columns:2fr 1fr 1fr 1fr 1fr auto}.cb-filters .cb-wide{grid-column:auto}}
.cb-filters input,.cb-filters select{width:100%;min-width:0}
.cb-filters label{font-size:12px;color:var(--c-mut,#6b7280);display:block;margin-bottom:2px}
.cb-count{font-size:14px;color:var(--c-mut,#6b7280);margin:12px 0 6px}
.cb-day{border:1px solid var(--c-line,#e5e7eb);border-radius:12px;margin-bottom:10px;overflow:hidden;background:var(--c-card,#fff)}
.cb-dayhead{display:flex;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--c-bg2,#f3f4f6);font-weight:700;font-size:14px}
.cb-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 12px;border-top:1px solid var(--c-line2,#eee);align-items:center}
.cb-row .cb-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.cb-who{overflow-wrap:anywhere;font-size:14px}
.cb-main small,.cb-amt small{color:var(--c-mut,#6b7280);font-size:12px}
.cb-amt{text-align:right;display:flex;flex-direction:column}
.cb-amt strong{overflow-wrap:anywhere}
.cb-chip{align-self:flex-start;font-size:12px;font-weight:700;border-radius:99px;padding:2px 9px}
.cb-chip.in{background:#dcfce7;color:#14532d}.cb-chip.out{background:#fee2e2;color:#7f1d1d}
.cb-acts{grid-column:1/-1;display:flex;gap:8px}
.cb-ico{border:1px solid var(--c-line,#e5e7eb);background:var(--c-card,#fff);color:var(--c-fg,#111);border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer;min-height:36px}
.cb-ico.cb-del{color:var(--c-bad,#b91c1c)}
.cb-empty{text-align:center;padding:24px 12px;border:1px dashed var(--c-line,#e5e7eb);border-radius:12px;color:var(--c-mut,#6b7280)}
.cb-chart svg{width:100%;height:auto;display:block}
.cb-axis{stroke:var(--c-line,#d1d5db);stroke-width:1}
.cb-bar-in{fill:var(--c-ok,#15803d)}.cb-bar-out{fill:var(--c-bad,#b91c1c)}
.cb-val{font-size:10px;fill:var(--c-mut,#6b7280)}.cb-mlbl{font-size:12px;fill:var(--c-fg,#111)}
.cb-legend{display:flex;gap:14px;font-size:13px;color:var(--c-mut,#6b7280);margin:4px 0 8px}
.cb-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}
.cb-scroll{overflow-x:auto}
.cb-table{width:100%;border-collapse:collapse;font-size:14px}
.cb-table th,.cb-table td{padding:7px 8px;text-align:right;border-bottom:1px solid var(--c-line2,#eee);white-space:nowrap}
.cb-table th:first-child,.cb-table td:first-child{text-align:left}
.cb-status{min-height:1.4em}.cb-status.cb-bad{color:var(--c-bad,#b91c1c)}
.cb-toast{position:fixed;left:12px;right:12px;bottom:14px;max-width:460px;margin:0 auto;background:#111827;color:#fff;border-radius:12px;padding:10px 14px;display:flex;gap:12px;align-items:center;justify-content:space-between;z-index:60;box-shadow:0 8px 30px rgba(0,0,0,.3)}
.cb-toast[hidden],.cb-dlg[hidden]{display:none}
.cb-toast button{background:transparent;border:0;color:#a5b4fc;font-weight:700;cursor:pointer;font-size:15px;min-height:36px;padding:0 6px}
.cb-dlg{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px;z-index:70}
.cb-dlg-box{background:var(--c-card,#fff);color:var(--c-fg,#111);border-radius:14px;padding:18px;width:100%;max-width:380px}
.cb-dlg-box h3{margin:0 0 8px}.cb-dlg-box input{width:100%;margin:6px 0 12px}
.cb-dlg-btns{display:flex;gap:8px;justify-content:flex-end}
.cb-file{position:relative;overflow:hidden}
.cb-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.cb-file:focus-within{outline:2px solid var(--c-acc,#4f46e5);outline-offset:2px}
.cb-sr{position:absolute;left:-9999px}
.cb-seo h2{margin-top:0}
@media print{.cb-toast,.cb-dlg,.cb-side,.cb-btns{display:none}}
.cb-filters>div,.cb-main-col,.cb-side,.cb-two>*{min-width:0}
.cb-filters input[type=date],.cb-two input[type=date]{max-width:100%}
