@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/montserrat-600.ttf') format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/montserrat-700.ttf') format('truetype')}
/* Compact records, generous action targets, consistent keyboard focus. */
.main button:not(.rf-sort):not(.bo-record-select){min-height:36px;border-radius:8px;padding:8px 13px;cursor:pointer;transition:background .15s,box-shadow .15s;line-height:1.25}
.main button:not([disabled]):hover{box-shadow:0 2px 7px #183b3020}
.main button:focus-visible,.bo-record-select:focus-visible{outline:3px solid #b18135;outline-offset:3px}
.main button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}
.bo-record-bar{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f1f5f3;border:1px solid #cfddd5;border-radius:10px;margin:8px 0;position:sticky;left:0;box-sizing:border-box;width:100%}
.bo-record-status{font-size:13px;color:#264438;overflow-wrap:anywhere}
.bo-record-buttons{display:flex;flex-wrap:wrap;gap:7px}
.main .bo-record-action{border:1px solid #c5d6cd;background:#fff;color:#203d30;font-weight:600}
.main .bo-record-action:not(:disabled):hover{background:#e0ece5;border-color:#789785}
.bo-action-source,.bo-action-cell{display:none!important}
.bo-record-select{appearance:auto!important;width:18px!important;height:18px!important;min-width:18px!important;margin:2px 7px 2px 0!important;padding:0!important;vertical-align:middle;accent-color:#285e44;cursor:pointer}
.main table.bo-record-table{min-width:0!important;width:100%!important;table-layout:auto;border-collapse:collapse;font-size:12px}
.main table.bo-record-table th,.main table.bo-record-table td{min-width:0!important;max-width:270px;padding:7px 8px!important;white-space:normal!important;overflow-wrap:anywhere;line-height:1.35;vertical-align:top}
.main table.bo-record-table td p{margin:3px 0}
.main table.bo-record-table tr.bo-record-selected>td{background:#e3f0e8!important;box-shadow:inset 0 -1px #a4c4b2,inset 0 1px #a4c4b2}
.bo-record-table tbody tr:hover>td{background:#f3f6f4}
.bo-record-table tbody tr{cursor:pointer}
.bo-record-table .rf-select{min-width:0!important;max-width:150px;font-size:11px;padding:4px 2px;margin-top:5px}
.bo-record-table .rf-sort{min-height:25px;padding:2px 8px;border:1px solid #cbd5ce;border-radius:5px;background:#fff}
.rf-toolbar{gap:7px;padding:8px 0;font-size:12px}
.rf-toolbar select{max-width:145px;padding:5px;font-size:12px}
.rf-toolbar>span{flex-basis:auto;margin-right:auto}
.bo-section-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:7px;background:#edf1ee;border:1px solid #d7dfda;border-radius:12px}
.main .bo-section-tabs [role=tab]{border:1px solid transparent;background:transparent;color:#3b5145;font-weight:600;flex:0 1 auto;text-align:left}
.main .bo-section-tabs [aria-selected=true]{background:#244b37;color:#fff;box-shadow:0 2px 5px #203e3320}
.bo-section-panel[hidden]{display:none!important}
.bo-section-panel>.panel{margin-top:0}
.bo-section-panels{min-width:0}
@media(pointer:coarse){.main button:not(.rf-sort){min-height:44px}.bo-record-select{width:22px!important;height:22px!important}}
@media(max-width:700px){.bo-section-tabs{gap:4px}.main .bo-section-tabs [role=tab]{flex:1 1 45%;font-size:12px}.bo-record-buttons>button{flex:1 1 140px}.main table.bo-record-table{font-size:11px}.main table.bo-record-table th,.main table.bo-record-table td{padding:6px!important}.bo-record-bar{position:static}}

.main button:not([class]),.main .mini-btn{border:1px solid #c7d2cd;background:#fff;color:#294535}
.bo-section-panel>details[open]>summary{margin-bottom:12px}

.bo-record-table:not(.bo-show-geography) [data-rf-extra]:not(:last-child){display:none!important}
.main table.bo-record-table .bo-short-column{min-width:68px!important;overflow-wrap:normal}
.main .bo-geography-toggle{align-self:flex-start;font-size:12px;min-height:30px;padding:5px 9px;border:1px solid #ccd8d0;background:#fff;color:#31543e}

:root{--bo-ui-font:"Segoe UI",Arial,sans-serif;--bo-title-font:"Montserrat","Segoe UI",Arial,sans-serif}
body{font-family:var(--bo-ui-font);font-size:14px;line-height:1.45}
body button,body input,body select,body textarea,.sidebar,.main table{font-family:var(--bo-ui-font)}
body h1,body h2,body h3,body h4{font-family:var(--bo-title-font)!important;font-weight:600;letter-spacing:-.015em;line-height:1.3}
body .topbar h1{font-size:25px}body .panel h2{font-size:20px}body .panel h3{font-size:16px}
.main table th{font-family:var(--bo-ui-font);font-weight:600;letter-spacing:.025em}
.main table,.main input[type=number],.main .kpi strong,.main .ops-kpi strong{font-variant-numeric:tabular-nums}
.main .kpi strong,.main .rank-num{font-family:var(--bo-ui-font)}
@media(max-width:700px){body .topbar h1{font-size:21px}body .panel h2{font-size:18px}}

@font-face{font-family:'Font Awesome 6 Free';font-style:normal;font-weight:900;font-display:block;src:url('assets/fonts/fa-solid-900.woff2') format('woff2')}
@font-face{font-family:'Font Awesome 6 Brands';font-style:normal;font-weight:400;font-display:block;src:url('assets/fonts/fa-brands-400.woff2') format('woff2')}
.bo-fa{font:900 18px/1 'Font Awesome 6 Free';display:inline-block;flex-shrink:0}.bo-fa-brand{font-family:'Font Awesome 6 Brands';font-weight:400}
.main .bo-record-action{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px}
.bo-action-tooltip{display:none;position:absolute;left:0;top:calc(100% + 7px);z-index:80;min-width:120px;max-width:260px;width:max-content;padding:8px 10px;background:#14291f;color:#fff;border-radius:6px;font-size:12px;font-weight:400;white-space:normal;box-shadow:0 3px 12px #0003;pointer-events:none}
.bo-more-actions{margin:0}.bo-secondary-actions{display:flex;gap:7px;flex-wrap:wrap}.bo-record-buttons{align-items:flex-start}
@media(hover:hover) and (pointer:fine) and (min-width:761px){.bo-action-text{display:none}.bo-record-action:hover .bo-action-tooltip,.bo-record-action:focus-visible .bo-action-tooltip{display:block}.bo-more-actions{display:contents}.bo-more-actions>summary{display:none}}
@media(hover:none),(pointer:coarse),(max-width:760px){.bo-action-text{display:inline;font-size:12px}.bo-action-tooltip{display:none!important}.bo-more-actions{flex-basis:100%;width:100%}.bo-more-actions>summary{cursor:pointer;padding:12px;background:#e3ece6;border:1px solid #bdcdc3;border-radius:7px;min-height:44px;box-sizing:border-box}.bo-secondary-actions{padding-top:8px}.bo-secondary-actions>button{flex:1 1 150px}.bo-record-buttons>.bo-record-action{flex:1 1 140px}.bo-record-action{justify-content:flex-start!important}}

/* Tooltips are rendered in the top layer, outside scrolling tables. */
.bo-record-action .bo-action-tooltip{display:none!important}
.bo-tooltip-layer{position:fixed;inset:auto;margin:0;z-index:2147483647;width:max-content;max-width:min(320px,calc(100vw - 16px));padding:9px 12px;border:0;border-radius:7px;background:#14291f;color:#fff;font:13px/1.4 'Segoe UI',Arial,sans-serif;box-shadow:0 4px 18px #0004;pointer-events:none;overflow-wrap:anywhere;box-sizing:border-box}
.bo-tooltip-layer::backdrop{background:transparent;pointer-events:none}
.bo-tooltip-layer[hidden]{display:none!important}
/* Fluid form tracks keep labels and controls within their own cells. */
.main,.main .view,.bo-section-panel,.main .panel,.main form,.main fieldset,.modal-card form{min-width:0;max-width:100%;box-sizing:border-box}
.main fieldset,.modal-card fieldset{min-inline-size:0}
.main label,.modal-card label,.main .toolbar>*,.main .inline-tools>*,.main .panel-head>*{min-width:0;overflow-wrap:anywhere}
.main input:not([type=checkbox]):not([type=radio]),.main select,.main textarea,.modal-card input:not([type=checkbox]):not([type=radio]),.modal-card select,.modal-card textarea{min-width:0;max-width:100%;box-sizing:border-box}
.main .edit-grid,.modal-card .edit-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px;align-items:start}
.main .edit-grid>*,.modal-card .edit-grid>*{min-width:0}.main .edit-grid .wide,.modal-card .edit-grid .wide{grid-column:1/-1}
.main .toolbar{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));align-items:end}
.main .panel-head,.main .inline-tools{flex-wrap:wrap;gap:10px}
.main .selectize-control,.modal-card .selectize-control{min-width:0;max-width:100%}.main .selectize-input,.modal-card .selectize-input{min-width:0;max-width:100%;box-sizing:border-box}
.main .selectize-input .item,.modal-card .selectize-input .item{white-space:normal;overflow-wrap:anywhere;max-width:100%}
.app-shell.sidebar-hidden>.main{width:100%;grid-column:1;padding-left:24px;padding-right:24px}
@media(max-width:600px){.app-shell.sidebar-hidden>.main{padding-left:12px;padding-right:12px}.main .edit-grid,.modal-card .edit-grid{grid-template-columns:minmax(0,1fr)}}
@media(min-width:901px){.app-shell.sidebar-hidden{grid-template-columns:minmax(0,1fr)}.app-shell.sidebar-hidden>.sidebar{display:none}.app-shell.sidebar-hidden>.main{grid-column:1;width:100%}}
@media(max-width:900px){.app-shell:not(.sidebar-mobile-open)>.sidebar{visibility:hidden;pointer-events:none}.app-shell.sidebar-mobile-open>.sidebar{visibility:visible;pointer-events:auto;transform:none}}
@media(max-width:900px){.app-shell>.sidebar{transition:transform .2s ease}}
