/* #424: keep wide data tables inside their own scroll region. */
.rtp-admin-main .rtp-table-scroll { width:100%;max-width:100%;min-width:0;overflow-x:auto; }
.rtp-admin-main .rtp-table-scroll > table { min-width:640px; }
.rtp-admin-main form[method="get"], .rtp-admin-main > form { flex-wrap:wrap; }
@media(max-width:768px) {
 .rtp-admin-shell > div:first-child.w-\[56px\] { display:none; }
 .rtp-uat-strip { padding-left:12px !important; }
 .theme-admin .rtp-admin-brand { width:145px; }
 .theme-admin .rtp-admin-brand a { font-size:14px;margin-left:0; }
 .theme-admin .rtp-admin-user-menu { max-width:125px;padding-left:6px;padding-right:6px; }
 .rtp-admin-topbar > div:last-child { gap:4px;padding-right:6px; }
 .rtp-admin-main input:not([type="checkbox"]):not([type="radio"]),
 .rtp-admin-main select, .rtp-admin-main textarea { max-width:100%; }
 .rtp-admin-main nav[aria-label="列表分頁"] { justify-content:flex-start !important;gap:8px !important; }
 .rtp-admin-main [role="dialog"] { max-width:calc(100vw - 24px); }
}

/* [rtp-footer-bottom] dashboard footer 置底修正 */
.rtp-admin-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}
.rtp-admin-page .rtp-admin-topbar {
    flex-shrink: 0;
}
.rtp-admin-page .rtp-admin-shell {
    flex: 1 0 auto;
}
.rtp-admin-page .rtp-admin-main {
    display: flex;
    flex-direction: column;
}

/* Keep the complete performance menu name on one line in the 240px sidebar. */
.rtp-admin-shell .rtp-sidebar-long-label { font-size:14px; line-height:22px; white-space:nowrap; }

/* Keep read-only question paging wrappers as wide as the answer form. */
.rtp-questionnaire-answer, .rtp-questionnaire-answer > div { min-width:0; }
.rtp-questionnaire-answer #formAnswers { min-width:0;align-items:stretch; }
.rtp-questionnaire-answer #formAnswers > .flex { flex-wrap:wrap;row-gap:12px; }
.rtp-questionnaire-answer #js-rp-answer-questions { width:100%;min-width:0; }
.rtp-questionnaire-answer .rtp-question-card { box-sizing:border-box;min-width:0;margin:0 0 16px;padding:16px;border:1px solid #d6dfe7;border-radius:6px;background:#fff;overflow-wrap:anywhere; }
.rtp-questionnaire-answer #formAnswers .rtp-question-card :is(select,textarea) { box-sizing:border-box;width:100%;max-width:100%;font-size:14px;line-height:1.6; }
.rtp-questionnaire-answer #formAnswers .rtp-question-card select { min-height:40px; }
.rtp-questionnaire-answer #formAnswers .rtp-question-card textarea { min-height:80px; }
.rtp-questionnaire-answer #formAnswers label { align-self:flex-start;margin-bottom:4px; }
.rtp-admin-main .rtp-year-cell { min-width:80px;width:80px;white-space:nowrap; }
@media(max-width:720px) {
 .rtp-question-review-grid { grid-template-columns:minmax(0,1fr) !important; }
 .rtp-questionnaire-answer > div { padding:12px; }
}

/* Paint the persisted shell width and current menu before Alpine starts. */
.rtp-admin-sidebar { width:240px;flex:0 0 240px;min-width:0; }
html.rtp-menu-collapsed .rtp-admin-sidebar { width:56px;flex-basis:56px; }
.rtp-admin-sidebar [data-rtp-sidebar-inner] { width:100%!important; }
.rtp-admin-sidebar, .rtp-admin-sidebar *, .rtp-admin-topbar .rtp-admin-brand { transition:none!important;animation:none!important; }
html.rtp-menu-collapsed .rtp-admin-sidebar [x-show="openMMC"] { display:none!important; }
html.rtp-menu-boot:not(.rtp-menu-collapsed) .rtp-admin-sidebar .rtp-menu-initial-open { max-height:none!important;overflow:visible!important;width:100%;padding-right:0; }
html.rtp-menu-boot:not(.rtp-menu-collapsed) .rtp-menu-initial-open > li:first-child { display:none; }
@media(max-width:768px) { html.rtp-menu-collapsed .rtp-admin-sidebar { display:none; } }

/* Same-origin links and form redirects retain the previous frame until ready. */
@view-transition { navigation:auto; }
html { view-transition-name:none; }
.rtp-admin-topbar { view-transition-name:rtp-admin-topbar; }
.rtp-admin-sidebar { view-transition-name:rtp-admin-sidebar; }
.rtp-admin-main { view-transition-name:rtp-admin-content; }
::view-transition-group(*) { animation-duration:0s; }
::view-transition-old(*), ::view-transition-new(*) { animation:none;mix-blend-mode:normal; }
/* Fade only the new content over the intact previous frame; never fade to white. */
::view-transition-new(rtp-admin-content) { animation:rtp-content-arrive 160ms ease-out both; }
@keyframes rtp-content-arrive { from { opacity:0; } to { opacity:1; } }
@media (prefers-reduced-motion:reduce) {
 ::view-transition-new(rtp-admin-content) { animation:none; }
}

/* Sidebar groups remain in place; scroll separately from long content forms. */
html:not(.rtp-menu-collapsed) .rtp-admin-sidebar { position:sticky;top:0;align-self:flex-start;max-height:100vh;overflow-y:auto;overflow-anchor:none; }
.rtp-admin-sidebar .rtp-sidebar-link-active { background:#2fc2aa!important;color:#fff!important;font-weight:600;border-radius:0; }
/* Tabs keep their underline treatment, separate from business actions. */
.rtp-admin-main [role="tablist"] > [role="tab"] { display:block!important;min-height:0!important;height:auto!important;padding:10px 18px!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:14px!important;line-height:22px!important;color:#627084!important; }
.rtp-admin-main [role="tablist"] > [role="tab"][aria-selected="true"] { border-bottom-color:#2e8c80!important;color:#24796f!important;font-weight:700!important; }

/* The selected row changes color only, never its geometry. */
.rtp-admin-sidebar ul ul a { box-sizing:border-box;width:100%;min-height:52px;line-height:24px; }
.rtp-admin-sidebar .rtp-sidebar-long-label { line-height:24px; }
.rtp-admin-main { min-width:0; }

.rtp-admin-breadcrumbs a { text-decoration:underline;text-underline-offset:3px; }
.rtp-admin-breadcrumbs a:hover { color:#287f75; }
.rtp-admin-breadcrumbs a:focus-visible { outline:2px solid #287f75;outline-offset:3px; }
.rtp-admin-breadcrumbs [aria-current="page"] { color:#64748b; }
.rtp-admin-parent-return { flex-shrink:0; }
