/* Owner logo palette and shared action buttons: staff, customers and contractors. */
:root{--bayshore-navy:#0c334d;--bayshore-primary:#006093;--bayshore-cyan:#179fd3;--bayshore-blue:#519fcb;--bayshore-orange:#c63609;--bayshore-accent:#10a0d4;--bayshore-logo-ink:#04304c;--bayshore-selection:#e3f3fa;--bayshore-primary-hover:#004d76}
html body :is(.btn.btn-primary,.btn.btn-info),html body .bm-compose-bar button{background:var(--bayshore-primary)!important;border:1px solid var(--bayshore-primary)!important;color:var(--md-on-secondary)!important;font-weight:600;box-shadow:0 2px 5px #0c334d29,inset 0 1px 0 #ffffff26;text-shadow:none}
html body :is(.btn.btn-primary,.btn.btn-info):is(:hover,:focus-visible),html body .bm-compose-bar button:is(:hover,:focus-visible){background:var(--bayshore-primary-hover)!important;border-color:var(--bayshore-primary-hover)!important;color:var(--md-on-secondary)!important}
html body :is(.btn.btn-primary,.btn.btn-info):is(:active,.active){background:var(--bayshore-navy)!important;color:var(--md-on-secondary)!important}
html body :is(.btn.btn-primary,.btn.btn-info):focus-visible,html body .bm-compose-bar button:focus-visible{outline:3px solid var(--bayshore-cyan)!important;outline-offset:3px}
html body :is(.btn.btn-primary,.btn.btn-info)[disabled],html body :is(.btn.btn-primary,.btn.btn-info).disabled{box-shadow:none;cursor:not-allowed}

body.bb-contractor-portal{--ink:var(--bayshore-navy);--focus:var(--bayshore-cyan)}
html body.bb-contractor-portal :is(button:not(.reveal),a.button){background:var(--bayshore-primary);border-color:var(--bayshore-primary);color:var(--md-on-secondary);font-weight:600;box-shadow:0 2px 5px #0c334d29,inset 0 1px 0 #ffffff26}
html body.bb-contractor-portal :is(button:not(.reveal),a.button):is(:hover,:focus-visible){background:var(--bayshore-primary-hover);border-color:var(--bayshore-primary-hover);color:var(--md-on-secondary)}
html body.bb-contractor-portal :is(button:not(.reveal),a.button):focus-visible{outline:3px solid var(--bayshore-cyan);outline-offset:3px}
html body.bb-contractor-portal button.reveal{background:var(--md-surface);color:var(--bayshore-navy)}

/* MD3 Expressive adapter. Brand primitives remain owner-approved; native behavior stays native. */
:root{
 --md-primary:var(--bayshore-accent);--md-on-primary:var(--bayshore-logo-ink);--md-primary-state:#ffffff;--md-primary-text:var(--bayshore-primary);--md-primary-line:var(--bayshore-primary);--md-primary-container:#e3f3fa;--md-on-primary-container:var(--bayshore-logo-ink);
 --md-secondary:var(--bayshore-primary);--md-on-secondary:#ffffff;--md-secondary-container:#e3f3fa;--md-on-secondary-container:var(--bayshore-navy);
 --md-surface:#ffffff;--md-on-surface:var(--bayshore-navy);--md-surface-2:#f2f6f9;--md-on-surface-variant:#485c6b;--md-outline:#687d8c;--md-outline-variant:#d4dfe6;
 --shape-md:.75rem;--shape-lg:1rem;--shape-xl:1.75rem;--shape-full:100vmax;
 --sp-sm:.5rem;--sp-md:.75rem;--sp-lg:1rem;--sp-xl:1.5rem;
 --md-label-size:.875rem;--md-body-size:.875rem;--md-body-line:1.25rem;--md-headline-size:2rem;--md-headline-line:2.5rem;
 --md-motion:200ms;--md-ease:cubic-bezier(.2,0,0,1);--md-spatial:cubic-bezier(.38,1.21,.22,1);
}
html[data-bayshore-theme=dark]{
 --md-surface:#172635;--md-on-surface:#f1f5f9;--md-surface-2:#203446;--md-on-surface-variant:#cbd5e1;--md-outline:#91a6b6;--md-outline-variant:#526174;
 --md-primary-text:var(--bayshore-accent);--md-primary-line:var(--bayshore-accent);--md-primary-container:#203e52;--md-on-primary-container:#d8f0fc;--md-secondary-container:#203e52;--md-on-secondary-container:#d8f0fc;
}
html:not([data-bayshore-theme=dark]) body :is(#wrapper,.content,#header,#menu,#setup-menu){background:var(--md-surface)!important;color:var(--md-on-surface)}
html:not([data-bayshore-theme=dark]) body{background:var(--md-surface)!important;color:var(--md-on-surface)}
html body #header{min-height:4rem;border-bottom:1px solid var(--md-outline-variant);box-shadow:none}
html body .bm-theme-nav button{height:4rem;min-width:3rem;border-radius:var(--shape-full)}
html body :is(.panel_s>.panel-body,.panel_s>.panel-footer,.modal-content,.bm-app,.bm-compose-dialog){border-radius:var(--shape-xl);box-shadow:none;border-color:var(--md-outline-variant)}
html body .panel_s>.panel-body{border:1px solid var(--md-outline-variant);background:var(--md-surface);color:var(--md-on-surface)}
html body :is(.modal-header,.modal-body,.modal-footer){padding:var(--sp-xl)}
html body .modal-header{border-radius:var(--shape-xl) var(--shape-xl) 0 0}
html body .modal-footer{border-radius:0 0 var(--shape-xl) var(--shape-xl)}
html body :is(.modal-content,.dropdown-menu,.popover){background:var(--md-surface);color:var(--md-on-surface)}
html body :is(.dropdown-menu,.popover){border-radius:var(--shape-lg);border:1px solid var(--md-outline-variant)}
html body :is(.btn,.bm-compose-bar button){min-height:2.5rem;border-radius:var(--shape-full);padding:.625rem 1.25rem;font-size:var(--md-label-size);line-height:var(--md-body-line);font-weight:600;text-shadow:none;transition:background-color var(--md-motion) var(--md-ease),border-radius var(--md-motion) var(--md-spatial)}
html body :is(.btn.btn-primary,.btn.btn-info),html body .bm-compose-bar button{background:var(--md-primary)!important;border-color:var(--md-primary-line)!important;color:var(--md-on-primary)!important;box-shadow:none}
html body :is(.btn.btn-primary,.btn.btn-info):is(:hover,:focus-visible),html body .bm-compose-bar button:is(:hover,:focus-visible){background:color-mix(in srgb,var(--md-primary-state) 8%,var(--md-primary))!important;color:var(--md-on-primary)!important;border-color:var(--md-primary-line)!important}
html body :is(.btn.btn-primary,.btn.btn-info):is(:active,.active){background:color-mix(in srgb,var(--md-primary-state) 10%,var(--md-primary))!important;border-radius:var(--shape-lg);color:var(--md-on-primary)!important}
html body .btn.btn-default{background:var(--md-secondary-container)!important;border-color:var(--md-outline-variant)!important;color:var(--md-on-secondary-container)!important;box-shadow:none}
html body .btn.btn-default:is(:hover,:focus-visible){background:color-mix(in srgb,var(--md-on-secondary-container) 8%,var(--md-secondary-container))!important;color:var(--md-on-secondary-container)!important}
html body :is(.btn:disabled,.btn.disabled){opacity:.38;cursor:not-allowed;box-shadow:none}
html body :is(.form-control,.bootstrap-select>.dropdown-toggle,.input-group-addon){min-height:3rem;border-radius:var(--shape-md);background:var(--md-surface-2)!important;color:var(--md-on-surface)!important;border-color:var(--md-outline)!important;font-size:var(--md-body-size);line-height:var(--md-body-line);box-shadow:none}
html body :is(input,textarea)::placeholder{color:var(--md-on-surface-variant)!important;opacity:1}
html body :is(.form-control[disabled],.form-control[readonly]){color:var(--md-on-surface-variant)!important;background:var(--md-surface-2)!important}
html body :is(.btn,.form-control,.bootstrap-select>.dropdown-toggle,a,button):focus-visible{outline:3px solid var(--md-secondary)!important;outline-offset:3px}
html[data-bayshore-theme=dark] body :is(.btn,.form-control,a,button):focus-visible{outline-color:var(--bayshore-cyan)!important}
html body :is(#side-menu,#setup-menu) li>a{min-height:3rem;margin:.125rem .5rem;border-radius:var(--shape-full);color:var(--md-on-surface)!important;transition:background-color var(--md-motion) var(--md-ease),border-radius var(--md-motion) var(--md-spatial)}
html body :is(#side-menu,#setup-menu) li>a:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,var(--md-surface))!important;color:var(--md-on-surface)!important}
html body :is(#side-menu,#setup-menu) li.active>a,html body #side-menu a.bm-nav-current,html body #setup-menu a.bm-nav-current{background:var(--md-primary)!important;color:var(--md-on-primary)!important;box-shadow:none!important;font-weight:700!important}
html body :is(#side-menu,#setup-menu) li.active>a :is(i,span),html body #side-menu a.bm-nav-current :is(i,span){color:inherit!important}
html body .bb-shell .bb-nav a{min-height:3rem;border-radius:var(--shape-full);background:var(--md-surface)!important;color:var(--md-on-surface)!important;border-color:var(--md-outline-variant)}
html body .bb-shell .bb-nav a[aria-current]{background:var(--md-primary)!important;border-color:var(--md-primary-line)!important;color:var(--md-on-primary)!important}
html body .bb-shell .bb-nav a:is(:hover,:focus-visible){background:var(--md-primary-container)!important;color:var(--md-on-primary-container)!important}
html body .nav-tabs>li.active>a,html body .nav-tabs>li.active>a:is(:hover,:focus){color:var(--md-primary-text)!important;background:var(--md-surface)!important;border-bottom:3px solid var(--md-primary-line)!important;border-radius:var(--shape-md) var(--shape-md) 0 0}
html[data-bayshore-theme=dark] body .nav-tabs>li.active>a{color:var(--md-on-primary-container)!important}
html body :is(.table>thead>tr>th,.table>tbody>tr>td){font-size:var(--md-body-size);line-height:var(--md-body-line);padding:.875rem .75rem;border-color:var(--md-outline-variant)}
html body .table>thead>tr>th{background:var(--md-surface-2);color:var(--md-on-surface);font-weight:600}
html body .table-hover>tbody>tr:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,var(--md-surface))}
html body :is(.modal-body,.alert,.bb-scope,.help-block){font-size:var(--md-body-size);line-height:1.5rem}
html body .bb-heading h1{font-size:var(--md-headline-size);line-height:var(--md-headline-line);font-weight:600;letter-spacing:-.025rem}
html body .bm-app{--bm-selected:var(--md-primary-container);--bm-selected-ink:var(--md-on-primary-container);--bm-blue:var(--md-secondary)}
html body .bm-app :is(.bm-current,.bm-selected){background:var(--md-primary-container)!important;color:var(--md-on-primary-container)!important;border-color:var(--md-primary-line)!important}
html body .bm-app :is(.bm-current,.bm-selected) :is(a,strong,span){color:var(--md-on-primary-container)!important}
html body.bb-contractor-portal :is(button:not(.reveal),a.button){background:var(--md-primary);color:var(--md-on-primary);border-color:var(--md-primary-line);border-radius:var(--shape-full);min-height:3rem}
@media(max-width:40rem){html body .bb-heading h1{font-size:1.75rem;line-height:2.25rem}html body :is(input.form-control,select.form-control,textarea.form-control){font-size:1rem}html body .btn{min-height:3rem}html body :is(.modal-header,.modal-body,.modal-footer){padding:var(--sp-lg)}}
@media(prefers-reduced-motion:reduce){:root{--md-motion:0ms}}
/* Native shell variants whose legacy style has an explicit radius/selection override. */
html body :is(#side-menu,#setup-menu) li>a,html body #side-menu a.bm-nav-current{border-radius:var(--shape-full)!important}
html body :is(.panel_s,.top_stats_wrapper){border-radius:var(--shape-xl)!important;box-shadow:none!important;border-color:var(--md-outline-variant)}
html body :is(.pagination>li.active>a,.pagination>li.active>span,.bootstrap-select .dropdown-menu li.selected>a,.bootstrap-select .dropdown-menu li.active>a,.fc-state-active){background:var(--md-primary)!important;color:var(--md-on-primary)!important;border-color:var(--md-primary-line)!important}
html body :is(input[type=checkbox],input[type=radio]){accent-color:var(--md-primary-line)}
html[data-bayshore-theme=dark] body :is(#side-menu,#setup-menu) li.active>a,html[data-bayshore-theme=dark] body :is(#side-menu,#setup-menu) a.bm-nav-current{background:var(--md-primary)!important;color:var(--md-on-primary)!important;box-shadow:none!important}
html[data-bayshore-theme=dark] body .nav-tabs>li.active>a:not(.disabled){border-bottom:3px solid var(--md-primary-line)!important;color:var(--md-on-primary-container)!important;background:var(--md-surface)!important}
html[data-bayshore-theme=dark] body .bootstrap-select .dropdown-menu li.selected>a:not(.disabled){background:var(--md-primary)!important;color:var(--md-on-primary)!important}
html[data-bayshore-theme=dark] body :is(#side-menu,#setup-menu) li.active>a:not(.disabled){background:var(--md-primary)!important;color:var(--md-on-primary)!important}

/* Compact selected desktop navigation; align icon/label instead of leaving unused bottom space. */
html body :is(#side-menu,#setup-menu) li.active>a,html body :is(#side-menu,#setup-menu) a.bm-nav-current{display:flex;align-items:center;min-height:2.5rem;padding-block:.375rem}
html body :is(#side-menu,#setup-menu) li.active>a>.arrow,html body :is(#side-menu,#setup-menu) a.bm-nav-current>.arrow{margin-inline-start:auto}
@media(max-width:40rem){html body :is(#side-menu,#setup-menu) li.active>a,html body :is(#side-menu,#setup-menu) a.bm-nav-current{min-height:3rem}}

/* Secondary destinations stay quiet: owner-requested underline, no legacy blue pill. */
html body :is(#side-menu,#setup-menu) li :is(ul.nav-second-level,ul.nav-third-level,ul) li>a{display:flex;align-items:center;gap:.5rem;min-height:2.5rem;padding:.5rem .75rem .5rem 2rem;line-height:1.25rem;border-radius:var(--shape-md)!important}
html body :is(#side-menu,#setup-menu) li :is(ul.nav-second-level,ul.nav-third-level,ul) li>a i{flex:0 0 auto;margin:0}
html body :is(#side-menu,#setup-menu) li :is(ul.nav-second-level,ul.nav-third-level,ul) li.active>a:not(.disabled),
html body :is(#side-menu,#setup-menu) li :is(ul.nav-second-level,ul.nav-third-level,ul) li>a.bm-nav-current:not(.disabled){background:transparent!important;color:var(--md-on-surface)!important;box-shadow:none!important;border-left:0!important;border-radius:var(--shape-md)!important;text-decoration:underline!important;text-decoration-color:var(--md-primary-line)!important;text-decoration-thickness:.1875rem!important;text-underline-offset:.375rem!important;font-weight:700!important}
html body :is(#side-menu,#setup-menu) li :is(ul.nav-second-level,ul.nav-third-level,ul) li.active>a:not(.disabled) :is(span,i),
html body :is(#side-menu,#setup-menu) li :is(ul.nav-second-level,ul.nav-third-level,ul) li>a.bm-nav-current:not(.disabled) :is(span,i){color:var(--md-on-surface)!important}
html body :is(#side-menu,#setup-menu) li :is(ul.nav-second-level,ul.nav-third-level,ul) li.active>a:not(.disabled):hover,
html body :is(#side-menu,#setup-menu) li :is(ul.nav-second-level,ul.nav-third-level,ul) li>a.bm-nav-current:not(.disabled):hover{background:color-mix(in srgb,var(--md-on-surface) 8%,var(--md-surface))!important}
@media(max-width:40rem){html body :is(#side-menu,#setup-menu) li :is(ul.nav-second-level,ul.nav-third-level,ul) li>a{min-height:3rem}}

/* A visible boundary for bright-blue selected navigation on white surfaces. */
html body :is(#side-menu,#setup-menu)>li.active>a,html body :is(#side-menu,#setup-menu)>li>a.bm-nav-current{border:1px solid var(--md-primary-line)}
