/* Category navigation is scoped to TOP; route handlers and permissions are unchanged. */
body #homeScreen .office-home-menu .menu-grid.grouped-office-menu{display:flex!important;flex-direction:column!important;grid-template-rows:none!important;gap:10px!important;min-height:0!important;height:auto!important;flex:0 0 auto!important;width:100%!important}
body #homeScreen .grouped-office-menu .office-menu-group{--menu-accent:#91b8d8;--menu-tint:#182d42;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;min-width:0}
body #homeScreen .grouped-office-menu [data-menu-group=staff]{--menu-accent:#84bbb2;--menu-tint:#173536}
body #homeScreen .grouped-office-menu [data-menu-group=sales]{--menu-accent:#c0a4d7;--menu-tint:#2a263d}
body #homeScreen .grouped-office-menu [data-menu-group=system]{--menu-accent:#d9b67d;--menu-tint:#383024}
body #homeScreen .grouped-office-menu .office-menu-group-title{display:flex;align-items:center;gap:8px;padding:5px 2px!important;margin:0 0 5px!important;background:transparent!important;border:0!important;color:var(--menu-accent)!important;font:700 12px/1.4 system-ui;letter-spacing:.05em;cursor:pointer;list-style:none}
body #homeScreen .grouped-office-menu .office-menu-group-title::-webkit-details-marker{display:none}
body #homeScreen .grouped-office-menu .office-menu-group-title::before{content:'';width:4px;height:13px;border-radius:4px;background:var(--menu-accent)}
body #homeScreen .grouped-office-menu .office-menu-group-title::after{content:'＋';margin-left:auto;font-size:15px;font-weight:500}
body #homeScreen .grouped-office-menu [open]>.office-menu-group-title::after{content:'−'}
body #homeScreen .grouped-office-menu .office-menu-group-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
body #homeScreen .grouped-office-menu .menu-button{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;width:100%!important;min-width:0!important;height:54px!important;min-height:54px!important;margin:0!important;padding:5px 7px!important;border:1px solid #ffffff16!important;border-radius:8px!important;background:var(--menu-tint)!important;color:#f3f6fa!important;text-align:left!important;box-shadow:none!important;overflow:hidden!important}
body #homeScreen .grouped-office-menu .menu-button:hover:not(:disabled){border-color:var(--menu-accent)!important;background:var(--menu-tint)!important;filter:brightness(1.22)}
body #homeScreen .grouped-office-menu .menu-button:focus-visible,body #homeScreen .grouped-office-menu summary:focus-visible{outline:2px solid var(--menu-accent);outline-offset:2px}
body #homeScreen .grouped-office-menu .menu-button:disabled{opacity:.45!important}
body #homeScreen .grouped-office-menu .menu-button>span:not(.menu-icon){min-width:0!important;width:auto!important;overflow:hidden!important}
body #homeScreen .grouped-office-menu .menu-name{display:block!important;font:600 12px/1.4 system-ui!important;white-space:normal!important;overflow-wrap:anywhere}
body #homeScreen .grouped-office-menu .menu-description{display:block!important;margin-top:2px!important;font:400 10px/1.3 system-ui!important;color:#bdcbd7!important;white-space:normal!important;overflow-wrap:anywhere}
body #homeScreen .grouped-office-menu .menu-icon,body #homeScreen .grouped-office-menu .menu-icon svg{display:block;width:19px!important;height:19px!important;flex:0 0 19px!important;color:var(--menu-accent)!important;margin:0!important}
body #homeScreen .grouped-office-menu .office-master-entry{grid-column:1/-1;background:#65471f!important;border:1px solid #cfa266!important;color:#fff5df!important;height:52px!important}
body #homeScreen .grouped-office-menu .office-master-entry:hover:not(:disabled){background:#755527!important;border-color:#eed1a0!important}
body #homeScreen .grouped-office-menu .office-master-entry .menu-icon{color:#f2cc8d!important}
body #homeScreen .grouped-office-menu .office-master-entry .menu-description{display:block!important;margin-top:2px!important;font:500 10px/1.3 system-ui!important;color:#eed4ad!important;white-space:normal!important}
/* Share the desktop rail's spare height between buttons and category spacing. */
@media(min-width:1401px){
 body #homeScreen .office-home-menu .menu-grid.grouped-office-menu{--reservation-rows:3fr;--staff-rows:2fr;--sales-rows:1fr;--system-rows:3fr;display:grid!important;flex:1 1 0!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(max-content,var(--reservation-rows)) minmax(max-content,var(--staff-rows)) minmax(max-content,var(--sales-rows)) minmax(max-content,var(--system-rows))!important;align-content:stretch!important}
 body #homeScreen .grouped-office-menu:has([data-menu-group=reservation]:not([open])){--reservation-rows:auto!important}
 body #homeScreen .grouped-office-menu:has([data-menu-group=staff]:not([open])){--staff-rows:auto!important}
 body #homeScreen .grouped-office-menu:has([data-menu-group=sales]:not([open])){--sales-rows:auto!important}
 body #homeScreen .grouped-office-menu:has([data-menu-group=system]:not([open])){--system-rows:auto!important}
 body #homeScreen .grouped-office-menu .office-menu-group{height:100%;box-sizing:border-box}
 body #homeScreen .grouped-office-menu .office-menu-group::details-content{height:calc(100% - 36px)}
 body #homeScreen .grouped-office-menu .office-menu-group-items{height:100%;grid-auto-rows:minmax(54px,1fr)}
 body #homeScreen .grouped-office-menu .menu-button{height:100%!important}
}
@media(min-width:721px) and (max-width:1400px){
 body #homeScreen .office-home-menu .menu-grid.grouped-office-menu{gap:5px!important}
 body #homeScreen .grouped-office-menu .office-menu-group-title{min-height:34px;padding:5px 3px!important;margin:0!important;font-size:13px}
 body #homeScreen .grouped-office-menu .office-menu-group-items{grid-template-columns:minmax(0,1fr);gap:4px;padding-bottom:5px}
 body #homeScreen .grouped-office-menu .menu-button{height:44px!important;min-height:44px!important;padding:5px 8px!important}
 body #homeScreen .grouped-office-menu .menu-name{font-size:13px!important;white-space:normal!important}
 body #homeScreen .grouped-office-menu .office-master-entry{height:48px!important}
}
@media(max-width:720px){
 body #homeScreen .grouped-office-menu .office-menu-group-title{font-size:13px;padding:7px 2px!important}
 body #homeScreen .grouped-office-menu .menu-button{height:54px!important;min-height:54px!important}
 body #homeScreen .grouped-office-menu .menu-name{font-size:13px!important}
}
