/* Responsive, keyboard-accessible, role-scoped Solar Hub Central Board overlay */
.modal-wrap.board-screen .modal{width:min(1480px,calc(100vw - 22px));max-width:none;min-height:min(88vh,850px);max-height:calc(100dvh - 20px);display:flex;flex-direction:column}
.modal-wrap.board-screen .modal-head{flex:0 0 auto}
.modal-wrap.board-screen .modal-body{flex:1;overflow:auto;min-height:0;padding:18px 22px 30px}
.b-root{min-width:0}.b-root h3{font-size:1.08rem;margin:17px 0 10px;color:#32151f}.b-root h4{font-size:1rem;margin:0 0 12px}
.b-root .b-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.b-note{background:#fff7df;border:1px solid #f1d88d;color:#71481d;border-radius:13px;padding:12px 14px;line-height:1.5;font-size:.9rem;margin:0 0 14px}
.b-tabs{display:flex;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;gap:6px;position:sticky;z-index:2;top:-18px;background:#fffdfc;border-bottom:1px solid #e9dee2;padding:10px 0;margin-bottom:10px}
.b-tabs button{border:1px solid #e9dfe3;background:white;border-radius:12px;padding:10px 13px;font-size:.82rem;color:#592b3d;font-weight:650;cursor:pointer}
.b-tabs button.selected{background:#820024;color:white;border-color:#820024}.b-tabs button:focus-visible,.b-root button:focus-visible{outline:3px solid #ffb900;outline-offset:2px}
.b-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(182px,1fr));gap:10px;margin:12px 0 20px}
.b-stat{border-radius:15px;border:1px solid #e9dfe4;background:white;padding:17px;min-width:0;display:flex;flex-direction:column;gap:6px;box-shadow:0 3px 14px #460d1c06}
.b-stat small{font-size:.82rem;color:#896a74}.b-stat strong{font-size:1.6rem;color:#3e1324;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.b-stat span{font-size:.72rem;color:#8a6e78}
.b-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px;margin:12px 0}
.b-link-grid button{background:#fffaf0;border:1px solid #f3e3c6;padding:13px;text-align:left;border-radius:12px;color:#542338;cursor:pointer;font-weight:600}
.b-list-item{background:white;border:1px solid #eadfe3;border-radius:12px;padding:12px 14px;margin:9px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}
.b-list-item>div:first-child{min-width:0;overflow-wrap:anywhere}.b-list-item b{display:block;font-size:.92rem;color:#3b1422}.b-list-item small{display:block;font-size:.77rem;color:#8e7380;line-height:1.6;margin-top:3px}
.b-inline{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.b-btn,.b-primary{border:1px solid #decfd4;padding:9px 13px;border-radius:10px;cursor:pointer;background:white;color:#7a0022;font-weight:700;font-size:.82rem}
.b-primary{background:#800021;color:white;padding:12px 18px;border-color:#800021}.b-btn.b-success{border-color:#b7debe;color:#176436}.b-btn.b-secondary{background:#fff9ef}
.b-panel{border:1px solid #eddee1;background:#fffdfc;border-radius:14px;padding:18px;margin:13px 0 22px}
.b-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.b-field{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;font-size:.82rem;font-weight:600;color:#61414d;min-width:0}
.b-field input,.b-field select,.b-field textarea{border:1px solid #e7dce0;border-radius:10px;background:#fff;color:#36252b;padding:11px 12px;width:100%;font:inherit;min-width:0}
.b-field textarea{resize:vertical}.b-field input:focus,.b-field select:focus,.b-field textarea:focus{outline:2px solid #edb645;outline-offset:1px}
.b-chip{display:inline-block;border-radius:9px;background:#fff0cf;color:#84560e;padding:6px 9px;font-size:.76rem;font-weight:650;white-space:nowrap}
.b-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.b-empty{background:#faf6f7;border:1px dashed #decfd6;border-radius:12px;padding:18px;color:#896c78;margin:12px 0}
.b-phases{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.b-phase{border-radius:14px;border:1px solid #ebdfe2;padding:14px;background:white;min-width:0}.b-phase header{display:flex;gap:9px;align-items:flex-start}.b-phase header>div{flex:1}.b-phase small{display:block;color:#927781;line-height:1.5}.b-phase p{color:#856b77}.b-step{background:#ffd45d;border-radius:9px;padding:8px;color:#412b00}
.b-table-wrap{overflow-x:auto;max-width:100%;border-radius:12px;border:1px solid #e9e0e2}.b-table{width:100%;border-collapse:collapse;min-width:650px}.b-table th,.b-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #eee1e5;font-size:.82rem}.b-table th{background:#fff7e9;color:#61404c}
.b-error{background:#fff0f0;border:1px solid #ffb8b8;color:#801e28;padding:18px;border-radius:12px}.b-loading{padding:20px;color:#886b72}
@media(max-width:750px){.modal-wrap.board-screen .modal{width:100vw;height:100dvh;min-height:100dvh;max-height:100dvh;border-radius:0}.modal-wrap.board-screen .modal-body{padding:12px}.b-cols{grid-template-columns:1fr}.b-tabs{top:-12px}.b-list-item{align-items:flex-start;flex-direction:column}.b-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.b-phases{grid-template-columns:1fr}.b-stat strong{font-size:1.34rem}.b-stat{padding:12px}}
@media(max-width:400px){.b-stat-grid{grid-template-columns:1fr 1fr}.b-link-grid{grid-template-columns:1fr 1fr}.b-link-grid button{padding:10px}}

/* Common modal usability and header alerts */
#bellBtn{position:relative;font-size:16px}
.bell-count{position:absolute;top:-6px;right:-5px;min-width:17px;height:17px;border-radius:50%;background:#840023;color:white;font-size:10px;display:grid;place-items:center;padding:2px}
.bell-count:empty{display:none}
.modal-wrap:not(.board-screen) .modal{max-height:calc(100dvh - 26px)}
.modal-wrap:not(.board-screen) .modal-body{overscroll-behavior:contain;scrollbar-gutter:stable}
@media(max-width:760px){.modal-wrap:not(.board-screen) .modal{height:100dvh;max-height:100dvh;border-radius:0;width:100%}.modal-wrap:not(.board-screen){padding:0}}
