.koihaWrap {
    min-width: var(--layout-min-width);
    min-height: 100vh;
    display: flex;
    background: var(--color-panel);
    font-family: var(--font-family-publisher);
    letter-spacing: -0.5px;
}
.koihaWrap > aside {
    position: fixed;
    display: flex;
    flex-direction: column;
    width: var(--layout-sidebar-width);
    height: 100vh;
    flex: 0 0 var(--layout-sidebar-width);
    border-right: 1px solid var(--color-border);
    background: var(--color-panel);
    box-shadow:7px 0 9px rgba(0,0,0,.2);
    transition: width 0.25s ease, flex-basis 0.25s ease;
    z-index:10;
}
.koihaWrap.aside-collapsed > aside {
    width: var(--layout-sidebar-collapsed-width);
    flex-basis: var(--layout-sidebar-collapsed-width);
}
.koihaWrap > aside .asideController {
    position: absolute;
    top:calc(var(--aside-brand-height)/2);
    transform: translateY(-50%);
    right:-30px;
    width:30px;
    height:60px;
    border:0;
    border-radius:0 10px 10px 0;
    background:#111;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow: 0 2px 8px rgba(0,0,0,.18);
    cursor:pointer;
}
.koihaWrap > aside .asideController:before {
    content:"";
    width:10px;
    height:10px;
    border-right:2px solid #fff;
    border-bottom:2px solid #fff;
    transform: rotate(135deg);
    margin-left:4px;
    box-sizing:border-box;
}
.koihaWrap > aside .asideController._off:before {
    transform: rotate(-45deg);
    margin-left:-4px;
}
.asideBrand {
    position: relative;
    min-height: var(--aside-brand-height);
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid var(--color-border-soft);
    padding: 0 20px;
    transition: opacity 0.2s ease, transform 0.2s ease;
}
.asideBrand img {
    width: min(var(--aside-logo-width), 100%);
    height: auto;
}
.asideBrand .styleDummy {
    position: absolute;
    z-index: 5;
    bottom: 4px;
    left: 20px;
    width: 64px;
    height: 24px;
    border: 0;
    border-radius: 4px;
    background: var(--color-panel);
    padding: 0 6px;
    color: var(--color-text-primary);
    font-size: 11px;
}
.typeName {
    min-height: var(--aside-role-height);
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid var(--color-border-soft);
    background: var(--color-surface-soft);
    color: var(--color-brand-font);
    font-size: var(--font-size-lg);
    font-weight: 700;
    box-shadow: inset 0 8px 8px -8px rgba(0, 0, 0, 0.15), inset 0 -8px 8px -8px rgba(0, 0, 0, 0.15);
    transition: opacity 0.2s ease, transform 0.2s ease;
}
.menuWrap {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 12px 6px;
    transition: opacity 0.2s ease, transform 0.2s ease;
}
.menuWrap ul {
    list-style: none;
    border-top:3px solid #222;
    border-bottom:3px solid #222;
}
.menuWrap li {
    transition: background-color 0.15s ease, color 0.15s ease;
    margin:0;
}
.menuWrap > ul > li + li {
    border-top: 1px solid var(--color-border-soft);
}
.menuWrap .tit {
    position: relative;
    display: flex;
    align-items: center;
    min-height: var(--aside-menu-item-height);
    padding: 0 var(--aside-menu-title-pad-x);
    color: var(--color-text-primary);
    font-size: var(--font-size-md);
    font-weight: 700;
    transition: background-color 0.15s ease, color 0.15s ease;
    margin:0;
}
.menuWrap .tit button {
    display: flex;
    align-items: center;
    width: 100%;
    gap: var(--aside-menu-arrow-gap);
    min-height: inherit;
    padding: 0 calc(var(--aside-menu-arrow-size) + var(--aside-menu-arrow-gap) + 4px) 0 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
}
.menuWrap .tit button span {
    flex: 1 1 auto;
}
.menuWrap li._active > .tit {
    background: var(--color-brand-soft-active);
}
.menuWrap li > .tit::after {
    position: absolute;
    right: var(--aside-menu-title-pad-x);
    top: 50%;
    content: "";
    width: var(--aside-menu-arrow-size);
    height: var(--aside-menu-arrow-size);
    border-right: 2px solid #222;
    border-bottom: 2px solid #222;
    transform: translateY(-50%) rotate(45deg);
    opacity: 0.75;
}
.menuWrap li._active > .tit::after {
    transform: translateY(-50%) rotate(-135deg);
}
.menuWrap .underTab {
    height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: height 0.28s ease, opacity 0.2s ease, transform 0.28s ease, visibility 0s linear 0.28s;
}
.koihaWrap.aside-collapsed .asideBrand {
    opacity: 0;
    transform: translateX(-8px);
    pointer-events: none;
}
.koihaWrap.aside-collapsed .typeName {
    opacity: 0;
    transform: translateX(-8px);
    pointer-events: none;
}
.koihaWrap.aside-collapsed .menuWrap {
    opacity: 0;
    transform: translateX(-8px);
    pointer-events: none;
}
.menuWrap ._active .underTab {
    height: auto;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: height 0.28s ease, opacity 0.2s ease, transform 0.28s ease, visibility 0s linear 0s;
    background:#f7f7f7;
}
.menuWrap .underTab ol {
    list-style: none;
}
.menuWrap .underTab li {
    padding: 0;
    color: var(--color-text-secondary);
    font-size: var(--font-size-sm);
    transition: background-color 0.15s ease, color 0.15s ease;
    margin:0;
}
.menuWrap .underTab li + li {
    border-top:1px solid #eee;
}
.menuWrap .underTab li a {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 100%;
    padding: var(--aside-menu-sub-pad-y) 12px var(--aside-menu-sub-pad-y) var(--aside-menu-sub-pad-x);
    box-sizing: border-box;
    color: inherit;
}
.menuWrap .underTab li a:hover {
    font-weight: 700;
}
.menuWrap .underTab li._active a {
    background: var(--color-surface-muted);
    font-weight: 700;
}
.menuWrap .underTab li._active {
    background: var(--color-surface-muted);
    font-weight: 700;
}
.koihaWrap.aside-collapsed .asideController {
    right: -24px;
}
.koihaWrap.aside-collapsed .asideController._off:before {
    transform: translateY(0%) rotate(-45deg);
}
.container {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    background: var(--color-panel);
}
.koihaWrap > .container > header {
    border-bottom: 1px solid var(--color-border);
    background: var(--color-panel);
}
.headerTop {
    height: var(--layout-header-top-height);
    padding: 0 var(--layout-main-pad-right);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    /* background: var(--color-brand);
    */ color: var(--color-panel);
}
/* 서비스 뱃지: 메인/서브 화면에서 동일하게 사용 */
.mainSystemTabs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
}
.mainSystemTabs > span {
    width: 1px;
    height: 14px;
    background: var(--color-border);
}
.mainSystemTabs button {
    padding: 8px 14px;
    border: 0;
    border-radius: 0 0 8px 8px;
    background: transparent;
    color: var(--color-text-muted);
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}
.mainSystemTabs button._active {
    background: var(--color-brand);
    color: var(--neutral-white);
}
.mainSystemTabs button:focus-visible {
    outline: 2px solid var(--color-brand);
    outline-offset: 2px;
}
.subHeader .headerTop {
    margin-left: var(--layout-sidebar-width);
    padding-left: var(--layout-main-pad-left);
    transition: margin-left 0.25s ease;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    height: auto;
    min-height: 42px;
    gap: 8px 16px;
}
.koihaWrap.aside-collapsed .subHeader .headerTop {
    margin-left: var(--layout-sidebar-collapsed-width);
    padding-left: var(--layout-main-pad-right);
}
.header-menu-empty {
    color: var(--color-text-muted);
    font-size: 14px;
}
.menuSet {
    display: inline-flex;
    align-items: center;
    gap: 30px;
    font-size: var(--font-size-2xs);
    font-weight: 700;
    color:#fff;
    background: var(--color-brand);
    border-radius:0 0 10px 10px;
    padding:10px 20px;
}
.menuSet a {
    position: relative;
    padding: 0 2px;
}
.menuSet a + a::before {
    content: "|";
    position: absolute;
    left: -17px;
    color: #fff;
}
.headerBottom {
    height: var(--layout-header-bottom-height);
    padding: 0 var(--layout-main-pad-right) 0 var(--layout-main-pad-left);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-left:var(--layout-sidebar-width);
}
.aside-collapsed .headerBottom {
    margin-left:var(--layout-sidebar-collapsed-width);
    padding: 0 var(--layout-main-pad-right) 0 var(--layout-main-pad-right);
}
.topMenuWrap {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 42px;
}
.topItemWrap {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: var(--header-item-gap);
    font-size: var(--header-item-font-size);
}
.topMenuWrap button {
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--color-text-primary);
    font: inherit;
    font-size: var(--font-size-xl);
    font-weight: 700;
}
.topItemWrap button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--color-text-primary);
    font: inherit;
    font-size: var(--header-item-font-size);
    font-weight: 700;
    white-space: nowrap;
    justify-content: center;
}
.header-ntcn-item {
    position: relative;
}
.header-ntcn-dot {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d92d20;
}
.header-ntcn-panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 1200;
    width: min(360px, calc(100vw - 24px));
    border: 1px solid var(--color-border);
    border-radius: var(--radius-base);
    background: #fff;
    box-shadow: 0 12px 28px rgba(31, 41, 55, 0.18);
}
.header-ntcn-panel-head {
    padding: 12px 14px;
    border-bottom: 1px solid var(--color-border-light);
    font-weight: 700;
}
.header-ntcn-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 360px;
    overflow: auto;
}
/* .topItemWrap li(inline-flex, 내용 폭)가 패널 안 목록에도 걸리므로 행을 패널 폭으로 되돌린다 */
.topItemWrap .header-ntcn-list li {
    display: block;
}
.header-ntcn-row {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid var(--color-border-light);
}
.header-ntcn-list button.header-ntcn-open {
    display: flex;
    flex: 1;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 12px 8px 12px 14px;
    border: 0;
    background: #fff;
    text-align: left;
    white-space: normal;
    cursor: pointer;
}
.header-ntcn-list li.is-unread button.header-ntcn-open {
    background: #fff8f0;
}
.header-ntcn-delete {
    flex: 0 0 auto;
    width: 36px;
    border: 0;
    border-left: 1px solid transparent;
    background: transparent;
    color: #8a93a1;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}
.header-ntcn-delete:hover {
    color: #d92d20;
}
.header-ntcn-list strong {
    color: #27303d;
    font-size: 13px;
}
.header-ntcn-cn {
    color: #5b6471;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
}
.header-ntcn-date {
    color: #8a93a1;
    font-size: 11px;
    font-weight: 400;
}
.header-ntcn-empty {
    padding: 24px 14px;
    color: #8a93a1;
    font-size: 13px;
    text-align: center;
}

/* 사용자 색상 테마 선택 모달: 미리보기 색은 root.css의 --theme-* 기준색을 참조한다. */
#themeSettingModal .theme-setting-panel {
    width: min(640px, 100%);
}
.theme-pick-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}
.theme-pick-card {
    --tp-primary: var(--theme-0-primary);
    --tp-dark: var(--theme-0-dark);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    width: 100%;
    padding: 10px;
    border: 2px solid var(--color-border);
    border-radius: var(--radius-panel);
    background: var(--neutral-white);
    color: var(--color-text-primary);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.theme-pick-card[data-theme-value="1"] { --tp-primary: var(--theme-1-primary); --tp-dark: var(--theme-1-dark); }
.theme-pick-card[data-theme-value="2"] { --tp-primary: var(--theme-2-primary); --tp-dark: var(--theme-2-dark); }
.theme-pick-card[data-theme-value="3"] { --tp-primary: var(--theme-3-primary); --tp-dark: var(--theme-3-dark); }
.theme-pick-card:hover,
.theme-pick-card:focus-visible {
    border-color: var(--tp-primary);
    outline: none;
}
.theme-pick-card[aria-pressed="true"] {
    border-color: var(--tp-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--tp-primary) 22%, transparent);
}
.theme-pick-name {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: var(--tp-dark);
}
.theme-pick-card[aria-pressed="true"] .theme-pick-name::before {
    content: "\2713";
    color: var(--tp-primary);
}
.theme-pick-preview {
    display: block;
    width: 100%;
    height: auto;
}
.theme-pick-preview .tp-page { fill: color-mix(in srgb, var(--tp-primary) 4%, #fff); stroke: #d5dce6; }
.theme-pick-preview .tp-header { fill: var(--tp-dark); }
.theme-pick-preview .tp-logo { fill: #fff; }
.theme-pick-preview .tp-nav { fill: color-mix(in srgb, #fff 70%, transparent); }
.theme-pick-preview .tp-aside { fill: color-mix(in srgb, var(--tp-primary) 12%, #fff); }
.theme-pick-preview .tp-aside-active,
.theme-pick-preview .tp-button { fill: var(--tp-primary); }
.theme-pick-preview .tp-title { fill: var(--tp-dark); }
.theme-pick-preview .tp-card { fill: #fff; stroke: #dbe4f0; }
.theme-pick-preview .tp-thead { fill: color-mix(in srgb, var(--tp-primary) 18%, #fff); }
.theme-pick-preview .tp-line { fill: #e3e8ef; }
.topMenuWrap li:nth-child(5) button {
    color: var(--color-brand);
}
.topItemWrap li {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: var(--header-item-icon-size);
}
.topItemWrap > li > button, .topItemWrap .header-session-status {
    min-height: var(--header-item-icon-size);
    line-height: var(--header-item-icon-size);
}
.topItemWrap button.header-privacy-mask {
    gap: 0;
}
.topItemWrap button.header-privacy-mask[data-unmasked="false"] {
    color: var(--ui-primary);
}
.topItemWrap button.header-privacy-mask[data-unmasked="true"] {
    color: #d41818;
}
.topItemWrap button.header-privacy-mask .header-privacy-mask-status {
    min-height: var(--header-item-icon-size);
    border-radius: calc(var(--header-item-icon-size) / 2);
    padding: 0 7px;
    color: var(--neutral-white);
    font-size: var(--font-size-2xs);
    line-height: var(--header-item-icon-size);
}
.topItemWrap button.header-privacy-mask[data-unmasked="false"] .header-privacy-mask-status {
    background: var(--ui-primary);
}
.topItemWrap button.header-privacy-mask[data-unmasked="true"] .header-privacy-mask-status {
    background: #d41818;
}
.topItemWrap button.header-privacy-mask .header-privacy-mask-action {
    margin-left: 6px;
    border-left: 1px solid var(--color-border);
    padding-left: 6px;
}
.topItemWrap button img {
    width: var(--header-item-icon-size);
    height: var(--header-item-icon-size);
    flex: 0 0 auto;
}
.topItemWrap button span {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}
.header-session-item, .header-session-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.header-session-status img {
    width: var(--header-item-icon-size);
    height: var(--header-item-icon-size);
    flex: 0 0 auto;
}
.header-session-time {
    min-width: 42px;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    text-align: center;
}
.topItemWrap button.header-session-extend {
    border: 1px solid var(--color-brand);
    border-radius: var(--radius-base);
    padding: 3px 7px;
    color: var(--color-brand);
    cursor: pointer;
}
.topItemWrap button.header-session-extend[hidden] {
    display: none;
}
.session-expiry-countdown {
    display: block;
    color: var(--color-brand);
    font-size: 32px;
    font-variant-numeric: tabular-nums;
    text-align: center;
}
.koihaWrap > .container > main {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 auto;
    padding: var(--layout-main-pad-top) var(--layout-main-pad-right) 0 var(--layout-main-pad-left);
    margin-left:var(--layout-sidebar-width);
}
.koihaWrap.aside-collapsed > .container > main {
    padding: var(--layout-main-pad-top) var(--layout-main-pad-right) 0 var(--layout-main-pad-right);
    margin-left:0;
}
.koihaWrap > .container > footer {
    padding: var(--layout-main-pad-top) var(--layout-main-pad-right) 0 var(--layout-main-pad-left);
    margin-left:var(--layout-sidebar-width);
}
.koihaWrap.aside-collapsed > .container > footer {
    padding: var(--layout-main-pad-top) var(--layout-main-pad-right) 0 var(--layout-main-pad-right);
    margin-left:0;
}
.container main > nav {
    margin-bottom: var(--layout-nav-gap);
    color: var(--color-text-muted);
    font-size: var(--font-size-sm);
    text-align: right;
}
.pageTitle {
    margin-bottom: var(--layout-title-gap);
    color: var(--color-text-primary);
    font-size: var(--font-size-4xl);
    font-weight: 700;
    line-height: var(--line-height-tight);
}
.contentWrap {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: var(--layout-content-gap);
    padding-bottom: 24px;
}
.contentWrap > section {
    position: relative;
}
.subTitle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.subTitle .tit {
    position: relative;
    margin: 20px 0 15px 10px;
    padding-left: var(--title-pad-left);
    color: var(--color-text-primary);
    font-size: var(--font-size-2xl);
    font-weight: 800;
    line-height: var(--line-height-tight);
}
.subTitle .tit::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: inline-block;
    width: var(--title-icon-size);
    height: var(--title-icon-size);
    background: url(/images/icon_common_titler.png) no-repeat;
    background-size: contain;
}
.subTitle .tit .-mini {
    font-size: var(--font-size-md);
}
.titBtnWrap {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}
[data-btn] {
    height: var(--button-height);
    padding: 0 var(--button-pad-x);
    border: 1px solid var(--color-button-border);
    border-radius: var(--button-radius);
    background: var(--color-button);
    color: var(--color-text-secondary);
    font-size: var(--font-size-xs);
    font-weight: 700;
    line-height: calc(var(--button-height) - 2px);
    position: relative;
    z-index: 0;
    overflow: hidden;
}
[data-btn]:hover {
    filter: saturate(.6) contrast(.9);
    box-shadow:0 0 3px rgba(0,0,0,.1);
}
[data-btn]:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.0);
    z-index: -1;
    pointer-events: none;
    transition:all .2s;
}
[data-btn]:hover:after {
    background: rgba(0, 0, 0, 0.05);
}
[data-btn=download] {
    background: url(../../images/icon_common_download.png) no-repeat left 8px center / 20px;
    padding-left:30px;
}
[data-btn=submit] {
    background: var(--color-btn-submit);
    border-color: var(--color-btn-submit);
    color: #fff;
    font-weight: 600;
}
[data-btn=check] {
    background: url(../../images/icon_pop_check.png) no-repeat left 8px center / 20px #eee;
    padding-left:30px;
}
[data-btn=nonecheck] {
    background: url(../../images/icon_pop_nonecheck.png) no-repeat left 8px center / 20px #eee;
    padding-left:30px;
}
[data-btn=delete] {
    background: var(--color-btn-delete);
    border-color:var(--color-btn-delete);
    color:#fff;
    font-weight: 600;
}
[data-btn=delete]:hover:after {
    background: rgba(0, 0, 0, 0.25);
}
[data-searchbtn] {
    height: var(--button-height);
    padding: 0 var(--button-pad-x);
    border: 1px solid var(--color-button-border);
    border-radius: var(--button-radius);
    background: var(--color-button);
    color: var(--color-text-secondary);
    font-size: var(--font-size-xs);
    font-weight: 700;
    line-height: calc(var(--button-height) - 2px);
    position: relative;
    z-index: 0;
    overflow: hidden;
}
[data-searchbtn]:hover {
    filter: saturate(.6) contrast(.9);
    box-shadow:0 0 3px rgba(0,0,0,.1);
}
[data-searchbtn]:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.0);
    z-index: -1;
    pointer-events: none;
    transition:all .2s;
}
[data-searchbtn]:hover:after {
    background: rgba(0, 0, 0, 0.05);
}
[data-searchbtn=search] {
    background: #222;
    color: #fff;
    font-weight: 600;
}
[data-minibtn] {
    height: var(--minibutton-height);
    padding: 0 var(--minibutton-pad-x);
    border: 1px solid var(--color-button-border);
    border-radius: var(--minibutton-radius);
    background: var(--color-button);
    color: var(--color-text-secondary);
    font-size: var(--font-size-xs);
    font-weight: 700;
    line-height: calc(var(--minibutton-height) - 2px);
    position: relative;
    z-index: 0;
    overflow: hidden;
}
[data-minibtn]:hover {
    filter: saturate(.6) contrast(.9);
    box-shadow:0 0 3px rgba(0,0,0,.1);
}
[data-minibtn]:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.0);
    z-index: -1;
    pointer-events: none;
    transition:all .2s;
}
[data-minibtn]:hover:after {
    background: rgba(0, 0, 0, 0.05);
}
[data-minibtn=submit] {
    background: var(--color-btn-submit);
    color: #fff;
    font-weight: 600;
}
.mainPage .container {
    display:flex;
    min-height:100vh;
    flex-direction:column;
}
.mainPage .mainContent {
    flex:1 0 auto;
}
.subHeader .menuSet button {
    border:0;
    padding:0;
    background:transparent;
    color:inherit;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}
.mainPage .menuSet button {
    position:relative;
    border:0;
    padding:0 2px;
    background:transparent;
    color:inherit;
    font:inherit;
    font-size:inherit;
    font-weight:700;
    cursor:pointer;
}
.mainPage .menuSet button::before {
    content:"|";
    position:absolute;
    left:-17px;
    color:#fff;
}
.subHeader .headerBottom .topMenuWrap a {
    display:block;
    padding:12px 0;
    color:var(--color-text-primary);
    font-size:var(--font-size-xl);
    font-weight:700;
    white-space:nowrap;
}
.subHeader .topMenuWrap a._active, .subHeader .topMenuWrap a:hover {
    color:var(--color-brand);
}
.menuWrap .tit > a {
    display:flex;
    width:100%;
    min-height:inherit;
    align-items:center;
    color:inherit;
}
.menuWrap .tit > a span {
    flex:1;
}
.subContent .contentWrap > .page {
    width:100%;
    max-width:none;
    padding-bottom:24px;
}
.subContent .contentWrap > .page > .page-breadcrumb {
    display:none;
}
.subContent.app-content {
    display:flex;
    min-width:0;
    min-height:0;
    flex-direction:column;
}
.subContent .app-content-body {
    display:flex;
    min-width:0;
    min-height:0;
    flex:1 1 auto;
    flex-direction:column;
    visibility:visible;
    opacity:1;
}
.subContent .app-content-body > .admin-page, .subContent .app-content-body > .bbs-page, .subContent .app-content-body > .page, .subContent .app-content-body > [class$="-screen"] {
    display:block;
    width:100%;
    min-width:0;
    visibility:visible;
    opacity:1;
}
.subContent .app-content-body > .admin-page, .subContent .app-content-body > .cert-extra-appl-screen.page, .subContent .app-content-body > .cert-monitoring-screen.page {
    display:flex;
    min-height:0;
    flex:1 1 auto;
}
.subContent .app-content-body > .admin-page, .subContent .app-content-body > .bbs-page, .subContent .app-content-body > .sample-list-screen, .subContent .app-content-body > .sample-detail-screen, .subContent .app-content-body > .sample-form-screen {
    padding-left: 0;
    padding-right: 0;
}
.subFooter {
    margin-left:var(--layout-sidebar-width);
    padding:22px var(--layout-main-pad-right) 24px var(--layout-main-pad-left);
    border-top:1px solid var(--color-border-soft);
    background:var(--color-panel);
}
.footerInner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    color:var(--color-text-muted);
    font-size:var(--font-size-xs);
}
.footerInner .mainFooterInfo p {
    margin:3px 0;
}
.footerInner .mainFooterBrand {
    display:flex;
    align-items:center;
    gap:14px;
    white-space:nowrap;
}
.footerInner .mainFooterBrand img {
    width:116px;
    height:auto;
}
.aside-collapsed .subFooter {
    margin-left:0;
}
@media print {
    .koihaWrap > aside,
    .koihaWrap > .container > header,
    .koihaWrap > .container > footer,
    .koihaWrap .page-breadcrumb,
    .koihaWrap .pageTitle {
        display: none !important;
    }
    .koihaWrap > .container > main {
        margin-left: 0 !important;
        padding: 0 !important;
    }
}
