/* ─── Budget module — /rozpocet/ ─── */

/* Year selector */
.bb-year-selector{display:flex;flex-wrap:wrap;gap:6px;margin:28px 0 32px}
.bb-year-btn{padding:8px 18px;border-radius:8px;font-size:14px;font-weight:600;border:1.5px solid var(--bela-border);background:var(--bela-surface);color:var(--bela-text-muted);cursor:pointer;text-decoration:none;transition:all .15s;font-family:var(--bela-font-body)}
.bb-year-btn.is-active{border-color:var(--bela-secondary);background:rgba(45,95,62,.06);color:var(--bela-secondary)}
.bb-year-btn:hover{border-color:var(--bela-secondary);text-decoration:none}

/* Org group */
.bb-org-group{margin-bottom:36px}
.bb-org-group__title{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;font-family:var(--bela-font-heading);color:var(--bela-primary);margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--bela-border)}
.bb-org-group__icon{font-size:22px}
.bb-org-group--city .bb-org-group__title{border-bottom-color:var(--bela-secondary)}

/* Document table */
.bb-doc-table{border:1px solid var(--bela-border);border-radius:12px;overflow:hidden;background:var(--bela-surface)}
.bb-doc-table__header{display:grid;grid-template-columns:1fr 180px 120px 120px;padding:10px 18px;background:var(--bela-bg-alt);font-size:11px;font-weight:700;color:var(--bela-text-muted);text-transform:uppercase;letter-spacing:0.5px;border-bottom:1px solid var(--bela-border)}
.bb-doc-table__row{display:grid;grid-template-columns:1fr 180px 120px 120px;padding:12px 18px;border-bottom:1px solid var(--bela-border);align-items:center;transition:background .1s}
.bb-doc-table__row:last-child{border-bottom:none}
.bb-doc-table__row:hover{background:rgba(45,95,62,.02)}
.bb-doc-table__link{font-weight:600;color:var(--bela-text);text-decoration:none}
.bb-doc-table__link:hover{color:var(--bela-secondary);text-decoration:underline}
.bb-doc-table__badge{display:inline-block;padding:2px 8px;border-radius:6px;background:rgba(196,151,59,.1);color:var(--bela-accent);font-size:11px;font-weight:700;margin-left:6px}

/* Status badges */
.bb-status{display:inline-block;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:700}
.bb-status--navrh{background:rgba(196,151,59,.1);color:var(--bela-accent)}
.bb-status--schvaleny{background:rgba(45,95,62,.08);color:var(--bela-secondary)}
.bb-status--zmeneny{background:rgba(27,58,75,.06);color:var(--bela-primary)}

/* Download button */
.bb-download-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:8px;background:rgba(45,95,62,.06);color:var(--bela-secondary);font-size:12px;font-weight:600;text-decoration:none;transition:all .15s}
.bb-download-btn:hover{background:var(--bela-secondary);color:#fff;text-decoration:none}
.bb-download-count{opacity:.6;font-weight:400}

/* Empty state */
.bb-empty{text-align:center;padding:48px 20px;color:var(--bela-text-muted);font-size:15px}

/* ─── Single ─── */
.bb-single{max-width:var(--bela-container, 1280px);margin:28px auto 48px;padding:0 16px}
.bb-single__meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:24px}
.bb-single__meta-item{font-size:13px;color:var(--bela-text-secondary)}
.bb-single__finance{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
.bb-finance-card{padding:16px 20px;border-radius:12px;border:1px solid var(--bela-border);background:var(--bela-surface)}
.bb-finance-card__label{font-size:12px;font-weight:600;color:var(--bela-text-muted);text-transform:uppercase;letter-spacing:0.5px}
.bb-finance-card__value{display:block;font-size:22px;font-weight:700;font-family:var(--bela-font-heading);margin-top:4px}
.bb-finance-card--income .bb-finance-card__value{color:var(--bela-secondary)}
.bb-finance-card--expense .bb-finance-card__value{color:var(--bela-primary)}
.bb-single__note{padding:14px 18px;border-radius:10px;background:var(--bela-bg-alt);border-left:3px solid var(--bela-accent);margin-bottom:24px;font-size:14px;color:var(--bela-text-secondary)}
.bb-single__note p{margin:0}
.bb-single__content{margin-bottom:24px;line-height:1.7}
.bb-single__files{margin-bottom:28px}
.bb-single__files-title{font-size:16px;font-weight:700;margin-bottom:12px;font-family:var(--bela-font-heading)}
.bb-file-list{display:flex;flex-direction:column;gap:6px}
.bb-file-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--bela-border);border-radius:10px;text-decoration:none;color:var(--bela-text);transition:all .15s;background:var(--bela-surface)}
.bb-file-item:hover{border-color:var(--bela-secondary);box-shadow:var(--bela-shadow-hover);text-decoration:none}
.bb-file-item__icon{font-size:20px}
.bb-file-item__info{flex:1;display:flex;flex-direction:column}
.bb-file-item__name{font-size:14px;font-weight:600}
.bb-file-item__size{font-size:11px;color:var(--bela-text-muted)}
.bb-file-item__dl{font-size:18px;opacity:.5;transition:opacity .15s}
.bb-file-item:hover .bb-file-item__dl{opacity:1}
.bb-single__back{margin-top:28px;padding-top:20px;border-top:1px solid var(--bela-border)}
.bb-back-link{font-size:14px;font-weight:600;color:var(--bela-secondary);text-decoration:none}
.bb-back-link:hover{text-decoration:underline}

/* ─── Responsive ─── */
@media(max-width:768px){
.bb-doc-table__header{display:none}
.bb-doc-table__row{grid-template-columns:1fr;gap:6px;padding:14px 16px}
.bb-doc-table__cell--type,.bb-doc-table__cell--status{font-size:12px}
.bb-single__finance{grid-template-columns:1fr}
}

/* ─── Focus states ─── */
.bb-year-btn:focus-visible{outline:3px solid var(--bela-secondary);outline-offset:2px}
.bb-doc-table__link:focus-visible{outline:3px solid var(--bela-secondary);outline-offset:1px;border-radius:4px}
.bb-download-btn:focus-visible{outline:3px solid var(--bela-secondary);outline-offset:2px}
.bb-file-item:focus-visible{outline:3px solid var(--bela-secondary);outline-offset:2px}
.bb-back-link:focus-visible{outline:3px solid var(--bela-secondary);outline-offset:2px}

/* ─── Phone (480px) ─── */
@media (max-width: 480px) {
    .bela-page-hero { padding: 12px 0 16px; }
    .bela-page-hero__title { font-size: 22px; }
    .bb-doc-table__row { padding: 10px 12px; }
    .bb-doc-table__cell--name { font-size: 13px; }
    .bb-single__header { padding: 16px; }
    .bb-single__finance { gap: 8px; }
}
