:root{--bsm-header-height:76px}
body>header{height:var(--bsm-header-height);min-height:var(--bsm-header-height);position:sticky;top:0;z-index:120;padding:12px 24px;gap:14px}
header .brand-mark{width:44px;height:44px;flex:none}header .brand{margin-right:auto;min-width:0}header>span{font-size:14px;text-align:left}
.mobile-navigation{display:block;padding:0;border:0;background:transparent;flex:none}
.mobile-navigation[hidden]{display:none}
.mobile-navigation #mobile-menu{display:grid;place-items:center;width:42px;min-height:42px;padding:8px;margin:0;background:transparent;color:#fff;border:1px solid #c49b4f;border-radius:8px;font-size:23px;line-height:1}
#mobile-current{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.mobile-navigation #mobile-menu>span:last-child{color:inherit;font-size:23px}.mobile-navigation #mobile-menu:hover{background:#ffffff10;transform:none}
#main-navigation{position:fixed;top:var(--bsm-header-height);left:0;bottom:0;width:min(280px,86vw);z-index:110;overflow:auto;padding:14px 16px;background:#fff;box-shadow:8px 0 24px #0c243326;flex-direction:column;align-items:stretch;gap:4px;flex-wrap:nowrap;border-right:1px solid #dfe4e9}
#main-navigation:not(.mobile-open),#main-navigation[hidden]{display:none}
#main-navigation.mobile-open:not([hidden]){display:flex;grid-template-columns:none}
#main-navigation>a{display:block;min-height:44px;padding:12px;border-radius:7px;border-bottom:0}
#main-navigation a.active{background:#f4ead4;border-left:3px solid var(--gold)}
#main-navigation details{border-top:1px solid #e3e7eb;margin-top:8px;padding-top:10px;min-width:0}
#main-navigation details[hidden]{display:none}#main-navigation summary{padding:10px 12px;cursor:pointer;font-weight:650}
#main-navigation details a{display:block;padding:11px 12px;margin:0 0 0 12px;border-bottom:0;border-radius:6px;font-size:14px}
#nav-shade{position:fixed;inset:var(--bsm-header-height) 0 0;z-index:100;margin:0;padding:0;border:0;border-radius:0;background:#081b2d45;width:100%;height:calc(100dvh - var(--bsm-header-height));transform:none}
#nav-shade[hidden]{display:none}#nav-shade:hover{background:#081b2d45;transform:none}
@media(max-width:900px){header>span{display:none}}
@media(max-width:700px){:root{--bsm-header-height:64px}body>header{padding:10px 12px;gap:9px}header .brand{gap:8px}header .brand-mark{width:38px;height:38px;border-radius:10px}header .brand-name{font-size:12px;letter-spacing:1.2px}.mobile-navigation #mobile-menu{width:36px;min-height:38px;padding:6px}.header-actions{margin-left:auto;flex:none;gap:4px}.header-actions button{padding:8px 7px;font-size:12px}}
@media(max-width:350px){header .brand-name{font-size:10px;letter-spacing:.6px}body>header{gap:7px}.header-actions button{font-size:11px;padding:7px 5px}}

/* Mobile spacing and touch targets; desktop rules remain unchanged. */
@media(max-width:700px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--bsm-header-height) + 12px)}
 .mobile-navigation #mobile-menu{width:44px;min-height:44px}
 .header-actions button{min-width:44px}
 #content{scroll-margin-top:calc(var(--bsm-header-height) + 12px)}
 #message{position:static;overflow-wrap:anywhere;font-size:14px;line-height:1.4}
 main button,main .button{min-height:44px;font-size:14px;line-height:1.3}
 main input:not([type=checkbox]):not([type=radio]),main select,main textarea,dialog input:not([type=checkbox]):not([type=radio]),dialog select,dialog textarea{font-size:16px;min-height:44px}
 main .panel{padding:16px;margin-bottom:12px}
 .print-workflow h1{font-size:24px;line-height:1.2;margin:12px 0}
 .print-workflow h2,.print-workflow .product-heading h2{font-size:18px;line-height:1.3}
 .print-workflow p{font-size:14px;line-height:1.45;margin:10px 0}
 .print-workflow form{gap:12px}
 .print-workflow form>label{margin:0;line-height:1.4}
 .print-workflow .pw-check,.print-workflow .ams-check{min-height:44px;align-items:flex-start;padding:8px 0}
 .print-workflow .pw-check input,.print-workflow .ams-check input{width:18px;height:18px;margin-top:2px}
 .print-workflow .pw-actions{gap:8px}
 .print-workflow .pw-actions>button{margin:0}
 .print-workflow .pw-printer{padding:14px;gap:8px}
 .print-workflow .ams-slot-copy strong,.print-workflow .ams-slot-copy small{font-size:12px;line-height:1.25;overflow-wrap:anywhere}
 .print-workflow .ams-slot{padding:8px 3px}
 .print-workflow .ams-slot:only-child{grid-column:1/-1}
 .ams-plan{padding:12px;margin:16px 0}.ams-plan-slot{padding:10px 0}.ams-plan-slot small{font-size:12px}
 .bsm-fleet .bsm-fleet-ink>span{font-size:11px}
 .bsm-fleet .bsm-fleet-job b,.bsm-fleet .bsm-fleet-job small{font-size:12px}
 .focus-actions{gap:10px;margin-top:16px}
 .focus-actions .focus-print{font-size:16px;min-height:48px}
 .focus-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .focus-navigation button{min-width:0;padding:10px 8px;font-size:14px;line-height:1.3;white-space:normal}
 dialog{width:calc(100% - 24px);padding:16px}dialog footer{display:flex;gap:8px;padding:16px 0 0}dialog footer button{flex:1;margin:0;min-height:44px}
}
@media(max-width:359px){.focus-navigation{grid-template-columns:1fr}header .brand-name{font-size:10px;letter-spacing:.6px}body>header{gap:7px}.header-actions button{padding:7px 5px}}
@media(max-width:700px) and (hover:none){button:hover,.button:hover{transform:none}}

/* Related management tools stay reachable without lengthening the main menu. */
#main-navigation .nav-group{margin:4px 0 4px 12px;padding-top:0;border-top:0}
#main-navigation .nav-group>summary{font-size:14px;min-height:44px}
.product-advanced{margin:6px 0 18px}.product-advanced>summary{min-height:44px;padding:12px 0;cursor:pointer}

/* Original BSM artwork; the compact viewport keeps the monogram legible. */
header .brand-mark{position:relative;display:block;overflow:hidden;flex:none;width:60px;height:48px;border:0;border-radius:9px;background:#f5eeea;box-shadow:none;letter-spacing:0}
header .brand-mark img{position:absolute;display:block;width:160%;max-width:none;height:auto;left:-30%;top:-35%;pointer-events:none}
header .brand-name{font-size:16px;line-height:1;letter-spacing:2.4px}
header .brand-slogan{font-size:14px;line-height:1.4}
@media(max-width:700px){header .brand-mark{width:50px;height:40px;border-radius:7px}header .brand-name{font-size:12px;letter-spacing:1.4px}}
@media(max-width:359px){header .brand-mark{width:44px;height:35.2px}header .brand-name{font-size:11px;letter-spacing:1px}}
