.b2-header { position:relative; }
.b2-screen { gap:12px; }
.b2-screen .segmented button { display:flex; align-items:center; justify-content:center; }
.b2-shield-menu { position:absolute; z-index:30; right:12px; top:100%; width:270px; max-width:calc(100vw - 32px); background:#fff; border:1px solid var(--border); border-radius:14px; box-shadow:0 8px 25px #14386725; padding:8px; }
.b2-search { display:flex; align-items:center; gap:10px; padding:5px 10px; border:1px solid var(--border); border-radius:14px; background:#f4f7fc; }
.b2-search input { border:0; background:transparent; width:100%; min-width:0; font-size:14px; }
.b2-object-list,.b2-report-list { display:grid; gap:9px; }
.b2-object-card { display:grid; grid-template-columns:88px minmax(0,1fr) 16px; gap:9px 12px; padding:8px; align-items:start; }
.b2-wide { grid-column:1/-1; }
.b2-object-thumb { width:88px; height:92px; border-radius:9px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#f1f5fb; }
.b2-object-thumb>.icon { width:34px; height:34px; }
.b2-object-thumb img,.b2-report-thumb img { width:100%; height:100%; object-fit:cover; }
.b2-object-copy h2 { margin:0 0 3px; font-size:16px; line-height:1.2; overflow-wrap:anywhere; }
.b2-object-copy p { margin:0 0 3px; color:var(--muted); font-size:14px; }
.b2-object-copy small,.b2-object-head small { display:block; color:var(--muted); line-height:1.35; font-size:12px; }
.b2-open { align-self:center; padding:0; border:0; background:transparent; }
.b2-open .icon { width:16px; height:24px; }
.b2-report-state { display:flex; gap:7px; align-items:center; font-size:13px; margin:5px 0; line-height:1.25; }
.b2-report-state>span { width:12px; height:12px; flex:none; border-radius:50%; background:#f02c37; }
.b2-report-state.ok>span { background:#06b95e; }
.b2-report-state.optional>span { background:#9ca9be; }
.b2-meta { display:flex; gap:9px; margin-top:4px; color:var(--muted); font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
.b2-meta .icon { width:18px; height:18px; flex:none; }
.b2-meta small { display:block; }
.b2-admin-actions { display:grid; grid-template-columns:1.7fr 1fr; gap:6px; }
.b2-admin-actions .button { min-height:32px; padding:7px; font-size:11px; border-radius:8px; }
.b2-admin-actions .icon { width:15px; height:15px; flex:none; }
.b2-object-head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.b2-object-head>div { min-width:0; }
.b2-object-head h1 { font-size:26px; line-height:1.1; margin:4px 0 7px; overflow-wrap:anywhere; }
.b2-object-head p { font-size:17px; margin:0; }
.b2-object-head .button { font-size:14px; min-width:105px; padding:10px; }
.b2-object-head small { text-align:right; margin-top:5px; }
.b2-object-head .badge { padding:10px; color:var(--muted); background:#eef2f9; border-radius:9px; }
.b2-latest { display:flex; gap:12px; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.b2-comment { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.4; margin-top:6px; }
.b2-section-title { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.b2-section-title h2 { margin:0; font-size:17px; }
.b2-section-title>span { font-size:13px; color:var(--muted); }
.b2-photo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.b2-report-photo { padding:0; aspect-ratio:1; border:0; border-radius:10px; overflow:hidden; position:relative; background:#eff4fa; }
.b2-report-photo>span { display:block; width:100%; height:100%; }
.b2-report-photo img { width:100%; height:100%; object-fit:cover; }
.b2-report-photo b { position:absolute; inset:0; background:#0b17246b; color:white; display:grid; place-items:center; font-size:26px; }
.b2-contractors { display:grid; gap:9px; }
.b2-contractors>h2 { margin-bottom:0; font-size:18px; }
.b2-contractors .card h2 { margin:0 0 8px; font-size:19px; }
.b2-report-meta>div { display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid var(--border); font-size:14px; }
.b2-report-meta>div:first-child { padding-top:0; }.b2-report-meta>div:last-child { border:0; padding-bottom:0; }
.b2-report-meta span { color:var(--muted); }.b2-report-meta strong { text-align:right; }
.b2-object-form>.field { padding:12px; border:1px solid var(--border); border-radius:12px; margin:0; }
.b2-object-form label,.b2-deputies legend { font-weight:400; color:var(--muted); }
.b2-chips { display:flex; flex-wrap:wrap; gap:5px; }
.b2-chip { border:1px solid #cfdefa; background:#e8f1ff; color:var(--ink); border-radius:7px; padding:6px 8px; text-align:left; font-size:13px; overflow-wrap:anywhere; max-width:100%; }
.b2-deputies summary { margin-top:9px; color:var(--muted); cursor:pointer; font-size:14px; }.b2-deputies .check-label { margin-top:8px; }
.b2-report-object { display:flex; align-items:center; gap:14px; }.b2-report-object h2 { margin:0 0 7px; font-size:18px; }.b2-report-object p { color:var(--muted); }
.b2-report-object .b2-object-thumb { width:75px; height:67px; flex:none; }
.b2-photo-picker { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; }
.b2-photo-add,.b2-photo-preview { aspect-ratio:.85; border:1px dashed #c5d5f2; border-radius:9px; color:var(--ink); background:#fbfcff; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; padding:5px; font-size:10px; min-width:0; position:relative; overflow:hidden; }
.b2-photo-preview img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.b2-photo-preview>.icon { width:22px; }
.b2-photo-remove { position:absolute; right:2px; top:2px; border:1px solid white; background:#234672; color:white; width:22px; height:22px; border-radius:50%; font-size:18px; line-height:1; z-index:1; }
.b2-contractor-edit { background:#f5f8fd; margin-bottom:9px; }.b2-contractor-edit .field { margin-top:10px; }.b2-contractor-edit label { font-size:12px; }
.b2-report-row { display:flex; gap:11px; align-items:center; }.b2-report-row>div:not(.b2-report-thumb) { flex:1; min-width:0; }.b2-report-row h2 { font-size:17px; margin:0 0 6px; }.b2-report-row p,.b2-report-row small { color:var(--muted); font-size:12px; margin:4px 0; }.b2-report-row>.icon { flex:none; }
.b2-report-thumb { width:78px; height:82px; flex:none; border-radius:8px; overflow:hidden; background:#f1f5fb; display:grid; place-items:center; }
.b2-excerpt { overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow-wrap:anywhere; }
.b2-success { padding:14px; border:1px solid #7ccc9a; border-radius:10px; color:#125933; background:#edfaf1; line-height:1.4; }
.b2-gallery { max-width:650px; padding:16px; }.b2-gallery #gallery-image { height:min(60dvh,520px); display:flex; align-items:center; justify-content:center; flex-direction:column; overflow:hidden; }.b2-gallery #gallery-image img { max-width:100%; max-height:100%; object-fit:contain; }.b2-gallery-controls { display:flex; justify-content:space-between; align-items:center; margin-top:14px; gap:10px; }.b2-gallery-controls .button { width:65px; }
.field-error { margin-top:5px; }.field-error.form-error { font-size:12px; padding:7px; }.b2-screen input[aria-invalid=true],.b2-screen textarea[aria-invalid=true] { border-color:#f0334a; }
[hidden] { display:none!important; }
@media(max-width:350px){ .b2-object-card { grid-template-columns:70px minmax(0,1fr) 14px; gap:7px; }.b2-object-thumb { width:70px; height:82px; }.b2-object-head { flex-wrap:wrap; }.b2-object-head h1 { font-size:24px; }.b2-photo-picker { gap:4px; }.b2-photo-add { font-size:9px; padding:3px; }.b2-report-thumb { width:58px; }.b2-report-meta>div { font-size:12px; } }
