@charset "utf-8";

/* Frequent tasks share the fixed top bar without changing its height. */
#hd_top { display: flex; align-items: center; }
#hd_top #logo { flex: 0 0 220px; float: none; }
#hd_top #tnb { flex: 0 0 auto; float: none; margin-left: auto; }
#hd_top .admin-major-menu { display: flex; align-items: center; gap: 12px; min-width: 0; margin: 0 20px; }
#hd_top .admin-major-menu-title { flex: 0 0 auto; color: #e1e6ff; font-size: 13px; font-weight: 600; white-space: nowrap; }
#hd_top .admin-major-menu-links { display: flex; align-items: center; gap: 8px; min-width: 0; overflow-x: auto; scrollbar-width: thin; }
#hd_top .admin-major-menu-links a { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 32px; padding: 5px 12px; border: 1px solid #8290d4; border-radius: 4px; background: #4e5eb7; color: #fff; font-size: 14px; font-weight: 600; line-height: 1.4; text-decoration: none; white-space: nowrap; }
#hd_top .admin-major-menu-links a:hover,
#hd_top .admin-major-menu-links a[aria-current="page"] { border-color: #fff; background: #fff; color: #30496d; text-decoration: none; }
#hd_top .admin-major-menu-links a:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }

/* Reuse the hospital's self-hosted font, including standalone admin windows. */
@font-face {
    font-family: 'Pretendard Variable';
    font-style: normal;
    font-weight: 45 920;
    font-display: swap;
    src: url('../../theme/sanbon_t/fonts/PretendardVariable.woff2') format('woff2');
}

body,
body :where(div, span, a, p, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd,
    table, caption, thead, tbody, tfoot, tr, th, td, form, fieldset, legend,
    label, input, select, option, optgroup, textarea, button, strong, b, em,
    small, font, blockquote, figcaption, summary):not(:where(.fa, .fas, .far,
        .fab, .glyphicon, .material-icons, [class*="fa-"], [class*="icon-"],
        [class*="-icon"], pre, code, kbd, samp)) {
    font-family: 'Pretendard Variable', Pretendard, -apple-system,
        BlinkMacSystemFont, 'Malgun Gothic', sans-serif !important;
}

body :where(pre, code, kbd, samp),
body :where(pre, code, kbd, samp) :where(span, b, strong, em, a) {
    font-family: ui-monospace, Consolas, monospace !important;
}

/* Match member_list: fixed data columns from the left, remaining width in the
   last column. Keep the existing full-width header, row stripes and borders. */
.admin-list-wrap {
    max-width: 100%;
    overflow-x: auto;
}
.admin-list-wrap > .admin-list-table {
    width: 100%;
    min-width: var(--admin-list-min-width);
    table-layout: fixed;
}
.admin-list-table th,
.admin-list-table td {
    vertical-align: middle;
    overflow-wrap: anywhere;
}
.admin-list-table thead th:last-child,
.admin-list-table tbody td:last-child:not([colspan]) {
    text-align: left;
    padding-left: 9px;
}
.admin-list-table .btn {
    white-space: nowrap;
}
/* The final column is flexible; its editable field must stay a useful size. */
#frecruitstatus .admin-list-table .tbl_input {
    width: 240px !important;
    max-width: 100%;
}

/* Sidebar sections follow the existing 50px icon rail and 170px panel. */
#gnb .gnb_oparea { padding:20px 16px; overflow-y:auto; }
#gnb .gnb_oparea h3 { margin:0 0 12px; font-size:14px; line-height:20px; }
#gnb .admin-sidebar-groups { display:grid; gap:16px; }
#gnb .admin-sidebar-group { min-width:0; padding:8px 0; background:#f5f5f5; }
#gnb .admin-sidebar-group h4 { margin:0; padding:0 12px 4px; color:#555; font-size:13px; font-weight:600; line-height:20px; }
#gnb .admin-sidebar-group ul { margin:0; padding:0; }
#gnb .admin-sidebar-group li { margin:0; padding:0; line-height:normal; }
#gnb .admin-sidebar-group .gnb_2da { display:block; padding:5px 10px 5px 12px; color:#666; font-size:13px; font-weight:400; line-height:20px; overflow-wrap:break-word; text-decoration:none; transition:none; }
#gnb .admin-sidebar-group .gnb_2da::before { content:'·'; margin-right:5px; color:#8b9198; }
#gnb .admin-sidebar-group .gnb_2da.on { background:#e9e9e9; color:#30496d; font-weight:400; }
#gnb .admin-sidebar-group .gnb_2da:hover,
#gnb .admin-sidebar-group .gnb_2da:focus-visible { color:#A3264B; font-weight:600; }
#gnb .admin-sidebar-group .gnb_2da:focus-visible { outline:2px solid #A3264B; outline-offset:-2px; }

/* Access follows auth_list.php: super administrator only. */
#tnb .tnb_auth { border:1px solid #8290d4; line-height:28px; white-space:nowrap; }
#tnb .tnb_auth:hover,
#tnb .tnb_auth[aria-current="page"] { background:#fff; color:#30496d; }
#tnb .tnb_auth:focus-visible { outline:2px solid #fff; outline-offset:2px; }

/* The two recruitment screens link to each other inside their existing title row. */
#container_title .admin-recruit-crosslink { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:30px; box-sizing:border-box; margin-left:20px; padding:4px 10px; border:1px solid #ccd2da; border-radius:4px; background:#fff; color:#30496d; font-size:13px; font-weight:500; line-height:20px; vertical-align:middle; white-space:nowrap; text-decoration:none; transition:none; }
#container_title .admin-recruit-crosslink:hover, #container_title .admin-recruit-crosslink:focus-visible { color:#A3264B; font-weight:600; }
#container_title .admin-recruit-crosslink:focus-visible { outline:2px solid #A3264B; outline-offset:3px; }
@media(max-width:650px) {
    body[data-recruit-page="list"] #container_title .admin-recruit-crosslink { margin-left:8px; gap:4px; padding:4px 6px; font-size:12px; }
}
