.workspace-breadcrumbs{margin:0 0 1rem}.workspace-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0}.workspace-breadcrumbs li+li:before{content:"/";margin-right:.4rem;color:var(--bs-secondary-color,#6c757d)}.workspace-breadcrumbs a{color:inherit}.workspace-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));gap:1rem}.workspace-choice{display:block;min-height:8rem;padding:1.25rem;border:1px solid var(--bs-border-color,#dee2e6);border-radius:.65rem;color:inherit;background:var(--bs-body-bg,#fff);text-decoration:none}.workspace-choice:hover,.workspace-choice:focus-visible{outline:3px solid #0d6efd;outline-offset:2px}.workspace-page{max-width:80rem;margin-inline:auto}.workspace-primary{margin-block:1rem}.engineering-grants{overflow-x:auto}.engineering-grants table{min-width:52rem;width:100%}.engineering-grants th,.engineering-grants td{padding:.55rem;border-bottom:1px solid var(--bs-border-color,#dee2e6);text-align:left}.engineering-grants input{width:1.1rem;height:1.1rem}
.account-menu{position:relative}.account-menu summary{cursor:pointer;max-width:min(24rem,70vw);overflow-wrap:anywhere}.account-menu summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}.account-menu nav{position:absolute;z-index:30;right:0;top:100%;display:grid;min-width:13rem;padding:.5rem;background:var(--bs-body-bg,#fff);color:var(--bs-body-color,#212529);border:1px solid var(--bs-border-color,#dee2e6);border-radius:.4rem;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.16)}.account-menu nav a,.account-menu nav button{display:block;padding:.55rem;color:inherit;text-align:left}.account-menu nav form{margin:0}

/* ===== 工作區導覽：頁首、桌面側欄、小螢幕抽屜 =====
   ≥992px：頁首一列（站名、工作區頁籤、語言與帳號）；側欄固定在頁首下方，標題旁有「«」可收成窄欄（「»」展開）。
   <992px：頁首固定在最上方、單列（左側「☰ 選單」）；側欄變成從左滑入的抽屜，最上面是工作區切換，最下面是語言。 */

/* 頁首的工作區頁籤 */
.workspace-top-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-inline:auto}
.workspace-top-nav a{display:inline-flex;padding:.45rem .7rem;border-radius:.4rem;color:inherit;text-decoration:none}
.workspace-top-nav a:hover,.workspace-top-nav a:focus-visible,.workspace-top-nav a.is-current{background:rgba(255,255,255,.14);text-decoration:underline;text-underline-offset:.2em}
.workspace-enabled .portal-top{flex-wrap:wrap;gap:12px 16px}
.workspace-enabled .portal-brand{overflow-wrap:anywhere;min-width:0}
.workspace-enabled .portal-who{min-width:0;max-width:100%}
.workspace-enabled .portal-who select{max-width:100%}
/* 有側欄的頁面，頁首捲動時固定在最上方（側欄、抽屜都以頁首高度定位）。頁內錨點也要避開它。 */
.workspace-has-sidebar .portal-top{position:sticky;top:0;z-index:30}
:root:has(body.workspace-has-sidebar){scroll-padding-top:var(--workspace-header-height,0px)}

/* 只在小螢幕出現的元件，預設隱藏 */
.workspace-nav-toggle,.workspace-backdrop,.workspace-drawer-title,.workspace-drawer-switch,.workspace-drawer-foot{display:none}
.workspace-backdrop[hidden]{display:none}

/* 側欄 */
.workspace-sidebar{position:fixed;z-index:20;left:0;bottom:0;top:var(--workspace-header-height,3.75rem);display:flex;flex-direction:column;box-sizing:border-box;width:var(--workspace-sidebar-width,14rem);overflow:hidden;overflow-wrap:anywhere;background:var(--bs-body-bg,#fff);color:var(--bs-body-color,#212529);border-right:1px solid var(--bs-border-color,#dee2e6)}
.workspace-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex:0 0 auto;min-height:3.5rem;padding:.4rem .5rem .4rem 1rem;border-bottom:1px solid var(--bs-border-color,#dee2e6)}
.workspace-sidebar-title{margin:0;min-width:0;font-size:1.15rem}
.workspace-drawer-title{margin:0;font-size:1.15rem;font-weight:600}
.workspace-collapse,.workspace-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.75rem;height:2.75rem;padding:0;border:1px solid transparent;border-radius:.4rem;background:transparent;color:inherit;font-size:1.25rem;line-height:1;cursor:pointer}
.workspace-collapse:hover,.workspace-close:hover{background:rgba(0,0,0,.06);border-color:var(--bs-border-color,#dee2e6)}
.workspace-close{display:none}
.workspace-sidebar-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.5rem 1rem 1rem}
.workspace-sidebar ul{list-style:none;padding-inline-start:0}
.workspace-sidebar li{margin-block:.35rem}
.workspace-sidebar a{display:block;padding:.4rem .55rem;border-radius:.35rem;color:inherit;text-decoration:none}
.workspace-sidebar a:hover,.workspace-sidebar a:focus-visible,.workspace-sidebar a[aria-current=page]{outline:2px solid currentColor;outline-offset:1px}
.workspace-sidebar .workspace-category summary{margin-top:.7rem;padding:.4rem .55rem;font-weight:700;cursor:pointer}
.workspace-sidebar .workspace-category summary:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.workspace-sidebar .workspace-category ul{padding-inline-start:1rem}
.workspace-sidebar .text-muted{color:var(--bs-secondary-color,#6c757d)!important}
.workspace-backdrop{position:fixed;inset:0;z-index:39;border:0;background:#13264080}

/* ≥992px：常駐側欄與窄欄 */
@media(min-width:992px){
 .workspace-enabled .portal-top{flex-wrap:nowrap}
 .workspace-enabled .workspace-top-nav{flex:1 1 0;min-width:0;margin-inline:0}
 .workspace-enabled .portal-who{flex:0 0 auto;flex-wrap:nowrap;max-width:none}
 .workspace-has-sidebar{--workspace-sidebar-width:14rem;--workspace-content-offset:15rem}
 .workspace-has-sidebar.workspace-sidebar-collapsed{--workspace-sidebar-width:3.25rem;--workspace-content-offset:3.5rem}
 .workspace-has-sidebar .portal-content,.workspace-has-sidebar>.tenant-scope,.workspace-has-sidebar>.portal-footer{margin-left:var(--workspace-content-offset)}
 .workspace-has-sidebar>#email-unconfirmed{margin-left:calc(var(--workspace-content-offset) + 1rem)!important}
 .workspace-sidebar-collapsed .workspace-sidebar-title,.workspace-sidebar-collapsed .workspace-sidebar-body{display:none}
 .workspace-sidebar-collapsed .workspace-sidebar-head{justify-content:center;padding:.4rem 0}
}

/* 992～1199px：頁首較擠，收小間距並省略「語言」文字標籤（下拉選單本身仍有名稱），維持單列 */
@media(min-width:992px) and (max-width:1199.98px){
 .workspace-enabled .portal-top{gap:8px 12px}
 .workspace-top-nav{gap:.25rem}
 .workspace-top-nav a{padding:.45rem .5rem}
 .workspace-enabled .portal-who .culture-switcher label{display:none}
}

/* <992px：單列頁首與抽屜 */
@media(max-width:991.98px){
 /* 三欄格線：選單鈕｜站名（可縮、最多兩行）｜帳號；站名與帳號不會互相疊在一起 */
 .workspace-has-sidebar .portal-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 12px}
 .workspace-has-sidebar .workspace-top-nav{display:none}
 .workspace-has-sidebar .portal-who .culture-switcher{display:none!important}
 .workspace-has-sidebar .portal-brand{flex:1 1 auto;min-width:0;line-height:1.25;max-height:2.5em;overflow:hidden}
 /* 站名很長時最多兩行、超出以刪節號收尾（頁首固定在最上方，不能長到三行佔掉手機畫面） */
 .workspace-has-sidebar .portal-brand:not(.has-logo){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}
 .workspace-has-sidebar .portal-who{flex-wrap:nowrap;justify-content:flex-end;justify-self:end;margin-left:0;min-width:0}
 .workspace-has-sidebar .workspace-nav-toggle{order:-1}
 .workspace-nav-toggle{display:inline-flex;gap:.45rem;align-items:center;justify-content:center;flex:0 0 auto;min-width:44px;min-height:44px;padding:.4rem .75rem;border:1px solid currentColor;border-radius:.4rem;background:transparent;color:inherit;font:inherit;white-space:nowrap;cursor:pointer}
 .workspace-backdrop{display:block}
 .workspace-sidebar{top:0;z-index:40;width:min(20rem,88vw);border-right:0;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.28);transform:translateX(-100%);visibility:hidden;overscroll-behavior:contain;transition:transform .2s ease,visibility 0s linear .2s}
 .workspace-sidebar.is-open{transform:none;visibility:visible;transition:transform .2s ease,visibility 0s}
 .workspace-sidebar-title,.workspace-collapse{display:none}
 .workspace-drawer-title,.workspace-close{display:inline-flex}
 .workspace-drawer-title{align-items:center}
 .workspace-drawer-switch{display:flex;flex-wrap:wrap;gap:.35rem;padding-bottom:.75rem;margin-bottom:.5rem;border-bottom:1px solid var(--bs-border-color,#dee2e6)}
 .workspace-drawer-switch a{display:inline-flex;align-items:center;min-height:44px;padding:.4rem .8rem;border:1px solid var(--bs-border-color,#dee2e6)}
 .workspace-drawer-switch a.is-current{background:#0F345B;border-color:#0F345B;color:#fff}
 .workspace-drawer-foot{display:block;flex:0 0 auto;padding:.75rem 1rem;border-top:1px solid var(--bs-border-color,#dee2e6)}
 .workspace-drawer-foot .culture-switcher{display:flex;align-items:center;gap:.5rem;margin:0}
 .workspace-drawer-foot .culture-switcher label{display:inline;margin:0;white-space:nowrap}
 .workspace-drawer-foot .culture-switcher select{flex:1 1 auto;width:auto;min-width:0;min-height:44px}
 .workspace-sidebar-body a{display:flex;align-items:center;min-height:44px}
 .workspace-sidebar .workspace-category summary{padding-block:.65rem}
 .workspace-has-sidebar .portal-content{margin-left:0;max-width:100%;overflow-wrap:anywhere}
 html.workspace-drawer-open{overflow:hidden}
 /* 頁首帳號選單：名稱超出時以刪節號收尾，保留下拉三角 */
 .workspace-has-sidebar .account-menu summary{display:flex;align-items:center;gap:.3rem;max-width:min(9rem,32vw);list-style:none}
 .workspace-has-sidebar .account-menu summary::-webkit-details-marker{display:none}
 .workspace-has-sidebar .account-menu summary::after{content:"\25BE";flex:0 0 auto}
 .workspace-has-sidebar .account-menu-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .workspace-has-sidebar .account-menu-suffix{display:none}
 .account-menu nav{max-width:calc(100vw - 24px);min-width:min(13rem,calc(100vw - 24px))}
}

/* 沒有側欄的頁面（說明、法務、等待指派…）在手機維持原本的多列頁首 */
@media(max-width:767.98px){
 .workspace-enabled:not(.workspace-has-sidebar) .portal-top{padding:12px 16px}
 .workspace-enabled:not(.workspace-has-sidebar) .workspace-top-nav{order:3;flex:1 1 100%;justify-content:flex-start;gap:4px;margin:0}
 .workspace-enabled:not(.workspace-has-sidebar) .workspace-top-nav a{padding:.4rem .5rem}
 .workspace-enabled:not(.workspace-has-sidebar) .portal-who{order:4;width:100%;justify-content:space-between;gap:8px}
 .workspace-enabled:not(.workspace-has-sidebar) .account-menu summary{max-width:100%;padding:.35rem 0}
}

@media(prefers-reduced-motion:reduce){
 .workspace-sidebar,.workspace-sidebar.is-open{transition:none}
}
