/* Minification failed. Returning unminified contents.
(2,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(4,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(14,76): run-time error CSS1039: Token not allowed after unary operator: '-cc-black'
(18,27): run-time error CSS1039: Token not allowed after unary operator: '-cc-gold'
(21,39): run-time error CSS1039: Token not allowed after unary operator: '-cc-paper'
(21,74): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
(23,35): run-time error CSS1039: Token not allowed after unary operator: '-cc-gold'
(26,30): run-time error CSS1039: Token not allowed after unary operator: '-cc-muted'
(27,30): run-time error CSS1039: Token not allowed after unary operator: '-cc-black'
(31,29): run-time error CSS1039: Token not allowed after unary operator: '-cc-muted'
(32,41): run-time error CSS1039: Token not allowed after unary operator: '-cc-paper'
(32,76): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
(34,96): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
(35,38): run-time error CSS1039: Token not allowed after unary operator: '-cc-muted'
(40,70): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
(43,29): run-time error CSS1039: Token not allowed after unary operator: '-cc-muted'
(53,184): run-time error CSS1039: Token not allowed after unary operator: '-cc-black'
(53,215): run-time error CSS1039: Token not allowed after unary operator: '-cc-black'
(54,72): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
(63,51): run-time error CSS1039: Token not allowed after unary operator: '-cc-gold'
(63,97): run-time error CSS1039: Token not allowed after unary operator: '-cc-black'
(68,54): run-time error CSS1039: Token not allowed after unary operator: '-cc-muted'
(78,52): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
(80,71): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
(81,54): run-time error CSS1039: Token not allowed after unary operator: '-cc-paper'
(81,89): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
(93,37): run-time error CSS1039: Token not allowed after unary operator: '-cc-muted'
(104,68): run-time error CSS1039: Token not allowed after unary operator: '-cc-gold'
(135,22): run-time error CSS1039: Token not allowed after unary operator: '-cc-paper'
(136,28): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
(146,22): run-time error CSS1039: Token not allowed after unary operator: '-cc-paper'
(147,28): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
(149,17): run-time error CSS1039: Token not allowed after unary operator: '-cc-black'
(158,77): run-time error CSS1039: Token not allowed after unary operator: '-cc-gold'
(165,62): run-time error CSS1039: Token not allowed after unary operator: '-cc-muted'
(170,22): run-time error CSS1039: Token not allowed after unary operator: '-cc-paper'
(171,28): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
(182,58): run-time error CSS1039: Token not allowed after unary operator: '-cc-muted'
(183,65): run-time error CSS1039: Token not allowed after unary operator: '-cc-black'
(187,101): run-time error CSS1039: Token not allowed after unary operator: '-cc-gold'
(189,22): run-time error CSS1039: Token not allowed after unary operator: '-cc-paper'
(192,17): run-time error CSS1039: Token not allowed after unary operator: '-cc-muted'
(202,64): run-time error CSS1039: Token not allowed after unary operator: '-cc-paper'
(202,99): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
(214,71): run-time error CSS1039: Token not allowed after unary operator: '-cc-paper'
(214,106): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
(214,145): run-time error CSS1039: Token not allowed after unary operator: '-cc-gold'
(216,73): run-time error CSS1039: Token not allowed after unary operator: '-cc-paper'
(216,108): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
(220,82): run-time error CSS1039: Token not allowed after unary operator: '-cc-gold'
(247,67): run-time error CSS1039: Token not allowed after unary operator: '-cc-gold'
(281,37): run-time error CSS1039: Token not allowed after unary operator: '-cc-gold'
(350,43): run-time error CSS1039: Token not allowed after unary operator: '-cc-gold'
(361,138): run-time error CSS1039: Token not allowed after unary operator: '-cc-gold'
(395,53): run-time error CSS1039: Token not allowed after unary operator: '-cc-gold'
(401,47): run-time error CSS1039: Token not allowed after unary operator: '-cc-paper'
(401,82): run-time error CSS1039: Token not allowed after unary operator: '-cc-line'
 */
:root {
    --cc-black: #11100d;
    --cc-black-soft: #211d15;
    --cc-gold: #c79b35;
    --cc-gold-pale: #f2e6c7;
    --cc-paper: #fffdf8;
    --cc-canvas: #f4f1ea;
    --cc-line: #ded8ca;
    --cc-muted: #6d665a;
}

.cc-shell, .cc-shell * { box-sizing: border-box; }
.cc-shell { margin: 0 auto; max-width: 1680px; min-width: 0; width: 100%; }
.cc-hero { align-items: flex-end; background: linear-gradient(135deg, var(--cc-black), #302817); border: 1px solid #45371f; border-radius: 8px; color: #fff; display: flex; justify-content: space-between; margin-bottom: 14px; padding: 20px 22px; }
.cc-hero > div:first-child { min-width: 0; }
.cc-hero h1 { color: #fff8df; font-size: 26px; margin: 3px 0 4px; }
.cc-hero p { color: #cfc3a8; margin: 0; max-width: 760px; }
.cc-eyebrow { color: var(--cc-gold); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cc-freshness { color: #d7c9aa; flex: 0 0 auto; font-size: 11px; max-width: 280px; text-align: right; }
.cc-kpis { display: grid; gap: 10px; grid-template-columns: repeat(6, minmax(120px, 1fr)); margin-bottom: 14px; }
.cc-kpi, .cc-panel { background: var(--cc-paper); border: 1px solid var(--cc-line); border-radius: 7px; box-shadow: 0 2px 7px rgba(45,37,23,.04); }
.cc-kpi { min-height: 90px; min-width: 0; padding: 13px 14px; position: relative; }
.cc-kpi:before { background: var(--cc-gold); content: ""; height: 3px; left: 0; position: absolute; right: 0; top: 0; }
.cc-kpi--warning:before { background: #c62828; }
.cc-kpi--attention:before { background: #ff9800; }
.cc-kpi__label { color: var(--cc-muted); display: block; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cc-kpi__value { color: var(--cc-black); display: block; font-size: 27px; font-weight: 800; line-height: 1.2; margin-top: 8px; }
.cc-kpi--action { cursor: pointer; display: block; font: inherit; text-align: left; text-decoration: none; width: 100%; }
.cc-kpi--action:hover { background: #fbf4e3; text-decoration: none; }
.cc-kpi--action:focus-visible, .cc-review-breakdown a:focus-visible, .cc-review-breakdown button:focus-visible { outline: 2px solid #8b651a; outline-offset: 2px; }
.cc-kpi__hint { color: var(--cc-muted); display: block; font-size: 11px; line-height: 1.35; margin-top: 6px; }
.cc-review-breakdown { background: var(--cc-paper); border: 1px solid var(--cc-line); border-radius: 6px; margin-bottom: 14px; padding: 12px; }
.cc-review-breakdown[hidden] { display: none; }
.cc-review-breakdown a, .cc-review-breakdown button { background: #fff; border: 1px solid var(--cc-line); border-radius: 4px; color: #6b4b11; display: inline-block; font: inherit; margin: 0 8px 8px 0; min-height: 44px; padding: 10px; text-align: left; text-decoration: none; }
.cc-review-breakdown p { color: var(--cc-muted); font-size: 12px; margin: 0; }
.cc-activity-record-link { display: inline-block; font-size: 12px; font-weight: 700; margin-top: 7px; padding: 5px 0; }
#cc-activity-title { scroll-margin-top: 90px; }
.cc-workspace { display: grid; gap: 14px; grid-template-columns: minmax(0, 1.55fr) minmax(340px, .8fr); }
.cc-panel { min-width: 0; overflow: hidden; }
.cc-panel__head { align-items: center; border-bottom: 1px solid var(--cc-line); display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; padding: 12px 14px; }
.cc-panel__head h2 { font-size: 16px; margin: 0; }
.cc-panel__head-copy { min-width: 0; }
.cc-map-scope { color: var(--cc-muted); display: block; font-size: 10px; margin-top: 3px; }
.cc-panel__body { padding: 14px; }
.cc-map { background: #e9e5dc; height: 510px; width: 100%; }
.cc-map--preview { height: 360px; }
.apiary-location-panel { margin: 0 0 16px; }
.apiary-location-panel .cc-panel__head > div { min-width: 0; }
.apiary-location-panel .cc-panel__head h2 { margin-top: 2px; }
.cc-map--apiary-detail { height: 320px; }
.cc-lens, .cc-feed-filter, .cc-view-toggle { display: inline-flex; gap: 3px; }
.cc-lens button, .cc-feed-filter button, .cc-view-toggle button, .cc-mobile-view-switch button, .cc-legend button { background: #fff; border: 1px solid #d4cdbf; border-radius: 4px; color: #373126; cursor: pointer; font-size: 11px; font-weight: 700; padding: 6px 9px; touch-action: manipulation; }
.cc-lens button.is-active, .cc-feed-filter button.is-active, .cc-view-toggle button.is-active, .cc-mobile-view-switch button.is-active, .cc-legend button.is-active { background: var(--cc-black); border-color: var(--cc-black); color: #f7d97c; }
.cc-legend { background: rgba(255,253,248,.95); border: 1px solid var(--cc-line); border-radius: 5px; display: flex; flex-wrap: wrap; gap: 4px; margin: 8px; padding: 6px; }
.cc-legend button { align-items: center; display: inline-flex; font-weight: 600; gap: 5px; }
.cc-legend button:not(.is-active) { opacity: .42; }
.cc-swatch { border: 1px solid rgba(0,0,0,.12); border-radius: 50%; display: inline-block; height: 9px; width: 9px; }
.cc-map-pin { background: transparent; border: 0; }
.cc-map-pin svg { filter: drop-shadow(0 2px 2px rgba(0,0,0,.32)); overflow: visible; }
.cc-map-style { background: rgba(17,16,13,.94); border: 1px solid #5a4825; border-radius: 5px; box-shadow: 0 2px 7px rgba(0,0,0,.24); display: flex; gap: 3px; padding: 4px; }
.cc-map-style button { background: transparent; border: 1px solid transparent; border-radius: 3px; color: #f4ead0; cursor: pointer; font-size: 11px; font-weight: 800; min-height: 30px; padding: 5px 9px; }
.cc-map-style button:hover, .cc-map-style button:focus { background: #302817; color: #fff; outline: none; }
.cc-map-style button.is-active { background: var(--cc-gold); border-color: #e2bd61; color: var(--cc-black); }
.cc-popup h3 { font-size: 15px; margin: 0 0 5px; }
.cc-popup p { color: #625a4c; margin: 3px 0; }
.cc-popup a { color: #7a5712; font-weight: 800; }
.cc-feed { max-height: 620px; overscroll-behavior: contain; overflow: auto; }
.cc-feed-empty, .cc-loading, .cc-error { color: var(--cc-muted); padding: 28px 14px; text-align: center; }
.cc-error { color: #9b3f2d; }
.cc-activity { border-bottom: 1px solid #e8e2d6; padding: 12px 14px 12px 38px; position: relative; }
.cc-activity:last-child { border-bottom: 0; }
.cc-activity__dot { background: #607d8b; border: 3px solid #eef0ee; border-radius: 50%; height: 13px; left: 14px; position: absolute; top: 15px; width: 13px; }
.cc-activity--warning .cc-activity__dot { background: #c62828; }
.cc-activity--attention .cc-activity__dot { background: #ff9800; }
.cc-activity--critical .cc-activity__dot { background: #7b1fa2; }
.cc-activity strong { color: #211d15; display: block; font-size: 12px; line-height: 1.35; }
.cc-activity small { color: #7b7365; display: block; margin-top: 4px; }
.cc-activity-group { border-bottom: 1px solid var(--cc-line); }
.cc-activity-group__title { background: #f7f3ea; color: #5f5648; font-size: 10px; font-weight: 800; letter-spacing: .06em; padding: 7px 14px; text-transform: uppercase; }
.cc-more { background: #f8f5ee; border: 0; border-top: 1px solid var(--cc-line); color: #5d471a; font-weight: 800; padding: 11px; width: 100%; }
.cc-controls { align-items: center; background: var(--cc-paper); border: 1px solid var(--cc-line); border-radius: 7px; display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; padding: 10px; }
.cc-controls input, .cc-controls select { border: 1px solid #d2cab9; border-radius: 4px; height: 34px; max-width: none; min-width: 145px; padding: 6px 8px; }
.cc-controls input[type=search] { flex: 1; min-width: 210px; }
.cc-filter-primary { display: flex; flex: 1 1 250px; min-width: 210px; }
.cc-filter-primary input[type=search] { min-width: 0; width: 100%; }
.cc-filter-toggle { display: none; }
.cc-filter-secondary { display: contents; }
.cc-apiary-layout { display: grid; gap: 12px; grid-template-columns: minmax(0, 1.45fr) minmax(360px, .85fr); }
.cc-apiary-list { max-height: 650px; overscroll-behavior: contain; overflow: auto; }
.cc-apiary-card { border-bottom: 1px solid #e6dfd2; cursor: pointer; padding: 12px 14px; }
.cc-apiary-card:hover, .cc-apiary-card.is-selected { background: #fbf4e3; }
.cc-apiary-card h3 { font-size: 14px; margin: 0 0 3px; }
.cc-apiary-card__meta { color: var(--cc-muted); font-size: 11px; }
.cc-apiary-card__counts { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.cc-apiary-card[data-mapped="false"] { cursor: default; }
.cc-apiary-card__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.cc-apiary-card__actions a, .cc-apiary-card__actions button { align-items: center; background: transparent; border: 1px solid #d4cdbf; border-radius: 4px; color: #6b4b11; display: inline-flex; font: inherit; font-size: 12px; font-weight: 700; min-height: 40px; padding: 6px 10px; text-decoration: none; }
.cc-apiary-card__actions a:hover, .cc-apiary-card__actions button:hover { background: #f2e6c7; }
.cc-apiary-card:focus-visible, .cc-apiary-card__actions a:focus-visible, .cc-apiary-card__actions button:focus-visible { outline: 2px solid #8b651a; outline-offset: 2px; }
.cc-badge { background: #eee9de; border-radius: 999px; color: #514b40; font-size: 10px; font-weight: 700; padding: 4px 7px; }
.cc-badge--red { background: #f4d8d5; color: #8e251d; }
.cc-badge--orange { background: #fae5be; color: #81520b; }
.cc-badge--purple { background: #ead8ef; color: #662078; }
.cc-system-note { background: #f4edda; border-left: 3px solid var(--cc-gold); color: #65552f; font-size: 11px; margin: 10px 14px; padding: 8px 10px; }
.cc-mobile-view-switch { display: none; }
.bt-menu-backdrop { display: none; }
.bt-mobile-brand { display: none; }

/* Final authority for the application chrome: black, white and gold only. */
.side-menu .navbar-default, .side-menu .navbar, .side-menu .navbar-header { background: #11100d !important; border-color: #11100d !important; }
.side-menu .navbar-nav li a { color: #e8dfcd !important; }
.side-menu .navbar-nav li a:hover, .side-menu .navbar-nav .active > a { background: #292317 !important; color: #f2c75c !important; }
.side-menu i { color: #c79b35 !important; }
.bt-season-notice { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 16px; margin: 0 0 12px; border-left: 4px solid #b77e12; background: #fff4d4; color: #382b0c; }
.bt-season-notice > div { flex: 1 1 280px; min-width: 0; }
.bt-season-notice p { margin: 4px 0 0; line-height: 1.45; }
.bt-season-notice .btn { white-space: normal; }
.bt-app-topbar { background: #11100d !important; border-color: #332a19 !important; color: #fff !important; }
.bt-app-topbar__context strong { color: #fff8df !important; }
.bt-app-topbar .bt-quick-link, .bt-app-topbar .bt-user-chip { background: #211d15; border-color: #5a4825; color: #f0dfb2; }
.bt-app-topbar .bt-quick-link:hover { background: #c79b35; color: #11100d; }
.bt-app-topbar .bt-quick-link.is-current { background: #c79b35; color: #11100d; }
.bt-app-topbar .bt-quick-link i { display: none; }

/* Shared operational-page foundation. These rules are scoped to the control
   centre shell so rental/customer pages keep their legacy layout. */
.bt-control-centre-page .site-map { display: none; }
.bt-control-centre-page .container-fluid > :not(.bt-app-topbar) { min-width: 0; }
.bt-control-centre-page .bt-page-header,
.bt-control-centre-page .bt-ops-header { margin-bottom: 12px; }
.bt-control-centre-page .bt-page-header > div:first-child,
.bt-control-centre-page .bt-ops-header > div:first-child { min-width: 0; }
.bt-control-centre-page .bt-filter-panel {
    align-items: end;
    background: var(--cc-paper);
    border: 1px solid var(--cc-line);
    border-radius: 7px;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    margin: 0 0 12px;
    padding: 12px;
}
.bt-control-centre-page .bt-filter-disclosure { margin: 0 0 12px; }
.bt-control-centre-page .bt-filter-disclosure > summary {
    background: var(--cc-paper);
    border: 1px solid var(--cc-line);
    border-radius: 7px;
    color: var(--cc-black);
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    list-style: none;
    padding: 10px 36px 10px 12px;
    position: relative;
}
.bt-control-centre-page .bt-filter-disclosure > summary::-webkit-details-marker { display: none; }
.bt-control-centre-page .bt-filter-disclosure > summary:after { color: var(--cc-gold); content: "+"; font-size: 18px; position: absolute; right: 13px; top: 5px; }
.bt-control-centre-page .bt-filter-disclosure[open] > summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.bt-control-centre-page .bt-filter-disclosure[open] > summary:after { content: "−"; }
.bt-control-centre-page .bt-filter-disclosure > .bt-filter-panel,
.bt-control-centre-page .bt-filter-disclosure > form > .bt-filter-panel { border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; margin-bottom: 0; }
.bt-control-centre-page .bt-filter-disclosure > form { margin: 0; }
.bt-control-centre-page .bt-filter-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.bt-control-centre-page .bt-filter-field label { color: var(--cc-muted); font-size: 11px; font-weight: 800; margin: 0; text-transform: uppercase; }
.bt-control-centre-page .bt-filter-field .form-control { max-width: none; width: 100%; }
.bt-control-centre-page .bt-filter-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; min-height: 34px; }
.bt-control-centre-page .bt-action-bar {
    align-items: center;
    background: var(--cc-paper);
    border: 1px solid var(--cc-line);
    border-radius: 7px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: space-between;
    margin-bottom: 12px;
    padding: 10px 12px;
}
.bt-control-centre-page .bt-action-bar .btn-group { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.bt-control-centre-page .bt-action-bar .btn-group > .btn { border-radius: 4px !important; float: none; }
.bt-control-centre-page .bt-result-summary { color: var(--cc-muted); display: flex; flex-wrap: wrap; gap: 12px; margin-left: auto; text-align: right; }
.bt-control-centre-page .bt-result-summary strong { color: var(--cc-black); }
.bt-control-centre-page .bt-clamp-text { -webkit-box-orient: vertical; -webkit-line-clamp: 2; display: -webkit-box !important; max-height: 3em; overflow: hidden; }
.bt-control-centre-page .bt-inline-details { margin-top: 5px; max-width: 360px; white-space: normal; }
.bt-control-centre-page .bt-inline-details > summary { color: #755716; cursor: pointer; font-size: 11px; font-weight: 800; }
.bt-control-centre-page .bt-inline-details > div { background: #f8f5ee; border-left: 2px solid var(--cc-gold); margin-top: 5px; max-height: 170px; overflow: auto; padding: 7px; }
.bt-control-centre-page .bt-empty-state {
    background: var(--cc-paper);
    border: 1px dashed #cfc7b6;
    border-radius: 7px;
    color: var(--cc-muted);
    margin-bottom: 12px;
    padding: 28px 18px;
    text-align: center;
}
.bt-control-centre-page .table-responsive,
.bt-control-centre-page .dataTables_wrapper,
.bt-control-centre-page .dataTables_scroll { min-width: 0; max-width: 100%; }
.bt-control-centre-page .table-responsive { margin-bottom: 12px; overflow-x: auto; width: 100%; -webkit-overflow-scrolling: touch; }
.bt-control-centre-page .table-responsive > .table { margin-bottom: 0; min-width: 720px; }
.bt-control-centre-page .dataTables_wrapper { background: var(--cc-paper); border: 1px solid var(--cc-line); border-radius: 7px; overflow: hidden; padding: 10px; }
.bt-control-centre-page .dataTables_wrapper .dataTables_scrollBody { overflow: auto !important; }
.bt-control-centre-page .dataTables_wrapper table.dataTable { width: 100% !important; }
.bt-control-centre-page table td { max-width: 360px; }
.bt-control-centre-page table td.bt-long-text,
.bt-control-centre-page #inspection-report-table td:nth-child(6),
.bt-control-centre-page #inspection-report-table td:nth-child(7),
.bt-control-centre-page #inspection-report-table td:nth-child(8) { min-width: 180px; white-space: normal !important; }
.bt-control-centre-page .cc-checkbox-filter { align-items: center; background: #f8f5ee; border: 1px solid #d2cab9; border-radius: 4px; color: #4e473b; display: inline-flex; font-size: 11px; font-weight: 700; gap: 7px; min-height: 34px; padding: 6px 9px; }
.bt-control-centre-page .cc-checkbox-filter input { height: auto; margin: 0; min-width: 0; width: auto; }
.bt-control-centre-page .view-apiary-ui .overview { display: grid; gap: 8px; grid-template-columns: repeat(5, minmax(120px, 1fr)); margin: 0 0 14px; }
.bt-control-centre-page .view-apiary-ui .overview > div { padding: 0; width: auto; }
.bt-control-centre-page .view-apiary-ui .sec_stats { background: var(--cc-paper); border: 1px solid var(--cc-line); border-left: 3px solid var(--cc-gold); border-radius: 6px; display: flex; justify-content: space-between; min-height: 64px; padding: 12px; }
.bt-control-centre-page .view-apiary-ui .nav-tabs { display: flex; max-width: 100%; overflow-x: auto; white-space: nowrap; }
.bt-control-centre-page .view-apiary-ui .tab-content { background: var(--cc-paper); border: 1px solid var(--cc-line); border-top: 0; min-width: 0; padding: 12px; }
.bt-control-centre-page .view-apiary-ui #weather ul { max-width: 100%; width: auto !important; }
.bt-control-centre-page .cc-activity-group details > summary { cursor: pointer; list-style: none; }
.bt-control-centre-page .cc-activity-group details > summary::-webkit-details-marker { display: none; }
.bt-control-centre-page .cc-activity-group details > summary:after { color: var(--cc-gold); content: "+"; font-size: 18px; font-weight: 800; position: absolute; right: 14px; top: 12px; }
.bt-control-centre-page .cc-activity-group details[open] > summary:after { content: "−"; }
.bt-control-centre-page .cc-activity-evidence { background: #fbf8f1; border-top: 1px solid #ece5d8; padding: 4px 12px 10px 38px; }
.bt-control-centre-page .cc-activity-evidence__item { color: #5d5549; font-size: 11px; line-height: 1.4; padding: 5px 0; }

@media (min-width: 1281px) {
    .bt-control-centre-page .bt-app-topbar { display: none; }
    .bt-control-centre-page .side-menu {
        border-right-color: #332a1b;
        box-shadow: 5px 0 18px rgba(17,16,13,.08);
        width: 208px;
    }
    .bt-control-centre-page .side-menu .navbar { margin: 0; min-height: 0; }
    .bt-control-centre-page .side-menu .navbar-header { float: none; height: 70px; width: 100%; }
    .bt-control-centre-page .side-menu .brand-wrapper, .bt-control-centre-page .side-menu .brand-name-wrapper { min-height: 70px; }
    .bt-control-centre-page .side-menu .brand-name-wrapper .navbar-brand {
        align-items: center;
        background-image: none !important;
        color: #fff8df;
        display: flex;
        float: none;
        height: 40px;
        margin: 8px 14px 0;
        padding: 0;
        width: auto;
    }
    .bt-control-centre-page .bt-mobile-brand { display: inline-block; font-size: 19px; font-weight: 800; letter-spacing: .07em; }
    .bt-control-centre-page .bt-mobile-brand strong { color: var(--cc-gold); }
    .bt-control-centre-page .side-menu .tagline { font-size: 8px; letter-spacing: .1em; margin: -2px 14px 8px; text-align: left; }
    .bt-control-centre-page .side-menu .bt-menu-search { height: 38px; margin: 8px 9px; padding: 7px 9px; }
    .bt-control-centre-page .side-menu-container > .navbar-nav { max-height: calc(100vh - 124px); padding: 0 7px 14px; width: 100%; }
    .bt-control-centre-page .side-menu-container > .navbar-nav > li,
    .bt-control-centre-page .side-menu-container > .navbar-nav > li.panel { background: transparent !important; border: 0 !important; margin: 0 !important; }
    .bt-control-centre-page .side-menu .navbar-nav li > a {
        align-items: center;
        border: 0 !important;
        border-radius: 6px;
        display: flex !important;
        font-size: 12px;
        line-height: 1.25;
        margin: 1px 0;
        min-height: 43px;
        overflow: hidden;
        padding: 9px 11px !important;
        position: relative;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .bt-control-centre-page .side-menu .navbar-nav li > a i,
    .bt-control-centre-page .side-menu .navbar-nav li > a svg,
    .bt-control-centre-page .side-menu .navbar-nav li > a .svg-inline--fa {
        flex: 0 0 20px !important;
        font-size: 18px !important;
        height: 18px !important;
        margin: 0 10px 0 0 !important;
        max-height: 18px !important;
        max-width: 20px !important;
        width: 20px !important;
    }
    .bt-control-centre-page .side-menu .navbar-nav > .active > a,
    .bt-control-centre-page .side-menu .navbar-nav .active > a {
        border-left: 3px solid var(--cc-gold) !important;
        border-right: 0 !important;
        padding-left: 8px !important;
    }
    .bt-control-centre-page .side-menu .panel-collapse .panel-body { padding: 2px 0 4px 24px; }
    .bt-control-centre-page .side-menu .panel-collapse .navbar-nav li > a { font-size: 11px; min-height: 36px; padding: 7px 9px !important; }
    .bt-control-centre-page .side-menu .bt-app-version { font-size: 9px; padding: 0 10px 10px 41px; }
    body.bt-control-centre-page > .container-fluid {
        margin-left: 208px !important;
        max-width: none !important;
        padding: 14px clamp(18px, 1.5vw, 32px) 28px !important;
        width: calc(100% - 208px);
    }
    .bt-control-centre-page .cc-shell { max-width: none; }
}

@media (min-width: 1281px) {
    .cc-workspace { align-items: stretch; grid-template-columns: minmax(0, 1fr) minmax(420px, 480px); }
    .cc-shell--apiaries .cc-apiary-layout { align-items: stretch; grid-template-columns: minmax(0, 1fr) minmax(400px, 480px); }
    .cc-shell--apiaries .cc-apiary-layout > .cc-panel { display: flex; flex-direction: column; height: 100%; }
    .cc-shell--apiaries .cc-panel--apiary-map .cc-map { flex: 1 1 auto; height: auto; min-height: 0; }
    .cc-shell--apiaries .cc-panel--apiary-list .cc-apiary-list { flex: 1 1 auto; max-height: none; min-height: 0; }
    .cc-panel--dashboard-map, .cc-panel--activity {
        display: flex;
        flex-direction: column;
        height: calc(100vh - 330px);
        max-height: 720px;
        min-height: 540px;
    }
    .cc-panel--dashboard-map .cc-map--preview { flex: 1 1 auto; height: auto; min-height: 0; }
    .cc-panel--activity .cc-feed { flex: 1 1 auto; max-height: none; min-height: 0; }
    .cc-panel--activity .cc-more { flex: 0 0 auto; }
}

@media (min-width: 1281px) {
    .cc-shell--apiaries .cc-hero { align-items: center; margin-bottom: 10px; padding: 13px 18px; }
    .cc-shell--apiaries .cc-hero h1 { font-size: 24px; margin: 2px 0 3px; }
    .cc-shell--apiaries .cc-controls { margin-bottom: 10px; padding: 8px 10px; }
}

@media (max-width: 1280px) {
    .cc-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cc-workspace, .cc-apiary-layout { grid-template-columns: minmax(0, 1fr); }
    .cc-map--preview { height: 440px; }
}

/* Chrome for Android can retain a per-site desktop viewport of about 980px.
   Treat compact, tablet and narrow-laptop screens as the app shell up to 1280px so the
   interface never falls back to a shrunken desktop sidebar on a phone. */
@media (max-width: 1280px) {
    body { overflow-x: hidden; }
    body.bt-mobile-menu-open { overflow: hidden; }
    .side-menu { border: 0 !important; box-shadow: none; height: 0 !important; position: relative !important; width: 100% !important; }
    .side-menu .navbar { margin: 0; min-height: 54px; }
    .side-menu .navbar-header { float: none; left: 0; position: fixed !important; right: 0; top: 0; width: 100% !important; z-index: 110; }
    .side-menu .brand-wrapper { min-height: 54px; width: 100%; }
    .side-menu ~ .container-fluid { margin-left: 0 !important; max-width: none; padding: 64px 10px 20px !important; width: 100%; }

    .bt-app-topbar { gap: 8px; padding: 9px; }
    .bt-app-topbar__actions { flex-wrap: nowrap; justify-content: flex-start; margin: 0 -2px; overflow-x: auto; padding: 2px; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
    .bt-app-topbar__actions > * { flex: 0 0 auto; }
    .bt-app-topbar .bt-quick-link, .bt-app-topbar .bt-user-chip, .bt-app-topbar .bt-state-pill { min-height: 36px; padding: 11px 12px; }

    .side-menu .brand-wrapper, .side-menu .brand-name-wrapper { min-height: 54px; }
    .side-menu .navbar-header { box-shadow: 0 2px 8px rgba(0,0,0,.22); height: 54px; }
    .side-menu .navbar-toggle { align-items: center; background: #211d15; display: flex; flex-direction: column; height: 54px; justify-content: center; padding: 0 18px; }
    .side-menu .navbar-toggle:hover, .side-menu .navbar-toggle:focus { background: #302817; }
    .side-menu .brand-name-wrapper .navbar-brand { align-items: center; background-image: none !important; color: #fff8df; display: inline-flex; height: 54px; margin: 0 0 0 14px; padding: 0; width: auto; }
    .bt-mobile-brand { display: inline-block; font-size: 18px; font-weight: 800; letter-spacing: .06em; }
    .bt-mobile-brand strong { color: var(--cc-gold); }
    .side-menu .tagline { display: none; }
    .side-menu .bt-menu-search { border: 0; border-bottom: 1px solid #3b3020; border-radius: 0; box-shadow: 8px 8px 20px rgba(0,0,0,.24); height: 51px; left: -360px; margin: 0; max-width: 340px; padding: 10px 14px; position: fixed; top: 54px; transition: left 250ms ease; width: 86vw; z-index: 103; }
    .side-menu.is-open .bt-menu-search { left: 0; }
    .side-menu-container > .navbar-nav { animation: none !important; background: #15130f !important; border: 0; border-radius: 0; bottom: 0; box-shadow: 8px 12px 24px rgba(0,0,0,.28); height: auto; left: -360px; margin: 0; max-height: none; max-width: 340px; overflow-x: hidden; overflow-y: auto; padding: 8px 8px 18px; position: fixed !important; top: 105px; transition: left 250ms ease; width: 86vw; z-index: 102; -webkit-overflow-scrolling: touch; }
    .side-menu-container > .navbar-nav.slide-in { animation: none !important; left: 0; }
    .bt-control-centre-page .side-menu-container > .navbar-nav { bottom: calc(68px + env(safe-area-inset-bottom)); }
    .side-menu-container > .navbar-nav > li, .side-menu-container > .navbar-nav > li.panel { background: transparent !important; border: 0 !important; margin: 0 0 2px !important; }
    .side-menu .navbar-nav li > a, .navbar-default .navbar-nav > li > a { align-items: center; border: 0 !important; border-radius: 7px; display: flex !important; font-size: 14px; line-height: 1.25; margin: 0 !important; min-height: 46px; padding: 10px 12px !important; position: relative; }
    .side-menu .navbar-nav li > a > span:first-child { align-items: center; display: flex; min-width: 0; width: 100%; }
    .side-menu .navbar-nav li > a i, .side-menu .navbar-nav li > a svg, .side-menu .navbar-nav li > a .svg-inline--fa { flex: 0 0 24px !important; font-size: 20px !important; height: 20px !important; margin: 0 10px 0 0 !important; max-height: 20px !important; max-width: 24px !important; width: 24px !important; }
    .side-menu .navbar-nav > .active > a, .side-menu .navbar-nav .active a { background: #292317 !important; border-left: 3px solid var(--cc-gold) !important; border-right: 0 !important; padding-left: 9px !important; }
    .side-menu .panel-collapse .panel-body { background: #191610 !important; padding: 3px 0 5px 22px !important; }
    .side-menu .panel-collapse .navbar-nav { background: transparent !important; border: 0 !important; box-shadow: none !important; height: auto !important; margin: 0 !important; max-height: none !important; max-width: none !important; overflow: visible !important; padding: 0 !important; position: static !important; width: 100% !important; }
    .side-menu .panel-collapse .navbar-nav li > a { font-size: 13px; min-height: 40px; padding: 8px 10px !important; }
    .side-menu .panel-collapse .navbar-nav li > a i, .side-menu .panel-collapse .navbar-nav li > a svg { flex-basis: 20px !important; font-size: 16px !important; height: 16px !important; max-height: 16px !important; max-width: 20px !important; width: 20px !important; }
    .side-menu .bt-app-version { font-size: 10px; padding: 2px 10px 12px 46px; }
    .bt-menu-backdrop { background: rgba(17,16,13,.55); border: 0; display: none; inset: 54px 0 0; padding: 0; position: fixed; width: 100%; z-index: 99; }
    .bt-menu-backdrop.is-active { display: block; }

    .bt-control-centre-page .side-menu ~ .container-fluid { padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
    .bt-control-centre-page .bt-app-topbar { background: transparent !important; border: 0 !important; box-shadow: none; height: 0; margin: 0; min-height: 0; padding: 0; }
    .bt-control-centre-page .bt-app-topbar__context { display: none; }
    .bt-control-centre-page .bt-app-topbar__actions { background: #11100d; border-top: 1px solid #49391e; bottom: 0; display: grid; gap: 4px; grid-template-columns: repeat(4, minmax(0, 1fr)); left: 0; margin: 0; overflow: visible; padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); position: fixed; width: 100%; z-index: 1100; }
    .bt-control-centre-page .bt-app-topbar__actions .bt-state-pill, .bt-control-centre-page .bt-app-topbar__actions .bt-user-chip { display: none; }
    .bt-control-centre-page .bt-app-topbar .bt-quick-link { align-items: center; background: transparent; border: 0; border-radius: 8px; color: #dfd3b7; display: flex; flex-direction: column; font-size: 10px; gap: 3px; justify-content: center; min-height: 50px; padding: 5px 2px; }
    .bt-control-centre-page .bt-app-topbar .bt-quick-link i { color: inherit; display: block; font-size: 19px; line-height: 1; }
    .bt-control-centre-page .bt-app-topbar .bt-quick-link:hover, .bt-control-centre-page .bt-app-topbar .bt-quick-link:focus, .bt-control-centre-page .bt-app-topbar .bt-quick-link.is-current { background: #292317; color: #f2c75c; text-decoration: none; }
}

@media (max-width: 1280px) {
    .cc-hero { align-items: flex-start; border-radius: 6px; flex-direction: column; margin-bottom: 10px; padding: 11px 14px; }
    .cc-hero h1 { font-size: 22px; line-height: 1.1; margin: 2px 0; }
    .cc-hero p { display: none; }
    .cc-freshness { font-size: 10px; margin-top: 4px; max-width: none; text-align: left; width: 100%; }
    .cc-kpis { display: flex; gap: 8px; margin: 0 -10px 10px; overflow-x: auto; padding: 0 10px 5px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
    .cc-kpi { flex: 0 0 132px; min-height: 70px; padding: 10px 11px; scroll-snap-align: start; }
    .cc-kpi__label { font-size: 9px; line-height: 1.25; }
    .cc-kpi__value { font-size: 23px; margin-top: 4px; }

    .cc-controls { display: grid; gap: 7px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 7px; }
    .cc-filter-primary { display: grid; gap: 6px; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; min-width: 0; width: 100%; }
    .cc-controls .cc-filter-primary input[type=search] { grid-column: auto; height: 44px; min-width: 0; width: 100%; }
    .cc-filter-toggle { background: #211d15; border: 1px solid #5a4825; border-radius: 4px; color: #f2c75c; display: block; font-size: 12px; font-weight: 800; height: 44px; padding: 0 12px; }
    .cc-filter-toggle.has-filters { background: #302817; }
    .cc-filter-count:not(:empty) { background: var(--cc-gold); border-radius: 999px; color: #11100d; display: inline-block; margin-left: 3px; min-width: 19px; padding: 2px 5px; }
    .cc-filter-secondary { display: none; gap: 7px; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 1px; }
    .cc-filter-secondary.is-open { display: grid; }
    .cc-filter-secondary > * { height: 44px; min-width: 0; width: 100%; }
    .cc-controls .cc-lens { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
    .cc-controls .cc-lens button { min-height: 44px; }
    .cc-mobile-view-switch { background: var(--cc-paper); border: 1px solid var(--cc-line); border-radius: 7px; display: grid; gap: 4px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 10px; padding: 5px; }
    .cc-mobile-view-switch button { min-height: 42px; }

    .cc-apiary-layout[data-mobile-view="map"] .cc-panel--apiary-list { display: none; }
    .cc-apiary-layout[data-mobile-view="list"] .cc-panel--apiary-map { display: none; }
    .cc-workspace { display: flex; flex-direction: column; }
    .cc-panel--dashboard-map { order: 1; }
    .cc-panel--activity { order: 2; }
    .cc-panel__head { align-items: stretch; flex-direction: column; padding: 11px 12px; }
    .cc-panel__head .cc-lens { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
    .cc-panel__head .cc-lens button { min-height: 40px; }
    .cc-feed-filter { gap: 5px; overflow-x: auto; padding-bottom: 3px; width: 100%; -webkit-overflow-scrolling: touch; }
    .cc-feed-filter button { flex: 0 0 auto; min-height: 40px; padding-left: 13px; padding-right: 13px; }
    .cc-feed { max-height: 58vh; overflow-y: auto; -webkit-overflow-scrolling: touch; }
    .cc-apiary-list { max-height: none; overflow: visible; }
    .cc-map, .cc-map--preview { height: 58vh; max-height: 470px; min-height: 330px; }
    .cc-map.cc-map--apiary-detail { height: 42vh; max-height: 360px; min-height: 260px; }
    .cc-activity { padding: 13px 12px 13px 38px; }
    .cc-apiary-card { min-height: 72px; padding: 13px 12px; }
    .cc-apiary-card h3 { font-size: 15px; }
    .cc-system-note { margin: 8px 10px; }

    .bt-control-centre-page .bt-page-header,
    .bt-control-centre-page .bt-ops-header { align-items: stretch; flex-direction: column; gap: 12px; padding: 14px 16px; }
    .bt-control-centre-page .bt-page-header p,
    .bt-control-centre-page .bt-ops-header p { max-width: none; }
    .bt-control-centre-page .bt-toolbar { justify-content: flex-start; }
    .bt-control-centre-page .bt-filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bt-control-centre-page .bt-action-bar { align-items: stretch; flex-direction: column; }
    .bt-control-centre-page .bt-result-summary { margin-left: 0; text-align: left; }
    .bt-control-centre-page .view-apiary-ui .overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bt-control-centre-page #harvest-list-ui .bt-metric-strip { display: flex; margin-left: -10px; margin-right: -10px; overflow-x: auto; padding: 0 10px 5px; }
    .bt-control-centre-page #harvest-list-ui .bt-metric { flex: 0 0 160px; }

    .cc-legend { max-height: 128px; max-width: calc(100vw - 42px); overflow-y: auto; }
    .cc-legend button { min-height: 34px; }
    .leaflet-touch .leaflet-bar a { height: 40px; line-height: 40px; width: 40px; }
    .leaflet-popup-content { margin: 12px; max-width: calc(100vw - 92px); }
}

@media (max-width: 420px) {
    .cc-filter-secondary { grid-template-columns: minmax(0, 1fr); }
    .cc-hero { padding: 10px 12px; }
    .bt-app-topbar .bt-state-pill { display: none; }
    .bt-control-centre-page .bt-filter-panel { grid-template-columns: minmax(0, 1fr); padding: 9px; }
    .bt-control-centre-page .bt-filter-actions .btn { flex: 1 1 auto; min-height: 42px; }
    .bt-control-centre-page .view-apiary-ui .overview { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {
    .cc-map, .cc-map--preview { height: 72vh; max-height: 360px; min-height: 280px; }
}

@media (prefers-reduced-motion: reduce) {
    .side-menu .bt-menu-search, .side-menu-container > .navbar-nav { transition: none; }
}

