﻿:root {
  --green: #2f8f4e;
  --green-dark: #1f6d3a;
  --blue: #2d7fb8;
  --blue-dark: #235e88;
  --red: #d74a4a;
  --ink: #1d2a32;
  --muted: #66747d;
  --line: #dfe7e5;
  --soft: #f4f8f6;
  --white: #fff;
  --shadow: 0 18px 50px rgba(34, 67, 53, .09);
  --radius: 18px;
}
* { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; font-family: "Pretendard", "Noto Sans KR", "Malgun Gothic", Arial, sans-serif; color: var(--ink); background: #f6f8f7; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, .btn { cursor: pointer; }
.skip-link { position: absolute; left: -9999px; top: 0; background: #000; color: #fff; padding: 10px; z-index: 999; }
.skip-link:focus { left: 10px; }
.sr-only { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.header-inner { max-width: 1240px; margin: 0 auto; min-height: 76px; padding: 0 24px; display: flex; align-items: center; gap: 24px; }
.brand { display: flex; align-items: center; gap: 12px; min-width: 230px; }
.brand img { width: 74px; height: 46px; object-fit: contain; }
.brand span { display: flex; flex-direction: column; line-height: 1.25; }
.brand strong { font-size: 18px; }
.brand small { color: var(--muted); font-size: 12px; margin-top: 3px; }
.main-nav { display: flex; align-items: center; gap: 4px; flex: 1; }
.main-nav a, .main-nav .nav-group-button { padding: 12px 14px; border-radius: 10px; color: #39464d; font-weight: 700; }
.main-nav a:hover, .main-nav a.active, .nav-group.active > .nav-group-button, .nav-group.open > .nav-group-button, .nav-group-button:hover { color: var(--green-dark); background: #eaf5ed; }
.nav-group { position: relative; display: inline-flex; align-items: center; }
.nav-group-button { border: 0; background: transparent; min-height: 44px; }
.nav-group.open::after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 10px; z-index: 79; }
.nav-submenu { display: none; position: absolute; top: calc(100% + 8px); left: 0; min-width: 158px; padding: 8px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow); z-index: 80; }
.nav-group.open .nav-submenu { display: block; }
.nav-submenu a { display: block; padding: 10px 12px; white-space: nowrap; }
.user-box { display: flex; align-items: center; gap: 10px; font-size: 14px; white-space: nowrap; }
.user-box a { color: var(--muted); text-decoration: underline; }
.nav-toggle { display: none; border: 1px solid var(--line); background: #fff; border-radius: 9px; padding: 8px 11px; }
.page-shell { max-width: 1240px; margin: 0 auto; padding: 34px 24px 72px; min-height: calc(100vh - 150px); }
.site-footer { border-top: 1px solid var(--line); background: #fff; padding: 28px 24px; color: var(--muted); text-align: center; font-size: 13px; }
.footer-note { margin-top: 5px; font-size: 12px; }
.hero-panel { padding: 34px 38px; border-radius: 24px; background: linear-gradient(130deg, #e8f6ec 0%, #f6fbf8 55%, #e7f2fa 100%); border: 1px solid #d9ebe0; display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-bottom: 24px; }
.hero-panel h1 { font-size: clamp(24px, 3vw, 36px); line-height: 1.35; margin: 4px 0 8px; }
.hero-panel p { margin: 0; color: var(--muted); }
.eyebrow, .panel-kicker { display: block; margin: 0 0 4px; color: var(--green-dark); font-weight: 800; letter-spacing: .08em; font-size: 12px; }
.dashboard-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 22px; }
.dashboard-wide { grid-row: span 2; }
.dashboard-status-panel { grid-column: 1 / -1; overflow: hidden; }
.status-panel-actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }
.status-overview-wrap { overflow-x: auto; padding: 0 20px 22px; }
.status-overview-table { width: 100%; min-width: 860px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.status-overview-table th { padding: 13px 10px; background: #f5f8f6; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; text-align: center; }
.status-overview-table td { padding: 17px 10px; border-bottom: 1px solid #edf1ef; text-align: center; vertical-align: middle; }
.status-overview-table td strong { display: block; color: var(--green-dark); font-size: 30px; line-height: 1.15; }
.status-overview-table td small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
.status-overview-table td.reason { width: 32%; color: #445159; font-size: 13px; text-align: left; line-height: 1.55; word-break: keep-all; }
.status-overview-table th:nth-child(5), .status-overview-table td:nth-child(5) { width: 30%; }
.status-overview-table th:nth-child(1), .status-overview-table th:nth-child(2), .status-overview-table th:nth-child(3), .status-overview-table th:nth-child(4), .status-overview-table th:nth-child(6), .status-overview-table th:nth-child(7) { width: 10.5%; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.panel-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 24px 26px 18px; border-bottom: 1px solid var(--line); }
.panel-head h2 { margin: 0; font-size: 21px; }
.more-link { color: var(--green-dark); font-weight: 700; font-size: 14px; }
.schedule-list { padding: 8px 20px 22px; }
.schedule-list.large { padding: 10px 26px 30px; }
.schedule-row { display: grid; grid-template-columns: 125px 1fr 22px; align-items: center; gap: 14px; padding: 17px 8px; border-bottom: 1px solid #edf1ef; }
.schedule-row:hover { background: #f7fbf8; }
.schedule-time { color: var(--blue-dark); font-weight: 800; font-size: 14px; }
.schedule-main { display: flex; flex-direction: column; }
.schedule-main strong { font-size: 16px; }
.schedule-main small { color: var(--muted); margin-top: 3px; }
.chevron { color: #9aaba3; font-size: 24px; }
.empty-state { padding: 48px 20px; text-align: center; color: var(--muted); }
.empty-state a { color: var(--green-dark); font-weight: 700; }
.compact-list { list-style: none; margin: 0; padding: 6px 24px 22px; }
.compact-list li { border-bottom: 1px solid #edf1ef; }
.compact-list li:last-child { border-bottom: 0; }
.compact-list a { display: flex; justify-content: space-between; gap: 20px; padding: 14px 2px; }
.compact-list span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.compact-list time { color: var(--muted); font-size: 13px; }
.empty-line { padding: 30px 0; color: var(--muted); text-align: center; }
.quick-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 22px; }
.quick-links a { padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; transition: transform .15s ease, border-color .15s ease; }
.quick-links a:hover { transform: translateY(-2px); border-color: #a8cfb4; }
.quick-links strong, .quick-links span { display: block; }
.quick-links span { color: var(--muted); font-size: 13px; margin-top: 4px; }
.page-head { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin: 8px 0 24px; }
.page-head.compact { align-items: center; }
.page-head h1 { margin: 2px 0 4px; font-size: 34px; line-height: 1.2; }
.page-head p { margin: 0; color: var(--muted); }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 17px; border-radius: 10px; border: 1px solid transparent; font-weight: 800; transition: .15s ease; }
.btn:hover { transform: translateY(-1px); }
.btn.primary { background: var(--green); color: #fff; }
.btn.primary:hover { background: var(--green-dark); }
.btn.dark { background: var(--ink); color: #fff; }
.btn.ghost { background: #fff; border-color: var(--line); color: var(--ink); }
.btn.danger { color: var(--red); border-color: #f0c4c4; }
.btn.full { width: 100%; }
button:disabled { opacity: .55; cursor: wait; }
.toolbar { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 16px; }
.view-tabs { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.view-tabs a { padding: 8px 15px; border-radius: 8px; font-weight: 700; color: var(--muted); }
.view-tabs a.active { background: var(--green); color: #fff; }
.date-nav { display: flex; align-items: center; gap: 7px; }
.icon-btn, .today-btn { display: inline-flex; align-items: center; justify-content: center; height: 40px; border: 1px solid var(--line); background: #fff; border-radius: 9px; }
.icon-btn { width: 40px; font-size: 25px; }
.today-btn { padding: 0 14px; font-weight: 700; }
.calendar-panel { overflow: hidden; }
.calendar-title { padding: 20px 24px; border-bottom: 1px solid var(--line); }
.calendar-title h2 { margin: 0; font-size: 23px; }
.week-grid { display: grid; grid-template-columns: repeat(7, 1fr); min-height: 520px; }
.week-day { border-right: 1px solid var(--line); padding: 12px; min-width: 0; }
.week-day:last-child { border-right: 0; }
.week-day.today { background: #f2faf4; }
.week-date { display: flex; flex-direction: column; align-items: center; padding: 8px; }
.week-date span { color: var(--muted); font-size: 13px; }
.week-date strong { font-size: 23px; }
.mini-schedules { display: flex; flex-direction: column; gap: 6px; }
.mini-schedules a { display: block; padding: 7px 8px; border-radius: 8px; background: #edf7f0; font-size: 12px; overflow: hidden; }
.mini-schedules a:hover { background: #dff1e4; }
.mini-schedules time { display: block; color: var(--green-dark); font-weight: 800; white-space: nowrap; }
.mini-schedules span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mini-schedules .none { padding: 10px 0; text-align: center; color: #a0aaa5; font-size: 12px; }
.month-grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.month-grid.weekdays { background: #f4f7f5; border-bottom: 1px solid var(--line); }
.month-grid.weekdays span { padding: 10px; text-align: center; color: var(--muted); font-weight: 700; font-size: 13px; }
.month-day { min-height: 138px; padding: 9px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); min-width: 0; }
.month-day:nth-child(7n) { border-right: 0; }
.month-day.muted { background: #fafbfa; color: #aeb6b2; }
.month-day.today { box-shadow: inset 0 0 0 2px var(--green); }
.day-number { display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center; border-radius: 50%; font-weight: 800; margin-bottom: 5px; }
.today .day-number { background: var(--green); color: #fff; }
.more-count { background: transparent!important; color: var(--blue-dark); font-weight: 700; }
.year-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; padding: 24px; }
.year-card { padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: #fbfdfc; }
.year-card span, .year-card strong, .year-card small { display: block; }
.year-card span { font-weight: 800; }
.year-card strong { font-size: 34px; color: var(--green-dark); margin-top: 14px; }
.year-card small { color: var(--muted); }
.form-layout { max-width: 880px; margin: 0 auto; }
.form-panel { padding: 30px; }
.form-grid { display: grid; gap: 18px; }
.form-grid.two { grid-template-columns: 1fr 1fr; }
.form-grid.three { grid-template-columns: 1fr 1fr 1fr; }
.field { margin-bottom: 18px; }
.field label { display: block; margin-bottom: 7px; font-weight: 800; }
.field label span { color: var(--red); }
.field input[type="text"], .field input[type="password"], .field input[type="date"], .field input[type="time"], .field input[type="search"], .field select, .field textarea, .board-search input { width: 100%; border: 1px solid #cfdad5; border-radius: 10px; background: #fff; padding: 11px 12px; color: var(--ink); outline: none; }
.field input:focus, .field select:focus, .field textarea:focus, .board-search input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(47,143,78,.12); }
.field textarea { resize: vertical; }
.checkbox-field { padding: 10px 0 0; }
.checkbox-field label { font-weight: 700; }
.field-help { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.date-fields { margin-bottom: 0; }
.date-range-help { margin: -6px 0 16px; }

.upload-status { margin-top: 6px; color: var(--green-dark); font-size: 13px; font-weight: 700; }
.current-file { margin-top: 10px; padding: 10px 12px; background: var(--soft); border-radius: 8px; font-size: 13px; }
.current-file label { display: inline; margin-left: 10px; font-weight: 500; }
.form-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 12px; }
.alert { padding: 13px 15px; border-radius: 9px; margin-bottom: 18px; }
.alert.error { background: #fff0f0; border: 1px solid #f2caca; color: #9f2929; }
.board-panel { overflow: hidden; }
.board-search { display: flex; gap: 8px; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.board-search input { max-width: 430px; }
.board-table-wrap { overflow-x: auto; }
.board-table { width: 100%; border-collapse: collapse; }
.board-table th { background: #f5f8f6; color: var(--muted); font-size: 13px; }
.board-table th, .board-table td { padding: 15px 14px; border-bottom: 1px solid #edf1ef; text-align: center; }
.board-table td.title { text-align: left; }
.board-table td.title a { font-weight: 700; }
.board-table .num { width: 80px; }
.board-table .author { width: 120px; }
.board-table .date { width: 120px; }
.board-table .file { width: 70px; }
.empty-cell { padding: 50px!important; color: var(--muted); }
.post-view { overflow: hidden; }
.post-header { padding: 30px; border-bottom: 1px solid var(--line); }
.post-header h2 { margin: 0 0 12px; font-size: 28px; }
.post-meta { display: flex; flex-wrap: wrap; gap: 18px; color: var(--muted); font-size: 13px; }
.post-content { min-height: 280px; padding: 34px 30px; white-space: normal; }
.attachment-box { margin: 0 30px 20px; padding: 15px; border-radius: 10px; background: var(--soft); display: flex; gap: 16px; }
.attachment-box a { color: var(--blue-dark); font-weight: 800; text-decoration: underline; }
.post-view .form-actions { padding: 20px 30px 28px; border-top: 1px solid var(--line); }
.login-page { min-height: 100vh; background: radial-gradient(circle at 15% 10%, #e4f5e9 0, transparent 35%), radial-gradient(circle at 85% 85%, #e4f0f8 0, transparent 35%), #f7faf8; }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(430px, 100%); padding: 38px; background: rgba(255,255,255,.96); border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); }
.login-brand { text-align: center; margin-bottom: 24px; }
.login-brand img { width: 145px; height: 84px; object-fit: contain; }
.login-brand p { margin: 4px 0 0; font-weight: 800; color: var(--green-dark); }
.login-brand h1 { margin: 4px 0 0; font-size: 27px; }
.login-card label { display: block; margin: 13px 0 6px; font-weight: 800; }
.login-card input { width: 100%; padding: 12px; border: 1px solid #cfdad5; border-radius: 10px; }
.password-wrap { position: relative; }
.password-wrap input { padding-right: 60px; }
.text-button { border: 0; background: transparent; color: var(--blue-dark); font-weight: 800; cursor: pointer; }
.password-wrap .text-button { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); }
.login-card .btn { margin-top: 20px; }
.login-help { text-align: center; color: var(--muted); font-size: 12px; margin: 16px 0 0; }
@media (max-width: 980px) {
  .header-inner { flex-wrap: wrap; min-height: 70px; padding-top: 10px; padding-bottom: 10px; }
  .brand { flex: 1; }
  .nav-toggle { display: block; }
  .main-nav { display: none; order: 4; width: 100%; flex-direction: column; align-items: stretch; padding: 8px 0; }
  .main-nav.open { display: flex; }
  .nav-group { display: flex; flex-direction: column; align-items: stretch; width: 100%; }
  .nav-group.open::after { display: none; }
  .nav-group-button { width: 100%; text-align: left; }
  .nav-submenu { position: static; min-width: 0; margin: 4px 0 6px 14px; padding: 6px; border-radius: 12px; box-shadow: none; background: #f7fbf8; }
  .nav-group.open .nav-submenu { display: block; }
  .user-box { order: 3; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-wide { grid-row: auto; }
  .quick-links { grid-template-columns: repeat(2, 1fr); }
  .week-grid { grid-template-columns: 1fr; min-height: auto; }
  .week-day { border-right: 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 90px 1fr; }
  .month-day { min-height: 112px; }
  .year-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
  .page-shell { padding: 22px 14px 50px; }
  .brand img { width: 58px; }
  .brand span { display: none; }
  .user-box span { display: none; }
  .hero-panel, .page-head, .toolbar { align-items: stretch; flex-direction: column; }
  .hero-panel { padding: 26px 22px; }
  .hero-panel .btn, .page-head .btn { width: 100%; }
  .status-panel-actions { justify-content: flex-start; }
  .status-overview-wrap { padding: 0 14px 18px; }
  .status-overview-table { min-width: 760px; }
  .status-overview-table td strong { font-size: 25px; }
  .quick-links { grid-template-columns: 1fr 1fr; }
  .schedule-row { grid-template-columns: 95px 1fr 16px; }
  .form-grid.two, .form-grid.three { grid-template-columns: 1fr; gap: 0; }
  .form-panel { padding: 20px; }
  .month-grid.weekdays span { padding: 8px 2px; font-size: 11px; }
  .month-day { min-height: 88px; padding: 4px; }
  .month-day .mini-schedules time { display: none; }
  .month-day .mini-schedules a { padding: 4px; }
  .day-number { width: 25px; height: 25px; font-size: 12px; }
  .year-grid { grid-template-columns: repeat(2, 1fr); padding: 14px; }
  .board-table .num, .board-table .author, .board-table .file { display: none; }
  .board-table th, .board-table td { padding: 13px 10px; }
  .post-header, .post-content { padding: 24px 20px; }
  .attachment-box { margin: 0 20px 18px; flex-direction: column; gap: 4px; }
  .form-actions { flex-wrap: wrap; }
}
.alert.success { background: #effaf3; border: 1px solid #bfe2ca; color: #216b3a; }
.upload-status.error-text { color: #a12626; }
.system-check-table td:first-child { width: 34%; font-weight: 700; }
.system-ok { color: #23733c; font-weight: 700; }
.system-error { color: #a12626; font-weight: 700; }

/* 직원 계정 관리 */
.user-search { display: grid; grid-template-columns: minmax(260px, 1fr) 150px 150px auto; gap: 12px; align-items: end; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.user-search .field { margin-bottom: 0; }
.user-search .search-actions { display: flex; gap: 7px; padding-bottom: 1px; }
.user-table th:last-child, .user-table td:last-child { min-width: 175px; }
.user-table th:nth-child(3), .user-table td:nth-child(3) { min-width: 92px; }
.user-table th:nth-child(4), .user-table td:nth-child(4) { min-width: 122px; }
.user-actions { white-space: nowrap; }
.inline-form { display: inline-block; margin-left: 5px; }
.btn.small { min-height: 34px; padding: 6px 11px; font-size: 13px; }
.btn.danger { background: #fff1f1; border: 1px solid #efc2c2; color: #a12626; }
.btn.danger:hover { background: #ffe3e3; }
.role-badge, .status-badge, .self-badge { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 3px 9px; font-size: 12px; font-weight: 800; }
.role-badge.admin { background: #e8f0fb; color: #255f93; }
.role-badge.staff { background: #edf7f0; color: #26713e; }
.status-badge.enabled { background: #edf8f0; color: #26713e; }
.status-badge.disabled { background: #f2f3f3; color: #6c7470; }
.self-badge { margin-left: 7px; background: #fff4d9; color: #8b6415; }
.table-summary { padding: 13px 24px; color: var(--muted); text-align: right; font-size: 13px; background: #fbfcfb; }
.checkbox-card { display: flex; flex-direction: column; justify-content: center; min-height: 96px; padding: 14px 16px; border: 1px solid #dfe7e5; border-radius: 10px; background: #fafcfb; }
.checkbox-card label { margin: 0; }
.password-change-panel { max-width: 620px; margin: 0 auto; }
.field input[readonly] { background: #f1f4f2; color: #66747d; }
@media (max-width: 900px) {
  .user-search { grid-template-columns: 1fr 1fr; }
  .user-search .search-grow { grid-column: 1 / -1; }
  .user-search .search-actions { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .user-search { grid-template-columns: 1fr; }
  .user-search .search-grow, .user-search .search-actions { grid-column: auto; }
  .user-search .search-actions .btn { flex: 1; }
  .user-table th:nth-child(5), .user-table td:nth-child(5), .user-table th:nth-child(7), .user-table td:nth-child(7) { display: none; }
  .user-actions { white-space: normal; }
}

/* 일정 조회 - 상단 최소화형 */
.schedule-search-panel { margin: 0 0 12px; overflow: hidden; }
.schedule-search-panel > summary { list-style: none; }
.schedule-search-panel > summary::-webkit-details-marker { display: none; }
.schedule-search-summary { display: flex; align-items: center; gap: 11px; min-height: 58px; padding: 10px 16px; cursor: pointer; user-select: none; background: linear-gradient(135deg, #fbfdfc 0%, #f5faf7 100%); }
.schedule-search-summary:hover { background: #f3f9f5; }
.schedule-search-summary:focus-visible { outline: 3px solid rgba(35,115,60,.2); outline-offset: -3px; }
.schedule-search-summary-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 10px; background: #e8f4eb; color: var(--green-dark); font-size: 23px; font-weight: 900; line-height: 1; }
.schedule-search-summary-text { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.schedule-search-summary-text strong { color: var(--text); font-size: 16px; }
.schedule-search-summary-text small { color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.schedule-search-summary-action { margin-left: auto; color: var(--green-dark); font-size: 12px; font-weight: 800; }
.schedule-search-summary-arrow { display: inline-flex; align-items: center; justify-content: center; width: 25px; height: 25px; color: var(--muted); font-size: 21px; transition: transform .2s ease; }
.schedule-search-panel[open] .schedule-search-summary { border-bottom: 1px solid var(--line); }
.schedule-search-panel[open] .schedule-search-summary-action::before { content: "검색 닫기"; }
.schedule-search-panel[open] .schedule-search-summary-action { font-size: 0; }
.schedule-search-panel[open] .schedule-search-summary-action::before { font-size: 12px; }
.schedule-search-panel[open] .schedule-search-summary-arrow { transform: rotate(180deg); }
.schedule-search-body { background: #fff; }
.schedule-search-form { display: grid; grid-template-columns: minmax(220px, 1.35fr) minmax(140px, .75fr) minmax(140px, .75fr) minmax(135px, .7fr) minmax(125px, .65fr) auto; gap: 10px; align-items: end; padding: 14px 16px 16px; }
.schedule-search-form .field { margin-bottom: 0; }
.schedule-search-form label { margin-bottom: 4px; font-size: 12px; }
.schedule-search-form input, .schedule-search-form select { min-height: 39px; padding-top: 8px; padding-bottom: 8px; }
.schedule-search-actions { display: flex; gap: 6px; padding-bottom: 1px; }
.schedule-search-actions .btn { min-height: 39px; padding: 8px 13px; }
.schedule-search-error { margin: 0 16px 16px; }
.schedule-results-panel { margin-bottom: 18px; overflow: hidden; }
.schedule-results-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 24px 16px; border-bottom: 1px solid var(--line); }
.schedule-results-head h2 { margin: 0; font-size: 21px; }
.schedule-results-head strong { display: inline-flex; align-items: center; justify-content: center; min-width: 58px; padding: 5px 12px; border-radius: 999px; background: #eaf5ed; color: var(--green-dark); }
.schedule-search-list { width: 100%; }
.schedule-search-row { display: grid; grid-template-columns: 174px 125px minmax(260px, 1fr) 110px 95px 22px; gap: 12px; align-items: center; padding: 14px 20px; border-bottom: 1px solid #edf1ef; }
.schedule-search-row:last-child { border-bottom: 0; }
a.schedule-search-row:hover { background: #f7fbf8; }
.schedule-search-header { background: #f5f8f6; color: var(--muted); font-size: 12px; font-weight: 800; padding-top: 10px; padding-bottom: 10px; }
.schedule-search-main { min-width: 0; display: flex; flex-direction: column; }
.schedule-search-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.schedule-search-main small { margin-top: 2px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-date, .search-time { font-size: 13px; font-weight: 800; }
.search-date { line-height: 1.35; }
.search-time { color: var(--blue-dark); }
.search-category, .search-author { color: var(--muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 1100px) {
  .schedule-search-form { grid-template-columns: 1fr 1fr 1fr; }
  .schedule-search-form .search-grow { grid-column: 1 / -1; }
  .schedule-search-actions { grid-column: 1 / -1; }
  .schedule-search-row { grid-template-columns: 154px 115px minmax(220px, 1fr) 100px 85px 18px; gap: 9px; padding-left: 14px; padding-right: 14px; }
}
@media (max-width: 760px) {
  .schedule-search-summary { min-height: 54px; padding: 9px 13px; }
  .schedule-search-summary-icon { flex-basis: 32px; width: 32px; height: 32px; }
  .schedule-search-summary-action { display: none; }
  .schedule-search-form { grid-template-columns: 1fr 1fr; padding: 13px; }
  .schedule-search-form .search-grow { grid-column: 1 / -1; }
  .schedule-search-actions { grid-column: 1 / -1; }
  .schedule-search-actions .btn { flex: 1; }
  .schedule-search-error { margin: 0 13px 13px; }
  .schedule-search-row { grid-template-columns: 92px 102px minmax(0, 1fr) 16px; }
  .schedule-search-header span:nth-child(4), .schedule-search-header span:nth-child(5),
  .schedule-search-row .search-category, .schedule-search-row .search-author { display: none; }
}
@media (max-width: 520px) {
  .schedule-search-summary-text small { max-width: 220px; }
  .schedule-search-form { grid-template-columns: 1fr; }
  .schedule-search-form .search-grow, .schedule-search-actions { grid-column: auto; }
  .schedule-search-row { grid-template-columns: 84px minmax(0, 1fr) 16px; }
  .schedule-search-header span:nth-child(2), .schedule-search-row .search-time { display: none; }
}


/* 이용자등록 */
.client-search {
  display: grid;
  grid-template-columns: minmax(330px, 1.55fr) minmax(175px, .68fr) minmax(135px, .5fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  background: #fbfcfb;
}
.client-search .field {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin-bottom: 0;
}
.client-search .field label {
  flex: 0 0 auto;
  margin: 0;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
}
.client-search .field input, .client-search .field select {
  min-width: 0;
  min-height: 38px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.client-search .search-grow input { min-width: 0; }
.client-search .search-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  min-width: 0;
  padding-bottom: 0;
}
.client-search .search-actions .btn { min-height: 38px; padding: 8px 12px; white-space: nowrap; }
.client-table th:last-child, .client-table td:last-child { min-width: 150px; }
.client-table td.title strong { display: block; }
.table-subtext { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
.client-status { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 3px 9px; font-size: 12px; font-weight: 800; }
.client-status.active { background: #edf8f0; color: #26713e; }
.client-status.waiting { background: #fff5df; color: #956111; }
.client-status.ended { background: #eef3ff; color: #2856a3; }
.client-status.stopped { background: #f2f3f3; color: #6c7470; }

@media (max-width: 960px) {
  .client-search { grid-template-columns: 1fr 1fr; padding: 14px 16px; }
  .client-search .search-grow { grid-column: 1 / -1; }
  .client-search .search-actions { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (max-width: 620px) {
  .client-search { grid-template-columns: 1fr; padding: 13px; }
  .client-search .search-grow, .client-search .search-actions { grid-column: auto; }
  .client-search .field { align-items: stretch; flex-direction: column; gap: 5px; }
  .client-search .field label { line-height: 1.2; }
  .client-search .search-actions .btn { flex: 1; }
  .client-table th:nth-child(4), .client-table td:nth-child(4), .client-table th:nth-child(5), .client-table td:nth-child(5), .client-table th:nth-child(6), .client-table td:nth-child(6), .client-table th:nth-child(8), .client-table td:nth-child(8) { display: none; }
}

/* 이용자등록 목록 정렬 */
.client-list-note {
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  font-size: 13px;
}
.client-list-note strong { color: var(--green-dark); }
.sort-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-height: 28px;
  color: var(--muted);
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
.sort-link:hover { color: var(--green-dark); text-decoration: underline; }
.sort-link.active { color: var(--green-dark); }
.sort-link span { min-width: 12px; font-size: 11px; line-height: 1; }
@media (max-width: 620px) {
  .client-list-note { padding: 9px 13px; }
  .sort-link { min-height: 24px; font-size: 12px; }
}


/* 출석체크 */
.attendance-toolbar-panel { margin-bottom: 14px; overflow: hidden; }
.attendance-search {
  display: grid;
  grid-template-columns: minmax(170px, .55fr) minmax(330px, 1.35fr) minmax(170px, .55fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px 16px;
  background: #fbfcfb;
}
.attendance-search .field { display: flex; align-items: center; gap: 8px; min-width: 0; margin-bottom: 0; }
.attendance-search .field label { flex: 0 0 auto; margin: 0; font-size: 13px; line-height: 1; white-space: nowrap; }
.attendance-search .field input, .attendance-search .field select { min-width: 0; min-height: 38px; padding-top: 8px; padding-bottom: 8px; }
.attendance-search .search-grow input { min-width: 0; }
.attendance-search .search-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; min-width: 0; }
.attendance-search .search-actions .btn { min-height: 38px; padding: 8px 12px; white-space: nowrap; }
.attendance-save-form { margin: 0; }
.attendance-panel { overflow: hidden; }
.attendance-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px 16px; border-bottom: 1px solid var(--line); }
.attendance-head h2 { margin: 2px 0 0; font-size: 22px; }
.attendance-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.attendance-table th:nth-child(1), .attendance-table td:nth-child(1) { width: 110px; }
.attendance-table th:nth-child(3), .attendance-table td:nth-child(3) { width: 100px; }
.attendance-table th:nth-child(4), .attendance-table td:nth-child(4) { width: 125px; }
.attendance-table th:nth-child(5), .attendance-table td:nth-child(5), .attendance-table th:nth-child(6), .attendance-table td:nth-child(6) { width: 105px; }
.attendance-table th:nth-child(7), .attendance-table td:nth-child(7) { width: 165px; }
.attendance-table th:nth-child(8), .attendance-table td:nth-child(8) { width: 155px; }
.attendance-table select, .attendance-table input[type="time"], .attendance-table input[type="text"] { width: 100%; min-height: 36px; padding: 7px 9px; border: 1px solid #d9e3df; border-radius: 8px; background: #fff; font: inherit; }
.attendance-status-select { font-weight: 700; }
.attendance-summary { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding: 13px 24px; color: var(--muted); background: #fbfcfb; border-top: 1px solid var(--line); font-size: 13px; }
.attendance-summary > span:first-child strong { color: var(--green-dark); }
.attendance-badge { display: inline-flex; align-items: center; gap: 3px; border-radius: 999px; padding: 4px 9px; font-size: 12px; font-weight: 800; }
.attendance-badge.present { background: #edf8f0; color: #26713e; }
.attendance-badge.absent { background: #fff1f1; color: #a12626; }
.attendance-badge.late { background: #fff5df; color: #956111; }
.attendance-badge.leave { background: #eef3ff; color: #2856a3; }
.attendance-badge.early { background: #f2ecfb; color: #6540a0; }
.attendance-badge.blank { background: #f2f3f3; color: #6c7470; }
.attendance-badge.target { background:#e8f6ee; color:#176b43; }
.attendance-badge.not-applicable { background:#eef1f3; color:#66727b; }
@media (max-width: 980px) {
  .attendance-search { grid-template-columns: 1fr 1fr; padding: 14px 16px; }
  .attendance-search .search-grow { grid-column: 1 / -1; }
  .attendance-search .search-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .attendance-head { align-items: flex-start; flex-direction: column; }
  .attendance-head-actions { justify-content: flex-start; }
}
@media (max-width: 720px) {
  .attendance-search { grid-template-columns: 1fr; padding: 13px; }
  .attendance-search .search-grow, .attendance-search .search-actions { grid-column: auto; }
  .attendance-search .field { align-items: stretch; flex-direction: column; gap: 5px; }
  .attendance-search .field label { line-height: 1.2; }
  .attendance-search .search-actions .btn, .attendance-head-actions .btn { flex: 1; }
  .attendance-head { padding: 18px 18px 14px; }
  .attendance-table th:nth-child(1), .attendance-table td:nth-child(1), .attendance-table th:nth-child(5), .attendance-table td:nth-child(5), .attendance-table th:nth-child(6), .attendance-table td:nth-child(6) { display: none; }
  .attendance-table th:nth-child(3), .attendance-table td:nth-child(3) { width: 92px; }
  .attendance-summary { justify-content: flex-start; padding: 12px 18px; }
}


.attendance-bulk-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px 14px;
  margin: 14px 0 16px;
  border: 1px solid #dfe8df;
  border-radius: 16px;
  background: #f7fbf7;
}

.attendance-bulk-actions label {
  margin: 0;
  font-weight: 800;
  color: #1f3b2c;
  white-space: nowrap;
}

.attendance-bulk-actions select {
  min-width: 130px;
}

.attendance-bulk-actions .bulk-help {
  font-size: 13px;
  color: #647067;
}

@media (max-width: 720px) {
  .attendance-bulk-actions {
    align-items: stretch;
  }

  .attendance-bulk-actions label,
  .attendance-bulk-actions select,
  .attendance-bulk-actions .btn,
  .attendance-bulk-actions .bulk-help {
    width: 100%;
  }
}


/* 급식실적 */
.meal-toolbar-panel { margin-bottom: 14px; overflow: hidden; }
.meal-search {
  display: grid;
  grid-template-columns: minmax(160px, .5fr) minmax(145px, .45fr) minmax(310px, 1.25fr) minmax(160px, .55fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px 16px;
  background: #fbfcfb;
}
.meal-search .field { display: flex; align-items: center; gap: 8px; min-width: 0; margin-bottom: 0; }
.meal-search .field label { flex: 0 0 auto; margin: 0; font-size: 13px; line-height: 1; white-space: nowrap; }
.meal-search .field input, .meal-search .field select { min-width: 0; min-height: 38px; padding-top: 8px; padding-bottom: 8px; }
.meal-search .search-grow input { min-width: 0; }
.meal-search .search-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; min-width: 0; }
.meal-search .search-actions .btn { min-height: 38px; padding: 8px 12px; white-space: nowrap; }
.meal-save-form { margin: 0; }
.meal-panel { overflow: hidden; }
.meal-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px 16px; border-bottom: 1px solid var(--line); }
.meal-head h2 { margin: 2px 0 0; font-size: 22px; }
.meal-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.meal-table th:nth-child(1), .meal-table td:nth-child(1) { width: 110px; }
.meal-table th:nth-child(3), .meal-table td:nth-child(3) { width: 100px; }
.meal-table th:nth-child(4), .meal-table td:nth-child(4) { width: 105px; }
.meal-table th:nth-child(5), .meal-table td:nth-child(5) { width: 120px; }
.meal-table th:nth-child(6), .meal-table td:nth-child(6) { width: 135px; }
.meal-table select, .meal-table input[type="text"] { width: 100%; min-height: 36px; padding: 7px 9px; border: 1px solid #d9e3df; border-radius: 8px; background: #fff; font: inherit; }
.meal-status-select { font-weight: 700; }
.meal-summary { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding: 13px 24px; color: var(--muted); background: #fbfcfb; border-top: 1px solid var(--line); font-size: 13px; }
.meal-summary > span:first-child strong { color: var(--green-dark); }
.meal-badge { display: inline-flex; align-items: center; gap: 3px; border-radius: 999px; padding: 4px 9px; font-size: 12px; font-weight: 800; }
.meal-badge.used { background: #edf8f0; color: #26713e; }
.meal-badge.unused { background: #fff1f1; color: #a12626; }
.meal-badge.lunchbox { background: #fff5df; color: #956111; }
.meal-badge.outside { background: #eef3ff; color: #2856a3; }
.meal-badge.other { background: #f2ecfb; color: #6540a0; }
.meal-badge.blank { background: #f2f3f3; color: #6c7470; }
.meal-badge.target { background:#e8f6ee; color:#176b43; }
.meal-badge.not-applicable { background:#eef1f3; color:#66727b; }
.meal-bulk-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px 14px;
  margin: 14px 0 16px;
  border: 1px solid #dfe8df;
  border-radius: 16px;
  background: #f7fbf7;
}
.meal-bulk-actions label { margin: 0; font-weight: 800; color: #1f3b2c; white-space: nowrap; }
.meal-bulk-actions select { min-width: 130px; }
.meal-bulk-actions .bulk-help { font-size: 13px; color: #647067; }
@media (max-width: 1080px) {
  .meal-search { grid-template-columns: 1fr 1fr; padding: 14px 16px; }
  .meal-search .search-grow { grid-column: 1 / -1; }
  .meal-search .search-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .meal-head { align-items: flex-start; flex-direction: column; }
  .meal-head-actions { justify-content: flex-start; }
}
@media (max-width: 720px) {
  .meal-search { grid-template-columns: 1fr; padding: 13px; }
  .meal-search .search-grow, .meal-search .search-actions { grid-column: auto; }
  .meal-search .field { align-items: stretch; flex-direction: column; gap: 5px; }
  .meal-search .field label { line-height: 1.2; }
  .meal-search .search-actions .btn, .meal-head-actions .btn { flex: 1; }
  .meal-head { padding: 18px 18px 14px; }
  .meal-table th:nth-child(1), .meal-table td:nth-child(1), .meal-table th:nth-child(4), .meal-table td:nth-child(4) { display: none; }
  .meal-table th:nth-child(3), .meal-table td:nth-child(3) { width: 92px; }
  .meal-summary { justify-content: flex-start; padding: 12px 18px; }
  .meal-bulk-actions { align-items: stretch; }
  .meal-bulk-actions label, .meal-bulk-actions select, .meal-bulk-actions .btn, .meal-bulk-actions .bulk-help { width: 100%; }
}


/* 사업등록 */
.program-toolbar-panel,
.operation-toolbar-panel { padding: 16px; }
.program-search,
.operation-search { display:flex; gap:12px; align-items:end; flex-wrap:wrap; }
.program-search .field,
.operation-search .field { min-width:160px; }
.program-search .search-grow { flex:1 1 320px; }
.program-panel .panel-head { align-items:flex-start; }
.program-table th,
.program-table td { text-align:center; vertical-align:middle; }
.program-table td.text-left { text-align:left; min-width:220px; }
.program-table td.number,
.program-table th.number { text-align:right; font-variant-numeric:tabular-nums; }
.program-table tfoot th { background:#f6faf8; font-weight:800; }
.program-table small { display:block; margin-top:4px; color:#64748b; font-size:.78rem; }
.program-form-grid { display:grid; gap:18px; }
.program-class-line { display:grid; grid-template-columns:minmax(0, 1fr); gap:12px; align-items:stretch; }
.program-class-group { margin:0; padding:14px 14px 0; border:1px solid #d8ece3; border-radius:16px; background:#fbfdfc; min-width:0; }
.program-class-group legend { padding:0 7px; color:#176b43; font-size:13px; font-weight:900; letter-spacing:.02em; }
.program-class-fields { display:grid; grid-template-columns:82px minmax(0, 1fr); gap:10px; align-items:end; }
.program-class-fields .field { margin-bottom:14px; }
.program-class-fields .field label { margin-bottom:5px; font-size:12px; color:#64748b; }
.program-class-fields input { min-width:0; }
.program-meta-line { display:grid; grid-template-columns:minmax(150px, 220px) 1fr; gap:12px; align-items:end; }
.program-status-field { margin-bottom:0; }
.program-form-grid .full { grid-column:1 / -1; margin-bottom:0; }
.program-example-panel { margin-top:16px; }
.example-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.example-grid > div { border:1px solid #d8ece3; background:#f8fcfa; border-radius:16px; padding:14px; }
.example-grid strong { display:block; color:#147344; margin-bottom:6px; }
.example-grid span { color:#334155; }
.danger-panel { border-color:#fecaca; background:#fffafa; }
.btn.danger { background:#dc2626; color:#fff; border-color:#dc2626; }
.text-button.danger { color:#dc2626; }
.program-table th:last-child,
.program-table td.program-manage-actions { width:112px; min-width:112px; }
.program-manage-actions { text-align:center; white-space:nowrap; }
.program-action-row { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex-wrap:nowrap; }
.program-delete-form { display:inline-flex; align-items:center; margin:0; padding:0; }
.program-action-link { display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:30px; padding:0 9px; border:1px solid #d7e6df; border-radius:999px; background:#fff; color:#176b43; font-size:13px; font-weight:900; line-height:1; text-decoration:none; cursor:pointer; white-space:nowrap; box-sizing:border-box; }
.program-action-link:hover { background:#f2fbf6; border-color:#b7dfc9; color:#0f7a44; text-decoration:none; }
.program-action-link.delete { border-color:#fecaca; color:#dc2626; background:#fffafa; }
.program-action-link.delete:hover { background:#fef2f2; border-color:#fca5a5; color:#b91c1c; }

/* 운영일지 */
.operation-print-sheet {
  max-width:1120px;
  margin:0 auto;
  background:linear-gradient(180deg,#ffffff 0%,#fbfefc 100%);
  border:1px solid #d9ebe2;
  border-radius:26px;
  padding:30px;
  box-shadow:0 18px 44px rgba(15, 52, 35, .08);
  color:#1e293b;
  font-size:14px;
  line-height:1.55;
}
.operation-title {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:start;
  gap:18px;
  text-align:left;
  border:1px solid #cfe6da;
  border-radius:22px;
  padding:24px 24px 20px;
  margin-bottom:22px;
  background:radial-gradient(circle at top left, rgba(34, 197, 94, .14), transparent 32%), linear-gradient(135deg,#f4fbf7 0%,#ffffff 72%);
}
.operation-title:before {
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:180px;
  height:4px;
  transform:translateX(-50%);
  border-radius:999px 999px 0 0;
  background:linear-gradient(90deg,#2f9d62,#1f7a4d);
}
.operation-title-text { min-width:0; text-align:center; align-self:center; }
.operation-title h1 { margin:0; font-size:2rem; line-height:1.2; letter-spacing:-.04em; color:#123524; font-weight:900; }
.operation-title p { display:inline-flex; align-items:center; justify-content:center; margin:12px 0 0; padding:6px 16px; border-radius:999px; background:#eaf7ef; color:#176b43; font-size:.98rem; font-weight:900; }
.operation-approval-box { position:static; justify-self:end; z-index:2; display:flex; align-items:stretch; background:#fff; border-radius:12px; box-shadow:0 8px 18px rgba(15, 52, 35, .10); overflow:hidden; }
.operation-approval-box > span { display:flex; align-items:center; justify-content:center; width:34px; min-height:82px; border:1px solid #9bb7a9; border-right:0; background:#f6fbf8; color:#173b29; font-weight:900; writing-mode:vertical-rl; letter-spacing:.12em; }
.operation-approval-box table { border-collapse:collapse; width:168px; min-height:82px; table-layout:fixed; }
.operation-approval-box th,
.operation-approval-box td { border:1px solid #9bb7a9; text-align:center; vertical-align:middle; }
.operation-approval-box th { height:28px; background:#eef8f3; color:#173b29; font-size:.88rem; font-weight:900; }
.operation-approval-box td { height:52px; background:#fff; }
.operation-section {
  margin-top:18px;
  padding:18px;
  border:1px solid #e1eee8;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 20px rgba(15, 40, 25, .045);
}
.operation-section h2 { display:flex; align-items:center; gap:8px; margin:0 0 12px; font-size:1.08rem; line-height:1.3; color:#17452d; font-weight:900; letter-spacing:-.02em; }
.operation-section h2:before { content:""; display:inline-block; width:8px; height:22px; border-radius:999px; background:#2f9d62; box-shadow:0 0 0 4px #edf8f1; }
.operation-table { width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid #d6e4dd; border-radius:16px; background:#fff; table-layout:auto; }
.operation-table th,
.operation-table td { border:0; border-right:1px solid #d6e4dd; border-bottom:1px solid #d6e4dd; padding:10px 11px; text-align:center; vertical-align:middle; font-size:.93rem; line-height:1.45; word-break:keep-all; }
.operation-table th:last-child,
.operation-table td:last-child { border-right:0; }
.operation-table tbody tr:last-child td,
.operation-table tfoot tr:last-child th { border-bottom:0; }
.operation-table th { background:linear-gradient(180deg,#eef8f3 0%,#e6f3ec 100%); color:#173b29; font-weight:900; white-space:nowrap; }
.operation-table tbody tr:nth-child(even) td { background:#fbfdfc; }
.operation-table tbody tr:hover td { background:#f6fbf8; }
.operation-table td.reason { text-align:left; min-width:210px; color:#334155; }
.operation-staff-section { overflow-x:auto; }
.operation-table.staff-overview-table { min-width:1040px; table-layout:fixed; }
.operation-table td.staff-hr-detail { text-align:left; min-width:0; color:#334155; line-height:1.5; }
.operation-table.staff-overview-table th:nth-child(1),
.operation-table.staff-overview-table th:nth-child(2),
.operation-table.staff-overview-table th:nth-child(3),
.operation-table.staff-overview-table th:nth-child(4) { width:7%; }
.operation-table.staff-overview-table th:nth-child(5),
.operation-table.staff-overview-table td:nth-child(5) { width:25%; }
.operation-table.staff-overview-table th:nth-child(6),
.operation-table.staff-overview-table td:nth-child(6) { width:47%; }
.staff-hr-screen { display:grid; gap:3px; min-width:0; }
.operation-hr-line { display:block; width:100%; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.operation-source-link {
  display:flex;
  align-items:center;
  gap:5px;
  box-sizing:border-box;
  color:inherit;
  text-decoration-line:underline;
  text-decoration-style:dotted;
  text-underline-offset:2px;
  padding:3px 5px;
  margin:-3px -5px;
  border-radius:7px;
  transition:background-color .15s ease, color .15s ease;
}
.operation-source-link-text { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.operation-source-link-mark { flex:0 0 auto; font-size:.78em; font-weight:900; opacity:.62; }
.operation-source-link:hover,
.operation-source-link:focus-visible { background:#eaf7ef; color:#0f6b3f; outline:none; }
.operation-source-link:focus-visible { box-shadow:0 0 0 2px rgba(15,107,63,.22); }
.operation-source-help { margin:0 0 8px; color:#64748b; font-size:.82rem; }
.staff-hr-print { display:none; }

.operation-table td.text-left { text-align:left; color:#334155; }
.operation-table td strong { font-size:1.15rem; color:#125a36; font-weight:900; font-variant-numeric:tabular-nums; }
/* 합계행은 본문 마지막 행과 맞닿는 위쪽 선을 항상 표시한다. */
.operation-table tfoot tr:first-child > th,
.operation-table tfoot tr:first-child > td { border-top:1px solid #d6e4dd; }
.operation-table tfoot th { background:#f0f8f3; color:#0f5132; font-size:.98rem; font-weight:900; }
.operation-table .empty-line { padding:18px 12px; color:#64748b; background:#fbfdfc; }
.operation-print-sheet .program-table td.text-left { min-width:0; }
.operation-print-sheet .program-table th:last-child { width:auto; min-width:0; }
.operation-sign {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:22px;
  padding:18px 20px;
  border:1px dashed #b9d8c9;
  border-radius:16px;
  background:#f8fcfa;
  color:#334155;
  font-size:.98rem;
  font-weight:800;
}

@media (max-width: 980px) {
  .program-class-line { grid-template-columns:1fr; }
  .program-meta-line { grid-template-columns:1fr; }
}
@media (max-width: 860px) {
  .example-grid { grid-template-columns:1fr; }
  .program-class-fields { grid-template-columns:78px minmax(0, 1fr); }
  .program-search,
  .operation-search { display:grid; grid-template-columns:1fr; }
}
@media (max-width: 520px) {
  .program-class-fields { grid-template-columns:1fr; gap:0; }
  .program-class-group { padding:13px 12px 0; }
}
@media (max-width: 720px) {
  .operation-title { grid-template-columns:1fr; padding:20px 16px 18px; text-align:center; }
  .operation-approval-box { justify-self:center; margin:0 auto; max-width:210px; }
}

@media print {
  @page { size:A4 portrait; margin:10mm; }
  body { background:#fff !important; color:#111827; }
  .site-header, .print-hide, .user-box, .skip-link, .site-footer { display:none !important; }
  .page-shell { max-width:none; margin:0; padding:0; }
  .operation-print-sheet { max-width:none; border:0; box-shadow:none; border-radius:0; padding:0; background:#fff; font-size:9.4pt; line-height:1.35; }
  .operation-title { display:block; position:relative; min-height:76px; margin:0 0 10px; padding:4mm 42mm 5mm 0; border:0; border-radius:0; background:#fff; }
  .operation-title:before { display:none; }
  .operation-title-text { text-align:center; align-self:auto; padding-top:2mm; }
  .operation-title h1 { font-size:19pt; letter-spacing:-.02em; color:#000; }
  .operation-title p { margin-top:5px; padding:0; background:transparent; color:#000; font-size:10.5pt; }
  .operation-approval-box { position:absolute; top:0; right:0; justify-self:auto; border-radius:0; box-shadow:none; background:#fff; }
  .operation-approval-box > span { width:24px; min-height:auto; height:70px; border-color:#111; background:#fff; color:#000; font-size:8.5pt; }
  .operation-approval-box table { width:132px; min-height:auto; height:70px; }
  .operation-approval-box th, .operation-approval-box td { border-color:#111; color:#000; width:44px; }
  .operation-approval-box th { height:24px; background:#fff !important; font-size:8pt; }
  .operation-approval-box td { height:46px; }
  .operation-section { margin-top:9px; padding:0; border:0; border-radius:0; box-shadow:none; background:#fff; break-inside:avoid; page-break-inside:avoid; }
  .operation-section h2 { margin:0 0 5px; font-size:11.2pt; color:#000; }
  .operation-section h2:before { width:5px; height:14px; box-shadow:none; background:#000; }
  .operation-table { border:1px solid #333; border-radius:0; }
  .operation-table th, .operation-table td { border-color:#555; padding:4.5px 5px; font-size:8.8pt; line-height:1.28; }
  .operation-table th { background:#f1f5f9 !important; color:#000; }
  .operation-table td strong { color:#000; font-size:10pt; }
  .operation-staff-section { overflow:visible; }
  .operation-table.staff-overview-table { min-width:0; table-layout:auto; }
  .operation-table td.reason { min-width:0; }
  .operation-table td.staff-hr-detail { min-width:0; }
  .staff-hr-screen { display:none !important; }
  .staff-hr-print { display:grid !important; gap:2px; min-width:0; overflow:visible; }
  .staff-hr-print .operation-hr-line { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  /* 인쇄할 때 합계 위의 경계선이 누락되지 않도록 강제로 출력 */
  .operation-table tfoot tr:first-child > th,
  .operation-table tfoot tr:first-child > td { border-top:1px solid #333 !important; }
  .operation-table tfoot th { background:#e5e7eb !important; color:#000; font-size:9.2pt; }
  .operation-table tbody tr:nth-child(even) td, .operation-table tbody tr:hover td { background:#fff; }
  .operation-sign { margin-top:12px; padding:8px 10px; border:1px solid #333; border-radius:0; background:#fff; color:#000; font-size:9.5pt; }
  a { color:#000; text-decoration:none; }
}


/* 메뉴가 많을 때 줄바꿈 허용 */
@media (min-width: 981px) {
  .main-nav { flex-wrap: wrap; row-gap: 4px; }
  .main-nav a, .main-nav .nav-group-button { padding: 10px 10px; font-size: 14px; }
}

/* 사업등록와 사업실적 분리 */
.status-pill { display:inline-flex; align-items:center; justify-content:center; min-width:46px; border-radius:999px; padding:4px 10px; font-size:12px; font-weight:800; }
.status-pill.active { background:#edf8f0; color:#26713e; }
.status-pill.inactive { background:#f2f3f3; color:#6c7470; }
.program-result-form { margin:0; }
.program-result-table th:nth-child(4),
.program-result-table th:nth-child(5),
.program-result-table th:nth-child(6),
.program-result-table td:nth-child(4),
.program-result-table td:nth-child(5),
.program-result-table td:nth-child(6) { width:86px; }
.program-result-table .count-input { width:72px; min-height:36px; padding:7px 8px; border:1px solid #d9e3df; border-radius:8px; background:#fff; font:inherit; text-align:right; font-weight:700; }
.program-result-table .detail-content-input { width:100%; min-width:180px; min-height:48px; padding:7px 9px; border:1px solid #d9e3df; border-radius:8px; background:#fff; font:inherit; resize:vertical; }
.program-result-table .count-input:focus,
.program-result-table .detail-content-input:focus { outline:2px solid rgba(44, 143, 92, .18); border-color:#6bb48a; }
.program-toolbar-panel .program-search .search-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
@media (max-width: 720px) {
  .program-result-table th:nth-child(2), .program-result-table td:nth-child(2) { display:none; }
  .program-result-table .count-input { width:100%; min-width:58px; }
}

/* 사업실적 전체/개별 지정 */
.program-bulk-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  padding:14px 24px;
  background:#fbfcfb;
  border-bottom:1px solid var(--line);
}
.program-bulk-actions .bulk-title { font-weight:900; color:#1f3b2c; white-space:nowrap; }
.program-bulk-actions .bulk-help { font-size:13px; color:#647067; }
.program-bulk-actions .bulk-help strong { color:var(--green-dark); }
.program-result-table th:nth-child(7),
.program-result-table td:nth-child(7) { width:150px; }
.program-row-actions { white-space:nowrap; }
.program-row-actions .btn { margin:2px; }
.btn.mini { min-height:32px; padding:6px 10px; font-size:12px; border-radius:9px; }
.btn.danger-soft { color:#b91c1c; border-color:#fecaca; background:#fffafa; }
.btn.danger-soft:hover { background:#fee2e2; }
@media (max-width: 720px) {
  .program-bulk-actions { align-items:stretch; padding:12px 18px; }
  .program-bulk-actions .bulk-title, .program-bulk-actions .bulk-help, .program-bulk-actions .btn { width:100%; }
  .program-result-table th:nth-child(7), .program-result-table td:nth-child(7) { width:auto; }
  .program-row-actions { white-space:normal; }
  .program-row-actions .btn { width:100%; margin:2px 0; }
}

/* 사업등록 정렬·검색 보강 */
.program-search-enhanced {
  display:grid;
  grid-template-columns:minmax(240px, 1.7fr) minmax(140px, .8fr) minmax(110px, .65fr) auto;
  gap:10px;
  align-items:end;
}
.program-search-enhanced .field { min-width:0; }
.program-search-enhanced .field input,
.program-search-enhanced .field select { width:100%; }
.program-search-enhanced .search-actions { display:flex; gap:7px; align-items:center; justify-content:flex-end; flex-wrap:nowrap; }
.program-search-help { margin-top:10px; color:#64748b; font-size:13px; line-height:1.45; }
.program-search-help strong { color:#176b43; }
.program-table .sort-link { display:inline-flex; align-items:center; justify-content:center; gap:3px; color:#173b29; text-decoration:none; font-weight:900; }
.program-table .sort-link span { min-width:14px; color:#198754; font-size:12px; }
.program-table .sort-link:hover { color:#0f7a44; text-decoration:underline; text-underline-offset:3px; }
.program-table .sort-link.active { color:#0f7a44; }
@media (max-width: 1080px) {
  .program-search-enhanced { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .program-search-enhanced .search-grow { grid-column:1 / -1; }
  .program-search-enhanced .search-actions { justify-content:flex-start; }
}
@media (max-width: 720px) {
  .program-search-enhanced { grid-template-columns:1fr; }
  .program-search-enhanced .search-actions { flex-direction:column; align-items:stretch; }
  .program-search-enhanced .search-actions .btn { width:100%; }
  .program-table th:last-child,
  .program-table td.program-manage-actions { width:96px; min-width:96px; }
  .program-action-row { gap:5px; }
  .program-action-link { min-width:34px; height:28px; padding:0 7px; font-size:12px; }
}

/* 사업등록 리스트 왼쪽 정렬 */
.program-master-table th,
.program-master-table td { text-align:left; }
.program-master-table .sort-link { justify-content:flex-start; }
.program-master-table th:last-child,
.program-master-table td.program-manage-actions { text-align:center; }
.program-master-table td.program-manage-actions .program-action-row { justify-content:center; }
.program-master-table td.empty-line { text-align:center; }

/* Meal menu management */
.meal-menu-form { margin: 0; }
.meal-menu-table th:nth-child(1), .meal-menu-table td:nth-child(1) { width: 120px; text-align: center; }
.meal-menu-table th:nth-child(3), .meal-menu-table td:nth-child(3) { width: 260px; }
.meal-menu-table textarea,
.meal-menu-table input[type="text"] { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid #d9e3df; border-radius: 8px; background: #fff; font: inherit; }
.meal-menu-table textarea { resize: vertical; line-height: 1.45; }
.meal-menu-log-table td.text-left { text-align: left; }
@media (max-width: 720px) {
  .meal-menu-table th:nth-child(1), .meal-menu-table td:nth-child(1) { width: 82px; }
  .meal-menu-table th:nth-child(3), .meal-menu-table td:nth-child(3) { width: auto; }
}

/* 사업실적 검색·정렬 */
.program-result-search .field { min-width:140px; }
.program-result-search .field input[type="search"] { width:100%; }
.program-result-search .search-grow { flex:1 1 260px; }
@media (max-width: 960px) {
  .program-result-search { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .program-result-search .search-grow, .program-result-search .search-actions { grid-column:1 / -1; }
}
@media (max-width: 560px) {
  .program-result-search { grid-template-columns:1fr; }
}

/* 인사 - 출장관리 */
.page-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.trip-search {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 12px;
  align-items: end;
  padding: 20px 24px;
  border-bottom: 1px solid var(--line);
}
.trip-search .field { margin-bottom: 0; }
.trip-search .search-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.trip-table th:nth-child(1), .trip-table td:nth-child(1) { width: 115px; }
.trip-table th:nth-child(2), .trip-table td:nth-child(2) { width: 105px; }
.trip-table th:nth-child(6), .trip-table td:nth-child(6) { width: 70px; }
.trip-table th:nth-child(7), .trip-table td:nth-child(7) { width: 230px; }
.trip-linked-actions { display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; min-width: 210px; }
.trip-linked-actions .btn { margin: 0; }
.form-section-title { margin: 22px 0 12px; font-size: 18px; }
.linked-doc-box {
  margin: 20px 0 4px;
  padding: 18px;
  border: 1px solid #dce8e1;
  border-radius: 16px;
  background: #fbfdfb;
}
.linked-doc-head h3 { margin: 0 0 6px; font-size: 18px; color: #173b29; }
.linked-doc-head p { margin: 0 0 14px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.linked-doc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.linked-doc-card { padding: 15px; border: 1px solid #dfe8e3; border-radius: 14px; background: #fff; }
.linked-doc-title { margin-bottom: 8px; font-weight: 900; color: #172b1f; }
.linked-doc-status { display: inline-flex; align-items: center; min-height: 26px; margin: 0 0 8px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 900; }
.linked-doc-status.done { color: #0f6f3f; background: #e9f7ef; }
.linked-doc-status.waiting { color: #8a5b00; background: #fff7df; }
.linked-doc-desc { min-height: 40px; margin: 0 0 12px; color: #5f6f66; font-size: 13px; line-height: 1.55; }
@media (max-width: 720px) { .linked-doc-grid { grid-template-columns: 1fr; } }
.linked-doc-print-note { margin-top: 8px; color: #176b43; font-size: 12px; font-weight: 800; }
.linked-doc-count { display: inline-flex; align-items: center; min-height: 26px; padding: 4px 8px; border-radius: 999px; background: #eef7f1; color: #176b43; font-size: 12px; font-weight: 900; }
.linked-doc-existing-list { display: grid; gap: 6px; margin: 8px 0 12px; padding: 8px; border: 1px solid #eef2ef; border-radius: 10px; background: #f8fbf9; }
.linked-doc-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; color: #425048; }
.linked-doc-row span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.btn.tiny { min-height: 24px; padding: 4px 8px; font-size: 11px; border-radius: 8px; }

.trip-page-label { margin-bottom: 8px; color: #666; font-size: 12px; font-weight: 800; }
.trip-content-expanded { min-height: 160px; }

.trip-expense-grid {
  display: grid;
  grid-template-columns: 92px minmax(180px, 1.4fr) minmax(120px, .8fr) minmax(100px, .8fr);
  gap: 8px;
  align-items: center;
  margin-bottom: 18px;
}
.trip-expense-grid .trip-expense-head {
  padding: 10px;
  border-radius: 8px;
  background: #f5f8f6;
  color: var(--muted);
  font-weight: 800;
  text-align: center;
  font-size: 13px;
}
.trip-expense-grid label { margin: 0; font-weight: 800; text-align: center; }
.trip-expense-grid input { width: 100%; border: 1px solid #cfdad5; border-radius: 10px; background: #fff; padding: 10px 11px; color: var(--ink); outline: none; }
.trip-expense-grid input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(47,143,78,.12); }
.print-only { display: none; }
.trip-print-card {
  position: relative;
  width: 190mm;
  min-height: 260mm;
  margin: 0 auto 28px;
  padding: 16mm 12mm;
  background: #fff;
  color: #111;
  font-family: 'Malgun Gothic', '맑은 고딕', sans-serif;
  font-size: 14px;
}
.trip-print-card h1 { margin: 0; text-align: center; font-size: 30px; letter-spacing: 4px; }
.trip-print-card h2 { margin: 22px 0 8px; font-size: 16px; }
.trip-subtitle { margin: 4px 0 20px; text-align: center; font-size: 16px; }
.approval-box { position: absolute; top: 13mm; right: 12mm; display: flex; align-items: stretch; gap: 0; }
.approval-box > span { display: flex; align-items: center; justify-content: center; width: 24px; border: 1px solid #111; border-right: 0; font-weight: 800; }
.approval-box table { border-collapse: collapse; width: 132px; height: 70px; }
.approval-box th, .approval-box td { border: 1px solid #111; width: 44px; text-align: center; }
.approval-box th { height: 24px; font-weight: 800; }
.trip-form-table, .trip-expense-print { width: 100%; border-collapse: collapse; margin-top: 12px; }
.trip-form-table th, .trip-form-table td, .trip-expense-print th, .trip-expense-print td { border: 1px solid #111; padding: 9px 10px; vertical-align: top; }
.trip-form-table th { width: 120px; text-align: center; background: #fafafa; }
.trip-content-cell { min-height: 120px; line-height: 1.65; }
.trip-expense-print th { text-align: center; background: #fafafa; }
.trip-expense-print td { height: 42px; text-align: center; }
.receiver-box { float: right; min-width: 160px; }
.trip-declaration { margin: 28px 0 16px; text-align: center; }
.trip-sign-date { margin-top: 26px; text-align: center; }
.trip-sign-name { margin-top: 22px; text-align: right; padding-right: 36px; }
.trip-receiver { margin-top: 46px; display:block; width:100%; padding-left: 18mm; box-sizing:border-box; overflow:visible; white-space:nowrap; text-align:left; color:#111; }
.trip-expense-receiver { display:block; width:100%; padding-left: 18mm; box-sizing:border-box; overflow:visible; white-space:nowrap; text-align:left; color:#111; }
@media (max-width: 900px) {
  .trip-search { grid-template-columns: 1fr; }
  .trip-search .search-actions { justify-content: flex-start; }
  .trip-expense-grid { grid-template-columns: 72px 1fr; }
  .trip-expense-grid .trip-expense-head { display: none; }
  .trip-expense-grid label { text-align: left; }
}
@media (max-width: 700px) {
  .page-actions .btn, .trip-search .search-actions .btn { flex: 1; }
  .trip-table th:nth-child(4), .trip-table td:nth-child(4), .trip-table th:nth-child(5), .trip-table td:nth-child(5), .trip-table th:nth-child(6), .trip-table td:nth-child(6) { display: none; }
}
/* 158차 - 출장·초과근무 대장 상단 안내문 제거 및 우측 버튼 한 줄 정리 */
.hr-ledger-page-actions {
  flex-wrap: nowrap;
  gap: 5px;
  white-space: nowrap;
}
.hr-ledger-page-actions .btn {
  flex: 0 0 auto;
  min-height: 30px;
  padding: 5px 9px;
  font-size: 12px;
  line-height: 1.15;
  white-space: nowrap;
}
@media (max-width: 700px) {
  .page-actions.hr-ledger-page-actions {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-end;
    -webkit-overflow-scrolling: touch;
  }
  .page-actions.hr-ledger-page-actions .btn {
    flex: 0 0 auto;
  }
}

@media print {
  body { background: #fff; }
  .site-header, .no-print, .page-head, .alert, .user-box, .skip-link, footer { display: none !important; }
  .page-shell { padding: 0 !important; max-width: none !important; }
  .print-only { display: block !important; }
  .trip-print-card { width: auto; min-height: auto; margin: 0; padding: 12mm; box-shadow: none; }
  .trip-follow-page { break-before: page; page-break-before: always; }
  .trip-print-page { break-inside: auto; page-break-inside: auto; }
  html.trip-print-request-only .trip-follow-page { display: none !important; }
  html.trip-print-request-only .trip-request-print-page .trip-page-label { display: none !important; }
  @page { size: A4 portrait; margin: 10mm; }
}

/* 인사 - 출장대장 */
/* 87차 - 출장·초과근무대장 검색조건을 휴가대장처럼 한 줄 배치 */
.trip-ledger-search {
  grid-template-columns: 145px 145px minmax(260px, 1fr) auto;
  align-items: end;
}
.trip-ledger-search .field,
.trip-ledger-search .search-actions {
  min-width: 0;
}
.trip-ledger-search .field input {
  width: 100%;
  min-width: 0;
}
.trip-ledger-search .search-actions {
  flex-wrap: nowrap;
  white-space: nowrap;
}
.trip-ledger-panel {
  overflow: hidden;
}
.ledger-title h1 {
  margin: 0 0 14px;
  text-align: center;
  font-size: 24px;
  letter-spacing: 1px;
}
.ledger-table-wrap {
  overflow-x: auto;
}
.trip-ledger-table {
  width: 100%;
  min-width: 1180px;
  table-layout: fixed;
  font-size: 13px;
}
.trip-ledger-table th,
.trip-ledger-table td {
  text-align: left;
  vertical-align: top;
  word-break: keep-all;
}
.trip-ledger-table th {
  text-align: center;
}
.trip-ledger-table .center {
  text-align: center;
}
/* 62차 - 출장대장 12개 열을 표 전체 폭 안에서 균형 있게 배분 */
.trip-ledger-table col.trip-ledger-col-no { width: 4%; }
.trip-ledger-table col.trip-ledger-col-request-date { width: 8%; }
.trip-ledger-table col.trip-ledger-col-applicant { width: 7%; }
.trip-ledger-table col.trip-ledger-col-substitute { width: 8%; }
.trip-ledger-table col.trip-ledger-col-purpose { width: 10%; }
.trip-ledger-table col.trip-ledger-col-period { width: 12%; }
.trip-ledger-table col.trip-ledger-col-place { width: 8%; }
.trip-ledger-table col.trip-ledger-col-content { width: 12%; }
.trip-ledger-table col.trip-ledger-col-category { width: 7%; }
.trip-ledger-table col.trip-ledger-col-report-date { width: 8%; }
.trip-ledger-table col.trip-ledger-col-result { width: 8%; }
.trip-ledger-table col.trip-ledger-col-documents { width: 8%; }
.trip-ledger-table th,
.trip-ledger-table td {
  box-sizing: border-box;
  max-width: 0;
  overflow-wrap: anywhere;
}
.ledger-subtext {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.ledger-doc-link {
  display: inline-block;
  margin: 2px 0;
  font-weight: 800;
  color: var(--green-dark);
}
@media (max-width: 900px) {
  .trip-ledger-search { grid-template-columns: 1fr; }
}
@media print {
  .trip-ledger-panel { box-shadow: none; border: 0; }
  .trip-ledger-table { min-width: 0; width: 100%; font-size: 8px; }
  .trip-ledger-table th, .trip-ledger-table td { padding: 4px 3px; }
  .ledger-subtext { font-size: 7px; }
  .ledger-doc-link { color: #111; font-weight: 400; text-decoration: none; }
}

/* 인사 - 초과근무관리 */
.overtime-table th:nth-child(1), .overtime-table td:nth-child(1) { width: 120px; }
.overtime-table th:nth-child(2), .overtime-table td:nth-child(2) { width: 100px; }
.overtime-table th:nth-child(3), .overtime-table td:nth-child(3) { width: 120px; }
.overtime-table th:nth-child(4), .overtime-table td:nth-child(4) { width: 120px; }
.overtime-table th:nth-child(5), .overtime-table td:nth-child(5) { width: 80px; text-align: center; }
.overtime-table th:nth-child(7), .overtime-table td:nth-child(7) { width: 210px; }
.overtime-time-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.overtime-print-card h1 { letter-spacing: 1px; }
.overtime-form-table th { width: 74px; }
.overtime-form-table td { min-width: 60px; }
.overtime-ledger-table { min-width: 1080px; }
.overtime-ledger-table th:nth-child(1), .overtime-ledger-table td:nth-child(1) { width: 45px; }
.overtime-ledger-table th:nth-child(2), .overtime-ledger-table td:nth-child(2) { width: 105px; }
.overtime-ledger-table th:nth-child(3), .overtime-ledger-table td:nth-child(3) { width: 90px; }
.overtime-ledger-table th:nth-child(4), .overtime-ledger-table td:nth-child(4) { width: 105px; }
.overtime-ledger-table th:nth-child(5), .overtime-ledger-table td:nth-child(5) { width: 65px; }
.overtime-ledger-table th:nth-child(6), .overtime-ledger-table td:nth-child(6) { width: 65px; }
.overtime-ledger-table th:nth-child(7), .overtime-ledger-table td:nth-child(7) { width: 70px; }
.overtime-ledger-table th:nth-child(8), .overtime-ledger-table td:nth-child(8) { width: 230px; }
.overtime-ledger-table th:nth-child(9), .overtime-ledger-table td:nth-child(9) { width: 105px; }
.overtime-ledger-table th:nth-child(10), .overtime-ledger-table td:nth-child(10) { width: 145px; }
.overtime-ledger-table th:nth-child(11), .overtime-ledger-table td:nth-child(11) { width: 160px; }
@media (max-width: 700px) {
  .overtime-table th:nth-child(3), .overtime-table td:nth-child(3), .overtime-table th:nth-child(4), .overtime-table td:nth-child(4), .overtime-table th:nth-child(5), .overtime-table td:nth-child(5) { display: none; }
  .overtime-time-grid { grid-template-columns: 1fr; }
}
@media print {
  .overtime-ledger-table { min-width: 0; width: 100%; font-size: 8px; }
  .overtime-ledger-table th, .overtime-ledger-table td { padding: 4px 3px; }
  .overtime-form-table th, .overtime-form-table td { padding: 8px 6px; }
}

/* 인사 - 휴가관리 */
.vacation-table th:nth-child(1), .vacation-table td:nth-child(1) { width: 120px; }
.vacation-table th:nth-child(2), .vacation-table td:nth-child(2) { width: 100px; }
.vacation-table th:nth-child(3), .vacation-table td:nth-child(3) { width: 110px; }
.vacation-table th:nth-child(4), .vacation-table td:nth-child(4) { width: 130px; }
.vacation-table th:nth-child(7), .vacation-table td:nth-child(7) { width: 90px; text-align: center; }
.vacation-table th:nth-child(8), .vacation-table td:nth-child(8) { width: 110px; }
.vacation-staff-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vacation-days-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vacation-print-card h1 { letter-spacing: 2px; margin-bottom: 40px; }
.vacation-form-table th { width: 98px; }
.vacation-ledger-search { grid-template-columns: 190px 145px 145px minmax(220px, 1fr) auto; }
.vacation-ledger-search.all { grid-template-columns: 145px 145px minmax(260px, 1fr) auto; }
.vacation-ledger-panel { overflow: hidden; padding: 22px; }
.vacation-ledger-panel .ledger-title { margin-bottom: 14px; text-align: center; }
.vacation-ledger-panel .ledger-title p { margin: 4px 0 0; color: var(--muted); }
.vacation-ledger-head { width: 100%; border-collapse: collapse; margin-bottom: 12px; }
.vacation-ledger-head th, .vacation-ledger-head td { border: 1px solid var(--line); padding: 10px 12px; }
.vacation-ledger-head th { width: 86px; background: #f5f8f6; text-align: center; }
.vacation-person-ledger-table { min-width: 940px; }
.vacation-all-ledger-table { min-width: 1120px; }
.vacation-person-ledger-table th:nth-child(1), .vacation-person-ledger-table td:nth-child(1),
.vacation-all-ledger-table th:nth-child(1), .vacation-all-ledger-table td:nth-child(1) { width: 46px; }
.vacation-person-ledger-table th:nth-child(5), .vacation-person-ledger-table td:nth-child(5),
.vacation-person-ledger-table th:nth-child(6), .vacation-person-ledger-table td:nth-child(6),
.vacation-person-ledger-table th:nth-child(7), .vacation-person-ledger-table td:nth-child(7),
.vacation-all-ledger-table th:nth-child(8), .vacation-all-ledger-table td:nth-child(8),
.vacation-all-ledger-table th:nth-child(9), .vacation-all-ledger-table td:nth-child(9),
.vacation-all-ledger-table th:nth-child(10), .vacation-all-ledger-table td:nth-child(10) { width: 95px; }
.ledger-footer-print { margin-top: 18px; text-align: right; font-weight: 700; }
@media (max-width: 980px) {
  .vacation-ledger-search, .vacation-ledger-search.all { grid-template-columns: 1fr; }
  .vacation-staff-grid, .vacation-days-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .vacation-table th:nth-child(4), .vacation-table td:nth-child(4), .vacation-table th:nth-child(5), .vacation-table td:nth-child(5), .vacation-table th:nth-child(6), .vacation-table td:nth-child(6) { display: none; }
}
@media print {
  .vacation-ledger-panel { box-shadow: none; border: 0; padding: 0; }
  .vacation-ledger-head th, .vacation-ledger-head td { border-color: #111; padding: 5px 6px; }
  .vacation-person-ledger-table, .vacation-all-ledger-table { min-width: 0; width: 100%; font-size: 8px; }
  .vacation-person-ledger-table th, .vacation-person-ledger-table td,
  .vacation-all-ledger-table th, .vacation-all-ledger-table td { padding: 4px 3px; }
  .vacation-form-table th, .vacation-form-table td { padding: 8px 6px; }
}

/* 하위 사업실적 */
.program-sub-panel .muted {
  margin-top: -8px;
  color: var(--muted);
  line-height: 1.6;
}
.program-sub-form {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #fbfdff;
}
.program-sub-form-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) minmax(160px, .6fr);
  gap: 14px;
}
.program-sub-form-grid .full {
  grid-column: 1 / -1;
}
.program-sub-list-wrap {
  margin-top: 18px;
}
.program-sub-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef7ff;
  color: #1769aa;
  font-weight: 700;
}
.program-child-result-row td {
  background: #fbfdff;
}
.program-sub-label {
  margin-bottom: 4px;
  color: #1769aa;
  font-weight: 700;
}
.program-sub-detail {
  color: var(--text);
  line-height: 1.55;
}
@media (max-width: 720px) {
  .program-sub-form-grid {
    grid-template-columns: 1fr;
  }
}

.program-code-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:2px 7px;border-radius:999px;background:#eef2ff;border:1px solid #c7d2fe;font-size:12px;font-weight:800;color:#1e3a8a;line-height:1.3;vertical-align:middle}
.program-sub-label .program-code-badge{margin-right:4px}

/* 초과근무 인쇄 - 일자 요일 줄바꿈 방지 */
@media print {
  .overtime-form-table tr:first-child th {
    width: 56px;
    padding-left: 4px;
    padding-right: 4px;
    white-space: nowrap;
  }
  .overtime-form-table tr:first-child td {
    padding-left: 5px;
    padding-right: 5px;
    white-space: nowrap;
    vertical-align: middle;
  }
  .overtime-form-table tr:first-child td:first-of-type {
    width: 150px;
    min-width: 150px;
    font-size: 12px;
  }
  .overtime-form-table tr:first-child td:nth-of-type(2),
  .overtime-form-table tr:first-child td:nth-of-type(3),
  .overtime-form-table tr:first-child td:nth-of-type(4) {
    width: 52px;
    min-width: 52px;
    text-align: center;
  }
}


/* 초과근무대장·출장대장·휴가대장 A4 가로 인쇄 */
@page ledger-landscape {
  size: A4 landscape;
  margin: 8mm;
}
@media print {
  .landscape-ledger-page {
    page: ledger-landscape;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  .landscape-ledger-page .ledger-title h1 {
    margin: 0 0 5mm !important;
    font-size: 17pt !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }

  .landscape-ledger-page .ledger-title p {
    margin: 0 0 4mm !important;
    color: #111 !important;
    font-size: 9pt !important;
  }
  .landscape-ledger-page .vacation-ledger-head {
    width: 100% !important;
    margin: 0 0 4mm !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    font-size: 8.5pt !important;
  }
  .landscape-ledger-page .vacation-ledger-head tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .landscape-ledger-page .vacation-ledger-head th,
  .landscape-ledger-page .vacation-ledger-head td {
    padding: 2mm 1.5mm !important;
    border-color: #222 !important;
    color: #111 !important;
    background: #fff !important;
    white-space: normal !important;
    word-break: keep-all !important;
  }
  .landscape-ledger-page .vacation-ledger-head th {
    width: 12% !important;
    font-weight: 700 !important;
  }
  .landscape-ledger-page .ledger-table-wrap {
    width: 100% !important;
    overflow: visible !important;
  }
  .landscape-ledger-page .trip-ledger-table,
  .landscape-ledger-page .overtime-ledger-table,
  .landscape-ledger-page .vacation-person-ledger-table,
  .landscape-ledger-page .vacation-all-ledger-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    font-size: 7.5pt !important;
  }
  .landscape-ledger-page .trip-ledger-table thead,
  .landscape-ledger-page .overtime-ledger-table thead,
  .landscape-ledger-page .vacation-person-ledger-table thead,
  .landscape-ledger-page .vacation-all-ledger-table thead {
    display: table-header-group;
  }
  .landscape-ledger-page .trip-ledger-table tr,
  .landscape-ledger-page .overtime-ledger-table tr,
  .landscape-ledger-page .vacation-person-ledger-table tr,
  .landscape-ledger-page .vacation-all-ledger-table tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .landscape-ledger-page .trip-ledger-table th,
  .landscape-ledger-page .trip-ledger-table td,
  .landscape-ledger-page .overtime-ledger-table th,
  .landscape-ledger-page .overtime-ledger-table td,
  .landscape-ledger-page .vacation-person-ledger-table th,
  .landscape-ledger-page .vacation-person-ledger-table td,
  .landscape-ledger-page .vacation-all-ledger-table th,
  .landscape-ledger-page .vacation-all-ledger-table td {
    padding: 2.2mm 1mm !important;
    border-color: #222 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }
  .landscape-ledger-page .ledger-subtext {
    margin-top: 1mm !important;
    font-size: 6.5pt !important;
    line-height: 1.25 !important;
    color: #111 !important;
  }
  .landscape-ledger-page .ledger-doc-link {
    color: #111 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
  }
}


/* 업무 메뉴: 업무실적 담당자 지정 및 업무일지 */
.work-result-table .work-staff-select {
  width:100%;
  min-width:130px;
  min-height:36px;
  padding:7px 9px;
  border:1px solid #d9e3df;
  border-radius:8px;
  background:#fff;
  font:inherit;
}
.work-result-table .work-staff-select:focus {
  outline:2px solid rgba(44,143,92,.18);
  border-color:#6bb48a;
}
.work-result-table th:nth-child(2),
.work-result-table td:nth-child(2) { width:150px; }
.work-result-table th:nth-child(4),
.work-result-table td:nth-child(4) { width:auto; }
.work-result-table th:nth-child(5),
.work-result-table th:nth-child(6),
.work-result-table th:nth-child(7),
.work-result-table td:nth-child(5),
.work-result-table td:nth-child(6),
.work-result-table td:nth-child(7) { width:86px; }
.work-result-table th:nth-child(8),
.work-result-table td:nth-child(8) { width:150px; }

.work-log-search {
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(220px,1fr) auto;
  gap:12px;
  align-items:end;
}
.work-log-search .field select { width:100%; }
.work-log-sheet .work-summary-table th,
.work-log-sheet .work-summary-table td { width:20%; }
.work-log-detail-table th:nth-child(1),
.work-log-detail-table td:nth-child(1) { width:13%; }
.work-log-detail-table th:nth-child(2),
.work-log-detail-table td:nth-child(2) { width:15%; }
.work-log-detail-table th:nth-child(3),
.work-log-detail-table td:nth-child(3) { width:22%; }
.work-log-detail-table th:nth-child(4),
.work-log-detail-table td:nth-child(4) { width:auto; }
.work-log-detail-table th:nth-child(5),
.work-log-detail-table th:nth-child(6),
.work-log-detail-table th:nth-child(7),
.work-log-detail-table td:nth-child(5),
.work-log-detail-table td:nth-child(6),
.work-log-detail-table td:nth-child(7) { width:7%; }
.work-log-detail-table small { color:#64748b; }

@media (max-width: 720px) {
  .work-result-table th:nth-child(2),
  .work-result-table td:nth-child(2) { display:table-cell; width:auto; }
  .work-result-table th:nth-child(3),
  .work-result-table td:nth-child(3) { display:none; }
  .work-result-table th:nth-child(8),
  .work-result-table td:nth-child(8) { width:auto; }
  .work-log-search { grid-template-columns:1fr; }
}
@media print {
  .work-log-sheet { width:100%; max-width:none; }
  .work-log-detail-table th,
  .work-log-detail-table td { font-size:8pt; padding:4px; }
}

/* 업무 2단계 분류·담당자 연결·업무영역별 통계 */
.work-class-two-level { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.work-task-meta-line { grid-template-columns:minmax(260px, 1fr) minmax(150px, 220px); align-items:start; }
.work-task-meta-line select { width:100%; }
.work-task-meta-line small { display:block; margin-top:6px; color:#64748b; font-size:12px; line-height:1.45; }
.work-task-search { grid-template-columns:minmax(240px,1.5fr) minmax(145px,.75fr) minmax(165px,.85fr) minmax(110px,.55fr) auto; }
.work-master-table th:nth-child(1), .work-master-table td:nth-child(1) { width:44px; }
.work-master-table th:nth-child(2), .work-master-table td:nth-child(2) { width:145px; }
.work-master-table th:nth-child(3), .work-master-table td:nth-child(3) { width:175px; }
.work-master-table th:nth-child(4), .work-master-table td:nth-child(4) { width:260px; }
.work-master-table th:nth-child(6), .work-master-table td:nth-child(6) { width:82px; text-align:center; }
.work-master-table th:nth-child(7), .work-master-table td:nth-child(7) { width:100px; }

.work-result-search { display:grid; grid-template-columns:minmax(140px,.55fr) minmax(220px,1.2fr) minmax(135px,.62fr) minmax(150px,.7fr) minmax(145px,.68fr) auto; gap:10px; align-items:end; }
.work-result-search .search-actions { display:flex; gap:7px; justify-content:flex-end; flex-wrap:wrap; }
.work-area-summary { margin:18px 0 20px; padding:18px; border:1px solid #d8ece3; border-radius:16px; background:linear-gradient(180deg,#fbfefc 0%,#f4faf6 100%); }
.work-area-summary-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:12px; }
.work-area-summary-head h3 { margin:2px 0 0; font-size:1.15rem; color:#173b29; }
.work-area-summary-head p { margin:0; color:#64748b; font-size:13px; line-height:1.45; text-align:right; }
.work-area-summary-table th, .work-area-summary-table td { text-align:center; }
.work-area-summary-table th:first-child, .work-area-summary-table td:first-child { text-align:left; width:auto; }
.work-area-summary-table td strong { color:#125a36; }

.work-result-table th:nth-child(1), .work-result-table td:nth-child(1) { width:135px; }
.work-result-table th:nth-child(2), .work-result-table td:nth-child(2) { width:165px; }
.work-result-table th:nth-child(3), .work-result-table td:nth-child(3) { width:155px; }
.work-result-table th:nth-child(4), .work-result-table td:nth-child(4) { width:210px; }
.work-result-table th:nth-child(5), .work-result-table td:nth-child(5) { width:auto; min-width:210px; }
.work-result-table th:nth-child(6), .work-result-table td:nth-child(6),
.work-result-table th:nth-child(7), .work-result-table td:nth-child(7),
.work-result-table th:nth-child(8), .work-result-table td:nth-child(8) { width:76px; }
.work-result-table th:nth-child(9), .work-result-table td:nth-child(9) { width:145px; }

.work-area-log-summary-table th, .work-area-log-summary-table td { width:16%; }
.work-area-log-summary-table th:first-child, .work-area-log-summary-table td:first-child { width:36%; }
.work-log-detail-table th:nth-child(1), .work-log-detail-table td:nth-child(1) { width:11%; }
.work-log-detail-table th:nth-child(2), .work-log-detail-table td:nth-child(2) { width:13%; }
.work-log-detail-table th:nth-child(3), .work-log-detail-table td:nth-child(3) { width:15%; }
.work-log-detail-table th:nth-child(4), .work-log-detail-table td:nth-child(4) { width:18%; }
.work-log-detail-table th:nth-child(5), .work-log-detail-table td:nth-child(5) { width:auto; }
.work-log-detail-table th:nth-child(6), .work-log-detail-table td:nth-child(6),
.work-log-detail-table th:nth-child(7), .work-log-detail-table td:nth-child(7),
.work-log-detail-table th:nth-child(8), .work-log-detail-table td:nth-child(8) { width:6%; }

@media (max-width: 1120px) {
  .work-class-two-level { grid-template-columns:1fr; }
  .work-task-search { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .work-task-search .search-grow, .work-task-search .search-actions { grid-column:1 / -1; }
  .work-result-search { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .work-result-search .search-grow, .work-result-search .search-actions { grid-column:1 / -1; }
}
@media (max-width: 720px) {
  .work-task-meta-line, .work-task-search, .work-result-search { grid-template-columns:1fr; }
  .work-task-search .search-grow, .work-task-search .search-actions,
  .work-result-search .search-grow, .work-result-search .search-actions { grid-column:auto; }
  .work-area-summary { padding:14px 12px; }
  .work-area-summary-head { display:block; }
  .work-area-summary-head p { margin-top:7px; text-align:left; }
  .work-result-table th:nth-child(3), .work-result-table td:nth-child(3) { display:table-cell; width:auto; }
  .work-result-table th:nth-child(4), .work-result-table td:nth-child(4) { display:none; }
  .work-result-table th:nth-child(9), .work-result-table td:nth-child(9) { width:auto; }
}
@media print {
  .work-area-log-summary-table th, .work-area-log-summary-table td { font-size:8.5pt; padding:4px; }
  .work-log-detail-table th, .work-log-detail-table td { font-size:7.5pt; padding:3.5px; }
}

/* 업무실적합계 */
.work-summary-search .field { margin-bottom:0; flex:1 1 150px; }
.work-summary-search .field:nth-child(4),
.work-summary-search .field:nth-child(5) { flex-basis:190px; }
.work-summary-search .search-actions { display:flex; gap:7px; flex-wrap:wrap; align-items:center; }
.work-total-overview-table th,
.work-total-overview-table td { width:16.66%; }
.work-summary-area-table th:first-child,
.work-summary-area-table td:first-child { width:38%; }
.work-summary-detail-table th:nth-child(1),
.work-summary-detail-table td:nth-child(1) { width:20%; }
.work-summary-detail-table th:nth-child(2),
.work-summary-detail-table td:nth-child(2) { width:30%; }
.work-summary-staff-table th:first-child,
.work-summary-staff-table td:first-child { width:38%; }
.work-summary-staff-table small { color:#64748b; }
@media (max-width:860px) {
  .work-summary-search .field { width:100%; }
  .work-summary-search .search-actions { width:100%; }
}
@media print {
  .work-summary-detail-section { break-inside:auto; page-break-inside:auto; }
  .work-summary-sheet thead { display:table-header-group; }
  .work-summary-sheet tfoot { display:table-footer-group; }
  .work-summary-sheet tr { break-inside:avoid; page-break-inside:avoid; }
  .work-summary-sheet .operation-table th,
  .work-summary-sheet .operation-table td { font-size:8pt; padding:4px; }
}

/* 업무실적 화면 글자크기 통일 */
.work-result-page-head .attendance-head-actions .btn,
.work-result-toolbar-panel .btn,
.work-result-panel .btn {
  font-size:13px;
  line-height:1.4;
}
.work-result-page-head .attendance-head-actions .btn,
.work-result-toolbar-panel .btn,
.work-result-panel .attendance-head-actions .btn {
  min-height:40px;
  padding:8px 13px;
}
.work-result-toolbar-panel,
.work-result-panel {
  font-size:13px;
  line-height:1.45;
}
.work-result-search .field label,
.work-result-search .field input,
.work-result-search .field select,
.work-result-search .search-actions .btn {
  font-size:13px;
  line-height:1.4;
}
.work-result-search .field label {
  font-weight:800;
}
.work-result-panel .attendance-head h2 {
  font-size:20px;
  line-height:1.35;
}
.work-result-panel .panel-kicker {
  font-size:12px;
}
.work-result-form .program-bulk-actions,
.work-result-form .program-bulk-actions .bulk-title,
.work-result-form .program-bulk-actions .bulk-help,
.work-result-form .program-bulk-actions .btn {
  font-size:13px;
  line-height:1.45;
}
.work-result-form .program-bulk-actions .btn {
  min-height:36px;
  padding:7px 11px;
}
.work-result-table,
.work-result-table th,
.work-result-table td,
.work-result-table .sort-link,
.work-result-table .work-staff-select,
.work-result-table .detail-content-input,
.work-result-table .count-input,
.work-result-table .program-row-actions .btn {
  font-size:13px;
  line-height:1.45;
}
.work-result-table th,
.work-result-table td {
  padding:12px 10px;
}
.work-result-table .sort-link {
  min-height:24px;
}
.work-result-table .work-staff-select,
.work-result-table .detail-content-input,
.work-result-table .count-input {
  font-size:13px;
}
.work-result-table .program-row-actions .btn {
  min-height:32px;
  padding:6px 9px;
}
.work-result-form .attendance-summary,
.work-result-form .attendance-summary span,
.work-result-form .attendance-summary strong,
.work-result-form .attendance-summary .btn {
  font-size:13px;
  line-height:1.45;
}
@media (max-width:720px) {
  .work-result-page-head .attendance-head-actions .btn,
  .work-result-toolbar-panel .btn,
  .work-result-panel .btn {
    font-size:13px;
  }
  .work-result-table th,
  .work-result-table td {
    padding:10px 8px;
  }
}


/* 기관일정 */
.institution-schedule-toolbar-panel { padding:16px; }
.institution-schedule-form { margin:0; }
.institution-schedule-panel { overflow:hidden; }
.institution-schedule-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.institution-schedule-field { display:flex; flex-direction:column; min-width:0; padding:16px; border:1px solid #d8e9e0; border-radius:16px; background:#fbfdfc; }
.institution-schedule-field label { display:flex; flex-direction:column; gap:4px; margin-bottom:10px; }
.institution-schedule-field label strong { color:#176b43; font-size:1rem; font-weight:900; }
.institution-schedule-field label span { color:#64748b; font-size:.82rem; line-height:1.4; }
.institution-schedule-field textarea { width:100%; min-height:150px; padding:12px 13px; border:1px solid #cfdad5; border-radius:10px; background:#fff; color:var(--ink); line-height:1.55; resize:vertical; outline:none; }
.institution-schedule-field textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(47,143,78,.12); }
.institution-schedule-summary { margin-top:16px; }
.institution-schedule-log-table { table-layout:fixed; }
.institution-schedule-log-table th,
.institution-schedule-log-table td { width:33.333%; }
.institution-schedule-log-table td { min-height:72px; vertical-align:top; white-space:normal; word-break:break-word; }

@media (max-width:900px) {
  .institution-schedule-fields { grid-template-columns:1fr; }
  .institution-schedule-field textarea { min-height:120px; }
}

@media print {
  .institution-schedule-log-table { table-layout:fixed; }
  .institution-schedule-log-table th,
  .institution-schedule-log-table td { width:33.333%; }
  .institution-schedule-log-table td { min-height:42px; vertical-align:top; white-space:normal; word-break:break-word; }
}

/* 출장 첨부파일 수정 화면: 기존 파일과 새 파일 선택을 명확히 구분 */
.attachment-upload-box { border: 1px solid var(--line); border-radius: 10px; padding: 12px; background: #fff; }
.attachment-field .current-file { margin-top: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.attachment-field .current-file strong { color: var(--ink); }
.attachment-field .empty-current-file { color: var(--muted); }
.attachment-field .attachment-remove { display: inline-flex; align-items: center; gap: 5px; margin-left: 2px; }
.attachment-new-file { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 10px; }
.attachment-file-input { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.attachment-file-button { cursor: pointer; margin: 0; }
.attachment-file-name { min-width: 220px; color: var(--muted); font-size: 13px; line-height: 1.5; word-break: break-all; }
.attachment-file-name.has-file { color: var(--ink); font-weight: 700; }
.attachment-help { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
@media (max-width: 640px) { .attachment-file-name { min-width: 0; width: 100%; } }


/* ============================================================
   결재란 표준 디자인
   - 제공된 이미지와 동일한 2행 4열 표 구조
   - 왼쪽 결/재 통합칸, 담당/팀장/원장 제목칸과 서명칸
   ============================================================ */
.document-approval-box {
  width:270px;
  height:76px;
  margin:0;
  border-collapse:collapse;
  border-spacing:0;
  table-layout:fixed;
  background:#fff;
  color:#111;
  box-shadow:none;
  border-radius:0;
  overflow:visible;
  font-family:'Malgun Gothic','맑은 고딕',sans-serif;
  line-height:1;
  flex:0 0 auto;
}
.document-approval-box th,
.document-approval-box td {
  padding:0;
  border:1px solid #9aa4b2;
  background:#fff;
  color:#111;
  text-align:center;
  vertical-align:middle;
  box-sizing:border-box;
}
.document-approval-box th {
  height:31px;
  font-size:13px;
  line-height:31px;
  font-weight:800;
  white-space:nowrap;
}
.document-approval-box td {
  height:45px;
  font-size:12px;
}
.document-approval-box .document-approval-label {
  width:48px;
  height:76px;
  font-size:13px;
  line-height:1;
  font-weight:800;
  white-space:normal;
}
.document-approval-box .document-approval-label span {
  display:block;
  width:100%;
  line-height:1;
}
.document-approval-box .document-approval-label span + span {
  margin-top:20px;
}
.document-approval-box th:not(.document-approval-label),
.document-approval-box td {
  width:74px;
}
.operation-title .document-approval-box {
  position:static;
  justify-self:end;
  z-index:2;
}
.trip-print-card > .document-approval-box {
  position:absolute;
  top:13mm;
  right:12mm;
  z-index:2;
}
@media (max-width:720px) {
  .operation-title .document-approval-box {
    justify-self:center;
    margin:0 auto;
  }
}
@media print {
  .document-approval-box {
    width:56mm;
    height:20mm;
    margin:0;
    background:#fff !important;
    color:#000 !important;
    break-inside:avoid;
    page-break-inside:avoid;
  }
  .document-approval-box th,
  .document-approval-box td {
    border-color:#7f8996;
    background:#fff !important;
    color:#000 !important;
  }
  .document-approval-box th {
    height:8mm;
    font-size:9pt;
    line-height:8mm;
  }
  .document-approval-box td {
    height:12mm;
  }
  .document-approval-box .document-approval-label {
    width:10mm;
    height:20mm;
    font-size:9pt;
  }
  .document-approval-box .document-approval-label span + span {
    margin-top:5mm;
  }
  .document-approval-box th:not(.document-approval-label),
  .document-approval-box td {
    width:15.333mm;
  }
  .operation-title .document-approval-box {
    position:absolute;
    top:0;
    right:0;
    justify-self:auto;
  }
  .trip-print-card > .document-approval-box {
    position:absolute;
    top:13mm;
    right:12mm;
  }
}


/* ============================================================
   2026-07-16 출석부·급식 월현황 인쇄 / 결재란 사각형 선 정렬
   ============================================================ */
.document-approval-box {
  width:270px !important;
  height:76px !important;
  border:1px solid #7f8996 !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  table-layout:fixed !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  background:#fff !important;
}
.document-approval-box tr:first-child { height:30px !important; }
.document-approval-box tr:last-child { height:44px !important; }
.document-approval-box th,
.document-approval-box td {
  height:auto !important;
  padding:0 !important;
  border:0 !important;
  box-sizing:border-box !important;
  background:#fff !important;
  text-align:center !important;
  vertical-align:middle !important;
}
.document-approval-box .document-approval-label {
  width:48px !important;
  height:74px !important;
  border:0 !important;
}
.document-approval-box tr:first-child > th:not(.document-approval-label) {
  width:73.333px !important;
  border-left:1px solid #7f8996 !important;
  border-bottom:1px solid #7f8996 !important;
  line-height:30px !important;
}
.document-approval-box tr:last-child > td {
  width:73.333px !important;
  border-left:1px solid #7f8996 !important;
}
.document-approval-box .document-approval-label span + span { margin-top:20px !important; }

.monthly-record-toolbar { margin-bottom:18px; }
.monthly-record-search { display:grid; grid-template-columns:160px minmax(240px,1fr) 145px auto; gap:12px; align-items:end; }
.meal-month-search { grid-template-columns:150px 130px minmax(220px,1fr) 135px auto; }
.monthly-record-sheet { padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow); }
.record-title-row { display:grid; grid-template-columns:270px minmax(0,1fr) 270px; align-items:start; gap:10px; margin-bottom:12px; }
.record-title-text { text-align:center; }
.record-title-text h1 { margin:0; font-size:26px; letter-spacing:.06em; }
.record-title-text p { margin:4px 0 0; color:var(--muted); font-weight:700; }
.record-month-nav { display:flex; justify-content:flex-end; gap:8px; margin-bottom:12px; }
.monthly-record-table-wrap { overflow-x:auto; }
.monthly-record-table { width:100%; min-width:1320px; border-collapse:collapse; table-layout:fixed; font-size:10px; background:#fff; }
.monthly-record-table th,
.monthly-record-table td { border:1px solid #8b96a3; padding:3px 2px; height:27px; text-align:center; vertical-align:middle; line-height:1.15; }
.monthly-record-table th { background:#f3f6f8; font-weight:800; }
.monthly-record-table .record-no { width:32px; }
.monthly-record-table .record-code { width:58px; }
.monthly-record-table .record-name { width:72px; }
.monthly-record-table .record-group { width:48px; }
.monthly-record-table .record-day { width:28px; }
.monthly-record-table .record-day span,
.monthly-record-table .record-day small { display:block; line-height:1.05; }
.monthly-record-table .record-day small { margin-top:2px; font-size:8px; font-weight:700; }
.monthly-record-table .record-total { width:34px; }
.monthly-record-table .record-client-name { font-weight:800; white-space:nowrap; }
.monthly-record-table .sunday { background:#fff2f2; color:#a82121; }
.monthly-record-table .saturday { background:#f1f6ff; color:#245d9c; }
.monthly-record-table tfoot th,
.monthly-record-table tfoot td { background:#e9eef2; font-weight:800; }
.record-legend { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; margin-top:10px; color:#4b5563; font-size:12px; font-weight:700; }
@media (max-width:900px) {
  .monthly-record-search, .meal-month-search { grid-template-columns:1fr; }
  .record-title-row { grid-template-columns:1fr; }
  .record-title-spacer { display:none; }
  .record-title-row .document-approval-box { justify-self:center; }
}
@page monthly-landscape { size:A4 landscape; margin:7mm; }
@media print {
  .landscape-record-sheet { page:monthly-landscape; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; overflow:visible !important; }
  .record-title-row { grid-template-columns:56mm minmax(0,1fr) 56mm; gap:2mm; margin:0 0 3mm; align-items:start; }
  .record-title-text h1 { font-size:16pt; letter-spacing:.02em; }
  .record-title-text p { margin-top:1mm; color:#000; font-size:9pt; }
  .monthly-record-table-wrap { overflow:visible !important; }
  .monthly-record-table { min-width:0 !important; width:100% !important; table-layout:fixed !important; font-size:5.7pt !important; }
  .monthly-record-table th,
  .monthly-record-table td { border-color:#555 !important; height:5.6mm !important; padding:.35mm .2mm !important; line-height:1.05 !important; }
  .monthly-record-table th { background:#f1f1f1 !important; color:#000 !important; }
  .monthly-record-table .record-no { width:6mm !important; }
  .monthly-record-table .record-code { width:10mm !important; }
  .monthly-record-table .record-name { width:13mm !important; }
  .monthly-record-table .record-group { width:8mm !important; }
  .monthly-record-table .record-day { width:auto !important; }
  .monthly-record-table .record-total { width:6.5mm !important; }
  .monthly-record-table .record-day small { font-size:4.8pt !important; }
  .monthly-record-table .sunday,
  .monthly-record-table .saturday { background:#fff !important; color:#000 !important; }
  .monthly-record-table thead { display:table-header-group; }
  .monthly-record-table tfoot { display:table-row-group; }
  .monthly-record-table tr { break-inside:avoid; page-break-inside:avoid; }
  .record-legend { margin-top:2mm; gap:5mm; color:#000; font-size:7pt; }
  .document-approval-box {
    width:56mm !important;
    height:20mm !important;
    border:0.25mm solid #555 !important;
  }
  .document-approval-box tr:first-child { height:8mm !important; }
  .document-approval-box tr:last-child { height:11.5mm !important; }
  .document-approval-box .document-approval-label { width:10mm !important; height:19.5mm !important; }
  .document-approval-box tr:first-child > th:not(.document-approval-label),
  .document-approval-box tr:last-child > td { width:15.166mm !important; border-left:0.25mm solid #555 !important; }
  .document-approval-box tr:first-child > th:not(.document-approval-label) { border-bottom:0.25mm solid #555 !important; line-height:8mm !important; }
  .document-approval-box .document-approval-label span + span { margin-top:5mm !important; }
}

/* ============================================================
   2026-07-16 급식 등록현황 월 달력 인쇄
   ============================================================ */
.meal-menu-calendar-toolbar { margin-bottom:18px; }
.meal-menu-calendar-search { display:flex; gap:12px; align-items:end; }
.meal-menu-calendar-search .field { width:180px; }
.meal-menu-calendar-sheet {
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
}
.meal-menu-calendar-title-row { margin-bottom:12px; }
.meal-menu-calendar {
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  background:#fff;
}
.meal-menu-calendar th,
.meal-menu-calendar td {
  border:1px solid #7f8996;
  box-sizing:border-box;
}
.meal-menu-calendar th {
  height:36px;
  padding:7px 4px;
  background:#f3f6f8;
  text-align:center;
  font-size:13px;
  font-weight:800;
}
.meal-menu-calendar td {
  height:145px;
  padding:7px;
  vertical-align:top;
}
.meal-menu-calendar .sunday { color:#b42318; background:#fff4f2; }
.meal-menu-calendar .saturday { color:#175cd3; background:#eff8ff; }
.meal-menu-calendar .calendar-empty { background:#f8fafc; }
.calendar-day-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  margin-bottom:6px;
  padding-bottom:5px;
  border-bottom:1px solid #e5e7eb;
}
.calendar-day-number { font-size:16px; font-weight:900; }
.calendar-edit-link { font-size:11px; font-weight:700; color:var(--brand); text-decoration:none; }
.calendar-meal-list { display:flex; flex-direction:column; gap:4px; }
.calendar-meal-row {
  display:grid;
  grid-template-columns:31px minmax(0,1fr);
  gap:4px;
  align-items:start;
  font-size:11px;
  line-height:1.25;
}
.calendar-meal-row strong {
  display:block;
  border-radius:4px;
  background:#edf2f7;
  padding:2px 3px;
  text-align:center;
  font-size:10px;
  white-space:nowrap;
}
.calendar-meal-row span {
  min-width:0;
  overflow-wrap:anywhere;
  white-space:pre-line;
}
.calendar-meal-row small {
  grid-column:2;
  display:block;
  color:#667085;
  font-size:9px;
  overflow-wrap:anywhere;
}
.calendar-no-menu {
  padding-top:22px;
  color:#98a2b3;
  text-align:center;
  font-size:11px;
  font-weight:700;
}
.meal-menu-calendar-summary {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:14px;
  margin-top:10px;
  color:#475467;
  font-size:12px;
}
@media (max-width:900px) {
  .meal-menu-calendar-search { align-items:stretch; flex-direction:column; }
  .meal-menu-calendar-search .field { width:100%; }
  .meal-menu-calendar-sheet { overflow-x:auto; }
  .meal-menu-calendar { min-width:980px; }
}
@page meal-menu-calendar-landscape { size:A4 landscape; margin:7mm; }
@media print {
  .meal-menu-calendar-sheet {
    page:meal-menu-calendar-landscape;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  .meal-menu-calendar-title-row {
    grid-template-columns:56mm minmax(0,1fr) 56mm !important;
    gap:2mm !important;
    margin:0 0 3mm !important;
  }
  .meal-menu-calendar {
    width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
    page-break-inside:avoid;
  }
  .meal-menu-calendar th,
  .meal-menu-calendar td {
    border:0.25mm solid #555 !important;
    color:#000 !important;
  }
  .meal-menu-calendar th {
    height:7mm !important;
    padding:1mm !important;
    background:#f1f1f1 !important;
    font-size:8pt !important;
  }
  .meal-menu-calendar td {
    height:25mm !important;
    padding:1.1mm !important;
    background:#fff !important;
  }
  .meal-menu-calendar .calendar-empty,
  .meal-menu-calendar .sunday,
  .meal-menu-calendar .saturday {
    background:#fff !important;
    color:#000 !important;
  }
  .calendar-day-head {
    margin-bottom:1mm !important;
    padding-bottom:.7mm !important;
    border-bottom:0.2mm solid #aaa !important;
  }
  .calendar-day-number { font-size:9pt !important; }
  .calendar-meal-list { gap:.7mm !important; }
  .calendar-meal-row {
    grid-template-columns:8mm minmax(0,1fr) !important;
    gap:.8mm !important;
    font-size:6.4pt !important;
    line-height:1.12 !important;
  }
  .calendar-meal-row strong {
    padding:.3mm .4mm !important;
    border:0.2mm solid #aaa !important;
    border-radius:0 !important;
    background:#fff !important;
    font-size:6pt !important;
  }
  .calendar-meal-row small { font-size:5.5pt !important; color:#000 !important; }
  .calendar-meal-row span { max-height:5.8mm; overflow:hidden; }
  .calendar-no-menu { padding-top:7mm !important; color:#777 !important; font-size:6pt !important; }
  .meal-menu-calendar-summary { margin-top:2mm !important; gap:5mm !important; color:#000 !important; font-size:7pt !important; }
}

/* ============================================================
   2026-07-16 공통 결재란 최종 고정형 GRID
   - 한 개의 외곽 사각형과 공유 격자선으로 선 깨짐·어긋남 방지
   - 왼쪽 통합칸: 결 / 한 줄 여백 / 재
   - 오른쪽: 담당·팀장·원장 / 하단 서명 빈칸
   ============================================================ */
.document-approval-box {
  display:grid !important;
  grid-template-columns:48px repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows:30px 46px !important;
  width:270px !important;
  height:76px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid #8f99a8 !important;
  border-collapse:initial !important;
  border-spacing:0 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  background:#fff !important;
  color:#111 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-family:'Malgun Gothic','맑은 고딕',sans-serif !important;
  line-height:1 !important;
  flex:0 0 auto !important;
  break-inside:avoid !important;
  page-break-inside:avoid !important;
}
.document-approval-box > div {
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-sizing:border-box !important;
  background:#fff !important;
  color:#111 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  vertical-align:middle !important;
}
.document-approval-box .document-approval-label {
  grid-column:1 !important;
  grid-row:1 / 3 !important;
  width:auto !important;
  height:auto !important;
  border-right:1px solid #8f99a8 !important;
  flex-direction:column !important;
  gap:18px !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:normal !important;
}
.document-approval-box .document-approval-label span {
  display:block !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
}
.document-approval-box .document-approval-label span + span {
  margin-top:0 !important;
}
.document-approval-box .document-approval-head {
  grid-row:1 !important;
  border-bottom:1px solid #8f99a8 !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:30px !important;
  white-space:nowrap !important;
}
.document-approval-box .document-approval-sign {
  grid-row:2 !important;
  font-size:12px !important;
}
.document-approval-box .approval-staff { grid-column:2 !important; }
.document-approval-box .approval-team { grid-column:3 !important; border-left:1px solid #8f99a8 !important; }
.document-approval-box .approval-director { grid-column:4 !important; border-left:1px solid #8f99a8 !important; }

/* 대장 제목도 모든 화면과 인쇄에서 같은 3단 정렬을 사용 */
.ledger-title-row {
  display:grid;
  grid-template-columns:270px minmax(0, 1fr) 270px;
  align-items:start;
  gap:10px;
  margin:0 0 14px;
}
.ledger-title-row .ledger-title { text-align:center; }
.ledger-title-row .document-approval-box { justify-self:end; }

@media (max-width:900px) {
  .ledger-title-row { grid-template-columns:1fr; }
  .ledger-title-row .ledger-title-spacer { display:none; }
  .ledger-title-row .document-approval-box { justify-self:center; }
}

@media print {
  .document-approval-box {
    grid-template-columns:10mm repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows:8mm 12mm !important;
    width:56mm !important;
    height:20mm !important;
    border:0.25mm solid #444 !important;
    background:#fff !important;
    color:#000 !important;
    print-color-adjust:exact;
    -webkit-print-color-adjust:exact;
  }
  .document-approval-box > div {
    background:#fff !important;
    color:#000 !important;
  }
  .document-approval-box .document-approval-label {
    border-right:0.25mm solid #444 !important;
    gap:5mm !important;
    font-size:9pt !important;
  }
  .document-approval-box .document-approval-head {
    border-bottom:0.25mm solid #444 !important;
    font-size:9pt !important;
    line-height:8mm !important;
  }
  .document-approval-box .approval-team,
  .document-approval-box .approval-director {
    border-left:0.25mm solid #444 !important;
  }
  .ledger-title-row {
    grid-template-columns:56mm minmax(0, 1fr) 56mm !important;
    gap:2mm !important;
    margin:0 0 3mm !important;
    align-items:start !important;
  }
}


/* ============================================================
   2026-07-16 출석부·급식 월현황·급식 등록현황 인쇄 제목 정렬
   - 제목은 인쇄용지의 정확한 가로 중앙
   - 결재란은 우측 상단 고정
   ============================================================ */
@media print {
  .record-title-row.print-centered-title-row {
    display:block !important;
    position:relative !important;
    min-height:20mm !important;
    width:100% !important;
    margin:0 0 3mm !important;
  }
  .record-title-row.print-centered-title-row .record-title-spacer {
    display:none !important;
  }
  .record-title-row.print-centered-title-row .record-title-text {
    position:absolute !important;
    top:0 !important;
    left:50% !important;
    width:110mm !important;
    max-width:110mm !important;
    margin:0 !important;
    padding:0 !important;
    transform:translateX(-50%) !important;
    text-align:center !important;
    z-index:1 !important;
  }
  .record-title-row.print-centered-title-row .record-title-text h1,
  .record-title-row.print-centered-title-row .record-title-text p {
    text-align:center !important;
  }
  .record-title-row.print-centered-title-row .document-approval-box {
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    left:auto !important;
    margin:0 !important;
    transform:none !important;
    justify-self:auto !important;
    z-index:2 !important;
  }
}


/* ============================================================
   2026-07-16 모든 인쇄물 A4 세로/가로 선택
   - 공통 인쇄버튼 앞에 방향 선택 표시
   - 선택값은 화면과 인쇄 미리보기에 동일하게 적용
   ============================================================ */
.print-orientation-control {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:0 10px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
  color:#334155;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  box-sizing:border-box;
}
.print-orientation-caption {
  line-height:1;
}
.print-orientation-select {
  min-width:88px;
  height:30px;
  padding:0 27px 0 8px;
  border:1px solid #94a3b8;
  border-radius:7px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-weight:600;
  cursor:pointer;
}
.print-orientation-select:focus {
  outline:2px solid rgba(37,99,235,.28);
  outline-offset:1px;
  border-color:#2563eb;
}

@media (max-width:720px) {
  .print-orientation-control {
    width:100%;
    justify-content:space-between;
  }
  .print-orientation-select {
    flex:1 1 auto;
  }
}

@media print {
  .print-orientation-control {
    display:none !important;
  }

  /* 가로용 표를 세로로 선택한 경우에도 잘리지 않도록 글자와 여백을 자동 축소 */
  html[data-print-orientation="portrait"] .landscape-ledger-page table,
  html[data-print-orientation="portrait"] .landscape-record-sheet table,
  html[data-print-orientation="portrait"] .meal-menu-calendar-sheet table,
  html[data-print-orientation="portrait"] .work-log-print table,
  html[data-print-orientation="portrait"] .work-summary-print table {
    width:100% !important;
    table-layout:fixed !important;
    font-size:7pt !important;
  }
  html[data-print-orientation="portrait"] .landscape-ledger-page th,
  html[data-print-orientation="portrait"] .landscape-ledger-page td,
  html[data-print-orientation="portrait"] .landscape-record-sheet th,
  html[data-print-orientation="portrait"] .landscape-record-sheet td,
  html[data-print-orientation="portrait"] .meal-menu-calendar-sheet th,
  html[data-print-orientation="portrait"] .meal-menu-calendar-sheet td {
    padding:1mm .55mm !important;
    line-height:1.15 !important;
    overflow-wrap:anywhere !important;
    word-break:break-all !important;
  }
  html[data-print-orientation="portrait"] .meal-menu-calendar-sheet .meal-calendar-day {
    min-height:25mm !important;
  }
  html[data-print-orientation="portrait"] .meal-menu-calendar-sheet .meal-calendar-menu,
  html[data-print-orientation="portrait"] .meal-menu-calendar-sheet .meal-calendar-empty {
    font-size:6.5pt !important;
    line-height:1.12 !important;
  }

  /* 세로 선택 시 중앙 제목과 우측 결재란이 겹치지 않도록 제목 폭만 축소 */
  html[data-print-orientation="portrait"] .record-title-row.print-centered-title-row .record-title-text {
    width:70mm !important;
    max-width:70mm !important;
  }
  html[data-print-orientation="portrait"] .record-title-row.print-centered-title-row .record-title-text h1 {
    font-size:15pt !important;
    line-height:1.2 !important;
  }
  html[data-print-orientation="portrait"] .record-title-row.print-centered-title-row .record-title-text p {
    font-size:8pt !important;
  }
}


/* ============================================================
   2026-07-16 사업등록현황·업무등록현황 인쇄
   - 현재 조회·정렬 결과를 결재란과 함께 출력
   - 화면에서는 기존 등록 관리표 유지, 인쇄물은 관리버튼 제외
   ============================================================ */
.registration-status-print {
  width:100%;
  max-width:none;
  margin:0;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
  box-sizing:border-box;
}
.registration-status-title-row { margin-bottom:14px; }
.registration-print-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 10px;
  color:#475569;
  font-size:12px;
  font-weight:700;
}
.registration-status-table {
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  background:#fff;
  color:#111;
  font-size:12px;
}
.registration-status-table th,
.registration-status-table td {
  border:1px solid #8f99a8;
  padding:8px 7px;
  text-align:center;
  vertical-align:middle;
  line-height:1.35;
  overflow-wrap:anywhere;
  word-break:keep-all;
}
.registration-status-table th {
  background:#f3f6f8;
  font-weight:800;
}
.registration-status-table .registration-text-left { text-align:left; }
.registration-status-table .registration-empty { height:70px; color:#64748b; }
.registration-status-table .registration-col-no { width:6%; }
.registration-status-table .registration-col-area { width:22%; }
.program-registration-status-table .registration-col-detail { width:62%; }
.registration-status-table .registration-col-status { width:10%; }
.work-registration-status-table .registration-col-area { width:17%; }
.work-registration-status-table .registration-col-task { width:19%; }
.work-registration-status-table .registration-col-staff { width:14%; }
.work-registration-status-table .registration-col-detail { width:35%; }
.work-registration-status-table .registration-col-status { width:9%; }
.registration-print-footer {
  margin-top:8px;
  color:#64748b;
  font-size:11px;
  text-align:right;
}

@media print {
  .registration-status-print {
    page:monthly-landscape;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  .registration-status-title-row {
    margin-bottom:3mm !important;
  }
  .registration-print-meta {
    margin:0 0 2mm !important;
    color:#000 !important;
    font-size:8pt !important;
  }
  .registration-status-table {
    width:100% !important;
    table-layout:fixed !important;
    font-size:8pt !important;
  }
  .registration-status-table thead { display:table-header-group; }
  .registration-status-table tr {
    break-inside:avoid;
    page-break-inside:avoid;
  }
  .registration-status-table th,
  .registration-status-table td {
    border:0.25mm solid #555 !important;
    padding:1.5mm 1.2mm !important;
    color:#000 !important;
    line-height:1.25 !important;
  }
  .registration-status-table th {
    background:#f1f1f1 !important;
    print-color-adjust:exact;
    -webkit-print-color-adjust:exact;
  }
  .registration-status-table .registration-empty { height:24mm !important; }
  .registration-print-footer {
    margin-top:2mm !important;
    color:#000 !important;
    font-size:7pt !important;
  }

  html[data-print-orientation="portrait"] .registration-status-table {
    font-size:7pt !important;
  }
  html[data-print-orientation="portrait"] .registration-status-table th,
  html[data-print-orientation="portrait"] .registration-status-table td {
    padding:1mm .7mm !important;
    line-height:1.18 !important;
    word-break:break-all !important;
  }
}

/* ============================================================
   2026-07-16 모든 인쇄 문서 페이지 번호
   - 여러 장 출력 시 각 장 하단 중앙에 현재번호 / 전체번호 표시
   - Chrome·Edge의 CSS Paged Media margin box 사용
   - 세로·가로 및 이름 있는 @page에도 공통 적용
   ============================================================ */
@media print {
  @page {
    @bottom-center {
      content: counter(page) " / " counter(pages);
      font-family: "Malgun Gothic", "Apple SD Gothic Neo", Arial, sans-serif;
      font-size: 8pt;
      font-weight: 600;
      line-height: 1;
      color: #475569;
      vertical-align: middle;
    }
  }
}


/* 업무등록 담당자 일괄 수정 */
.work-bulk-panel { padding:20px 22px; }
.work-bulk-head { align-items:flex-start; gap:16px; }
.work-bulk-head p { margin:5px 0 0; color:#64748b; font-size:13px; line-height:1.5; }
.work-bulk-count { flex:0 0 auto; display:inline-flex; align-items:center; gap:4px; padding:7px 11px; border:1px solid #dbe7e0; border-radius:999px; background:#f8fbf9; color:#52645b; font-size:13px; font-weight:800; }
.work-bulk-count strong { color:#0f7a44; font-size:15px; }
.work-bulk-form { display:grid; grid-template-columns:minmax(240px, 380px) minmax(0, 1fr); gap:12px 16px; align-items:end; margin-top:16px; }
.work-bulk-staff-field select { width:100%; min-height:42px; }
.work-bulk-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding-bottom:1px; }
.work-bulk-help { margin-top:10px; color:#64748b; font-size:12px; line-height:1.5; }
.work-select-col { width:44px; min-width:44px; text-align:center !important; }
.work-task-checkbox { width:17px; height:17px; margin:0; accent-color:#15803d; cursor:pointer; vertical-align:middle; }
@media (max-width:900px) {
  .work-bulk-form { grid-template-columns:1fr; }
  .work-bulk-actions { align-items:stretch; }
}
@media (max-width:620px) {
  .work-bulk-panel { padding:17px 16px; }
  .work-bulk-head { flex-direction:column; }
  .work-bulk-actions { flex-direction:column; }
  .work-bulk-actions .btn { width:100%; }
}


/* 업무등록 목록 담당자 개별 지정·저장 */
.work-row-staff-cell { min-width:250px; }
.work-row-staff-form { display:flex; align-items:center; justify-content:center; gap:6px; margin:0; }
.work-row-staff-form select { flex:1 1 auto; min-width:145px; max-width:190px; min-height:35px; padding:6px 30px 6px 9px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#1f2937; font-size:13px; }
.work-row-staff-save { flex:0 0 auto; min-height:35px; padding:7px 10px; font-size:12px; line-height:1; white-space:nowrap; }
.work-row-staff-form:focus-within select { border-color:#15803d; box-shadow:0 0 0 2px rgba(21,128,61,.10); outline:none; }
@media (max-width:900px) {
  .work-row-staff-cell { min-width:225px; }
  .work-row-staff-form { align-items:stretch; flex-direction:column; }
  .work-row-staff-form select { width:100%; max-width:none; }
  .work-row-staff-save { width:100%; }
}
@media print {
  .work-row-staff-form { display:none !important; }
}

/* 모든 인쇄표의 합계행 상단선 보강 */
@media print {
  table tfoot tr:first-child > th,
  table tfoot tr:first-child > td { border-top:1px solid #333 !important; }
}


/* 초과근무 신청·보고 근무시간 합계 */
.overtime-total-row > th,
.overtime-total-row > td { border-top:2px solid #7a8f84 !important; background:#f1f7f3; font-weight:800; }
.overtime-total-row > th { color:#215e3c; text-align:center; }
.overtime-total-row > td strong { color:#0f5132; font-size:1.04em; }
@media print {
  .overtime-total-row > th,
  .overtime-total-row > td { border-top:1px solid #222 !important; background:#e9ecea !important; color:#000 !important; }
  .overtime-total-row > td strong { color:#000 !important; }
}

/* ============================================================
   2026-07-16 초과근무 신청·보고 화면 압축형 카드 배치
   - 날짜·시간 6칸 가로 배치
   - 내용·비고 2칸 배치
   - 목록 내용 한 줄 말줄임 및 합계 카드화
   ============================================================ */
.overtime-content-summary { max-width:320px; }
.overtime-content-summary strong {
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.35;
}
.overtime-summary-cards {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
  padding:14px 18px 18px;
  border-top:1px solid #edf1ef;
  background:#fbfdfc;
}
.overtime-summary-card {
  min-width:0;
  padding:12px 14px;
  border:1px solid #dfe9e3;
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 16px rgba(34,67,53,.05);
}
.overtime-summary-card span {
  display:block;
  margin-bottom:3px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.overtime-summary-card strong {
  display:block;
  color:#26362d;
  font-size:20px;
  line-height:1.25;
  white-space:nowrap;
}
.overtime-summary-card strong small {
  margin-left:3px;
  color:#64748b;
  font-size:12px;
}
.overtime-summary-card.accent { border-color:#cce4d4; background:#f1f9f4; }
.overtime-summary-card.accent strong { color:#176c3b; }
.overtime-summary-card.accent-blue { border-color:#cddfeb; background:#f2f8fc; }
.overtime-summary-card.accent-blue strong { color:#235e88; }

.overtime-compact-layout { max-width:1180px; }
.overtime-compact-form { padding:24px 26px 22px; overflow:hidden; }
.overtime-form-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-bottom:16px;
  border-bottom:1px solid #e4ebe7;
}
.overtime-form-heading h2 { margin:2px 0 0; font-size:22px; line-height:1.25; }
.overtime-form-kicker {
  display:block;
  color:#2f7f4c;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
}
.overtime-form-state {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 12px;
  border:1px solid #cce4d4;
  border-radius:999px;
  background:#eff8f2;
  color:#176c3b;
  font-size:12px;
  font-weight:900;
}
.overtime-form-state.report { border-color:#cddfeb; background:#f1f7fb; color:#235e88; }
.overtime-linked-request {
  margin-top:14px;
  padding:10px 13px;
  border:1px solid #dbe8e1;
  border-radius:10px;
  background:#f7faf8;
  color:#64748b;
  font-size:13px;
}
.overtime-linked-request strong { margin-left:7px; color:#26362d; }
.overtime-input-section {
  margin-top:15px;
  padding:14px 16px 1px;
  border:1px solid #e0e9e4;
  border-radius:14px;
  background:#fbfdfc;
}
.overtime-input-section h3 {
  margin:0 0 10px;
  color:#3f5147;
  font-size:14px;
  line-height:1.3;
}
.overtime-schedule-grid {
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:10px;
}
.overtime-text-grid {
  display:grid;
  grid-template-columns:minmax(0, 1.45fr) minmax(0, .9fr);
  gap:12px;
}
.overtime-compact-form .field { min-width:0; margin-bottom:13px; }
.overtime-compact-form .field label { margin-bottom:5px; color:#4b5b52; font-size:12px; }
.overtime-compact-form .field input[type="text"],
.overtime-compact-form .field input[type="date"],
.overtime-compact-form .field input[type="time"],
.overtime-compact-form .field textarea {
  min-height:40px;
  padding:9px 10px;
  border-radius:9px;
  font-size:14px;
}
.overtime-compact-form .field textarea { min-height:88px; line-height:1.45; }
.overtime-hours-input { position:relative; }
.overtime-hours-input input { padding-right:42px !important; font-weight:900; color:#176c3b; }
.overtime-hours-input span {
  position:absolute;
  top:50%;
  right:11px;
  transform:translateY(-50%);
  color:#718078;
  font-size:12px;
  font-weight:800;
  pointer-events:none;
}
.overtime-form-bottom {
  display:grid;
  grid-template-columns:minmax(210px, 300px) minmax(0, 1fr);
  align-items:end;
  gap:16px;
  margin-top:14px;
  padding-top:15px;
  border-top:1px solid #e4ebe7;
}
.overtime-person-field { margin-bottom:0 !important; }
.overtime-form-actions {
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  padding-top:0;
}

@media (max-width:1100px) {
  .overtime-schedule-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width:820px) {
  .overtime-summary-cards { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .overtime-text-grid { grid-template-columns:1fr; gap:0; }
  .overtime-form-bottom { grid-template-columns:1fr; }
  .overtime-form-actions { justify-content:flex-start; }
  .overtime-person-field { max-width:none; }
}
@media (max-width:700px) {
  .overtime-compact-form { padding:19px 16px 17px; }
  .overtime-form-heading { align-items:flex-start; }
  .overtime-schedule-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .overtime-input-section { padding:13px 12px 1px; }
  .overtime-linked-request strong { display:block; margin:3px 0 0; }
  .overtime-content-summary { max-width:180px; }
}
@media (max-width:480px) {
  .overtime-summary-cards { grid-template-columns:1fr 1fr; padding:12px; }
  .overtime-summary-card { padding:10px; }
  .overtime-summary-card strong { font-size:17px; }
  .overtime-schedule-grid { grid-template-columns:1fr; }
  .overtime-form-state { display:none; }
  .overtime-form-actions { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .overtime-form-actions .btn { width:100%; text-align:center; }
}

/* ============================================================
   2026-07-16 초과근무 신청·보고 목록 글자 및 행간 축소
   - 입력 화면은 유지하고 상단 목록만 조금 더 촘촘하게 표시
   ============================================================ */
.overtime-list-panel .overtime-table {
  font-size:12.5px;
}
.overtime-list-panel .overtime-table th {
  padding:10px 8px;
  font-size:11.5px;
  line-height:1.25;
  white-space:nowrap;
}
.overtime-list-panel .overtime-table td {
  padding:9px 8px;
  font-size:12px;
  line-height:1.3;
  vertical-align:middle;
}
.overtime-list-panel .overtime-table td strong {
  font-size:12px;
}
.overtime-list-panel .overtime-table .trip-linked-actions {
  gap:5px;
  white-space:nowrap;
}
.overtime-list-panel .overtime-table .trip-linked-actions .btn {
  min-height:28px;
  padding:5px 7px;
  border-radius:7px;
  font-size:10.5px;
  line-height:1.15;
}
.overtime-list-panel .overtime-total-row > th,
.overtime-list-panel .overtime-total-row > td {
  padding-top:9px;
  padding-bottom:9px;
  font-size:11.5px;
}
.overtime-list-panel .overtime-total-row > td strong {
  font-size:12px;
}
@media (max-width:900px) {
  .overtime-list-panel .overtime-table { min-width:820px; }
  .overtime-list-panel .overtime-table th { padding:9px 6px; font-size:11px; }
  .overtime-list-panel .overtime-table td { padding:8px 6px; font-size:11.5px; }
  .overtime-list-panel .overtime-table td strong { font-size:11.5px; }
}

/* ============================================================
   2026-07-16 전체 화면 목록 글자 크기 통일
   - 게시판·이용자·출석·급식·사업·업무·인사 목록을 같은 크기로 정리
   - 입력 서식과 인쇄물은 변경하지 않고 화면 목록에만 적용
   ============================================================ */
@media screen {
  /* 모든 일반 목록표 */
  .board-table {
    font-size:12px;
    line-height:1.35;
  }
  .board-table th {
    padding:9px 8px;
    font-size:11.5px;
    line-height:1.25;
    white-space:nowrap;
  }
  .board-table td {
    padding:9px 8px;
    font-size:12px;
    line-height:1.35;
    vertical-align:middle;
  }
  .board-table td strong,
  .board-table td.title a,
  .board-table td.title strong {
    font-size:12px;
    line-height:1.3;
  }
  .board-table .table-subtext,
  .board-table small,
  .board-table .ledger-subtext {
    font-size:10.5px;
    line-height:1.3;
  }
  .board-table .status-pill,
  .board-table .role-badge,
  .board-table .status-badge,
  .board-table .self-badge,
  .board-table .client-status {
    padding:3px 7px;
    font-size:10.5px;
  }
  .board-table .btn.small,
  .board-table .btn.mini,
  .board-table .trip-linked-actions .btn,
  .board-table .program-row-actions .btn,
  .board-table .user-actions .btn,
  .board-table .ledger-doc-link {
    min-height:28px;
    padding:5px 8px;
    border-radius:7px;
    font-size:10.5px;
    line-height:1.15;
  }

  /* 목록 보조문구와 검색결과 */
  .table-summary,
  .client-list-note,
  .program-search-help,
  .bulk-help,
  .attendance-bulk-actions .bulk-help,
  .program-bulk-actions .bulk-help {
    font-size:11.5px;
    line-height:1.35;
  }
  .table-summary { padding:10px 18px; }
  .client-list-note { padding:8px 14px; }

  /* 일정 및 게시판형 목록 */
  .schedule-list { padding-top:5px; padding-bottom:16px; }
  .schedule-list.large { padding-top:7px; padding-bottom:20px; }
  .schedule-row {
    padding:12px 7px;
    gap:11px;
  }
  .schedule-time { font-size:12px; }
  .schedule-main strong { font-size:13.5px; line-height:1.3; }
  .schedule-main small { font-size:11.5px; line-height:1.35; }
  .compact-list a {
    padding:10px 2px;
    font-size:12.5px;
    line-height:1.35;
  }
  .compact-list time { font-size:11.5px; }

  /* 일정 검색결과 목록 */
  .schedule-search-row {
    padding-top:10px;
    padding-bottom:10px;
    font-size:12px;
    line-height:1.3;
  }
  .schedule-search-header { font-size:11px; }
  .schedule-search-main strong { font-size:12px; }
  .schedule-search-main small { font-size:10.5px; }
  .search-date,
  .search-time,
  .search-category,
  .search-author { font-size:11.5px; }

  /* 사업등록·업무등록 출력현황 화면표 */
  .registration-status-table { font-size:11.5px; }
  .registration-status-table th,
  .registration-status-table td {
    padding:6px 6px;
    line-height:1.3;
  }

  /* 대시보드의 표 제목·설명은 목록 크기에 맞추고 큰 인원수는 유지 */
  .status-overview-table th { padding:10px 8px; font-size:11.5px; }
  .status-overview-table td { padding:13px 8px; }
  .status-overview-table td.reason { font-size:12px; line-height:1.4; }
  .status-overview-table td small { font-size:10.5px; }
}

@media screen and (max-width:700px) {
  .board-table th { padding:8px 6px; font-size:11px; }
  .board-table td { padding:8px 6px; font-size:11.5px; }
  .board-table td strong,
  .board-table td.title a,
  .board-table td.title strong { font-size:11.5px; }
  .schedule-row { padding-top:10px; padding-bottom:10px; }
}


/* ============================================================
   2026-07-16 전체 인쇄물 컬러 디자인 통일
   - 울산무거복지센터 녹색을 중심으로 제목·표머리·합계·결재란 정리
   - 문서 가독성을 해치지 않는 연한 보조색과 교차행 배경 적용
   - Chrome·Edge 인쇄에서 배경색을 최대한 유지
   ============================================================ */
@media print {
  :root {
    --print-green:#2d6f4b;
    --print-green-dark:#174f36;
    --print-green-soft:#eaf4ed;
    --print-green-pale:#f5faf7;
    --print-blue:#2f6f98;
    --print-blue-soft:#edf5fa;
    --print-gold-soft:#fff4d8;
    --print-line:#6f8278;
    --print-ink:#183029;
  }

  html,
  body,
  body *,
  body *::before,
  body *::after {
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }

  body {
    background:#fff !important;
    color:var(--print-ink) !important;
  }

  /* 문서 제목 */
  .operation-title h1,
  .record-title-text h1,
  .ledger-title h1,
  .trip-print-card > h1,
  .registration-status-print .record-title-text h1 {
    color:var(--print-green-dark) !important;
    font-weight:900 !important;
  }
  .operation-title p,
  .record-title-text p,
  .ledger-title p,
  .trip-subtitle,
  .registration-print-meta {
    color:var(--print-blue) !important;
  }
  .operation-title,
  .record-title-row.print-centered-title-row,
  .ledger-title-row {
    border-bottom:0.65mm solid #c8dfd1 !important;
    padding-bottom:1.4mm !important;
  }

  /* 운영일지·업무일지·업무실적합계의 구역 제목 */
  .operation-section h2 {
    margin-bottom:1.4mm !important;
    padding:.75mm 1.6mm !important;
    border-left:1.1mm solid var(--print-green) !important;
    border-bottom:0.25mm solid #bdd7c7 !important;
    border-radius:1mm !important;
    background:linear-gradient(90deg, var(--print-green-soft) 0%, #f8fbf9 72%, var(--print-blue-soft) 100%) !important;
    color:var(--print-green-dark) !important;
  }
  .operation-section h2::before {
    display:none !important;
  }

  /* 일반 현황표·대장·월별표의 표머리 */
  .operation-table thead th,
  .monthly-record-table thead th,
  .meal-menu-calendar thead th,
  .registration-status-table thead th,
  .trip-ledger-table thead th,
  .vacation-ledger-head th,
  .trip-expense-print thead th {
    border-color:var(--print-line) !important;
    background:var(--print-green) !important;
    color:#fff !important;
    font-weight:900 !important;
  }

  /* 서식형 문서의 좌측 항목명 */
  .trip-form-table th,
  .vacation-form-table th,
  .overtime-form-table th,
  .trip-expense-print tbody th {
    border-color:var(--print-line) !important;
    background:var(--print-green-soft) !important;
    color:var(--print-green-dark) !important;
    font-weight:900 !important;
  }
  .trip-form-table td,
  .trip-expense-print td {
    border-color:var(--print-line) !important;
    color:#172b25 !important;
  }

  /* 교차행과 강조 수치 */
  .operation-table tbody tr:nth-child(even) > td,
  .monthly-record-table tbody tr:nth-child(even) > td,
  .registration-status-table tbody tr:nth-child(even) > td,
  .trip-ledger-table tbody tr:nth-child(even) > td {
    background:var(--print-green-pale) !important;
  }
  .operation-table td strong,
  .monthly-record-table td strong,
  .trip-ledger-table td strong,
  .registration-status-table td strong {
    color:var(--print-green-dark) !important;
  }

  /* 합계행 */
  table tfoot tr:first-child > th,
  table tfoot tr:first-child > td,
  .operation-table tfoot th,
  .monthly-record-table tfoot th,
  .monthly-record-table tfoot td,
  .overtime-total-row > th,
  .overtime-total-row > td {
    border-top:0.7mm solid var(--print-green-dark) !important;
    background:var(--print-gold-soft) !important;
    color:var(--print-green-dark) !important;
    font-weight:900 !important;
  }
  .overtime-total-row > td strong {
    color:var(--print-green-dark) !important;
  }

  /* 출석부·급식 월현황의 토요일·일요일 */
  .monthly-record-table thead th.sunday,
  .meal-menu-calendar thead th.sunday {
    background:#b94b4b !important;
    color:#fff !important;
  }
  .monthly-record-table thead th.saturday,
  .meal-menu-calendar thead th.saturday {
    background:#3f72a8 !important;
    color:#fff !important;
  }
  .monthly-record-table tbody td.sunday,
  .meal-menu-calendar td.sunday {
    background:#fff3f1 !important;
    color:#8f2f2f !important;
  }
  .monthly-record-table tbody td.saturday,
  .meal-menu-calendar td.saturday {
    background:#f0f6ff !important;
    color:#275d93 !important;
  }

  /* 급식 등록현황 달력 */
  .meal-menu-calendar .calendar-empty {
    background:#f3f6f4 !important;
  }
  .calendar-day-head {
    border-bottom-color:#b7cec0 !important;
  }
  .calendar-day-number {
    color:var(--print-green-dark) !important;
  }
  .calendar-meal-row strong {
    border-color:#9fbbaa !important;
    background:var(--print-green-soft) !important;
    color:var(--print-green-dark) !important;
  }
  .calendar-meal-row small {
    color:#4f6a5d !important;
  }

  /* 결재란 */
  .document-approval-box {
    border-color:var(--print-green-dark) !important;
    background:#fff !important;
  }
  .document-approval-box > div {
    color:var(--print-ink) !important;
  }
  .document-approval-box .document-approval-label {
    border-right-color:var(--print-green-dark) !important;
    background:var(--print-green) !important;
    color:#fff !important;
  }
  .document-approval-box .document-approval-head {
    border-bottom-color:var(--print-green-dark) !important;
    background:var(--print-green-soft) !important;
    color:var(--print-green-dark) !important;
  }
  .document-approval-box .document-approval-sign {
    background:#fff !important;
  }
  .document-approval-box .approval-team,
  .document-approval-box .approval-director {
    border-left-color:var(--print-green-dark) !important;
  }

  /* 신청서·보고서 페이지의 얇은 상단 색상선 */
  .trip-print-card {
    box-shadow:inset 0 1.2mm 0 var(--print-green) !important;
  }
  .trip-print-card h2 {
    padding:.7mm 1.4mm !important;
    border-left:1mm solid var(--print-blue) !important;
    background:var(--print-blue-soft) !important;
    color:#245979 !important;
  }

  /* 문서 하단 안내 */
  .record-legend,
  .meal-menu-calendar-summary,
  .registration-print-footer,
  .ledger-footer-print,
  .trip-receiver,
  .trip-sign-date,
  .trip-sign-name {
    color:#365f4a !important;
  }

  @page {
    @bottom-center {
      color:#174f36;
      font-weight:700;
    }
  }
}


/* ============================================================
   2026-07-16 인쇄 제목·결재란 비율 정렬
   - 결재란 출력: 제목을 왼쪽 2/3 영역의 중앙, 결재란을 오른쪽 1/3에 배치
   - 결재란 미출력: 제목을 문서 전체 너비의 중앙에 배치
   - 공통 인쇄버튼에 결재란 출력 체크를 제공
   ============================================================ */
.print-approval-control {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:0 11px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
  color:#334155;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  box-sizing:border-box;
  cursor:pointer;
}
.print-approval-checkbox {
  width:17px;
  height:17px;
  margin:0;
  accent-color:#2d6f4b;
  cursor:pointer;
}
.print-approval-caption { line-height:1; }

@media (max-width:720px) {
  .print-approval-control {
    width:100%;
    justify-content:center;
  }
}

@media print {
  .print-approval-control { display:none !important; }

  html[data-print-approval="hide"] .document-approval-box {
    display:none !important;
  }

  /* 출석부·급식현황·등록현황의 제목 */
  html[data-print-approval="show"] .record-title-row.print-centered-title-row {
    display:grid !important;
    grid-template-columns:minmax(0, 2fr) minmax(0, 1fr) !important;
    grid-template-rows:auto !important;
    align-items:start !important;
    position:relative !important;
    width:100% !important;
    min-height:20mm !important;
    gap:0 !important;
    margin:0 0 3mm !important;
  }
  html[data-print-approval="show"] .record-title-row.print-centered-title-row .record-title-spacer {
    display:none !important;
  }
  html[data-print-approval="show"] .record-title-row.print-centered-title-row .record-title-text {
    position:static !important;
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:1.5mm 2mm 0 0 !important;
    transform:none !important;
    text-align:center !important;
    align-self:start !important;
    justify-self:stretch !important;
    box-sizing:border-box !important;
    z-index:auto !important;
  }
  html[data-print-approval="show"] .record-title-row.print-centered-title-row .document-approval-box {
    position:static !important;
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:start !important;
    margin:0 !important;
    transform:none !important;
    z-index:auto !important;
  }

  html[data-print-approval="hide"] .record-title-row.print-centered-title-row {
    display:block !important;
    position:relative !important;
    width:100% !important;
    min-height:auto !important;
    margin:0 0 3mm !important;
  }
  html[data-print-approval="hide"] .record-title-row.print-centered-title-row .record-title-spacer {
    display:none !important;
  }
  html[data-print-approval="hide"] .record-title-row.print-centered-title-row .record-title-text {
    position:static !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:1.5mm 0 0 !important;
    transform:none !important;
    text-align:center !important;
  }

  /* 초과근무·출장·휴가 대장의 제목 */
  html[data-print-approval="show"] .ledger-title-row {
    display:grid !important;
    grid-template-columns:minmax(0, 2fr) minmax(0, 1fr) !important;
    align-items:start !important;
    gap:0 !important;
    width:100% !important;
    min-height:20mm !important;
    margin:0 0 3mm !important;
  }
  html[data-print-approval="show"] .ledger-title-row .ledger-title-spacer {
    display:none !important;
  }
  html[data-print-approval="show"] .ledger-title-row .ledger-title {
    grid-column:1 !important;
    width:100% !important;
    padding:1.5mm 2mm 0 0 !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }
  html[data-print-approval="show"] .ledger-title-row .document-approval-box {
    position:static !important;
    grid-column:2 !important;
    justify-self:end !important;
    align-self:start !important;
  }
  html[data-print-approval="hide"] .ledger-title-row {
    display:block !important;
    width:100% !important;
    min-height:auto !important;
    margin:0 0 3mm !important;
  }
  html[data-print-approval="hide"] .ledger-title-row .ledger-title-spacer {
    display:none !important;
  }
  html[data-print-approval="hide"] .ledger-title-row .ledger-title {
    width:100% !important;
    padding:1.5mm 0 0 !important;
    text-align:center !important;
  }

  /* 운영일지·업무일지·업무실적합계의 제목 */
  html[data-print-approval="show"] .operation-title {
    display:grid !important;
    grid-template-columns:minmax(0, 2fr) minmax(0, 1fr) !important;
    align-items:start !important;
    gap:0 !important;
    min-height:20mm !important;
    padding:4mm 0 5mm !important;
  }
  html[data-print-approval="show"] .operation-title .operation-title-text {
    position:static !important;
    grid-column:1 !important;
    width:100% !important;
    padding:1.5mm 2mm 0 0 !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }
  html[data-print-approval="show"] .operation-title .document-approval-box {
    position:static !important;
    grid-column:2 !important;
    justify-self:end !important;
    align-self:start !important;
  }
  html[data-print-approval="hide"] .operation-title {
    display:block !important;
    min-height:auto !important;
    padding:4mm 0 5mm !important;
  }
  html[data-print-approval="hide"] .operation-title .operation-title-text {
    position:static !important;
    width:100% !important;
    padding:1.5mm 0 0 !important;
    text-align:center !important;
  }

  /* 신청서·보고서의 제목 */
  html[data-print-approval="show"] .trip-print-card > h1,
  html[data-print-approval="show"] .trip-print-card > .trip-subtitle {
    width:66.666% !important;
    max-width:66.666% !important;
    margin-left:0 !important;
    margin-right:auto !important;
    padding-right:2mm !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }
  html[data-print-approval="show"] .trip-print-card > .document-approval-box {
    display:grid !important;
    position:absolute !important;
    top:13mm !important;
    right:12mm !important;
  }
  html[data-print-approval="hide"] .trip-print-card > h1,
  html[data-print-approval="hide"] .trip-print-card > .trip-subtitle {
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-right:0 !important;
    text-align:center !important;
  }
}

/* 2026-07-16 업무 프로그램일정 */
.program-schedule-page-head { align-items:center; }
.program-schedule-toolbar { margin-bottom:16px; }
.program-schedule-calendar { position:relative; }
.program-schedule-calendar-title { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.program-schedule-calendar-title h2 { margin:0; }
.program-schedule-row { grid-template-columns:105px minmax(0,1fr) 22px; }
.program-schedule-row .schedule-main small { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.program-schedule-week-grid .week-day { position:relative; padding-bottom:46px; }
.program-schedule-mini-list a { border:1px solid #dceee3; background:linear-gradient(135deg,#f0faf3 0%,#f8fcfa 100%); }
.program-schedule-mini-list a:hover { border-color:#b8ddc7; background:#e8f7ed; }
.program-schedule-mini-list small { display:block; margin-top:3px; color:#68766e; font-size:10.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.program-schedule-day-head { display:flex; align-items:center; justify-content:space-between; gap:6px; }
.program-schedule-day-add { position:absolute; left:50%; bottom:10px; transform:translateX(-50%); display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border:1px solid #cfe5d8; border-radius:50%; background:#fff; color:#1f7a4d; font-weight:900; line-height:1; }
.program-schedule-day-add:hover { border-color:#8fc8a6; background:#edf8f1; }
.program-schedule-day-add.compact { position:static; transform:none; width:24px; height:24px; font-size:14px; opacity:.7; }
.month-day:hover .program-schedule-day-add.compact { opacity:1; }
.program-schedule-year-card { position:relative; overflow:hidden; }
.program-schedule-year-card:after { content:""; position:absolute; right:-18px; bottom:-22px; width:78px; height:78px; border-radius:50%; background:rgba(47,143,78,.08); }
.program-schedule-year-card:hover { border-color:#a9d2b8; transform:translateY(-2px); box-shadow:0 12px 26px rgba(31,109,58,.09); }
.program-schedule-form-layout { max-width:920px; }
.program-schedule-form { overflow:hidden; }
.program-schedule-form-grid { display:grid; grid-template-columns:minmax(180px,.65fr) minmax(180px,.65fr); gap:0 16px; }
.program-schedule-form-grid .field { min-width:0; }
.program-schedule-task-field { grid-column:1 / 2; }
.program-schedule-staff-field { grid-column:2 / 3; }
.program-schedule-memo-field { grid-column:1 / -1; }
.program-schedule-task-field small,
.program-schedule-staff-field small { display:block; margin-top:6px; color:var(--muted); font-size:12px; }
.program-schedule-task-field small a { color:#176b43; font-weight:800; text-decoration:underline; }
.program-schedule-task-search { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; }
.program-schedule-task-search .btn { white-space:nowrap; }
.program-schedule-task-search-status { min-height:18px; margin-top:4px; color:#24754c; font-size:12px; font-weight:800; }
.program-schedule-task-search-status.is-empty { color:#b14b37; }
.program-schedule-task-select-label { display:block; margin-top:8px; }
.program-schedule-staff-field input[readonly] { background:#f5f8f6; color:#214b34; font-weight:800; }
.program-schedule-staff { display:block; margin-top:3px; color:#24754c; font-size:11px; font-weight:800; line-height:1.35; }
.program-schedule-mini-list .program-schedule-mini-staff { color:#24754c; font-weight:800; }
.program-schedule-task-alert { margin:2px 0 4px; background:#fff9e9; border:1px solid #f3dda7; color:#795b16; }
.program-schedule-task-alert a { color:#176b43; font-weight:900; text-decoration:underline; }

@media (max-width: 820px) {
  .program-schedule-page-head { align-items:flex-start; flex-direction:column; }
  .program-schedule-page-head .btn { width:100%; }
  .program-schedule-toolbar { align-items:stretch; flex-direction:column; }
  .program-schedule-toolbar .view-tabs { display:grid; grid-template-columns:repeat(4,1fr); }
  .program-schedule-toolbar .view-tabs a { text-align:center; }
  .program-schedule-toolbar .date-nav { justify-content:center; }
  .program-schedule-row { grid-template-columns:78px minmax(0,1fr) 18px; gap:9px; padding:13px 4px; }
  .program-schedule-row .schedule-main strong { font-size:14px; }
  .program-schedule-row .schedule-main small { font-size:11px; }
}

@media (max-width: 620px) {
  .program-schedule-calendar-title { align-items:flex-start; flex-direction:column; }
  .program-schedule-calendar-title .btn { width:100%; }
  .program-schedule-form-grid { grid-template-columns:1fr; }
  .program-schedule-task-field,
  .program-schedule-staff-field,
  .program-schedule-memo-field { grid-column:auto; }
  .program-schedule-edit-head { align-items:flex-start; flex-direction:column; }
  .program-schedule-edit-head .btn { width:100%; }
}

/* ============================================================
   2026-07-16 프로그램일정 → 업무실적 건·명·회 반영
   ============================================================ */
.program-schedule-result-card {
  margin:18px 0 4px;
  padding:18px;
  border:1px solid #d8e6dd;
  border-radius:16px;
  background:linear-gradient(135deg,#f8fbf9 0%,#f4f8f5 100%);
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.program-schedule-result-card.is-applied {
  border-color:#97c9aa;
  background:linear-gradient(135deg,#edf8f1 0%,#f7fcf9 100%);
  box-shadow:0 10px 28px rgba(35,112,69,.08);
}
.program-schedule-result-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
}
.program-schedule-result-head h2 {
  margin:2px 0 4px;
  font-size:19px;
  color:#174d32;
}
.program-schedule-result-head p {
  margin:0;
  color:#65756b;
  font-size:12.5px;
}
.program-schedule-result-switch {
  display:inline-flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
  min-height:42px;
  padding:0 14px;
  border:1px solid #cbded2;
  border-radius:999px;
  background:#fff;
  color:#365846;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(30,89,55,.05);
}
.program-schedule-result-switch input {
  width:18px;
  height:18px;
  margin:0;
  accent-color:#27744b;
}
.program-schedule-result-card.is-applied .program-schedule-result-switch {
  border-color:#76b58f;
  background:#26764b;
  color:#fff;
}
.program-schedule-result-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.program-schedule-result-grid .field { margin:0; }
.program-schedule-count-input {
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px;
  align-items:stretch;
}
.program-schedule-count-input input {
  min-width:0;
  border-radius:10px 0 0 10px !important;
  text-align:center;
  font-size:17px;
  font-weight:900;
  color:#1d5136;
}
.program-schedule-count-input span {
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cfdcd4;
  border-left:0;
  border-radius:0 10px 10px 0;
  background:#e9f2ec;
  color:#315f45;
  font-size:13px;
  font-weight:900;
}
.program-schedule-result-note {
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px dashed #cbded2;
  color:#66756c;
  font-size:11.5px;
  line-height:1.55;
}
.program-schedule-result-note strong {
  flex:0 0 auto;
  color:#2c6845;
}
.program-schedule-result-badge {
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:7px;
  padding:4px 8px;
  border-radius:999px;
  background:#dff3e7;
  color:#17683f;
  font-size:10.5px;
  font-style:normal;
  font-weight:900;
  line-height:1.2;
}
.program-schedule-result-badge.pending {
  background:#f0f2f1;
  color:#758078;
}
.program-schedule-mini-result {
  color:#187047 !important;
  font-weight:900;
}
.work-result-schedule-source {
  display:block;
  width:max-content;
  max-width:100%;
  margin-top:5px;
  padding:3px 7px;
  border-radius:999px;
  background:#e5f4ea;
  color:#1f7047;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}

@media (max-width:720px) {
  .program-schedule-result-head {
    align-items:flex-start;
    flex-direction:column;
  }
  .program-schedule-result-switch { width:100%; justify-content:center; }
  .program-schedule-result-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:480px) {
  .program-schedule-result-grid { grid-template-columns:1fr; }
  .program-schedule-result-note { flex-direction:column; gap:3px; }
}

/* 2026-07-16 프로그램일정 시간 미지정 문구 숨김 */
.program-schedule-row.no-time { grid-template-columns:minmax(0,1fr) 22px; }
@media (max-width:820px) {
  .program-schedule-row.no-time { grid-template-columns:minmax(0,1fr) 18px; }
}


/* 업무실적 코드 첫자리 기준 사업실적 자동반영 */
.program-auto-result-row > td {
  background: linear-gradient(90deg, rgba(236, 253, 245, .92), rgba(239, 246, 255, .78));
}
.program-auto-result-row > td:first-child {
  border-left: 4px solid #10b981;
}
.auto-result-badge,
.auto-result-readonly {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: .35rem;
  padding: .18rem .45rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.1;
  color: #047857;
  background: #d1fae5;
  border: 1px solid #6ee7b7;
  white-space: nowrap;
}
.auto-result-readonly {
  margin-left: 0;
  color: #1d4ed8;
  background: #dbeafe;
  border-color: #93c5fd;
}
.program-auto-total-source {
  display: none !important;
}
@media print {
  .program-auto-result-row > td {
    background: #ecfdf5 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .auto-result-badge, .auto-result-readonly {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* ============================================================
   2026-07-16 전체 화면 글씨 작게 통일
   - 화면 본문·메뉴·버튼·입력창·목록표의 글자 크기를 작고 일정하게 정리
   - 문서별 인쇄 전용 크기는 기존 설정을 유지
   ============================================================ */
@media screen {
  html { font-size:13px; }
  body {
    font-size:13px;
    line-height:1.5;
  }

  /* 상단 메뉴와 공통 안내 */
  .brand strong { font-size:16px; }
  .brand small,
  .user-box,
  .main-nav a,
  .main-nav .nav-group-button,
  .nav-submenu a,
  .site-footer,
  .footer-note { font-size:12px; }
  .main-nav a,
  .main-nav .nav-group-button { padding:10px 12px; }
  .header-inner { min-height:68px; }

  /* 페이지 제목과 패널 제목 */
  .page-head h1 { font-size:26px; }
  .hero-panel h1 { font-size:28px; }
  .page-head p,
  .hero-panel p { font-size:12.5px; }
  .panel-head h2,
  .calendar-title h2,
  .attendance-head h2,
  .meal-head h2,
  .work-result-panel .attendance-head h2,
  .schedule-results-head h2,
  .overtime-form-heading h2,
  .program-schedule-result-head h2 { font-size:18px; }
  .panel-kicker,
  .eyebrow { font-size:11px; }

  /* 입력서식·검색·버튼 */
  label,
  .field label,
  input,
  select,
  textarea,
  button,
  .btn,
  .view-tabs a,
  .today-btn,
  .more-link,
  .text-button {
    font-size:12px !important;
  }
  input,
  select,
  textarea { line-height:1.4; }
  .btn {
    min-height:36px;
    padding:7px 12px;
  }
  .btn.small,
  .btn.mini {
    min-height:28px;
    padding:5px 8px;
    font-size:10.5px !important;
  }
  .field-help,
  .upload-status,
  .current-file,
  .table-summary,
  .client-list-note,
  .program-search-help,
  .bulk-help,
  .attachment-help { font-size:11px; }

  /* 일반 목록표와 업무·인사·사업 관련 표 */
  .board-table,
  .operation-table,
  .trip-form-table,
  .trip-ledger-table,
  .trip-table,
  .program-table,
  .program-result-table,
  .program-master-table,
  .registration-status-table,
  .attendance-table,
  .attendance-ledger-table,
  .client-table,
  .meal-table,
  .meal-menu-table,
  .meal-monthly-table,
  .meal-menu-log-table,
  .staff-overview-table,
  .institution-schedule-log-table,
  .overtime-ledger-table,
  .overtime-table,
  .program-registration-status-table,
  .system-check-table,
  .user-table,
  .vacation-all-ledger-table,
  .vacation-ledger-head,
  .vacation-person-ledger-table,
  .vacation-table,
  .vacation-form-table,
  .work-summary-table,
  .work-area-log-summary-table,
  .work-staff-summary-table,
  .work-log-detail-table,
  .work-result-table,
  .work-total-overview-table,
  .work-summary-area-table,
  .work-summary-detail-table,
  .work-summary-staff-table,
  .work-master-table,
  .work-registration-status-table {
    font-size:11.5px !important;
    line-height:1.35;
  }

  .board-table th, .board-table td,
  .operation-table th, .operation-table td,
  .trip-form-table th, .trip-form-table td,
  .trip-ledger-table th, .trip-ledger-table td,
  .trip-table th, .trip-table td,
  .program-table th, .program-table td,
  .program-result-table th, .program-result-table td,
  .program-master-table th, .program-master-table td,
  .registration-status-table th, .registration-status-table td,
  .attendance-table th, .attendance-table td,
  .attendance-ledger-table th, .attendance-ledger-table td,
  .client-table th, .client-table td,
  .meal-table th, .meal-table td,
  .meal-menu-table th, .meal-menu-table td,
  .meal-monthly-table th, .meal-monthly-table td,
  .meal-menu-log-table th, .meal-menu-log-table td,
  .staff-overview-table th, .staff-overview-table td,
  .institution-schedule-log-table th, .institution-schedule-log-table td,
  .overtime-ledger-table th, .overtime-ledger-table td,
  .overtime-table th, .overtime-table td,
  .program-registration-status-table th, .program-registration-status-table td,
  .system-check-table th, .system-check-table td,
  .user-table th, .user-table td,
  .vacation-all-ledger-table th, .vacation-all-ledger-table td,
  .vacation-ledger-head th, .vacation-ledger-head td,
  .vacation-person-ledger-table th, .vacation-person-ledger-table td,
  .vacation-table th, .vacation-table td,
  .vacation-form-table th, .vacation-form-table td,
  .work-summary-table th, .work-summary-table td,
  .work-area-log-summary-table th, .work-area-log-summary-table td,
  .work-staff-summary-table th, .work-staff-summary-table td,
  .work-log-detail-table th, .work-log-detail-table td,
  .work-result-table th, .work-result-table td,
  .work-total-overview-table th, .work-total-overview-table td,
  .work-summary-area-table th, .work-summary-area-table td,
  .work-summary-detail-table th, .work-summary-detail-table td,
  .work-summary-staff-table th, .work-summary-staff-table td,
  .work-master-table th, .work-master-table td,
  .work-registration-status-table th, .work-registration-status-table td {
    font-size:11.5px !important;
    line-height:1.35;
  }

  /* 목록 안의 보조문구·배지·작업버튼 */
  table small,
  .table-subtext,
  .ledger-subtext,
  .record-legend,
  .role-badge,
  .status-badge,
  .self-badge,
  .client-status,
  .status-pill,
  .auto-result-badge,
  .auto-result-readonly,
  .program-schedule-result-badge,
  .work-result-schedule-source {
    font-size:10px !important;
  }

  /* 일정·대시보드 */
  .schedule-time { font-size:11.5px; }
  .schedule-main strong { font-size:12.5px; }
  .schedule-main small,
  .compact-list,
  .compact-list time,
  .quick-links span { font-size:11px; }
  .status-overview-table th,
  .status-overview-table td.reason { font-size:11px; }
  .status-overview-table td small { font-size:10px; }
  .status-overview-table td strong { font-size:25px; }

  /* 운영일지 화면은 제목만 구분하고 본문은 같은 크기로 유지 */
  .operation-title h1 { font-size:26px; }
  .operation-title p { font-size:12px; }
  .operation-section h2 { font-size:15px; }
}

/* ============================================================
   2026-07-16 세부항목 글씨체·크기 통일
   - 사업실적과 운영일지의 자동반영 세부항목을 일반 항목과 동일하게 표시
   ============================================================ */
.program-result-table .program-auto-result-row td.text-left strong,
.operation-table.program-table .program-auto-result-row td.text-left strong {
  font-family: inherit !important;
  font-size: inherit !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}


/* =========================================================
   인사일정 달력: 초과근무 · 휴가 · 출장
   ========================================================= */
.hr-calendar-page-head .page-actions{flex-wrap:wrap}
.hr-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;margin-bottom:14px}
.hr-calendar-tabs{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.hr-calendar-tabs a{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 11px;border:1px solid #dbe4ec;border-radius:10px;background:#fff;color:#39495a;font-size:12px;font-weight:700;text-decoration:none;transition:.16s ease}
.hr-calendar-tabs a:hover{border-color:#9cb4c7;background:#f6fafc}
.hr-calendar-tabs a.active{border-color:#224e68;background:#224e68;color:#fff;box-shadow:0 4px 12px rgba(34,78,104,.17)}
.hr-calendar-tabs a strong{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:rgba(34,78,104,.09);font-size:10px}
.hr-calendar-tabs a.active strong{background:rgba(255,255,255,.19);color:#fff}
.hr-tab-dot,.hr-calendar-event-dot,.hr-calendar-legend i{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 auto}
.hr-tab-dot.overtime,.legend-overtime{background:#e36b44}
.hr-tab-dot.vacation,.legend-vacation{background:#2d8a74}
.hr-tab-dot.trip,.legend-trip{background:#4f73b8}
.hr-calendar-date-nav{display:flex;align-items:center;gap:8px;white-space:nowrap}
.hr-calendar-panel{padding:15px;overflow:hidden}
.hr-calendar-print-title{margin-bottom:8px}
.hr-calendar-print-title .ledger-title h1{font-size:20px}
.hr-calendar-print-title .ledger-title p{margin:3px 0 0;font-size:11px;color:#607080}
.hr-calendar-legend{display:flex;align-items:center;gap:14px;padding:9px 11px;margin-bottom:8px;border:1px solid #dfe7ed;border-radius:9px;background:#f8fbfc;font-size:11px;color:#4e5f6d}
.hr-calendar-legend span{display:inline-flex;align-items:center;gap:5px}
.hr-calendar-legend strong{margin-left:auto;color:#233f52;font-size:11px}
.hr-calendar-weekdays,.hr-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.hr-calendar-weekdays{border:1px solid #cbd8e1;border-bottom:0;border-radius:8px 8px 0 0;overflow:hidden;background:#eef4f7}
.hr-calendar-weekdays span{padding:8px 4px;text-align:center;border-right:1px solid #d4e0e7;color:#425664;font-size:11px;font-weight:800}
.hr-calendar-weekdays span:first-child{color:#c14f45}
.hr-calendar-weekdays span:last-child{border-right:0;color:#3c67a0}
.hr-calendar-grid{border-left:1px solid #cbd8e1;border-top:1px solid #cbd8e1}
.hr-calendar-day{min-width:0;min-height:205px;padding:7px;border-right:1px solid #cbd8e1;border-bottom:1px solid #cbd8e1;background:#fff;overflow:hidden}
.hr-calendar-day:nth-child(7n+1) .hr-calendar-day-number{color:#c14f45}
.hr-calendar-day:nth-child(7n) .hr-calendar-day-number{color:#3c67a0}
.hr-calendar-day.is-muted{background:#f6f8f9}
.hr-calendar-day.is-muted .hr-calendar-day-number,.hr-calendar-day.is-muted .hr-calendar-events{opacity:.43}
.hr-calendar-day.is-today{box-shadow:inset 0 0 0 2px #e6a443;background:#fffdf6}
.hr-calendar-day-head{display:flex;align-items:center;justify-content:space-between;min-height:22px;margin-bottom:4px}
.hr-calendar-day-number{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;font-size:11px;font-weight:800;color:#283d4c}
.hr-calendar-day.is-today .hr-calendar-day-number{background:#e6a443;color:#fff}
.hr-calendar-day-count{font-size:9px;color:#7b8994}
.hr-calendar-events{display:flex;flex-direction:column;gap:4px;min-width:0}
.hr-calendar-event{display:flex;align-items:flex-start;gap:5px;min-width:0;padding:5px 6px;border:1px solid transparent;border-radius:7px;text-decoration:none;line-height:1.25;transition:.14s ease}
.hr-calendar-event:hover{transform:translateY(-1px);filter:brightness(.98);box-shadow:0 3px 8px rgba(39,63,79,.11)}
.hr-calendar-event-dot{margin-top:4px;width:7px;height:7px}
.hr-calendar-event-copy{display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;overflow:hidden}
.hr-calendar-event time{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;font-weight:800;letter-spacing:-.02em}
.hr-calendar-event strong{display:block;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;font-weight:700;letter-spacing:-.025em}
.hr-event-overtime{background:#fff4ef;border-color:#f4d2c5;color:#8d3e26}
.hr-event-overtime .hr-calendar-event-dot{background:#e36b44}
.hr-event-vacation{background:#eff9f5;border-color:#c8e7dc;color:#236856}
.hr-event-vacation .hr-calendar-event-dot{background:#2d8a74}
.hr-event-trip{background:#f1f5fc;border-color:#cfdbef;color:#35578f}
.hr-event-trip .hr-calendar-event-dot{background:#4f73b8}
.hr-calendar-event.hr-event-trip .hr-calendar-event-copy{flex-direction:row;align-items:center;gap:4px;white-space:nowrap}
.hr-calendar-event.hr-event-trip time{flex:0 0 auto}
.hr-calendar-event.hr-event-trip strong{flex:1 1 auto;width:auto}
.hr-calendar-more{display:block;padding:3px 6px;border-radius:6px;background:#edf3f7;color:#285b79;font-size:9px;font-weight:900;text-align:center;text-decoration:none}.hr-calendar-more:hover{background:#dfeaf1}.hr-calendar-empty{margin-top:10px;padding:14px}.hr-calendar-day-detail{margin-top:14px}.hr-calendar-day-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:13px;border-bottom:1px solid var(--line)}.hr-calendar-day-detail-head h2{margin:2px 0 4px;font-size:19px}.hr-calendar-day-detail-head p{margin:0;color:var(--muted);font-size:11px}.hr-calendar-day-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:14px}.hr-calendar-day-detail-list .hr-calendar-event{min-height:48px}.hr-calendar-day-detail-list .hr-calendar-event strong{overflow:visible;text-overflow:clip;white-space:normal}
@media (max-width:980px){
  .hr-calendar-toolbar{align-items:flex-start;flex-direction:column}
  .hr-calendar-date-nav{align-self:flex-end}
  .hr-calendar-day-detail-list{grid-template-columns:1fr}
  .hr-calendar-panel{overflow-x:auto}
  .hr-calendar-weekdays,.hr-calendar-grid{min-width:880px}
}
@media print{
  .hr-calendar-page-head,.hr-calendar-toolbar{display:none!important}
  .hr-calendar-panel{border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;overflow:visible!important}
  .hr-calendar-print-title{display:grid!important;margin-bottom:3mm!important}
  .hr-calendar-legend{padding:1.5mm 2mm;margin-bottom:1.5mm;border-color:#aebbc4;background:#f5f8fa!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .hr-calendar-weekdays,.hr-calendar-grid{min-width:0!important;width:100%!important}
  .hr-calendar-weekdays span{padding:1.5mm 1mm;font-size:8pt;background:#eaf1f5!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .hr-calendar-day{min-height:29mm;padding:1.2mm;background:#fff!important;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .hr-calendar-day.is-muted{background:#f5f6f7!important}
  .hr-calendar-day.is-today{box-shadow:none!important}
  .hr-calendar-day-number{width:5mm;height:5mm;font-size:7.5pt}
  .hr-calendar-day.is-today .hr-calendar-day-number{background:transparent!important;color:#283d4c!important}
  .hr-calendar-day-count{font-size:6.5pt}
  .hr-calendar-events{gap:.7mm}
  .hr-calendar-event{padding:.8mm 1mm;border-radius:1.2mm;box-shadow:none!important;transform:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .hr-calendar-event-dot{width:1.5mm;height:1.5mm;margin-top:1mm}
  .hr-calendar-event-copy{gap:1mm}
  .hr-calendar-event time{font-size:5.8pt}
  .hr-calendar-event strong{font-size:6.3pt}
  .hr-calendar-empty{display:none!important}
}

/* 세부업무실적 입력 및 일정 표시 */
.program-schedule-result-detail-field{margin:16px 0 0}.program-schedule-result-detail-field textarea{min-height:92px;resize:vertical}.program-schedule-result-detail-field small{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.5}.schedule-main small{white-space:pre-line}

/* ============================================================
   2026-07-16 오늘의 세부실적 일괄작성
   ============================================================ */
.page-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.daily-detail-page-head{align-items:flex-end}
.daily-detail-toolbar{display:grid;grid-template-columns:auto auto minmax(250px,1fr) auto;align-items:center;gap:14px}
.daily-detail-date-form{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.daily-detail-date-form label{font-weight:800;font-size:12px;color:var(--muted);white-space:nowrap}
.daily-detail-date-form input,.daily-detail-search-wrap input,.daily-detail-filter-sort select{min-height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:7px 10px;color:var(--ink)}
.daily-detail-search-wrap{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:4px;min-width:0}
.daily-detail-search-box{display:flex;align-items:center;gap:6px;min-width:0}
.daily-detail-search-wrap input{width:100%;min-width:160px}
.daily-detail-search-box .btn{flex:0 0 auto;white-space:nowrap}
.daily-detail-result-count{min-height:15px;color:var(--muted);font-size:10px;line-height:1.3;text-align:right}
.daily-detail-filter-sort{display:grid;grid-template-columns:auto minmax(125px,1fr) auto minmax(150px,1fr);align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:12px;background:#fff}
.daily-detail-filter-sort label{font-size:11px;font-weight:800;color:var(--muted);white-space:nowrap}
.daily-detail-filter-sort select{min-width:0;padding-right:28px;font-size:11px}
.daily-detail-form{overflow:hidden}
.daily-detail-panel-head{align-items:flex-start}
.daily-detail-panel-head p{margin:5px 0 0;color:var(--muted);font-size:12px}
.daily-detail-panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.daily-detail-copy-bar{display:grid;grid-template-columns:minmax(230px,1fr) auto auto auto;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8fbf9}
.daily-detail-copy-title{display:flex;flex-direction:column;gap:3px;min-width:0}
.daily-detail-copy-title strong{font-size:13px;color:var(--ink)}
.daily-detail-copy-title span{font-size:10px;color:var(--muted);line-height:1.4}
.daily-detail-copy-date{display:flex;align-items:center;gap:7px;white-space:nowrap}
.daily-detail-copy-date span,.daily-detail-copy-option span{font-size:11px;font-weight:800;color:var(--muted)}
.daily-detail-copy-date input{min-height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:7px 10px;color:var(--ink)}
.daily-detail-copy-option{display:flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer}
.daily-detail-copy-option input{width:17px;height:17px;accent-color:var(--green)}
.daily-detail-table-wrap{max-height:68vh;overflow:auto}
.daily-detail-table{min-width:1120px;table-layout:fixed}
.daily-detail-table thead th{position:sticky;top:0;z-index:3;background:#f2f7f4;box-shadow:0 1px 0 var(--line);text-align:center}
.daily-detail-table th:nth-child(2){width:150px}
.daily-detail-table th:nth-child(3){width:190px}
.daily-detail-table th:nth-child(4){width:105px}
.daily-detail-table th:nth-child(5){width:88px}
.daily-detail-table th:nth-child(9){width:320px}
.daily-detail-table td{vertical-align:middle;padding:8px}
.daily-detail-table tr[hidden]{display:none}
.daily-detail-check-col{width:52px;text-align:center!important}
.daily-detail-count-col{width:66px;text-align:center!important}
.daily-detail-count-col small{font-size:9px;color:var(--muted)}
.daily-detail-area-cell{color:var(--muted);font-size:11px;line-height:1.45;word-break:keep-all}
.daily-detail-task-cell{font-size:12px;line-height:1.45}
.daily-detail-task-cell strong{font-size:inherit;font-weight:700}
.daily-detail-staff{display:block;text-align:center;font-size:11px;line-height:1.4}
.daily-detail-schedule-cell{text-align:center}
.daily-detail-count-input{width:100%;min-width:48px;min-height:38px;padding:6px 4px;border:1px solid var(--line);border-radius:8px;text-align:center;font-weight:800;background:#fff}
.daily-detail-textarea{display:block;width:100%;min-height:52px;padding:8px 9px;border:1px solid var(--line);border-radius:8px;resize:vertical;line-height:1.45;background:#fff}
.daily-detail-count-input:focus,.daily-detail-textarea:focus,.daily-detail-date-form input:focus,.daily-detail-search-wrap input:focus,.daily-detail-filter-sort select:focus,.daily-detail-copy-date input:focus{outline:2px solid rgba(47,143,78,.18);border-color:#75b98a}
.daily-detail-table tbody tr:has([data-row-apply]:checked){background:#f4fbf6}
.daily-detail-table input[type="checkbox"]{width:17px;height:17px;accent-color:var(--green)}
.status-pill.success{background:#eaf7ee;color:#24703c;border:1px solid #c8e6d1}
.status-pill.muted{background:#f2f4f3;color:#6c7772;border:1px solid #dfe5e2}
.daily-detail-bottom-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-top:1px solid var(--line)}
.form-help{color:var(--muted);font-size:12px}
@media (max-width:1180px){
  .daily-detail-toolbar{grid-template-columns:auto auto minmax(240px,1fr)}
  .daily-detail-filter-sort{grid-column:1 / -1}
}
@media (max-width:900px){
  .page-head-actions{justify-content:flex-start}
  .daily-detail-toolbar{grid-template-columns:1fr;align-items:stretch}
  .daily-detail-filter-sort{grid-column:auto;grid-template-columns:auto minmax(0,1fr)}
  .daily-detail-date-form{justify-content:flex-start}
  .daily-detail-search-wrap{justify-content:stretch}
  .daily-detail-search-wrap input{width:100%;max-width:none}
  .daily-detail-result-count{text-align:left}
  .daily-detail-panel-head{flex-direction:column}
  .daily-detail-panel-actions{justify-content:flex-start}
  .daily-detail-copy-bar{grid-template-columns:1fr;align-items:stretch}
  .daily-detail-copy-date{justify-content:flex-start}
  .daily-detail-copy-option{white-space:normal}
  .daily-detail-bottom-actions{align-items:stretch;flex-direction:column}
}
@media print{
  .daily-detail-page-head .page-head-actions,.daily-detail-toolbar,.daily-detail-panel-actions,.daily-detail-copy-bar,.daily-detail-bottom-actions{display:none!important}
  .daily-detail-form{border:0!important;box-shadow:none!important}
  .daily-detail-table-wrap{max-height:none!important;overflow:visible!important}
  .daily-detail-table{min-width:0!important;width:100%!important;font-size:7.5pt}
  .daily-detail-table thead th{position:static!important}
  .daily-detail-table input,.daily-detail-table textarea{border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important}
}


/* 업무일정 일 보기: 일정별 가로 한 줄 표시 */
.program-schedule-list.large {
  overflow-x: auto;
}
.program-schedule-daily-line {
  display: grid;
  grid-template-columns: 72px minmax(190px, 1.15fr) minmax(115px, .7fr) minmax(220px, 1.55fr) auto 18px;
  align-items: center;
  gap: 12px;
  min-width: 920px;
  padding: 11px 8px;
}
.program-schedule-daily-line.no-time {
  grid-template-columns: 72px minmax(190px, 1.15fr) minmax(115px, .7fr) minmax(220px, 1.55fr) auto 18px;
}
.program-schedule-daily-line > * {
  min-width: 0;
}
.program-schedule-line-time {
  white-space: nowrap;
}
.program-schedule-line-title,
.program-schedule-line-staff,
.program-schedule-line-memo,
.program-schedule-line-result {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.program-schedule-line-title {
  font-size: 13px;
  color: var(--ink);
}
.program-schedule-line-staff {
  color: var(--muted);
  font-size: 11.5px;
  font-weight: 700;
}
.program-schedule-line-memo {
  margin: 0;
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.35;
}
.program-schedule-line-result {
  margin: 0;
  justify-self: start;
}
@media (max-width: 760px) {
  .program-schedule-daily-line {
    min-width: 840px;
    grid-template-columns: 62px minmax(170px, 1.1fr) minmax(105px, .65fr) minmax(190px, 1.4fr) auto 16px;
    gap: 9px;
    padding: 10px 4px;
  }
  .program-schedule-daily-line.no-time {
    grid-template-columns: 62px minmax(170px, 1.1fr) minmax(105px, .65fr) minmax(190px, 1.4fr) auto 16px;
  }
}

/* 오늘의 세부실적: 선택일의 업무일정 목록을 기준으로 표시 */
.daily-detail-table{min-width:1210px}
.daily-detail-table th:nth-child(2){width:76px}
.daily-detail-table th:nth-child(3){width:150px}
.daily-detail-table th:nth-child(4){width:190px}
.daily-detail-table th:nth-child(5){width:105px}
.daily-detail-table th:nth-child(6){width:88px}
.daily-detail-table th:nth-child(10){width:320px}
.daily-detail-time-cell{text-align:center;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.daily-detail-task-cell .form-help{display:block;margin-top:3px;font-size:10px;line-height:1.35;font-weight:400;white-space:normal}

/* 인사 입력 인터페이스 통합 개선 */
.hr-workflow-nav{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0 0 14px;
}
.hr-workflow-nav a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:58px;
  padding:11px 15px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 3px 12px rgba(29,56,42,.04);
}
.hr-workflow-nav a:hover{border-color:#a9cbb5;background:#f8fcf9}
.hr-workflow-nav a.active{border-color:#70ad82;background:#edf8f0;color:var(--green-dark)}
.hr-workflow-nav span{font-weight:900;font-size:14px}
.hr-workflow-nav small{color:var(--muted);font-size:10px;white-space:nowrap}
.hr-page-mode-tabs{
  display:inline-flex;
  gap:4px;
  margin:0 0 18px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.hr-page-mode-tabs a{padding:8px 18px;border-radius:8px;color:var(--muted);font-weight:800}
.hr-page-mode-tabs a.active{background:var(--green);color:#fff}
.hr-form-layout{max-width:1080px}
.hr-form-layout .form-panel{padding:24px 26px 18px;overflow:visible}
.hr-form-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:-3px 0 17px;
}
.hr-form-heading span{display:block;color:var(--green-dark);font-size:10px;font-weight:900;letter-spacing:1.2px}
.hr-form-heading h2{margin:3px 0 0;font-size:23px}
.hr-form-heading em{
  padding:7px 11px;
  border:1px solid #cfe1d4;
  border-radius:999px;
  background:#f3faf5;
  color:var(--green-dark);
  font-size:11px;
  font-style:normal;
  font-weight:800;
}
.hr-entry-section,.overtime-input-section{
  margin-bottom:14px;
  padding:16px 17px 2px;
  border:1px solid #e0e8e3;
  border-radius:14px;
  background:#fbfdfc;
}
.hr-entry-section>h3,.hr-section-heading h3{margin:0 0 13px;font-size:14px;color:#31483b}
.hr-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.hr-quick-buttons{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.hr-quick-buttons button{
  border:1px solid #cfded4;
  border-radius:999px;
  background:#fff;
  padding:6px 10px;
  color:#456252;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.hr-quick-buttons button:hover{border-color:#79af88;background:#eff8f1;color:var(--green-dark)}
.hr-person-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.hr-date-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.hr-person-grid .field,.hr-date-time-grid .field,.hr-entry-section .field{margin-bottom:13px}
.hr-form-layout .field input[type="number"],
.hr-form-layout .field input[type="datetime-local"],
.overtime-compact-form .field input[type="number"],
.overtime-compact-form .field input[type="datetime-local"]{
  width:100%;
  border:1px solid #cfdad5;
  border-radius:10px;
  background:#fff;
  padding:11px 12px;
  color:var(--ink);
  outline:none;
}
.hr-form-layout .field input[readonly],.overtime-compact-form .field input[readonly]{background:#f3f7f4;color:#4f6257}
.hr-live-summary{
  display:flex;
  align-items:center;
  gap:13px;
  margin:0 0 13px;
  padding:11px 13px;
  border:1px solid #cfe1d4;
  border-radius:11px;
  background:#eef8f1;
}
.hr-live-summary span{flex:0 0 auto;color:#52705d;font-size:11px;font-weight:800}
.hr-live-summary strong{min-width:0;color:#225b35;font-size:13px;overflow-wrap:anywhere}
.hr-form-tip{align-self:center;color:var(--muted);font-size:12px}
.hr-inline-warning{margin:-3px 0 13px;padding:9px 11px;border-radius:9px;background:#fff3e8;color:#9a5719;font-size:12px;font-weight:800}
.hr-sticky-actions{
  position:sticky;
  z-index:10;
  bottom:8px;
  margin:15px -10px -5px;
  padding:12px 10px;
  border-top:1px solid #e0e8e3;
  border-radius:12px;
  background:rgba(255,255,255,.96);
  box-shadow:0 -6px 18px rgba(28,57,41,.07);
  backdrop-filter:blur(6px);
}
.hr-form-layout .attachment-field{grid-column:1/-1}
.hr-form-layout [hidden],.overtime-compact-form [hidden]{display:none!important}
.trip-list-panel,.vacation-list-panel,.overtime-list-panel{margin-top:0}
@media(max-width:900px){
  .hr-workflow-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hr-person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hr-date-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .hr-workflow-nav{gap:7px}
  .hr-workflow-nav a{min-height:52px;padding:9px 11px}
  .hr-workflow-nav small{display:none}
  .hr-page-mode-tabs{display:flex;width:100%}
  .hr-page-mode-tabs a{flex:1;text-align:center}
  .hr-form-layout .form-panel,.overtime-compact-form{padding:17px 13px 13px}
  .hr-form-heading{align-items:flex-start}
  .hr-form-heading em{display:none}
  .hr-person-grid,.hr-date-time-grid,.hr-entry-section .form-grid.two{grid-template-columns:1fr}
  .hr-section-heading{display:block}
  .hr-quick-buttons{margin:-3px 0 10px}
  .hr-live-summary{align-items:flex-start;flex-direction:column;gap:3px}
  .hr-sticky-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));bottom:4px}
  .hr-sticky-actions .btn{width:100%;text-align:center}
}
@media print{
  .hr-workflow-nav,.hr-page-mode-tabs,.hr-sticky-actions{display:none!important}
}

/* 2026-07 통합 흐름·공통 인터페이스 개편 */
.integrated-header-inner{max-width:1500px;gap:16px}
.integrated-main-nav{gap:2px}
.integrated-main-nav>a,.integrated-main-nav .nav-group-button{padding:10px 11px;font-size:13px;white-space:nowrap}
.nav-submenu-wide{min-width:210px}
.nav-submenu-label{display:block;margin:6px 8px 2px;padding:7px 5px 4px;border-top:1px solid #edf1ef;color:#8a9690;font-size:10px;font-weight:900;letter-spacing:.08em}
.nav-submenu-label:first-child{margin-top:0;border-top:0}
.panel-head-actions,.hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.integrated-home-hero{align-items:flex-end}
.integrated-dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr)}
.integrated-quick-links{grid-template-columns:repeat(4,minmax(0,1fr))}

.home-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}
.home-progress-card{position:relative;display:flex;flex-direction:column;min-height:128px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 10px 26px rgba(34,67,53,.06);overflow:hidden}
.home-progress-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#aab5b0}
.home-progress-card.complete::before{background:#2f8f4e}.home-progress-card.attention::before{background:#e5a72f}.home-progress-card.info::before{background:#2d7fb8}.home-progress-card.empty::before{background:#9ba5a0}
.home-progress-card small{color:var(--muted);font-weight:800}.home-progress-card strong{margin-top:4px;font-size:30px;line-height:1.15}.home-progress-card span{margin-top:auto;color:var(--muted);font-size:12px}
.home-summary-lines,.today-summary-list{padding:10px 24px 24px}.home-summary-lines>div,.today-summary-list>div{display:flex;align-items:center;justify-content:space-between;padding:14px 2px;border-bottom:1px solid #edf1ef}.home-summary-lines>div:last-child,.today-summary-list>div:last-child{border-bottom:0}.home-summary-lines strong,.today-summary-list strong{color:var(--green-dark);font-size:19px}

.daily-date-nav{display:flex;align-items:center;gap:8px;margin-bottom:18px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(34,67,53,.05)}
.daily-date-nav form{display:flex;align-items:center;gap:8px}.daily-date-nav label{color:var(--muted);font-size:12px;font-weight:800}.daily-date-nav input{min-height:38px;padding:6px 9px;border:1px solid var(--line);border-radius:9px}.daily-date-nav>strong{margin-left:auto;color:var(--green-dark)}
.daily-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}
.daily-progress-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:112px;padding:17px 18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 9px 24px rgba(34,67,53,.055)}
.daily-progress-card:hover{transform:translateY(-2px);border-color:#b5d4be}.daily-progress-card .progress-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eef2f0;color:#64726b;font-weight:900}.daily-progress-card.complete .progress-icon{background:#e7f6ec;color:#257342}.daily-progress-card.attention .progress-icon{background:#fff3da;color:#986b13}.daily-progress-card.ready .progress-icon{background:#e9f3fb;color:#246994}.daily-progress-card small{display:block;color:var(--muted);font-weight:800}.daily-progress-card strong{display:block;margin:2px 0;font-size:17px}.daily-progress-card p{margin:0;color:var(--muted);font-size:11px}.daily-progress-card b{color:var(--green-dark);font-size:11px;white-space:nowrap}
.today-work-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr);gap:20px;margin-bottom:20px}.today-side-stack{display:flex;flex-direction:column;gap:20px}.today-agenda-panel{overflow:hidden}.today-agenda-list{padding:6px 20px 20px}.today-agenda-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 5px;border-bottom:1px solid #edf1ef}.today-agenda-row:hover{background:#f7fbf8}.today-agenda-row time{color:var(--blue-dark);font-weight:900;font-variant-numeric:tabular-nums}.today-agenda-row div{min-width:0}.today-agenda-row strong,.today-agenda-row small{display:block}.today-agenda-row small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.result-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#f1f3f2;color:#707a75;font-size:10px;font-weight:900;white-space:nowrap}.result-badge.done{background:#e7f6ec;color:#257342}.empty-state.compact{padding:34px 15px}.quick-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:15px 20px 22px}.quick-action-grid a{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafcfb;text-align:center;font-size:12px;font-weight:800}.quick-action-grid a:hover{border-color:#9fc7aa;background:#f1f8f3}
.operation-memo-panel{scroll-margin-top:96px;overflow:hidden}.operation-memo-panel .panel-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.operation-memo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:22px 24px 4px}.operation-memo-grid .field{margin-bottom:12px}.operation-memo-grid textarea{width:100%;border:1px solid #cfdad5;border-radius:10px;padding:11px 12px;resize:vertical}.sticky-inline-actions{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 24px;border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}.sticky-inline-actions span{color:var(--muted);font-size:11px}

.work-flow-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:-2px 0 24px;padding:8px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(34,67,53,.045)}
.work-flow-strip a{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;padding:10px 11px;border-radius:10px;color:#607068}.work-flow-strip a:hover,.work-flow-strip a.active{background:#eaf5ed;color:var(--green-dark)}.work-flow-strip span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#eef2f0;font-weight:900}.work-flow-strip a.active span{background:var(--green);color:#fff}.work-flow-strip strong{font-size:12px}.work-flow-strip small{font-size:9px;color:inherit;opacity:.8}
.work-process-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:20px}.work-process-card{display:flex;gap:12px;min-height:230px;padding:20px 17px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 9px 26px rgba(34,67,53,.055)}.work-process-card:hover{transform:translateY(-3px);border-color:#a9cfb4}.work-process-card>span{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:12px;background:var(--green);color:#fff;font-weight:900}.work-process-card small{color:var(--green-dark);font-weight:900;letter-spacing:.04em}.work-process-card h2{margin:4px 0 9px;font-size:18px}.work-process-card p{margin:0;color:var(--muted);font-size:12px}.work-process-card strong{display:block;margin-top:18px;color:var(--blue-dark);font-size:12px}.work-process-help{overflow:hidden}.process-help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:22px 24px}.process-help-grid>div{padding:16px;border-radius:12px;background:#f6f9f7}.process-help-grid b,.process-help-grid span{display:block}.process-help-grid span{margin-top:5px;color:var(--muted);font-size:12px}

.unified-schedule-toolbar{display:grid;grid-template-columns:auto 1fr auto;gap:15px}.unified-filter-control{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}.unified-filter-tabs{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.unified-filter-tabs a{display:inline-flex;align-items:center;gap:4px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:12px;font-weight:800;transition:.15s ease}.unified-filter-tabs a::before{content:"";width:8px;height:8px;border:2px solid #b5bfba;border-radius:3px;background:#fff;box-sizing:border-box}.unified-filter-tabs a.active{border-color:var(--ink);background:var(--ink);color:#fff;box-shadow:0 3px 10px rgba(18,39,30,.12)}.unified-filter-tabs a.active::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border:0;background:rgba(255,255,255,.22);color:#fff;font-size:9px;line-height:1}.unified-filter-tabs a.shared.active{border-color:#6b61b6;background:#6b61b6}.unified-filter-tabs a.work.active{border-color:#238b7c;background:#238b7c}.unified-filter-tabs a.hr.active{border-color:#2d7fb8;background:#2d7fb8}.unified-filter-help{color:var(--muted);font-size:10px;white-space:nowrap}.unified-legend{display:flex;align-items:center;gap:9px;margin-bottom:14px}.unified-legend>span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;font-weight:800}.unified-legend>span::before{content:"";width:10px;height:10px;border-radius:3px}.unified-legend .shared::before{background:#6b61b6}.unified-legend .work::before{background:#238b7c}.unified-legend .hr::before{background:#2d7fb8}.unified-create-links{display:flex;gap:10px;margin-left:auto}.unified-create-links a{color:var(--green-dark);font-size:11px;font-weight:800;text-decoration:underline}.unified-daily-panel,.unified-month-panel{overflow:hidden}.unified-daily-list{padding:5px 20px 24px}.unified-event-row{display:grid;grid-template-columns:52px 118px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:15px 8px;border-bottom:1px solid #edf1ef;border-left:4px solid transparent}.unified-event-row:hover{background:#f8faf9}.unified-event-row.shared{border-left-color:#6b61b6}.unified-event-row.work{border-left-color:#238b7c}.unified-event-row.hr{border-left-color:#2d7fb8}.unified-event-row .event-type{display:inline-flex;justify-content:center;padding:4px 6px;border-radius:999px;background:#f1f3f2;font-size:10px;font-weight:900}.unified-event-row time{color:var(--blue-dark);font-size:12px;font-weight:900}.unified-event-row div{min-width:0}.unified-event-row strong,.unified-event-row small{display:block}.unified-event-row small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.unified-event-row b{font-size:20px;color:#a0aaa5}.unified-month-panel .month-day{min-height:142px}.unified-day-events{display:flex;flex-direction:column;gap:4px}.unified-mini-event{display:grid;grid-template-columns:minmax(66px,74px) minmax(0,1fr);align-items:start;gap:6px;overflow:hidden;padding:4px 5px;border-radius:6px;border-left:3px solid transparent;background:#f3f6f4;font-size:9px;line-height:1.3}.unified-mini-event.shared{border-left-color:#6b61b6;background:#f2f0fb}.unified-mini-event.work{border-left-color:#238b7c;background:#edf8f6}.unified-mini-event.hr{border-left-color:#2d7fb8;background:#edf5fb}.unified-mini-event span{display:block;min-width:0;overflow:hidden;color:var(--muted);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.unified-mini-event strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unified-more-event{padding:2px 5px;color:var(--blue-dark);font-size:9px;font-weight:800}

.hr-overview-tabs{display:flex;gap:6px;margin-bottom:18px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#fff}.hr-overview-tabs a{padding:8px 15px;border-radius:8px;color:var(--muted);font-size:12px;font-weight:800}.hr-overview-tabs a.active,.hr-overview-tabs a:hover{background:#eaf5ed;color:var(--green-dark)}.hr-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.hr-summary-card{position:relative;display:flex;flex-direction:column;min-height:150px;padding:22px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(34,67,53,.06);overflow:hidden}.hr-summary-card::before{content:"";position:absolute;inset:0 0 auto 0;height:5px}.hr-summary-card.vacation::before{background:#2f8f4e}.hr-summary-card.trip::before{background:#2d7fb8}.hr-summary-card.overtime::before{background:#e48a2a}.hr-summary-card small{color:var(--muted);font-weight:900}.hr-summary-card strong{margin-top:7px;font-size:27px}.hr-summary-card span{margin-top:auto;color:var(--muted);font-size:12px}.hr-overview-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.hr-pending-list,.hr-process-list{padding:8px 24px 24px}.hr-pending-list a{display:flex;align-items:center;justify-content:space-between;padding:15px 2px;border-bottom:1px solid #edf1ef}.hr-pending-list strong{color:#b3671b;font-size:18px}.hr-process-list>div{padding:13px 2px;border-bottom:1px solid #edf1ef}.hr-process-list b,.hr-process-list span{display:block}.hr-process-list span{margin-top:3px;color:var(--muted);font-size:11px}.hr-quick-register-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:22px 24px}.hr-quick-register-grid a{padding:17px;border:1px solid var(--line);border-radius:12px;background:#fafcfb}.hr-quick-register-grid strong,.hr-quick-register-grid span{display:block}.hr-quick-register-grid span{margin-top:3px;color:var(--muted);font-size:11px}

@media(max-width:1200px){
  .integrated-header-inner{max-width:100%}.integrated-main-nav>a,.integrated-main-nav .nav-group-button{padding:9px 8px;font-size:12px}.brand{min-width:190px}.brand strong{font-size:16px}
  .work-process-board{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:980px){
  .integrated-main-nav>a,.integrated-main-nav .nav-group-button{font-size:14px;padding:10px 12px}
  .home-progress-grid{grid-template-columns:repeat(2,1fr)}.daily-progress-grid{grid-template-columns:repeat(2,1fr)}.today-work-layout,.integrated-dashboard-grid,.hr-overview-layout{grid-template-columns:1fr}.operation-memo-grid{grid-template-columns:1fr}.work-flow-strip{grid-template-columns:repeat(5,minmax(120px,1fr));overflow-x:auto}.work-process-board{grid-template-columns:repeat(2,1fr)}.process-help-grid{grid-template-columns:1fr}.unified-schedule-toolbar{grid-template-columns:1fr}.unified-filter-control{justify-content:flex-start;flex-wrap:wrap}.unified-filter-tabs{justify-content:flex-start}.unified-filter-help{width:100%}.unified-create-links{margin-left:0}.hr-quick-register-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .home-progress-grid,.daily-progress-grid,.hr-summary-grid,.work-process-board{grid-template-columns:1fr}.integrated-quick-links{grid-template-columns:1fr 1fr}.daily-date-nav{flex-wrap:wrap}.daily-date-nav form{order:4;width:100%}.daily-date-nav input{flex:1}.daily-date-nav>strong{margin-left:0}.daily-progress-card{grid-template-columns:38px minmax(0,1fr)}.daily-progress-card>b{grid-column:2}.today-agenda-row{grid-template-columns:58px minmax(0,1fr)}.today-agenda-row .result-badge{grid-column:2;justify-self:start}.sticky-inline-actions{position:static;align-items:stretch;flex-direction:column}.sticky-inline-actions .btn{width:100%}.work-flow-strip{grid-template-columns:repeat(5,118px)}.unified-legend{align-items:flex-start;flex-direction:column}.unified-create-links{flex-wrap:wrap}.unified-event-row{grid-template-columns:42px 82px minmax(0,1fr)}.unified-event-row>b{display:none}.unified-month-panel .month-day{min-height:105px}.unified-mini-event{grid-template-columns:1fr}.unified-mini-event span{display:none}.hr-overview-tabs{overflow-x:auto}.hr-overview-tabs a{white-space:nowrap}.hr-quick-register-grid{grid-template-columns:1fr}.quick-action-grid{grid-template-columns:1fr 1fr}
}
@media print{
  .work-flow-strip,.daily-date-nav,.home-progress-grid,.daily-progress-grid,.unified-legend,.hr-overview-tabs{display:none!important}
}
.hr-workflow-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:900px){.hr-workflow-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* 2026-07 통합일정 시간·제목 간격 및 내용 가독성 개선 */
.unified-event-row{
  grid-template-columns:52px max-content minmax(0,1fr) 18px;
  column-gap:7px;
}
.unified-event-row time{
  white-space:nowrap;
}
.unified-event-row strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.unified-mini-event{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:1px;
  min-width:0;
  min-height:31px;
  padding:4px 6px;
}
.unified-mini-event .mini-event-time{
  display:inline-block;
  flex:0 0 auto;
  min-width:0;
  overflow:visible;
  color:var(--blue-dark);
  font-size:8.5px;
  font-weight:900;
  line-height:1.35;
  text-overflow:clip;
  white-space:nowrap;
}
.unified-mini-event .mini-event-time::after{
  content:"";
  margin-left:0;
}
.unified-mini-event .mini-event-title{
  display:-webkit-box;
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  font-weight:800;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:normal;
  word-break:keep-all;
  overflow-wrap:anywhere;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
}
.unified-month-panel .month-day{
  min-height:218px;
}
.unified-more-event{
  display:block;
  padding:4px 6px;
  border-radius:6px;
  background:#edf3f7;
  text-align:center;
}
@media(max-width:700px){
  .unified-event-row{
    grid-template-columns:42px max-content minmax(0,1fr);
    column-gap:5px;
  }
  .unified-mini-event{
    display:flex;
    flex-direction:column;
    gap:1px;
    padding:4px 4px;
  }
  .unified-mini-event .mini-event-time{
    display:inline-block;
    font-size:7.5px;
  }
  .unified-mini-event .mini-event-title{
    display:-webkit-box;
    font-size:8px;
    -webkit-line-clamp:1;
  }
}


/* 오늘의 세부실적 - 일정 관리/삭제 인터페이스 */
.daily-detail-table{min-width:1300px}
.daily-detail-manage-col{width:62px;text-align:center!important}
.daily-detail-manage-cell{text-align:center;padding-left:5px!important;padding-right:5px!important}
.daily-detail-manage-trigger{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:20px;line-height:1;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.daily-detail-manage-trigger:hover,.daily-detail-manage-trigger:focus-visible{background:#f0f8f2;border-color:#8fc6a0;outline:none;transform:translateY(-1px)}
.daily-detail-panel-actions .btn.danger-soft:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.2)}
.daily-detail-action-modal[hidden]{display:none!important}
.daily-detail-action-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px}
.daily-detail-action-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(15,23,42,.48);cursor:default}
.daily-detail-action-dialog{position:relative;z-index:1;width:min(460px,calc(100vw - 32px));border:1px solid #dce7df;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.25);padding:20px}
.daily-detail-action-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:13px;border-bottom:1px solid var(--line)}
.daily-detail-action-head h3{margin:2px 0 0;font-size:20px}
.daily-detail-action-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-size:24px;line-height:1;cursor:pointer}
.daily-detail-action-target{margin:14px 0;padding:11px 12px;border-radius:11px;background:#f5f8f6;color:var(--ink);font-weight:800;line-height:1.45}
.daily-detail-action-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.daily-detail-action-list .btn{justify-content:center;min-height:42px;width:100%}
.daily-detail-action-list .btn:disabled{opacity:.42;cursor:not-allowed}
.daily-detail-action-note{margin:12px 0 0;padding:9px 11px;border-radius:9px;background:#fff7ed;color:#9a3412;font-size:11px;line-height:1.5}
.daily-detail-action-help{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
body.daily-detail-modal-open{overflow:hidden}
@media(max-width:720px){
  .daily-detail-action-list{grid-template-columns:1fr}
  .daily-detail-action-dialog{padding:17px}
}
@media print{
  .daily-detail-manage-col,.daily-detail-manage-cell,.daily-detail-action-modal{display:none!important}
}

/* 오늘의 세부실적 열 너비 보정 */
.daily-detail-table th:nth-child(7),
.daily-detail-table th:nth-child(8),
.daily-detail-table th:nth-child(9){width:66px}
.daily-detail-table th:nth-child(10){width:300px}
.daily-detail-table th:nth-child(11){width:62px}

/* ===== 2026-07-18 직원전용·돌봄통합 통합 ===== */
.care-nav-link{background:linear-gradient(135deg,#e0f2fe,#dcfce7)!important;color:#075985!important;border:1px solid #a7d8d4!important;font-weight:900!important}
.care-nav-link:hover{background:linear-gradient(135deg,#bae6fd,#bbf7d0)!important}
.care-quick-link{background:linear-gradient(135deg,#ecfeff,#ecfdf5)!important;border-color:#99d5cf!important}
.page-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.care-client-section{margin:22px 0;padding:18px;border:1px solid #b9dfe0;border-left:6px solid #0f8f8c;border-radius:16px;background:linear-gradient(135deg,#f0fdfa,#eff6ff)}
.care-client-section h2{margin:2px 0 0;font-size:20px;color:#155e75}.care-client-section .section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.care-client-actions{display:flex;justify-content:flex-end;margin-top:12px}.care-access-guide{background:#f8fafc}
@media(max-width:760px){.care-client-section .section-title-row{flex-direction:column}.page-head-actions{width:100%}}


/* ===== 2026-07-19 인사·인력운영 1차 업데이트 ===== */
.personnel-table{min-width:1180px}.personnel-table td small,.board-table .title small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.person-type-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2f0;color:#4b5f55;font-size:10px;font-weight:900;white-space:nowrap}.person-type-badge.employee{background:#e8f5eb;color:#246e3d}.person-type-badge.service_agent{background:#e8f2fb;color:#245f88}.person-type-badge.intern{background:#fff4dc;color:#926313}.person-type-badge.senior_job,.person-type-badge.disabled_job{background:#f3eefa;color:#6d4590}.code-chip{display:inline-flex;padding:4px 7px;border-radius:7px;background:#edf4ef;color:#245c36;font-size:11px;font-weight:900}.hr-personnel-form fieldset{margin:18px 0;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}.hr-personnel-form legend{padding:0 8px;color:var(--green-dark);font-size:13px;font-weight:900}.form-grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.form-grid.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.personnel-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.personnel-profile-card{overflow:hidden}.profile-definition-list{margin:0;padding:8px 24px 24px}.profile-definition-list>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid #edf1ef}.profile-definition-list dt{color:var(--muted);font-size:11px;font-weight:900}.profile-definition-list dd{margin:0;font-weight:700}.personnel-note{min-height:90px;padding:0 24px 24px;line-height:1.7}.personnel-mini-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.board-table select,.board-table input{min-width:110px;border:1px solid #cedbd3;border-radius:8px;padding:7px 8px;background:#fff}.board-table input{min-width:220px}.operation-workforce-table td:first-child{font-weight:800}.operation-education-table .text-left{text-align:left}.hr-summary-grid.personnel-mini-summary .hr-summary-card{min-height:125px}.person-type-section[hidden]{display:none!important}
@media(max-width:900px){.form-grid.three,.form-grid.four,.personnel-profile-grid,.personnel-mini-summary{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.form-grid.three,.form-grid.four,.personnel-profile-grid,.personnel-mini-summary{grid-template-columns:1fr}.profile-definition-list>div{grid-template-columns:105px 1fr}}
@media print{.person-type-badge,.code-chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.education-matrix-table{min-width:1050px}.education-missing-row{background:#fff8ed}.education-missing-row td{border-color:#f2dfc2}.personnel-record-tabs{display:flex;gap:8px}.personnel-profile-card .panel-head{margin-bottom:0}

/* 인사·인력운영 2차 */
.personnel-mini-summary{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.inline-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0}
.inline-form select{min-width:180px}
.board-table .code-chip+small{display:block;margin-top:4px}
.hr-summary-card.staff{border-top:4px solid #4b7b67}
@media(max-width:700px){.inline-form{align-items:stretch}.inline-form select,.inline-form .btn{width:100%}}

/* 2026-07-19 참여·지원인력 전용관리 3차 */
.workforce-action-panel .quick-link-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.workforce-action-panel .quick-link-card{min-height:112px}
.score-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin:14px 0}
.status-badge.pending{background:#fff3cd;color:#7a5a00;border-color:#f4d675}
.status-badge.draft{background:#eef1f5;color:#4b5563;border-color:#d7dde5}
.inline-form{display:inline-flex;margin:2px}
.person-type-badge.service_agent{background:#e8f0ff;color:#234c9f}
.person-type-badge.intern{background:#f5eafe;color:#7040a1}
.person-type-badge.senior_job{background:#fff0dc;color:#8a4f00}
.print-title-block{text-align:center;margin:8px 0 18px}
.print-title-block h1{margin:0 0 6px;font-size:24px}
@media(max-width:900px){.score-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media print{.workforce-action-panel,.hr-overview-tabs{display:none!important}.print-sheet{box-shadow:none;border:0;padding:0}.board-table small{font-size:9px}}

/* 2026-07-19 인사·교육 4차 업데이트 */
.inline-details{position:relative;min-width:86px}.inline-details>summary{list-style:none;cursor:pointer}.inline-details>summary::-webkit-details-marker{display:none}.compact-edit-form{position:absolute;right:0;z-index:20;width:280px;padding:14px;background:#fff;border:1px solid #d8dee8;border-radius:12px;box-shadow:0 14px 36px rgba(15,23,42,.18);display:grid;gap:10px;text-align:left}.compact-edit-form label{display:grid;gap:4px;font-size:12px;font-weight:700}.compact-edit-form input,.compact-edit-form select{width:100%;min-height:36px;border:1px solid #ccd5e1;border-radius:8px;padding:6px 8px;background:#fff}.education-matrix-table td.title .code-chip{margin-right:6px}@media(max-width:900px){.compact-edit-form{position:fixed;left:16px;right:16px;top:20%;width:auto}}

/* ===== 2026-07-19 4.5차 메뉴·업무흐름 개편 ===== */
.integrated-header-inner{max-width:1580px;gap:12px}
.integrated-main-nav{flex-wrap:nowrap;min-width:0}
.integrated-main-nav>a,.integrated-main-nav .nav-group-button{padding:10px 10px;font-size:13px}
.nav-submenu-compact{min-width:226px}
.nav-submenu-compact a{display:grid;grid-template-columns:1fr;gap:1px;padding:10px 12px}
.nav-submenu-compact a strong{font-size:12px;line-height:1.35}
.nav-submenu-compact a small{color:#7b8882;font-size:10px;font-weight:700;line-height:1.35}
.nav-submenu-compact a.active small,.nav-submenu-compact a:hover small{color:inherit;opacity:.78}

.user-menu{position:relative;flex:0 0 auto}
.user-menu-button{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:9px 12px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:#fff!important;color:#34443c!important;font-size:12px!important;font-weight:900!important;white-space:nowrap}
.user-menu.open>.user-menu-button,.user-menu.active>.user-menu-button,.user-menu-button:hover{border-color:#9fc9aa!important;background:#eef7f1!important;color:var(--green-dark)!important}
.user-menu-caret{color:#75817b;font-size:10px}
.user-submenu{right:0;left:auto;min-width:184px}
.user-submenu a{font-size:12px}

.hr-section-nav{display:grid;grid-template-columns:132px repeat(6,minmax(112px,1fr));gap:7px;margin:-2px 0 20px;padding:7px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(34,67,53,.045)}
.hr-section-nav-label{display:flex;flex-direction:column;justify-content:center;padding:8px 12px;border-right:1px solid #e7ede9;color:var(--green-dark)}
.hr-section-nav-label span{font-size:13px;font-weight:900}.hr-section-nav-label small{margin-top:2px;color:var(--muted);font-size:9px;font-weight:800}
.hr-section-nav>a{display:flex;flex-direction:column;justify-content:center;min-height:52px;padding:8px 10px;border-radius:10px;color:#627069;text-align:center}
.hr-section-nav>a:hover,.hr-section-nav>a.active{background:#eaf5ed;color:var(--green-dark)}
.hr-section-nav>a strong{font-size:12px}.hr-section-nav>a small{margin-top:2px;color:inherit;font-size:9px;opacity:.76}

.hr-local-tabs{display:flex;align-items:center;gap:6px;margin:0 0 18px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow-x:auto;scrollbar-width:thin}
.hr-local-tabs a{flex:0 0 auto;padding:8px 14px;border-radius:8px;color:var(--muted);font-size:11px;font-weight:850;white-space:nowrap}
.hr-local-tabs a:hover,.hr-local-tabs a.active{background:#eef7f1;color:var(--green-dark)}

.hr-hub-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}
.hr-hub-summary.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.hr-hub-summary>a{display:flex;flex-direction:column;min-height:118px;padding:18px 19px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 8px 23px rgba(34,67,53,.05)}
.hr-hub-summary>a:hover{transform:translateY(-2px);border-color:#a7ccb2}
.hr-hub-summary small{color:var(--muted);font-weight:850}.hr-hub-summary strong{margin:4px 0 0;color:var(--ink);font-size:26px}.hr-hub-summary span{margin-top:auto;color:var(--muted);font-size:10px}
.hr-hub-panel{overflow:hidden;margin-bottom:20px}
.hr-step-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:20px 22px 24px}
.hr-step-flow.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.hr-step-flow>a{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;min-height:72px;padding:12px;border:1px solid #dfe8e2;border-radius:12px;background:#fafcfb;color:#4e5d55}
.hr-step-flow>a:not(:last-child)::after{content:"›";position:absolute;right:-9px;top:50%;z-index:2;transform:translateY(-50%);display:grid;place-items:center;width:18px;height:24px;background:#fff;color:#9aa7a1;font-size:18px;font-weight:900}
.hr-step-flow b{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--green);color:#fff;font-size:12px}.hr-step-flow strong{font-size:12px}.hr-step-flow small{color:var(--muted);font-size:9px}
.hr-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}
.hr-hub-card{display:flex;flex-direction:column;min-height:154px;padding:19px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(34,67,53,.045)}
.hr-hub-card:hover{transform:translateY(-3px);border-color:#9fc8aa}.hr-hub-card.featured{border-left:5px solid var(--green)}
.hr-hub-card>span{color:var(--green-dark);font-size:10px;font-weight:900;letter-spacing:.03em}.hr-hub-card strong{margin-top:5px;font-size:16px}.hr-hub-card p{margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.65}

@media (min-width:1281px){
  .integrated-header-inner{flex-wrap:nowrap}
  .integrated-main-nav{display:flex!important;order:initial;width:auto;flex-direction:row;align-items:center;padding:0}
  .nav-toggle{display:none!important}
}

@media (max-width:1280px){
  .integrated-header-inner{max-width:100%;min-height:auto;padding:9px 18px;flex-wrap:wrap;gap:8px}
  .brand{order:1;margin-right:auto;min-width:0}
  .user-menu{order:2}
  .nav-toggle{display:block;order:3;margin-left:0}
  .integrated-main-nav{display:none;order:4;width:100%;flex-direction:column;align-items:stretch;padding:7px 0 2px}
  .integrated-main-nav.open{display:flex}
  .integrated-main-nav>a,.integrated-main-nav .nav-group-button{width:100%;padding:10px 12px;font-size:13px;text-align:left}
  .integrated-main-nav>.nav-group{display:flex;flex-direction:column;align-items:stretch;width:100%}
  .integrated-main-nav>.nav-group.open::after{display:none}
  .integrated-main-nav .nav-submenu{position:static;min-width:0;margin:3px 0 6px 13px;padding:6px;border-radius:12px;box-shadow:none;background:#f7fbf8}
  .integrated-main-nav .nav-group.open .nav-submenu{display:block}
  .care-nav-link{text-align:left}
  .user-submenu{position:absolute;right:0;left:auto;top:calc(100% + 8px);min-width:184px;margin:0;box-shadow:var(--shadow);background:#fff}
  .user-menu.open .user-submenu{display:block}
}

@media (max-width:980px){
  .hr-section-nav{grid-template-columns:repeat(6,minmax(112px,1fr));overflow-x:auto}
  .hr-section-nav-label{display:none}
  .hr-hub-summary,.hr-hub-summary.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hr-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hr-step-flow,.hr-step-flow.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hr-step-flow>a::after{display:none!important}
}

@media (max-width:620px){
  .integrated-header-inner{padding:8px 12px}
  .brand span small{display:none}
  .user-menu-name{display:inline-block;max-width:82px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}
  .user-menu-button{padding:8px 9px!important}
  .nav-toggle{padding:8px 9px}
  .hr-section-nav{margin-top:0;padding:5px;grid-template-columns:repeat(6,105px)}
  .hr-section-nav>a{min-height:48px;padding:7px 8px}
  .hr-hub-summary,.hr-hub-summary.four,.hr-hub-grid,.hr-step-flow,.hr-step-flow.four{grid-template-columns:1fr}
  .hr-hub-summary>a{min-height:105px}
  .hr-hub-card{min-height:132px}
}

@media print{
  .hr-section-nav,.hr-local-tabs,.hr-hub-panel{display:none!important}
}

/* 4.5차 반응형 사용자 메뉴 보정 */
.hr-section-nav{grid-template-columns:132px repeat(auto-fit,minmax(112px,1fr))}
.user-menu,.user-menu-button{width:auto!important}
@media (max-width:1280px){
  .user-menu{display:inline-flex!important;flex-direction:row!important;align-items:center!important;width:auto!important}
  .user-menu-button{width:auto!important;text-align:left!important}
}
.hr-dashboard-hubs{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.hr-dashboard-hubs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.hr-dashboard-hubs{grid-template-columns:1fr}}


/* ===== 2026-07-19 5차 권한·승인·변경이력 ===== */
.permission-editor{margin:22px 0;padding:20px;border:1px solid #dce5ea;border-radius:16px;background:#f8fbfc}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-card{display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid #dce5ea;border-radius:12px;background:#fff;cursor:pointer}.permission-card input{margin-top:3px}.permission-card span{display:grid;gap:3px}.permission-card small{color:#63727a;line-height:1.4}.permission-summary{max-width:520px;white-space:normal;line-height:1.45}.workflow-status-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin:0 0 16px;border:1px solid #dfe8ec;border-radius:12px;background:#f8fbfc}.approval-flow-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.approval-flow-steps span{display:flex;align-items:center;gap:8px;padding:11px;border-radius:12px;background:#f1f6f8;font-weight:700}.approval-flow-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#1f6674;color:#fff;font-size:12px}.approval-table .approval-actions-cell,.approval-actions-cell{min-width:250px;display:flex;flex-wrap:wrap;gap:5px;align-items:center}.approval-action-form{display:inline-flex;align-items:center;gap:5px;margin:0}.approval-with-reason input{width:115px;min-width:90px;padding:6px 8px;border:1px solid #cfdbe0;border-radius:8px}.audit-filter-grid{display:grid;grid-template-columns:150px 150px 1fr auto;gap:10px;align-items:end}.audit-detail{display:grid;gap:8px}.audit-detail summary{cursor:pointer;font-weight:700}.audit-snapshot{white-space:pre-wrap;word-break:break-word;max-height:230px;overflow:auto;padding:10px;border:1px solid #e0e7ea;border-radius:8px;background:#f7f9fa;font-size:12px;line-height:1.45}.status-badge.draft{background:#eef1f3;color:#526068}.status-badge.pending{background:#fff4d6;color:#7d5a00}.linked-doc-count.muted{color:#718087;font-size:12px}@media(max-width:900px){.permission-grid{grid-template-columns:1fr}.approval-flow-steps{grid-template-columns:1fr 1fr}.audit-filter-grid{grid-template-columns:1fr 1fr}.approval-table .approval-actions-cell,.approval-actions-cell{min-width:210px}}@media(max-width:560px){.approval-flow-steps,.audit-filter-grid{grid-template-columns:1fr}.approval-with-reason input{width:100%}}


/* ===== 2026-07-19 5.5차 안정화 + 6차 통합 할 일·알림 ===== */
.task-alert-button{display:inline-flex!important;align-items:center;gap:7px}.task-alert-button span{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#b42318;color:#fff;font-size:11px;font-weight:900}.task-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:20px}.task-summary-grid>a{display:flex;flex-direction:column;min-height:112px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(34,67,53,.045)}.task-summary-grid>a:hover{transform:translateY(-2px);border-color:#a9cdb3}.task-summary-grid small{color:var(--muted);font-weight:900}.task-summary-grid strong{margin:3px 0;color:var(--ink);font-size:27px}.task-summary-grid span{margin-top:auto;color:var(--muted);font-size:10px}.task-center-panel{scroll-margin-top:92px;margin-bottom:18px;overflow:hidden}.task-center-list{display:grid}.task-center-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto 18px;gap:12px;align-items:center;padding:14px 20px;border-top:1px solid #edf1ef;color:var(--ink)}.task-center-row:first-child{border-top:0}.task-center-row:hover{background:#f8fbf9}.task-center-row.priority-high{border-left:5px solid #c24138}.task-center-row.priority-medium{border-left:5px solid #d29b22}.task-center-row.priority-low{border-left:5px solid #6d8b7b}.task-center-icon{display:grid;place-items:center;min-height:34px;padding:5px;border-radius:10px;background:#edf5f0;color:#2f6847;font-size:10px;font-weight:900;text-align:center}.task-center-main{display:grid;gap:4px}.task-center-main strong{font-size:13px}.task-center-main small{color:var(--muted);font-size:10px;line-height:1.55}.task-center-row time{color:#68776f;font-size:11px;font-weight:800;white-space:nowrap}.task-center-row .chevron{color:#9aa7a1;font-size:18px}.task-center-list>.empty-line{padding:24px;text-align:center;color:var(--muted)}.task-empty-panel{margin-bottom:20px}.self-approval-note{display:inline-flex;max-width:150px;padding:5px 7px;border-radius:8px;background:#fff2e8;color:#9a4a10;font-size:10px;font-weight:800;line-height:1.25}.task-center-head .page-head-actions{justify-content:flex-end}
@media(max-width:1180px){.task-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.task-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.task-center-row{grid-template-columns:42px minmax(0,1fr) auto}.task-center-row time{grid-column:2}.task-center-row .status-badge{grid-column:3;grid-row:1/3}.task-center-row .chevron{display:none}}
@media(max-width:520px){.task-summary-grid{grid-template-columns:1fr 1fr}.task-center-row{padding:13px 12px;gap:9px}.task-center-icon{font-size:9px}.task-center-main strong{font-size:12px}.task-center-head .page-head-actions{justify-content:flex-start}}
@media print{.task-summary-grid,.task-center-head .page-head-actions{display:none!important}.task-center-row{break-inside:avoid}}


/* ===== 2026-07-19 7차 인사·교육 보고서 표준화 ===== */
.report-home-head{align-items:flex-start}
.report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.report-summary-grid>a{display:flex;flex-direction:column;gap:5px;min-height:112px;padding:18px;border:1px solid #dbe3ee;border-radius:16px;background:linear-gradient(145deg,#fff,#f6f9fc);text-decoration:none;color:#172033;box-shadow:0 8px 24px rgba(31,54,82,.06)}
.report-summary-grid small{font-size:12px;color:#607087}.report-summary-grid strong{font-size:25px;color:#173d69}.report-summary-grid span{font-size:12px;color:#6d7888}
.report-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}
.report-hub-card{position:relative;display:flex;flex-direction:column;min-height:190px;padding:22px;border:1px solid #dbe3ee;border-radius:18px;background:#fff;text-decoration:none;color:#182233;box-shadow:0 10px 28px rgba(30,53,80,.07)}
.report-hub-card>span{width:max-content;padding:5px 9px;border-radius:999px;background:#eaf2fb;color:#255887;font-size:11px;font-weight:800}.report-hub-card strong{margin-top:16px;font-size:20px}.report-hub-card p{flex:1;margin:10px 0;color:#5d6979;line-height:1.65}.report-hub-card em{font-style:normal;font-size:12px;font-weight:700;color:#356d9e}.report-hub-card.featured{border-color:#aac6e4;background:linear-gradient(145deg,#f7fbff,#eef6ff)}
.report-guide-panel{margin-top:4px}.report-standard-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-standard-list>div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:13px 15px;border:1px solid #e1e7ef;border-radius:12px;background:#fafbfd}.report-standard-list b{color:#234f7d}.report-standard-list span{color:#627084;line-height:1.55}
.report-filter-grid{display:grid;grid-template-columns:150px 170px 170px minmax(220px,1fr) 150px auto;gap:12px;align-items:end}.report-filter-grid.compact{grid-template-columns:180px minmax(240px,1fr) 180px auto}.report-filter-grid .field{margin:0}.report-filter-grid .search-actions{display:flex;gap:8px;align-items:center}
.report-sheet{position:relative;margin:0 0 24px;padding:18px 20px;border:1px solid #d9e0e9;border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(28,47,72,.07)}
.report-title-row{display:grid;grid-template-columns:220px minmax(0,1fr) 220px;align-items:start;min-height:84px;margin-bottom:14px}.report-title-spacer{min-height:1px}.report-title{text-align:center;padding-top:6px}.report-title h1{margin:0;font-size:25px;letter-spacing:-.02em}.report-title p{margin:7px 0 0;color:#627084;font-size:12px}.report-title-row .document-approval-box{justify-self:end}
.report-mini-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:-2px 0 12px}.report-mini-summary span{padding:6px 11px;border:1px solid #dce4ee;border-radius:999px;background:#f7f9fc;color:#596779;font-size:12px}.report-mini-summary strong{color:#1c4e7e}
.report-table-wrap{overflow:auto;border:1px solid #bac5d2;border-radius:4px}.report-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}.report-table th,.report-table td{padding:7px 6px;border:1px solid #c6ced8;text-align:center;vertical-align:middle;word-break:keep-all;overflow-wrap:anywhere}.report-table thead th{background:#eaf0f6;color:#25384d;font-weight:800}.report-table tbody tr:nth-child(even){background:#fafbfd}.report-table tfoot th,.report-table tfoot td{background:#edf3f8;font-weight:800;border-top:2px solid #64798f}.report-table .text-left{text-align:left}.report-table small{font-size:9px;color:#667384}.report-status{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:3px 6px;border-radius:999px;background:#e8f0f8;color:#28567f;font-size:10px;font-weight:800}.report-status.complete{background:#e3f4ea;color:#1f7446}.report-status.planned{background:#fff2d9;color:#8a5b00}.report-status.danger{background:#fde8e8;color:#a02e2e}.report-status.muted{background:#eceff3;color:#606b78}.report-status.pending{background:#eef3f8;color:#53657a}
.personnel-report-table th:nth-child(1){width:4%}.personnel-report-table th:nth-child(2){width:8%}.personnel-report-table th:nth-child(3){width:8%}.personnel-report-table th:nth-child(4){width:9%}.personnel-report-table th:nth-child(5){width:7%}.personnel-report-table th:nth-child(6){width:14%}.personnel-report-table th:nth-child(7){width:8%}.personnel-report-table th:nth-child(8),.personnel-report-table th:nth-child(9){width:9%}.personnel-report-table th:nth-child(10){width:8%}.personnel-report-table th:nth-child(11){width:7%}.personnel-report-table th:nth-child(12){width:9%}
.education-report-table th:nth-child(5){width:20%}.workforce-report-table th:nth-child(9){width:25%}.annual-report-table th{width:10%}
.report-note{margin-top:10px;padding:9px 12px;border-left:4px solid #7294b8;background:#f3f7fb;color:#59687a;font-size:11px;line-height:1.55}.report-note b{color:#264f78}.report-footer{display:flex;justify-content:space-between;margin-top:12px;padding-top:8px;border-top:1px solid #d8dfe8;color:#6d7785;font-size:10px}
@media(max-width:1280px){.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-grid,.report-filter-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filter-grid .search-grow{grid-column:span 2}.report-title-row{grid-template-columns:170px minmax(0,1fr) 170px}}
@media(max-width:760px){.report-summary-grid,.report-hub-grid,.report-standard-list{grid-template-columns:1fr}.report-filter-grid,.report-filter-grid.compact{grid-template-columns:1fr}.report-filter-grid .search-grow{grid-column:auto}.report-title-row{grid-template-columns:1fr}.report-title-spacer{display:none}.report-title-row .document-approval-box{justify-self:center;margin-top:10px}.report-sheet{padding:14px 10px}.report-title h1{font-size:20px}}
@media print{
  .report-sheet{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
  .report-title-row{grid-template-columns:55mm minmax(0,1fr) 55mm;min-height:20mm;margin-bottom:3mm;break-inside:avoid}
  .report-title h1{font-size:17pt!important;color:#000!important}.report-title p{font-size:8.5pt!important;color:#333!important}
  .report-mini-summary{margin:0 0 3mm}.report-mini-summary span{padding:1.2mm 2.5mm;border-color:#777;background:#fff!important;color:#111;font-size:8pt}
  .report-table-wrap{overflow:visible;border:0}.report-table{font-size:7.5pt;color:#000}.report-table th,.report-table td{padding:1.5mm 1mm;border:.25mm solid #555!important}.report-table thead th{background:#e9edf2!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-table tbody tr:nth-child(even){background:#f7f7f7!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .report-table thead{display:table-header-group}.report-table tfoot{display:table-footer-group}.report-table tr{break-inside:avoid}.report-status,.code-chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .report-note{margin-top:2.5mm;padding:2mm 2.5mm;border-left:1mm solid #555;background:#f6f6f6!important;color:#222;font-size:7.5pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .report-footer{position:fixed;left:0;right:0;bottom:0;margin:0;padding-top:1.5mm;border-top:.2mm solid #999;font-size:7pt;color:#333}
  html[data-print-orientation="portrait"] .report-table{font-size:6.7pt}html[data-print-orientation="portrait"] .report-table th,html[data-print-orientation="portrait"] .report-table td{padding:1.1mm .7mm}
}

/* ===== 2026-07-19 8차 월·연간 운영성과 분석 ===== */
.analytics-page-head{align-items:flex-start}
.analytics-filter-panel{margin-bottom:16px}
.analytics-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.analytics-kpi-card{display:flex;flex-direction:column;min-height:145px;padding:19px 20px;border:1px solid #dbe4e0;border-radius:17px;background:linear-gradient(145deg,#fff,#f7faf8);box-shadow:0 9px 25px rgba(29,65,46,.06)}
.analytics-kpi-card.primary{border-color:#98c5a7;background:linear-gradient(145deg,#f8fffa,#eaf7ee)}
.analytics-kpi-card.attention{border-color:#e6c58b;background:linear-gradient(145deg,#fffdf8,#fff6e5)}
.analytics-kpi-card small{color:#68786f;font-size:11px;font-weight:900;letter-spacing:.04em}.analytics-kpi-card strong{margin:7px 0 4px;color:#174d2d;font-size:30px;line-height:1.1}.analytics-kpi-card span{color:#52635a;font-size:12px}.analytics-kpi-card em{margin-top:auto;padding-top:13px;color:#75827b;font-size:11px;font-style:normal;font-weight:800}
.analytics-chart-panel{margin-bottom:18px;overflow:hidden}.analytics-legend{display:flex;gap:12px;flex-wrap:wrap;color:#65736b;font-size:11px;font-weight:800}.analytics-legend span::before{content:"";display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:3px;vertical-align:-1px}.analytics-legend .attendance::before,.analytics-bar.attendance{background:#2f8f4e}.analytics-legend .work::before,.analytics-bar.work{background:#3478a8}.analytics-legend .case::before,.analytics-bar.case{background:#c08b2f}
.analytics-bar-chart{display:grid;gap:8px;padding:4px 22px 22px}.analytics-bar-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center}.analytics-bar-row>b{color:#53645b;font-size:12px;text-align:right}.analytics-bar-lines{display:grid;gap:3px}.analytics-bar-lines>div{position:relative;height:13px;border-radius:999px;background:#eef2f0;overflow:hidden}.analytics-bar{display:block;height:100%;min-width:0;border-radius:999px}.analytics-bar-lines em{position:absolute;right:6px;top:0;color:#31463a;font-size:9px;line-height:13px;font-style:normal;font-weight:900;text-shadow:0 1px 1px #fff}
.analytics-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.analytics-table-panel{min-width:0;overflow:hidden}.analytics-table-panel .report-table-wrap{margin:0 18px 18px}.analytics-report-table{min-width:690px}.analytics-report-table th{width:12.5%}
.analytics-quality-panel{margin-bottom:18px}.analytics-quality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 20px 20px}.analytics-quality-grid>div{display:flex;flex-direction:column;min-height:130px;padding:16px;border:1px solid #dfe7e3;border-radius:14px;background:#fafcfb}.analytics-quality-grid>div.ok{border-color:#b8d8c2;background:#f1faf4}.analytics-quality-grid>div.warn{border-color:#ead0a4;background:#fff9ee}.analytics-quality-grid>div.danger{border-color:#e7b7b4;background:#fff3f2}.analytics-quality-grid span{color:#68786f;font-size:11px;font-weight:900}.analytics-quality-grid strong{margin:5px 0;color:#274f38;font-size:25px}.analytics-quality-grid p{margin:auto 0 0;color:#66746c;font-size:11px;line-height:1.55}.analytics-print-summary{margin-top:18px}.analytics-feature-card{grid-column:span 2}
@media(max-width:1180px){.analytics-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-two-column{grid-template-columns:1fr}.analytics-feature-card{grid-column:auto}}
@media(max-width:680px){.analytics-kpi-grid,.analytics-quality-grid{grid-template-columns:1fr}.analytics-kpi-card{min-height:126px}.analytics-bar-chart{padding-left:10px;padding-right:12px}.analytics-bar-row{grid-template-columns:34px minmax(0,1fr)}.analytics-table-panel .report-table-wrap{margin:0 10px 12px}}
@media print{.analytics-filter-panel,.analytics-chart-panel,.analytics-quality-panel,.analytics-page-head .page-head-actions{display:none!important}.analytics-kpi-grid{grid-template-columns:repeat(3,1fr);gap:2.5mm;margin-bottom:4mm}.analytics-kpi-card{min-height:26mm;padding:3mm;border:.25mm solid #777;border-radius:2mm;box-shadow:none;background:#fff!important;break-inside:avoid}.analytics-kpi-card strong{font-size:15pt}.analytics-kpi-card small,.analytics-kpi-card span,.analytics-kpi-card em{font-size:7pt}.analytics-two-column{display:block}.analytics-table-panel{margin-bottom:4mm;break-inside:avoid}.analytics-table-panel .panel-head{padding:0 0 2mm}.analytics-table-panel .report-table-wrap{margin:0}.analytics-print-summary{margin-top:4mm}}
.analytics-insight-panel{margin-bottom:18px}.analytics-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 20px 20px}.analytics-insight-grid>div{min-height:128px;padding:16px;border:1px solid #dfe7e3;border-radius:14px;background:#fbfdfc}.analytics-insight-grid>div.warn{border-color:#e5bd7c;background:#fff8ea}.analytics-insight-grid span{display:block;color:#68786f;font-size:11px;font-weight:900}.analytics-insight-grid strong{display:block;margin:6px 0;color:#244f37;font-size:22px}.analytics-insight-grid p{margin:0;color:#637168;font-size:11px;line-height:1.55}
@media(max-width:1180px){.analytics-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.analytics-insight-grid{grid-template-columns:1fr}}
@media print{.analytics-insight-panel{display:none!important}}


/* ===== 2026-07-19 9차 돌봄통합 담당자·지원실행 연계 ===== */
.care-link-page-head{align-items:flex-start}.care-link-guide{margin-bottom:18px;border-left:6px solid #2f7c62;background:linear-gradient(135deg,#f1fbf5,#f5f9ff)}.care-link-flow{display:flex;align-items:center;gap:7px;overflow-x:auto;white-space:nowrap}.care-link-flow span{padding:9px 12px;border:1px solid #cce2d5;border-radius:11px;background:#fff;color:#245a47;font-size:12px;font-weight:900}.care-link-flow b{color:#6f8b7e}.care-link-guide p{margin:12px 0 0;color:#54665d;line-height:1.65}.care-link-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.care-link-filter label{display:grid;gap:5px;color:#607168;font-size:11px;font-weight:800}.care-link-client-table td{vertical-align:top;line-height:1.55}.care-link-client-table td div+div{margin-top:4px}.care-link-inline-form{display:grid;grid-template-columns:minmax(130px,1fr) minmax(145px,1fr) minmax(145px,1fr) minmax(145px,1fr);gap:6px;min-width:630px}.care-link-inline-form select{min-width:0;padding:7px 8px;border:1px solid #d5e0db;border-radius:9px;background:#fff}.care-link-inline-form .compact-check{grid-column:1/4;display:flex;align-items:center;gap:6px;font-size:11px}.care-link-inline-form button{grid-column:4}.care-sync-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef3f1;color:#51665c;font-size:10px;font-weight:900}.care-sync-연계완료{background:#dcfce7;color:#166534}.care-sync-연결준비,.care-sync-연계대기{background:#fef3c7;color:#92400e}.care-sync-오류{background:#fee2e2;color:#b91c1c}.care-sync-연계해제{background:#f1f5f9;color:#64748b}.status-warning{display:inline-flex;padding:4px 7px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:10px;font-weight:900}.status-muted{display:inline-flex;padding:4px 7px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:800}.inline-action-form{display:inline-flex;gap:5px;align-items:center;flex-wrap:wrap;margin:0}.program-schedule-care-card{margin:18px 0 4px;padding:18px;border:1px solid #d8e6dd;border-left:5px solid #2f7c62;border-radius:16px;background:linear-gradient(135deg,#f8fcf9,#f4f9f6)}.program-schedule-care-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.program-schedule-care-grid label{display:grid;gap:6px}.program-schedule-care-grid .full{grid-column:1/-1}.program-schedule-care-note{color:#687970;font-size:11px;line-height:1.55}.care-linked-record{margin-top:12px;padding:10px 12px;border:1px solid #cde4d6;border-radius:10px;background:#fff;color:#3d594b}.care-link-schedule-table .action-cell{min-width:210px}
@media(max-width:980px){.care-link-inline-form{grid-template-columns:repeat(2,minmax(180px,1fr));min-width:430px}.care-link-inline-form .compact-check{grid-column:1}.care-link-inline-form button{grid-column:2}.program-schedule-care-grid{grid-template-columns:1fr}}
@media(max-width:620px){.care-link-flow{padding-bottom:5px}.care-link-inline-form{grid-template-columns:1fr;min-width:260px}.care-link-inline-form .compact-check,.care-link-inline-form button{grid-column:1}.care-link-filter>*{width:100%}.care-link-filter input,.care-link-filter select,.care-link-filter .btn{width:100%}}
@media print{.care-link-guide,.care-link-filter,.care-link-inline-form,.care-link-schedule-table .action-cell{display:none!important}}

/* ===== 2026-07-19 10차 사용자·관리자 운영매뉴얼 ===== */
.site-footer a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.help-page-head,.manual-page-head,.readiness-page-head{align-items:flex-start}
.help-role-banner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.help-role-banner>div{display:flex;flex-direction:column;min-height:88px;padding:15px 17px;border:1px solid #dce6e1;border-radius:14px;background:linear-gradient(145deg,#fff,#f7faf8)}
.help-role-banner span{color:#6b7b72;font-size:10px;font-weight:900;letter-spacing:.04em}.help-role-banner strong{margin-top:6px;color:#24563d;font-size:18px}
.help-start-panel,.help-problem-panel,.help-admin-panel{margin-bottom:18px;overflow:hidden}
.help-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 20px 20px}
.help-flow-grid>a{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;gap:3px 10px;min-height:104px;padding:15px;border:1px solid #dce6e1;border-radius:13px;background:#fafcfb;color:#40564a}
.help-flow-grid>a:hover{transform:translateY(-2px);border-color:#9cc4a8}.help-flow-grid b{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#2f7c62;color:#fff}.help-flow-grid strong{font-size:13px}.help-flow-grid span{color:#69776f;font-size:10px;line-height:1.55}
.help-area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.help-area-card{display:flex;flex-direction:column;min-height:138px;padding:18px;border:1px solid #dce6e1;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(32,72,51,.045)}.help-area-card:hover{transform:translateY(-3px);border-color:#9bc5a6}.help-area-card>span{color:#2f7c62;font-size:9px;font-weight:900;letter-spacing:.08em}.help-area-card strong{margin-top:5px;color:#263f32;font-size:16px}.help-area-card p{margin:auto 0 0;color:#6b7770;font-size:10px;line-height:1.55}
.help-problem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 20px 20px}.help-problem-grid>div{padding:16px;border:1px solid #e0e7e3;border-radius:13px;background:#fafcfb}.help-problem-grid strong{display:block;color:#315841;font-size:13px}.help-problem-grid p{margin:7px 0 0;color:#69766f;font-size:10px;line-height:1.65}.help-problem-grid code{padding:1px 4px;border-radius:5px;background:#eef3f0;color:#315841}
.manual-anchor-nav{position:sticky;top:74px;z-index:20;display:flex;gap:7px;overflow-x:auto;margin:0 0 18px;padding:10px;border:1px solid #dce5e0;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 8px 20px rgba(29,65,46,.06);white-space:nowrap}.manual-anchor-nav a{padding:8px 11px;border-radius:9px;background:#f3f7f5;color:#53655b;font-size:11px;font-weight:900}.manual-anchor-nav a:hover{background:#e5f2e9;color:#235d3c}
.manual-section{display:grid;grid-template-columns:68px minmax(0,1fr);gap:20px;margin-bottom:18px;padding:24px;scroll-margin-top:140px}.manual-section-number{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,#2f7c62,#235e4a);color:#fff;font-size:17px;font-weight:900}.manual-section-body{min-width:0}.manual-section-body h2{margin:2px 0 8px;color:#284b38;font-size:21px}.manual-lead{margin:0 0 16px;color:#627068;font-size:12px;line-height:1.65}.manual-steps{display:grid;gap:9px;margin:0;padding:0;list-style:none;counter-reset:manual-step}.manual-steps li{position:relative;display:grid;gap:3px;padding:13px 14px 13px 48px;border:1px solid #e0e8e4;border-radius:12px;background:#fbfdfc;counter-increment:manual-step}.manual-steps li::before{content:counter(manual-step);position:absolute;left:13px;top:12px;display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#e4f2e8;color:#286144;font-size:11px;font-weight:900}.manual-steps strong{font-size:12px}.manual-steps span{color:#66736c;font-size:10px;line-height:1.55}
.manual-flow{display:flex;align-items:center;gap:7px;overflow-x:auto;margin:0 0 16px;padding:13px;border:1px solid #dce7e1;border-radius:13px;background:#f7faf8;white-space:nowrap}.manual-flow span{padding:8px 11px;border:1px solid #cfe1d6;border-radius:9px;background:#fff;color:#2b5d43;font-size:11px;font-weight:900}.manual-flow b{color:#8b9b92}.manual-flow.long span{font-size:10px}
.manual-check-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.manual-check-list li{position:relative;padding:10px 12px 10px 30px;border-bottom:1px dashed #dce4df;color:#56665d;font-size:11px;line-height:1.6}.manual-check-list li::before{content:"✓";position:absolute;left:7px;top:9px;color:#2f7c62;font-weight:900}.manual-check-list code{padding:1px 4px;border-radius:5px;background:#eef4f0;color:#24553b}
.manual-note{margin-top:15px;padding:14px 16px;border-left:5px solid #2f7c62;border-radius:10px;background:#f2faf5}.manual-note.warning{border-left-color:#c88b28;background:#fff8ea}.manual-note strong{display:block;color:#315d43;font-size:12px}.manual-note p{margin:5px 0 0;color:#617068;font-size:10px;line-height:1.65}.manual-note code{padding:1px 4px;border-radius:5px;background:#fff;color:#2e5d42}
.manual-table-wrap{overflow-x:auto}.manual-table{width:100%;min-width:650px;border-collapse:collapse}.manual-table th,.manual-table td{padding:11px 12px;border:1px solid #dfe7e3;text-align:left;vertical-align:top;font-size:10px;line-height:1.55}.manual-table th{background:#f0f6f2;color:#315942;font-weight:900}.manual-table td:first-child{font-weight:850;color:#40594b}.manual-table code{padding:1px 4px;border-radius:5px;background:#eef3f0;color:#315841}
.manual-definition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.manual-definition>div{padding:14px;border:1px solid #e0e8e4;border-radius:12px;background:#fbfdfc}.manual-definition dt{color:#315d43;font-size:12px;font-weight:900}.manual-definition dd{margin:6px 0 0;color:#66736c;font-size:10px;line-height:1.6}.manual-footnote{margin:13px 0 0;color:#66736c;font-size:10px;line-height:1.65}.manual-approval-flow{margin:0 0 14px}.manual-print-footer{display:none}.admin-manual-section{border-left:4px solid #d3e5d9}
.readiness-score-card{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px;align-items:center;margin:0 0 18px;padding:22px 24px;border:1px solid #dce6e1;border-radius:18px;background:linear-gradient(145deg,#f7fbf8,#fff)}.readiness-score-card.ready{border-color:#9fcbae;background:linear-gradient(145deg,#effaf3,#fff)}.readiness-score-card.attention{border-color:#e3c383;background:linear-gradient(145deg,#fff8e9,#fff)}.readiness-score-card.danger{border-color:#e3aaa7;background:linear-gradient(145deg,#fff2f1,#fff)}.readiness-score-card>div{display:grid}.readiness-score-card span{color:#6a786f;font-size:10px;font-weight:900}.readiness-score-card strong{color:#255d3e;font-size:42px;line-height:1.15}.readiness-score-card small{color:#718078;font-size:10px}.readiness-score-card p{margin:0;color:#5e6c64;font-size:12px;line-height:1.7}
.readiness-check-panel,.readiness-manual-panel{margin-bottom:18px;overflow:hidden}.readiness-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 20px 20px}.readiness-check-list>div{display:grid;grid-template-columns:62px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 10px;padding:14px;border:1px solid #dfe7e3;border-radius:12px;background:#fbfdfc}.readiness-check-list>div>span{grid-row:1/3;display:grid;place-items:center;min-height:42px;border-radius:9px;background:#eef3f0;color:#5d6d64;font-size:10px;font-weight:900}.readiness-check-list>div.ok>span{background:#dcf5e4;color:#1f6a3c}.readiness-check-list>div.warn>span{background:#fff0c9;color:#8b5d00}.readiness-check-list>div.error>span{background:#fee3e1;color:#a62d29}.readiness-check-list strong{font-size:12px}.readiness-check-list p{margin:0;color:#6b7871;font-size:10px;line-height:1.5}
.readiness-manual-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 20px 18px}.readiness-manual-list label{display:flex;align-items:flex-start;gap:9px;padding:13px;border:1px solid #e0e8e4;border-radius:11px;background:#fbfdfc;color:#526159;font-size:10px;line-height:1.55;cursor:pointer}.readiness-manual-list input{margin-top:2px}.readiness-save-note{margin:0 20px 14px;color:#748078;font-size:10px}.readiness-manual-panel>.page-head-actions{padding:0 20px 20px;justify-content:flex-end}.readiness-summary-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:1180px){.help-role-banner,.help-flow-grid,.help-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.help-problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.readiness-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.help-role-banner,.help-flow-grid,.help-area-grid,.help-problem-grid,.readiness-check-list,.readiness-manual-list,.manual-definition{grid-template-columns:1fr}.manual-section{grid-template-columns:1fr;padding:18px}.manual-section-number{width:46px;height:46px;border-radius:13px}.readiness-score-card{grid-template-columns:1fr}.readiness-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-anchor-nav{top:62px}}
@media(max-width:480px){.readiness-summary-grid{grid-template-columns:1fr}.help-flow-grid{padding-left:12px;padding-right:12px}.help-problem-grid{padding-left:12px;padding-right:12px}}
@media print{.manual-anchor-nav,.help-role-banner,.help-area-grid,.help-start-panel,.help-problem-panel,.help-admin-panel,.site-footer .footer-note{display:none!important}.manual-page-head,.readiness-page-head{margin-bottom:4mm}.manual-section{display:grid;grid-template-columns:15mm 1fr;gap:4mm;margin:0 0 4mm;padding:4mm;border:.25mm solid #888;border-radius:0;box-shadow:none;break-inside:avoid}.manual-section-number{width:12mm;height:12mm;border-radius:2mm;background:#333!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.manual-section-body h2{font-size:14pt}.manual-lead,.manual-steps span,.manual-check-list li,.manual-note p,.manual-table th,.manual-table td,.manual-definition dd,.manual-footnote{font-size:8pt}.manual-flow{white-space:normal;flex-wrap:wrap}.manual-table{min-width:0}.manual-print-footer{display:block;margin-top:5mm;padding-top:2mm;border-top:.25mm solid #999;color:#555;font-size:7pt}.readiness-score-card{grid-template-columns:42mm 1fr;padding:4mm;border:.25mm solid #777;border-radius:0;background:#fff!important}.readiness-check-list,.readiness-manual-list{grid-template-columns:repeat(2,1fr);padding:0}.readiness-check-list>div,.readiness-manual-list label{break-inside:avoid}.readiness-manual-panel>.page-head-actions{display:none!important}}

/* ===== HR11 운영자료 백업·복구·무결성 ===== */
.backup-summary-grid,.integrity-summary-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.backup-create-panel{margin-bottom:18px;overflow:hidden}.backup-create-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr) auto;gap:14px;align-items:end;padding:0 20px 20px}.backup-create-form label{display:grid;gap:6px}.backup-create-form label>span{color:#40584b;font-size:11px;font-weight:900}.backup-create-form input[type=text]{min-height:42px;padding:9px 11px;border:1px solid #cad8d0;border-radius:10px;background:#fff}.backup-check{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:start;padding:11px 12px;border:1px solid #dce6e1;border-radius:11px;background:#fafcfb}.backup-check input{grid-row:1/3;margin-top:3px}.backup-check small{color:#738078;font-size:9px;line-height:1.45}
.backup-table code,.backup-file-table code,.integrity-file-table code,.integrity-issue-table code{font-size:9px}.selected-row{background:#eef8f1}.snapshot-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 20px 16px}.snapshot-meta-grid>div{display:grid;gap:4px;padding:13px 14px;border:1px solid #dce7e1;border-radius:11px;background:#fbfdfc}.snapshot-meta-grid span{color:#748078;font-size:9px;font-weight:800}.snapshot-meta-grid strong{color:#2f5d43;font-size:13px}.snapshot-detail-panel .notice-box{margin:0 20px 16px}.actions-cell{min-width:320px}.inline-restore-form{display:inline-flex;gap:6px;align-items:center;margin-left:5px}.inline-restore-form input[type=text]{width:82px;min-height:31px;padding:5px 7px;border:1px solid #d2dbd6;border-radius:7px;font-size:9px}.btn.danger{border-color:#d59e9a;background:#fff3f2;color:#a93430}.btn.danger:hover{background:#fee4e2}.backup-policy-box{margin-top:18px}
.integrity-badge{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900}.integrity-badge.error{background:#fee3e1;color:#a62d29}.integrity-badge.warn{background:#fff0c9;color:#8b5d00}.integrity-issue-table td:last-child{min-width:280px}.integrity-file-table td:nth-child(3){min-width:220px}
@media(max-width:1180px){.backup-summary-grid,.integrity-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.backup-create-form{grid-template-columns:1fr 1fr}.backup-create-form button{grid-column:1/3}.snapshot-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.backup-summary-grid,.integrity-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-create-form{grid-template-columns:1fr}.backup-create-form button{grid-column:auto}.snapshot-meta-grid{grid-template-columns:1fr}.inline-restore-form{display:flex;margin:6px 0 0}.actions-cell{min-width:240px}}
@media(max-width:480px){.backup-summary-grid,.integrity-summary-grid{grid-template-columns:1fr}}
@media print{.backup-create-panel,.inline-restore-form,.backup-policy-box{display:none!important}.backup-summary-grid,.integrity-summary-grid{grid-template-columns:repeat(4,1fr)}.snapshot-meta-grid{grid-template-columns:repeat(4,1fr);margin:0 0 3mm}.snapshot-detail-panel .notice-box{margin:0 0 3mm}}


/* 14차 · 보호자 전용 출석확인 */
.guardian-summary-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.guardian-summary-panel .summary-card{padding:18px;border:1px solid var(--line,#dfe6e3);border-radius:16px;background:#f8fbfa;display:flex;flex-direction:column;gap:6px}.guardian-summary-panel .summary-card span{font-size:.82rem;color:#687a74}.guardian-summary-panel .summary-card strong{font-size:1.3rem}.guardian-guide-panel{margin-top:16px}.guardian-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.guardian-steps>div{display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:14px;background:#f6faf8}.guardian-steps strong{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#126a55;color:#fff;flex:0 0 auto}.guardian-steps span{font-size:.84rem;line-height:1.55}.guardian-client-list{display:grid;gap:15px}.guardian-client-card{border:1px solid var(--line,#dfe6e3);border-radius:18px;padding:18px;background:#fff}.guardian-client-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.guardian-client-head h3{margin:0 0 5px}.guardian-client-head p{margin:0;color:#6d7d78;font-size:.82rem}.status-pill{padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:800}.status-pill.active{background:#dff4eb;color:#176b50}.status-pill.inactive{background:#edf0ef;color:#68736f}.guardian-client-form{margin-top:15px;padding:14px;border-radius:14px;background:#f7faf9}.guardian-form-grid{display:grid;grid-template-columns:1.35fr 1.4fr 1fr auto;gap:12px;align-items:end}.guardian-enable-check{display:flex;align-items:center;gap:8px;min-height:42px;font-size:.84rem;font-weight:700}.guardian-enable-check input{width:18px;height:18px}.guardian-current-link{margin-top:13px;display:flex;justify-content:space-between;gap:14px;align-items:center}.guardian-current-link>div:first-child{min-width:0}.guardian-current-link strong{display:block;font-size:.78rem;margin-bottom:5px}.guardian-current-link code{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#3e5750}.guardian-link-actions{display:flex;gap:8px;flex:0 0 auto}.guardian-inline-qr{padding:18px;margin-top:12px;border-radius:15px;background:#fff;text-align:center;border:1px dashed #bdd0c9}.guardian-inline-qr svg,.guardian-issued-qr svg{max-width:240px;width:100%;height:auto}.guardian-inline-qr p{font-size:.8rem;color:#65756f}.guardian-issued-panel{border:2px solid #2a8d6e}.guardian-issued-grid{display:grid;grid-template-columns:250px 1fr;gap:25px;align-items:center}.guardian-issued-qr{text-align:center}.guardian-url-box{display:flex;gap:9px;align-items:center}.guardian-url-box code{min-width:0;flex:1;padding:12px;border-radius:10px;background:#f2f6f4;overflow-wrap:anywhere}.guardian-pin-once{display:flex;align-items:center;gap:16px;margin-top:18px}.guardian-pin-once span{font-size:2rem;font-weight:900;letter-spacing:.18em;color:#126a55}.form-help{font-size:.78rem;color:#6d7c77;line-height:1.55}.guardian-issued-copy>p:first-child{margin-top:0}@media(max-width:980px){.guardian-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.guardian-form-grid{grid-template-columns:1fr 1fr}.guardian-issued-grid{grid-template-columns:220px 1fr}}@media(max-width:680px){.guardian-summary-panel{grid-template-columns:1fr}.guardian-steps{grid-template-columns:1fr}.guardian-form-grid{grid-template-columns:1fr}.guardian-current-link{align-items:flex-start;flex-direction:column}.guardian-issued-grid{grid-template-columns:1fr}.guardian-url-box{flex-direction:column;align-items:stretch}.guardian-client-head{flex-direction:column}.guardian-link-actions{width:100%;flex-wrap:wrap}}@media print{
  body.guardian-issued-print *{visibility:hidden!important}
  body.guardian-issued-print .guardian-issued-panel,body.guardian-issued-print .guardian-issued-panel *{visibility:visible!important}
  body.guardian-issued-print .guardian-issued-panel{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none}
  body.guardian-issued-print .guardian-issued-panel .section-title-row button{display:none!important}
  body.guardian-issued-print .guardian-issued-grid{grid-template-columns:280px 1fr}
  body.guardian-issued-print .site-header,body.guardian-issued-print .site-footer{display:none!important}
}

/* 20차 · 보호자 안내카드의 전용 인쇄 규칙이 다른 직원 화면을 숨기지 않도록 분리 */
@media print{
  html,body{height:auto!important;min-height:0!important;overflow:visible!important;background:#fff!important}
  body:not(.guardian-issued-print) .page-shell,body:not(.guardian-issued-print) main{visibility:visible!important;overflow:visible!important}
}


/* ===== 2026-07-22 29차 이용자 사진·프로필 ===== */
.client-photo-heading,.client-photo-cell{width:74px;text-align:center}.client-table-photo{display:inline-flex;width:52px;height:52px;border-radius:14px;overflow:hidden;align-items:center;justify-content:center;background:linear-gradient(135deg,#e6f4ef,#e9efff);border:1px solid #d2e2dc;color:#2f6f5a;font-size:20px;font-weight:900;text-decoration:none}.client-table-photo img{width:100%;height:100%;object-fit:cover}.client-photo-edit-section{margin:18px 0 22px;padding:18px;border:1px solid #cfe0d8;border-left:6px solid #2f7c62;border-radius:16px;background:linear-gradient(135deg,#f4fbf7,#f4f8ff)}.client-photo-edit-section .section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:15px}.client-photo-edit-section h2{margin:2px 0 5px;font-size:20px}.client-photo-edit-section p{margin:0;color:#61716a}.client-photo-edit-grid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;align-items:center}.client-photo-preview{width:190px;height:220px;border:1px solid #cbd9d3;border-radius:18px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center}.client-photo-preview img{width:100%;height:100%;object-fit:cover}.client-photo-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#dff2e9,#e4ebfb);color:#2f6f5a;font-size:38px;font-weight:900}.client-photo-upload-fields{display:grid;gap:12px}.client-photo-remove{display:flex;align-items:center;gap:8px;font-weight:800;color:#a13c3c}.client-photo-remove input{width:18px;height:18px}.form-actions.compact{justify-content:flex-start;margin:0}.client-profile-layout{display:grid;grid-template-columns:minmax(280px,370px) minmax(0,1fr);gap:20px;align-items:start}.client-profile-photo-panel,.client-profile-info-panel{padding:20px}.client-profile-photo-panel{text-align:center}.client-profile-photo-large{min-height:420px;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#e3f3ec,#e7edfb);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#2f6f5a}.client-profile-photo-large a{display:block;width:100%;height:100%;min-height:420px}.client-profile-photo-large img{width:100%;height:100%;min-height:420px;max-height:620px;object-fit:contain;background:#f7faf8}.client-profile-photo-large>span{font-size:72px;font-weight:900}.client-profile-photo-large>p{margin:8px 0 0;color:#5d7167}.client-photo-caption{margin:12px 0;color:#68776f;font-size:12px;word-break:break-all}.client-profile-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.client-profile-title-row h2{margin:0 0 4px}.client-profile-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#dbe5e0;border:1px solid #dbe5e0;border-radius:14px;overflow:hidden}.client-profile-dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);background:#fff}.client-profile-dl>div.full{grid-column:1/-1}.client-profile-dl dt,.client-profile-dl dd{margin:0;padding:12px 14px;line-height:1.55}.client-profile-dl dt{background:#f3f7f5;font-weight:900;color:#496057}.client-profile-dl dd{word-break:break-word}.client-profile-note{margin-top:18px;padding:16px;border-radius:14px;background:#f7f9f8;border:1px solid #e0e7e3}.client-profile-note h3{margin:0 0 8px;font-size:15px}.client-profile-note p{margin:0;line-height:1.75}.client-photo-gallery-panel{padding:0 0 18px;overflow:hidden}.client-photo-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:18px}.client-photo-card{overflow:hidden;border:1px solid #d7e2dc;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(41,77,62,.07)}.client-photo-card-image{display:flex;height:250px;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:linear-gradient(135deg,#e4f3ec,#e7edf9);color:#2f6f5a;text-decoration:none;overflow:hidden}.client-photo-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.client-photo-card-image:hover img{transform:scale(1.025)}.client-photo-card-image span{font-size:52px;font-weight:900}.client-photo-card-image small{font-weight:800;color:#6a7c73}.client-photo-card-body{padding:15px}.client-photo-card-title{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.client-photo-card-title h2{margin:0;font-size:18px}.client-photo-card-title h2 a{color:#193d31;text-decoration:none}.client-photo-card dl{display:grid;gap:6px;margin:13px 0}.client-photo-card dl div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;font-size:12px}.client-photo-card dt{font-weight:900;color:#66766e}.client-photo-card dd{margin:0;color:#34483f}.client-photo-card-actions{display:flex;gap:6px;flex-wrap:wrap}.client-photo-empty{margin:18px}.client-view-head{align-items:flex-start}
@media(max-width:1200px){.client-photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.client-profile-layout{grid-template-columns:1fr}.client-profile-photo-large{min-height:360px}.client-profile-photo-large a,.client-profile-photo-large img{min-height:360px}.client-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.client-photo-edit-section .section-title-row{flex-direction:column}.client-photo-edit-grid{grid-template-columns:1fr}.client-photo-preview{width:100%;height:300px}.client-profile-dl{grid-template-columns:1fr}.client-profile-dl>div.full{grid-column:auto}.client-profile-dl>div{grid-template-columns:105px minmax(0,1fr)}.client-photo-gallery{grid-template-columns:1fr;padding:13px}.client-photo-card-image{height:310px}.client-table-photo{width:44px;height:44px}.client-photo-heading,.client-photo-cell{width:58px}}
@media print{.client-photo-card-actions,.client-photo-edit-section .btn,.client-profile-photo-panel .btn{display:none!important}.client-photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0}.client-photo-card{break-inside:avoid;box-shadow:none}.client-photo-card-image{height:180px}.client-profile-layout{grid-template-columns:32% 68%;gap:10px}.client-profile-photo-large,.client-profile-photo-large a,.client-profile-photo-large img{min-height:300px;max-height:420px}}


/* ===== 2026-07-23 47차 출장 신청·보고·비용 인쇄 외곽선 제거 ===== */
@media print {
  .trip-print-card,
  .trip-print-page {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }
}


/* ============================================================
   2026-07-23 48차 결재란 출력 제목 정렬
   - 결재란 표시: 우측 결재란을 제외한 왼쪽 남은 영역의 중앙
   - 결재란 미표시: 전체 용지 중앙
   ============================================================ */
@media print {
  html[data-print-approval="show"] .record-title-row.print-centered-title-row,
  html[data-print-approval="show"] .ledger-title-row,
  html[data-print-approval="show"] .operation-title,
  html[data-print-approval="show"] .report-title-row {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 58mm !important;
    grid-template-rows:auto !important;
    gap:2mm !important;
    align-items:start !important;
    width:100% !important;
    box-sizing:border-box !important;
  }
  html[data-print-approval="show"] .record-title-row.print-centered-title-row .record-title-spacer,
  html[data-print-approval="show"] .ledger-title-row .ledger-title-spacer,
  html[data-print-approval="show"] .report-title-row .report-title-spacer {
    display:none !important;
  }
  html[data-print-approval="show"] .record-title-row.print-centered-title-row .record-title-text,
  html[data-print-approval="show"] .ledger-title-row .ledger-title,
  html[data-print-approval="show"] .operation-title .operation-title-text,
  html[data-print-approval="show"] .report-title-row .report-title {
    position:static !important;
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:1.5mm 0 0 0 !important;
    transform:none !important;
    text-align:center !important;
    justify-self:stretch !important;
    align-self:start !important;
    box-sizing:border-box !important;
  }
  html[data-print-approval="show"] .record-title-row.print-centered-title-row .document-approval-box,
  html[data-print-approval="show"] .ledger-title-row .document-approval-box,
  html[data-print-approval="show"] .operation-title .document-approval-box,
  html[data-print-approval="show"] .report-title-row .document-approval-box {
    position:static !important;
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:start !important;
    margin:0 !important;
    transform:none !important;
  }

  html[data-print-approval="show"] .trip-print-card > h1,
  html[data-print-approval="show"] .trip-print-card > .trip-subtitle {
    width:calc(100% - 60mm) !important;
    max-width:calc(100% - 60mm) !important;
    margin-left:0 !important;
    margin-right:60mm !important;
    padding-left:0 !important;
    padding-right:0 !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }
  html[data-print-approval="show"] .trip-print-card > .document-approval-box {
    position:absolute !important;
    top:13mm !important;
    right:12mm !important;
    left:auto !important;
    margin:0 !important;
  }

  html[data-print-approval="hide"] .record-title-row.print-centered-title-row,
  html[data-print-approval="hide"] .ledger-title-row,
  html[data-print-approval="hide"] .operation-title,
  html[data-print-approval="hide"] .report-title-row {
    display:block !important;
    width:100% !important;
  }
  html[data-print-approval="hide"] .record-title-row.print-centered-title-row .record-title-text,
  html[data-print-approval="hide"] .ledger-title-row .ledger-title,
  html[data-print-approval="hide"] .operation-title .operation-title-text,
  html[data-print-approval="hide"] .report-title-row .report-title,
  html[data-print-approval="hide"] .trip-print-card > h1,
  html[data-print-approval="hide"] .trip-print-card > .trip-subtitle {
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    text-align:center !important;
  }
}

/* 51차: 출장일시 복수 입력 */
.trip-period-list{display:grid;gap:10px}
.trip-period-row{display:grid;grid-template-columns:34px minmax(140px,1.15fr) minmax(110px,.8fr) 22px minmax(140px,1.15fr) minmax(110px,.8fr) auto;gap:8px;align-items:end;padding:12px;border:1px solid #dfe7e1;border-radius:12px;background:#fbfdfb}
.trip-period-row label{display:grid;gap:5px;margin:0}
.trip-period-row label>span{font-size:12px;font-weight:700;color:#5b665e}
.trip-period-row input{width:100%;min-width:0}
.trip-period-number{display:grid;place-items:center;width:28px;height:28px;margin-bottom:7px;border-radius:50%;background:#e8f3ea;color:#245c35;font-weight:800}
.trip-period-separator{align-self:center;margin-top:18px;text-align:center;font-weight:800;color:#6c756f}
.trip-period-remove{margin-bottom:1px;white-space:nowrap}
.trip-period-remove:disabled{opacity:.4;cursor:not-allowed}
.trip-period-textarea{min-height:86px;line-height:1.65;white-space:pre-wrap}
.trip-period-print{line-height:1.65;white-space:normal}
@media (max-width:980px){
  .trip-period-row{grid-template-columns:32px minmax(0,1fr) minmax(0,.8fr);align-items:end}
  .trip-period-number{grid-row:1 / span 2}
  .trip-period-separator{display:none}
  .trip-period-remove{grid-column:2 / -1;justify-self:end}
}
@media print{
  .trip-period-print{line-height:1.55 !important}
}


/* ============================================================
   2026-07-24 52차 초과근무 신청·보고 인쇄표 사각형 보정
   - 모든 행을 8개 열 기준으로 맞추고 외곽선과 셀 구분선을 선명하게 출력
   ============================================================ */
@media print {
  .overtime-print-card .overtime-print-grid {
    width:100% !important;
    table-layout:fixed !important;
    border-collapse:collapse !important;
    border-spacing:0 !important;
    border:0.35mm solid #111 !important;
    outline:0.18mm solid #111 !important;
    outline-offset:-0.18mm !important;
    box-sizing:border-box !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
  .overtime-print-card .overtime-print-grid col.overtime-col-label { width:10%; }
  .overtime-print-card .overtime-print-grid col.overtime-col-period { width:28%; }
  .overtime-print-card .overtime-print-grid col.overtime-col-time { width:11%; }
  .overtime-print-card .overtime-print-grid col.overtime-col-hours-label { width:12%; }
  .overtime-print-card .overtime-print-grid col.overtime-col-hours { width:8%; }
  .overtime-print-card .overtime-print-grid tr {
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
  .overtime-print-card .overtime-print-grid th,
  .overtime-print-card .overtime-print-grid td {
    border:0.28mm solid #111 !important;
    box-sizing:border-box !important;
    background-clip:padding-box !important;
    vertical-align:middle !important;
  }
  .overtime-print-card .overtime-print-grid tr:first-child th,
  .overtime-print-card .overtime-print-grid tr:first-child td {
    min-width:0 !important;
    width:auto !important;
    white-space:nowrap !important;
    text-align:center !important;
  }
  .overtime-print-card .overtime-print-grid .trip-content-cell {
    vertical-align:top !important;
  }
}

/* 59차 - 초과근무·출장·휴가대장 작성일/신청일 가운데 정렬 해제 */
.trip-ledger-table td.ledger-date-cell {
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
  font-variant-numeric: tabular-nums;
}
@media print {
  .landscape-ledger-page .trip-ledger-table td.ledger-date-cell,
  .landscape-ledger-page .overtime-ledger-table td.ledger-date-cell,
  .landscape-ledger-page .vacation-person-ledger-table td.ledger-date-cell,
  .landscape-ledger-page .vacation-all-ledger-table td.ledger-date-cell {
    text-align: left !important;
    vertical-align: top !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
}


/* 58차: 초과근무·출장·휴가대장 정렬 기능 */
.ledger-sort-guide {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
  padding:9px 12px;
  border:1px solid #d9e0e8;
  border-radius:10px;
  background:#f8fafc;
  color:#536174;
  font-size:12px;
  line-height:1.45;
}
.ledger-sort-reset {
  flex:0 0 auto;
  border:1px solid #b9c5d2;
  border-radius:8px;
  background:#fff;
  color:#334155;
  padding:6px 10px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.ledger-sort-reset:hover,
.ledger-sort-reset:focus-visible {
  border-color:#64836f;
  color:#21513b;
  outline:none;
}
.ledger-sort-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:100%;
  min-height:28px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:inherit;
  line-height:inherit;
  text-align:center;
  cursor:pointer;
}
.ledger-sort-button:hover,
.ledger-sort-button:focus-visible {
  color:#175c3d;
  outline:none;
  text-decoration:underline;
  text-underline-offset:3px;
}
.ledger-sort-label { min-width:0; }
.ledger-sort-indicator {
  flex:0 0 auto;
  min-width:12px;
  color:#8290a3;
  font-size:10px;
  line-height:1;
}
.ledger-sort-indicator::before { content:'↕'; }
th[aria-sort='ascending'] .ledger-sort-indicator,
th[aria-sort='descending'] .ledger-sort-indicator { color:#175c3d; }
th[aria-sort='ascending'] .ledger-sort-indicator::before { content:'▲'; }
th[aria-sort='descending'] .ledger-sort-indicator::before { content:'▼'; }
@media (max-width:700px) {
  .ledger-sort-guide { align-items:flex-start; flex-direction:column; }
}
@media print {
  .ledger-sort-guide { display:none !important; }
  .ledger-sort-button {
    display:inline !important;
    width:auto !important;
    min-height:0 !important;
    color:#000 !important;
    text-decoration:none !important;
  }
  .ledger-sort-indicator { display:none !important; }
}

/* 60차 - 초과근무·출장·휴가대장 목록 전체 세로 가운데 정렬 해제
   작성일·신청일만 위로 보이지 않도록 모든 목록 셀을 위쪽 기준으로 맞춤 */
.landscape-ledger-page .trip-ledger-table tbody > tr > td,
.landscape-ledger-page .overtime-ledger-table tbody > tr > td,
.landscape-ledger-page .vacation-person-ledger-table tbody > tr > td,
.landscape-ledger-page .vacation-all-ledger-table tbody > tr > td {
  vertical-align: top !important;
}
@media print {
  .landscape-ledger-page .trip-ledger-table tbody > tr > td,
  .landscape-ledger-page .overtime-ledger-table tbody > tr > td,
  .landscape-ledger-page .vacation-person-ledger-table tbody > tr > td,
  .landscape-ledger-page .vacation-all-ledger-table tbody > tr > td {
    vertical-align: top !important;
  }
}
/* 66차 - 홈 오늘업무 5·6단계 및 운영일지 메모 */
.home-operation-memo-panel{margin-top:22px}

/* 67차 - 홈 진행상태 6개 한 줄 및 운영일지 메모 이동 */
.home-progress-grid{
  grid-template-columns:repeat(6,minmax(150px,1fr));
  gap:10px;
  overflow-x:auto;
  padding-bottom:4px;
}
.home-progress-card{min-height:112px;padding:14px 14px 13px}
.home-progress-card small{white-space:nowrap;font-size:12px}
.home-progress-card strong{font-size:22px;white-space:nowrap}
.home-progress-card span{font-size:11px;line-height:1.35}
.integrated-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-operation-memo-panel{scroll-margin-top:96px}
@media(max-width:980px){
  .home-progress-grid{grid-template-columns:repeat(6,minmax(150px,1fr))}
}
@media(max-width:700px){
  .home-progress-grid{grid-template-columns:repeat(6,minmax(145px,1fr))}
}

/* 68차 - 일정 메뉴의 통합·공유·업무·인사일정 글자 크기 통일 */
.integrated-main-nav .schedule-nav-submenu > a {
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 980px) {
  .integrated-main-nav .schedule-nav-submenu > a {
    font-size: 13px !important;
  }
}

/* 69차 - 공유·인사·업무일정 달력 글자 크기 통일 및 내용형 행높이 */
@media screen {
  .shared-schedule-calendar .mini-schedules,
  .program-schedule-calendar .mini-schedules,
  .hr-calendar-events {
    gap:4px;
  }

  .shared-schedule-calendar .mini-schedules a,
  .program-schedule-calendar .mini-schedules a,
  .hr-calendar-event {
    min-height:31px;
    padding:4px 6px;
    font-size:9px;
    line-height:1.35;
  }

  .shared-schedule-calendar .mini-schedules time,
  .program-schedule-calendar .mini-schedules time,
  .hr-calendar-event time {
    margin:0;
    font-size:8.5px;
    line-height:1.35;
  }

  .shared-schedule-calendar .mini-schedules span,
  .program-schedule-calendar .mini-schedules span,
  .hr-calendar-event strong {
    font-size:9px;
    line-height:1.35;
    font-weight:800;
  }

  .shared-schedule-calendar .mini-schedules .none,
  .program-schedule-calendar .mini-schedules .none {
    padding:5px 0;
    font-size:9px;
    line-height:1.35;
  }

  .shared-schedule-calendar .more-count,
  .program-schedule-calendar .more-count,
  .hr-calendar-more {
    padding:3px 5px;
    font-size:9px;
    line-height:1.35;
  }

  .shared-schedule-calendar .month-day .mini-schedules a,
  .program-schedule-calendar .month-day .mini-schedules a {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:1px;
  }

  .program-schedule-calendar .month-day .program-schedule-mini-list small {
    display:none;
  }

  .shared-schedule-calendar .month-grid.days,
  .program-schedule-calendar .month-grid.days,
  .hr-calendar-grid {
    grid-auto-rows:minmax(58px,auto);
    align-items:stretch;
  }

  .shared-schedule-calendar .month-day,
  .program-schedule-calendar .month-day,
  .hr-calendar-day {
    min-height:58px;
  }
}



/* 70차 - 통합일정 일·주·월·년 보기 */
.unified-schedule-toolbar .view-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(42px,1fr));
}
.unified-schedule-toolbar .view-tabs a{text-align:center}

.unified-week-panel{overflow:hidden}
.unified-week-grid{min-height:0}
.unified-week-day{min-height:210px;height:auto;padding:10px;overflow:visible}
.unified-week-day .week-date{gap:1px;padding:5px 4px 9px}
.unified-week-day .week-date small{color:var(--muted);font-size:9px;font-weight:800}
.unified-week-list{display:flex;flex-direction:column;gap:4px}
.unified-week-event{
  display:flex;
  flex-direction:column;
  gap:1px;
  min-width:0;
  height:auto;
  padding:7px 7px;
  border-left:3px solid transparent;
  border-radius:6px;
  background:#f3f6f4;
  font-size:9px;
  line-height:1.3;
}
.unified-week-event.shared{border-left-color:#6b61b6;background:#f2f0fb}
.unified-week-event.work{border-left-color:#238b7c;background:#edf8f6}
.unified-week-event.hr{border-left-color:#2d7fb8;background:#edf5fb}
.unified-week-event .unified-week-time{
  display:block;
  overflow:visible;
  color:var(--blue-dark);
  font-size:9px;
  font-weight:900;
  line-height:1.4;
  text-overflow:clip;
  white-space:normal;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.unified-week-event .unified-week-title{
  display:block;
  overflow:visible;
  font-size:10px;
  font-weight:900;
  line-height:1.45;
  text-overflow:clip;
  white-space:normal;
  word-break:break-word;
  overflow-wrap:anywhere;
  -webkit-box-orient:initial;
  -webkit-line-clamp:unset;
}
.unified-week-event .unified-week-meta{
  display:block;
  margin-top:2px;
  color:#53665d;
  font-size:8.5px;
  font-weight:700;
  line-height:1.45;
  white-space:normal;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.unified-week-event .unified-week-memo{
  display:block;
  margin-top:3px;
  padding-top:3px;
  border-top:1px dashed rgba(80,105,93,.24);
  color:#58665f;
  font-size:8.5px;
  font-style:normal;
  font-weight:500;
  line-height:1.5;
  white-space:pre-wrap;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.unified-week-empty{display:block;padding:8px 3px;color:var(--muted);font-size:10px;text-align:center}

.unified-month-grid{grid-auto-rows:minmax(62px,auto);align-items:stretch}
.unified-month-panel .month-day{min-height:62px}
.unified-month-panel .month-day.other-month{background:#fafbfa;color:#aeb7b2}

.unified-year-panel{overflow:hidden}
.unified-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px}
.unified-year-month{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}
.unified-year-month-title{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-bottom:1px solid var(--line);background:#f8fbf9}
.unified-year-month-title strong{font-size:15px}
.unified-year-month-title span{color:var(--green-dark);font-size:9px;font-weight:800}
.unified-year-weekdays,.unified-year-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.unified-year-weekdays span{padding:5px 1px;color:var(--muted);font-size:8px;font-weight:800;text-align:center}
.unified-year-day{position:relative;display:flex;align-items:center;justify-content:center;min-height:31px;border-top:1px solid #f0f3f1;border-right:1px solid #f0f3f1;color:var(--ink);font-size:9px}
.unified-year-day:nth-child(7n){border-right:0}
.unified-year-day.other-month{color:#c2c9c5;background:#fbfcfb}
.unified-year-day.today{outline:2px solid var(--green);outline-offset:-2px;font-weight:900}
.unified-year-day.has-events{background:#f4faf6;font-weight:800}
.unified-year-day b{position:absolute;right:2px;bottom:2px;display:inline-flex;align-items:center;justify-content:center;min-width:13px;height:13px;padding:0 3px;border-radius:999px;background:var(--green);color:#fff;font-size:7px;line-height:1}
.unified-year-day.other-month b{opacity:.45}

@media(max-width:1100px){
  .unified-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .unified-week-grid{grid-template-columns:1fr}
  .unified-week-day{display:grid;grid-template-columns:70px minmax(0,1fr);min-height:0;border-right:0;border-bottom:1px solid var(--line)}
  .unified-week-day .week-date{align-self:start}
  .unified-year-grid{grid-template-columns:1fr;padding:12px}
  .unified-year-day{min-height:34px}
}


/* 71차 - 교육대상 상태변경 창을 화면 중앙의 넓은 모달로 표시 */
body.education-status-modal-open { overflow: hidden; }
.education-target-actions { min-width: 92px; white-space: nowrap; }
.education-status-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(15, 23, 42, .58);
  overflow-y: auto;
}
.education-status-modal[hidden] { display: none !important; }
.education-status-dialog {
  width: min(560px, 100%);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  border: 1px solid #d9e2df;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .32);
}
.education-status-dialog-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px 17px;
  border-bottom: 1px solid #e3e9e6;
  background: linear-gradient(135deg, #fbfefc 0%, #f2f8f4 100%);
}
.education-status-dialog-head h2 { margin: 3px 0 5px; font-size: 21px; color: #173b29; }
.education-status-dialog-head p { margin: 0; color: #66746c; font-size: 13px; line-height: 1.5; }
.education-status-close {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border: 1px solid #d6dfdb;
  border-radius: 10px;
  background: #fff;
  color: #405148;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}
.education-status-close:hover { background: #edf5f0; color: #135a36; }
.education-status-form { padding: 22px 24px 24px; }
.education-status-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.education-status-grid label { display: grid; gap: 7px; color: #33463c; font-size: 13px; font-weight: 800; }
.education-status-grid select,
.education-status-grid input,
.education-status-grid textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #cbd7d1;
  border-radius: 10px;
  background: #fff;
  color: #17251e;
  font: inherit;
  font-weight: 500;
}
.education-status-grid select,
.education-status-grid input { min-height: 44px; padding: 8px 10px; }
.education-status-grid textarea { min-height: 104px; padding: 10px 11px; resize: vertical; line-height: 1.55; }
.education-status-grid select:focus,
.education-status-grid input:focus,
.education-status-grid textarea:focus { outline: 3px solid rgba(35, 115, 60, .16); border-color: #378251; }
.education-status-note { grid-column: 1 / -1; }
.education-status-dialog-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 20px; padding-top: 17px; border-top: 1px solid #e5ebe8; }
@media (max-width: 640px) {
  .education-status-modal { align-items: flex-end; padding: 10px; }
  .education-status-dialog { width: 100%; max-height: calc(100vh - 20px); border-radius: 16px 16px 10px 10px; }
  .education-status-dialog-head { padding: 18px 17px 14px; }
  .education-status-dialog-head h2 { font-size: 19px; }
  .education-status-form { padding: 18px 17px 20px; }
  .education-status-grid { grid-template-columns: 1fr; gap: 13px; }
  .education-status-note { grid-column: auto; }
  .education-status-dialog-actions .btn { flex: 1 1 0; }
}
@media print {
  .education-status-modal { display: none !important; }
}


/* 73차 - 사용자 흐름 중심 메뉴 재구성 및 운영일지 메모 이동 보강 */
.integrated-main-nav .nav-submenu{
  max-height:min(72vh,680px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
.integrated-main-nav .nav-submenu-label{
  position:relative;
  color:#75847c;
}
.integrated-main-nav .nav-submenu-label + a{
  margin-top:2px;
}
.home-operation-memo-panel{
  scroll-margin-top:118px;
  outline:none;
}
.home-operation-memo-panel:focus{
  box-shadow:0 0 0 3px rgba(47,143,78,.14),var(--shadow);
}
@media(max-width:1280px){
  .integrated-main-nav .nav-submenu{
    max-height:none;
    overflow:visible;
  }
  .integrated-main-nav .nav-submenu-label{
    padding-left:8px;
  }
}


/* 74차 - 대표화면 바로가기, 선택일 연동, 현재 위치 및 모바일 안내 */
.nav-group-trigger{display:flex;align-items:center;min-width:0}
.integrated-main-nav .nav-group-link{padding-right:5px!important;border-radius:10px 0 0 10px}
.integrated-main-nav .nav-group-caret-button{display:inline-grid;place-items:center;width:28px;min-width:28px;min-height:40px;padding:0!important;border-radius:0 10px 10px 0;font-size:10px!important}
.nav-group.active .nav-group-link,.nav-group.open .nav-group-link,.nav-group-link:hover{color:var(--green-dark)!important;background:#eaf5ed!important}
.nav-group.active .nav-group-caret-button,.nav-group.open .nav-group-caret-button{color:var(--green-dark);background:#eaf5ed}
.nav-disabled-item{display:grid;gap:1px;margin:2px 0;padding:10px 12px;border-radius:9px;background:#f4f6f5;color:#8b9690;cursor:not-allowed}
.nav-disabled-item strong{font-size:12px;line-height:1.35}.nav-disabled-item small{font-size:10px;font-weight:700;line-height:1.35}
.page-breadcrumb{display:flex;align-items:center;gap:7px;margin:-4px 0 15px;padding:0 2px;color:#7a8780;font-size:11px;font-weight:750;overflow-x:auto;white-space:nowrap}
.page-breadcrumb a{color:#65736c}.page-breadcrumb a:hover{color:var(--green-dark);text-decoration:underline}.page-breadcrumb strong{color:#32453b;font-weight:900}
.home-progress-swipe-hint{display:none;margin:5px 2px 14px;color:#7b8781;font-size:10px;text-align:right}
@media(max-width:1280px){
  .integrated-main-nav .nav-group-trigger{width:100%}
  .integrated-main-nav .nav-group-link{flex:1;width:auto!important;padding:10px 12px!important;border-radius:10px 0 0 10px;font-size:13px;text-align:left}
  .integrated-main-nav .nav-group-caret-button{width:44px!important;min-width:44px;min-height:44px;text-align:center!important}
}
@media(max-width:700px){.home-progress-swipe-hint{display:block}}

/* 75차 - 업무흐름 통합 및 세부실적 관리 기능 접기 */
.daily-work-flow-strip {
  grid-template-columns: repeat(6, minmax(120px, 1fr));
}
.workflow-section { margin-top: 18px; }
.workflow-card-grid {
  display: grid;
  gap: 12px;
}
.workflow-card-grid.three-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.workflow-card-grid.six-columns { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.workflow-stage-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 118px;
  padding: 16px;
  border: 1px solid var(--line-color, #dfe5ea);
  border-radius: 14px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}
.workflow-stage-card:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(15, 35, 55, .08); }
.workflow-stage-card > span {
  display: inline-flex;
  width: fit-content;
  min-width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  border-radius: 999px;
  background: #eef4f8;
  font-weight: 800;
  font-size: 12px;
}
.workflow-stage-card strong { font-size: 17px; }
.workflow-stage-card small { color: #5e6d78; line-height: 1.45; }
.workflow-stage-card.featured { border-color: #7ba6c2; background: #f4f9fc; }
.workflow-rule-box { margin-top: 18px; }

.daily-detail-management-tools {
  margin: 0 18px 16px;
  border: 1px solid #d7e1e8;
  border-radius: 12px;
  background: #f8fbfd;
}
.daily-detail-management-tools > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}
.daily-detail-management-tools > summary::-webkit-details-marker { display: none; }
.daily-detail-management-tools > summary::after { content: "펼치기 +"; font-size: 12px; color: #5b6b76; }
.daily-detail-management-tools[open] > summary::after { content: "접기 −"; }
.daily-detail-management-tools > summary span { color: #647480; font-size: 12px; }
.daily-detail-management-body { padding: 0 16px 16px; }
.daily-detail-management-links { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.daily-detail-quick-add {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) 120px minmax(220px, 1.5fr) minmax(220px, 1.5fr) auto;
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px dashed #b9cbd7;
  border-radius: 10px;
  background: #fff;
  margin-bottom: 12px;
}
.daily-detail-quick-add > div { align-self: center; }
.daily-detail-quick-add > div span { display: block; color: #687883; font-size: 12px; margin-top: 3px; }
.daily-detail-quick-add label { display: grid; gap: 5px; font-size: 12px; font-weight: 700; }
.daily-detail-quick-add input,
.daily-detail-quick-add select { min-height: 38px; }
.daily-detail-form.management-collapsed [data-management-column] { display: none; }
.daily-participant-picker { margin-top: 8px; border-top: 1px dashed #d8e0e6; padding-top: 7px; }
.daily-participant-picker summary { cursor: pointer; font-size: 12px; color: #4b6272; }
.daily-participant-picker select { width: 100%; min-width: 170px; margin-top: 6px; font-size: 12px; }
.daily-participant-picker small { display: block; margin-top: 4px; color: #6c7b85; }

.operation-preflight-panel { margin-bottom: 16px; }
.operation-preflight-summary { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 12px; }
.operation-preflight-summary .ready { color: #167544; }
.operation-preflight-summary .warning { color: #b35a00; }
.operation-preflight-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.operation-preflight-item { display: flex; flex-direction: column; gap: 5px; padding: 12px; border-radius: 10px; border: 1px solid #dce4e9; background: #fff; text-decoration: none; color: inherit; }
.operation-preflight-item.ok { border-color: #a8d6bd; background: #f5fbf7; }
.operation-preflight-item.warn { border-color: #f0c892; background: #fff9f1; }
.operation-preflight-item small { color: #687883; }

.meal-attendance-pill { display: inline-flex; align-items: center; min-height: 26px; padding: 0 9px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #eef2f5; }
.meal-attendance-pill.present { background: #e8f7ee; color: #176c3c; }
.meal-attendance-pill.absent { background: #fff0ec; color: #a33b25; }
.meal-attendance-pill.blank { background: #fff7df; color: #8a6400; }
.auto-suggestion-note { display: block; margin-top: 4px; font-size: 11px; color: #4c7188; }

@media (max-width: 1100px) {
  .workflow-card-grid.six-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .daily-detail-quick-add { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .daily-detail-quick-add > div { grid-column: 1 / -1; }
  .operation-preflight-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .daily-work-flow-strip { grid-template-columns: repeat(6, minmax(112px, 1fr)); overflow-x: auto; }
  .workflow-card-grid.three-columns,
  .workflow-card-grid.six-columns { grid-template-columns: 1fr; }
  .daily-detail-management-tools { margin-left: 10px; margin-right: 10px; }
  .daily-detail-management-tools > summary { align-items: flex-start; flex-direction: column; }
  .daily-detail-quick-add { grid-template-columns: 1fr; }
  .operation-preflight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* 77차 대상·비대상 자동 판정 */
.daily-target-row.not-target td { background:#f5f7f8; color:#76828a; }
.daily-target-row.not-target input:disabled,
.daily-target-row.not-target select:disabled { background:#eef1f3; color:#89939a; cursor:not-allowed; }
.daily-target-toggle { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:78px; padding:6px 9px; border:1px solid #b9d8c5; border-radius:999px; background:#f4fbf7; color:#176b43; font-weight:800; cursor:pointer; }
.daily-target-row.not-target .daily-target-toggle { border-color:#cfd6da; background:#eef1f3; color:#66727b; }
.daily-target-toggle input { width:16px; height:16px; margin:0; }
.table-subtext { display:block; margin-top:3px; color:#6b7780; font-size:11px; line-height:1.3; }
.meal-attendance-pill.not-applicable { background:#eef1f3; color:#66727b; }
.client-service-section { margin:22px 0; padding:18px; border:1px solid #d8e8df; border-radius:16px; background:#fbfdfc; }
.target-setting-grid { align-items:stretch; }
.target-setting-card { padding:14px; border:1px solid #e1e8e4; border-radius:13px; background:#fff; }
.weekday-checks { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.weekday-checks[hidden] { display:none!important; }
.weekday-checks label { cursor:pointer; }
.weekday-checks input { position:absolute; opacity:0; pointer-events:none; }
.weekday-checks span { display:inline-flex; align-items:center; justify-content:center; min-width:38px; padding:7px 9px; border:1px solid #ccd8d1; border-radius:9px; background:#fff; color:#52615a; font-weight:800; }
.weekday-checks input:checked + span { border-color:#2c8a59; background:#eaf7ef; color:#176b43; }
.record-day-cell.not-applicable { background:#f0f2f3!important; color:#8a949a; }
.client-schedule-summary { min-width:150px; }
.client-schedule-summary small { display:block; line-height:1.35; color:#617069; }
@media (max-width:720px){
  .daily-target-toggle { min-width:70px; padding:5px 7px; }
  .client-service-section { padding:14px; }
}

/* 76차 - 상단 메뉴 9개 영역 통합 및 중간 메뉴 제거 */
.page-breadcrumb,
.hr-section-nav,
.hr-local-tabs,
.work-flow-strip.daily-work-flow-strip,
.daily-work-flow-strip { display:none!important; }
.integrated-header-inner{max-width:1700px;gap:8px;padding-left:16px;padding-right:16px}
.integrated-main-nav{gap:0;justify-content:center}
.integrated-main-nav>a,
.integrated-main-nav .nav-group-button{padding:9px 7px;font-size:12px}
.integrated-main-nav .nav-group-link{padding-left:8px!important;padding-right:3px!important}
.integrated-main-nav .nav-group-caret-button{width:24px;min-width:24px}
@media(max-width:1450px){
  .integrated-main-nav>a,
  .integrated-main-nav .nav-group-button{font-size:11px;padding-left:6px;padding-right:6px}
  .brand{min-width:180px}
}
@media(max-width:1280px){
  .integrated-main-nav>a,
  .integrated-main-nav .nav-group-button{font-size:13px}
}
/* 중간 빠른이동 메뉴도 상단 메뉴로 통합 */
.hr-workflow-nav{display:none!important}
.unified-legend{display:none!important}


/* 78차 - 상단 메인메뉴 하위메뉴 표시 안정화 */
/* 자바스크립트가 늦게 로드되거나 이전 파일이 캐시되어도 데스크톱에서는 마우스와 키보드로 하위메뉴가 표시됩니다. */
@media (min-width:1281px){
  .integrated-main-nav > .nav-group:hover > .nav-submenu,
  .integrated-main-nav > .nav-group:focus-within > .nav-submenu{
    display:block;
  }
  .integrated-main-nav > .nav-group:hover::after,
  .integrated-main-nav > .nav-group:focus-within::after{
    content:"";
    position:absolute;
    top:100%;
    left:0;
    right:0;
    height:10px;
    z-index:79;
  }
  .integrated-main-nav > .nav-group:hover .nav-group-link,
  .integrated-main-nav > .nav-group:focus-within .nav-group-link,
  .integrated-main-nav > .nav-group:hover .nav-group-caret-button,
  .integrated-main-nav > .nav-group:focus-within .nav-group-caret-button{
    color:var(--green-dark)!important;
    background:#eaf5ed!important;
  }
}
.integrated-main-nav .nav-submenu{z-index:120}

/* 81차 - 일정달력 보기 및 일정 등록 바로가기 */
.unified-schedule-toolbar{
  align-items:center;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.unified-view-selector{display:flex;align-items:center;gap:10px;min-width:0}
.unified-view-selector .toolbar-label{flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:900}
.unified-schedule-toolbar .view-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(76px,1fr));gap:5px;min-width:330px}
.unified-schedule-toolbar .view-tabs a{display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;text-align:center;white-space:nowrap}
.unified-register-panel{margin:0 0 16px;padding:18px 20px}
.unified-register-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.unified-register-heading h2{margin:2px 0 0;font-size:19px}
.unified-register-heading>p{margin:0;color:var(--muted);font-size:12px}
.unified-register-heading>p strong{color:var(--ink);font-size:13px}
.unified-register-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.unified-register-card{position:relative;display:block;min-height:108px;padding:16px 15px 14px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc;overflow:hidden;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.unified-register-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#6b61b6}
.unified-register-card.trip::before{background:#2d7fb8}
.unified-register-card.vacation::before{background:#2f8f4e}
.unified-register-card.overtime::before{background:#e48a2a}
.unified-register-card:hover{transform:translateY(-1px);border-color:#b8cec2;box-shadow:0 8px 20px rgba(34,67,53,.09);text-decoration:none}
.unified-register-card>span{display:inline-flex;padding:3px 7px;border-radius:999px;background:#f0eefb;color:#5549a2;font-size:10px;font-weight:900}
.unified-register-card.trip>span{background:#edf5fb;color:#226b9e}
.unified-register-card.vacation>span{background:#eaf7ef;color:#176b43}
.unified-register-card.overtime>span{background:#fff3e6;color:#a65a12}
.unified-register-card strong,.unified-register-card small{display:block}
.unified-register-card strong{margin-top:9px;color:var(--ink);font-size:16px}
.unified-register-card small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}
@media(max-width:1050px){
  .unified-schedule-toolbar{grid-template-columns:1fr auto}
  .unified-view-selector{grid-column:1/-1}
  .unified-schedule-toolbar .view-tabs{width:100%;min-width:0}
  .unified-register-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .unified-schedule-toolbar{display:flex;align-items:stretch;flex-direction:column;gap:10px}
  .unified-view-selector{display:block}
  .unified-view-selector .toolbar-label{display:block;margin-bottom:7px}
  .unified-schedule-toolbar .view-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .unified-filter-tabs{justify-content:flex-start}
  .unified-schedule-toolbar .date-nav{justify-content:center}
  .unified-register-panel{padding:15px}
  .unified-register-heading{align-items:flex-start;flex-direction:column;gap:5px}
  .unified-register-grid{grid-template-columns:1fr}
  .unified-register-card{min-height:92px}
}



/* 83차 - 일정달력 홈 업무 우측 한 줄 빠른 등록 */
.integrated-schedule-page-head{align-items:flex-start;flex-wrap:wrap;gap:18px;margin-bottom:16px}
.integrated-schedule-title{flex:0 1 470px;min-width:280px}
.integrated-schedule-head-actions{flex:1 1 940px;align-items:stretch;justify-content:flex-end;gap:9px;min-width:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:1px 0 5px;scrollbar-width:thin}
.integrated-home-work-button{flex:0 0 auto;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;min-height:74px;white-space:nowrap}
.unified-register-inline{display:flex;align-items:stretch;gap:8px;flex:0 0 auto;min-width:max-content;white-space:nowrap}
.unified-register-inline-heading{display:flex;flex:0 0 210px;flex-direction:column;justify-content:center;min-height:74px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.unified-register-inline-heading .eyebrow{margin:0 0 1px;font-size:9px;line-height:1.2}
.unified-register-inline-heading strong{color:var(--ink);font-size:13px;line-height:1.25}
.unified-register-inline-heading small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}
.unified-register-inline-card{position:relative;display:flex;flex:0 0 168px;flex-direction:column;justify-content:center;min-height:74px;padding:9px 11px 8px 15px;border:1px solid var(--line);border-radius:12px;background:#fbfdfc;overflow:hidden;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.unified-register-inline-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#6b61b6}
.unified-register-inline-card.trip::before{background:#2d7fb8}
.unified-register-inline-card.vacation::before{background:#2f8f4e}
.unified-register-inline-card.overtime::before{background:#e48a2a}
.unified-register-inline-card:hover{transform:translateY(-1px);border-color:#b8cec2;box-shadow:0 6px 16px rgba(34,67,53,.08);text-decoration:none}
.unified-register-inline-card>span{align-self:flex-start;padding:2px 6px;border-radius:999px;background:#f0eefb;color:#5549a2;font-size:8px;font-weight:900;line-height:1.35}
.unified-register-inline-card.trip>span{background:#edf5fb;color:#226b9e}
.unified-register-inline-card.vacation>span{background:#eaf7ef;color:#176b43}
.unified-register-inline-card.overtime>span{background:#fff3e6;color:#a65a12}
.unified-register-inline-card strong{margin-top:4px;color:var(--ink);font-size:12px;line-height:1.25}
.unified-register-inline-card small{margin-top:2px;color:var(--muted);font-size:9px;line-height:1.3}
@media(max-width:760px){
  .integrated-schedule-page-head{display:block}
  .integrated-schedule-title{margin-bottom:12px}
  .integrated-schedule-head-actions{width:100%;justify-content:flex-start}
  .integrated-home-work-button{min-height:70px}
  .unified-register-inline-heading,.unified-register-inline-card{min-height:70px}
}
@media print{.integrated-schedule-head-actions{display:none!important}}

/* 88차 - 출장·휴가·초과근무 대장 목록 겹침 방지 및 일시 통합 표시 */
.ledger-table-wrap {
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}
.trip-ledger-table {
  min-width: 1560px;
  table-layout: fixed;
}
.trip-ledger-table th,
.trip-ledger-table td {
  max-width: none;
  min-width: 0;
  height: auto;
  line-height: 1.45;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
  vertical-align: top;
  overflow: hidden;
}
.trip-ledger-table td > div,
.trip-ledger-table td > strong,
.trip-ledger-table td > a {
  max-width: 100%;
}
.ledger-date-cell,
.ledger-period-cell {
  font-variant-numeric: tabular-nums;
  line-height: 1.5 !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
.ledger-period-cell {
  min-width: 170px;
}
.ledger-doc-link {
  white-space: normal;
  overflow-wrap: anywhere;
}

/* 초과근무대장: 근무기간·시작·종료를 근무일시 한 칸으로 통합 */
.overtime-ledger-table {
  min-width: 1350px;
}
.overtime-ledger-table th:nth-child(1), .overtime-ledger-table td:nth-child(1) { width: 50px; }
.overtime-ledger-table th:nth-child(2), .overtime-ledger-table td:nth-child(2) { width: 115px; }
.overtime-ledger-table th:nth-child(3), .overtime-ledger-table td:nth-child(3) { width: 100px; }
.overtime-ledger-table th:nth-child(4), .overtime-ledger-table td:nth-child(4) { width: 230px; }
.overtime-ledger-table th:nth-child(5), .overtime-ledger-table td:nth-child(5) { width: 90px; }
.overtime-ledger-table th:nth-child(6), .overtime-ledger-table td:nth-child(6) { width: 290px; }
.overtime-ledger-table th:nth-child(7), .overtime-ledger-table td:nth-child(7) { width: 115px; }
.overtime-ledger-table th:nth-child(8), .overtime-ledger-table td:nth-child(8) { width: 180px; }
.overtime-ledger-table th:nth-child(9), .overtime-ledger-table td:nth-child(9) { width: 180px; }

/* 휴가대장: 시작일시·종료일시를 휴가일시 한 칸으로 통합 */
.vacation-all-ledger-table {
  min-width: 1240px;
}
.vacation-all-ledger-table th:nth-child(1), .vacation-all-ledger-table td:nth-child(1) { width: 50px; }
.vacation-all-ledger-table th:nth-child(2), .vacation-all-ledger-table td:nth-child(2) { width: 110px; }
.vacation-all-ledger-table th:nth-child(3), .vacation-all-ledger-table td:nth-child(3) { width: 90px; }
.vacation-all-ledger-table th:nth-child(4), .vacation-all-ledger-table td:nth-child(4) { width: 100px; }
.vacation-all-ledger-table th:nth-child(5), .vacation-all-ledger-table td:nth-child(5) { width: 115px; }
.vacation-all-ledger-table th:nth-child(6), .vacation-all-ledger-table td:nth-child(6) { width: 110px; }
.vacation-all-ledger-table th:nth-child(7), .vacation-all-ledger-table td:nth-child(7) { width: 230px; }
.vacation-all-ledger-table th:nth-child(8), .vacation-all-ledger-table td:nth-child(8),
.vacation-all-ledger-table th:nth-child(9), .vacation-all-ledger-table td:nth-child(9),
.vacation-all-ledger-table th:nth-child(10), .vacation-all-ledger-table td:nth-child(10) { width: 105px; }
.vacation-all-ledger-table th:nth-child(11), .vacation-all-ledger-table td:nth-child(11) { width: 75px; }

.vacation-person-ledger-table {
  min-width: 980px;
}
.vacation-person-ledger-table th:nth-child(1), .vacation-person-ledger-table td:nth-child(1) { width: 50px; }
.vacation-person-ledger-table th:nth-child(2), .vacation-person-ledger-table td:nth-child(2) { width: 115px; }
.vacation-person-ledger-table th:nth-child(3), .vacation-person-ledger-table td:nth-child(3) { width: 125px; }
.vacation-person-ledger-table th:nth-child(4), .vacation-person-ledger-table td:nth-child(4) { width: 250px; }
.vacation-person-ledger-table th:nth-child(5), .vacation-person-ledger-table td:nth-child(5),
.vacation-person-ledger-table th:nth-child(6), .vacation-person-ledger-table td:nth-child(6),
.vacation-person-ledger-table th:nth-child(7), .vacation-person-ledger-table td:nth-child(7) { width: 110px; }
.vacation-person-ledger-table th:nth-child(8), .vacation-person-ledger-table td:nth-child(8) { width: 75px; }

@media print {
  .landscape-ledger-page .trip-ledger-table,
  .landscape-ledger-page .overtime-ledger-table,
  .landscape-ledger-page .vacation-person-ledger-table,
  .landscape-ledger-page .vacation-all-ledger-table {
    min-width: 0 !important;
  }
  .landscape-ledger-page .ledger-period-cell,
  .landscape-ledger-page .ledger-date-cell {
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    font-size: 7pt !important;
    line-height: 1.3 !important;
  }
}
@media print {
  .landscape-ledger-page .ledger-period-cell {
    min-width: 0 !important;
  }
}


/* 89차 - 대장 기본값: 해당 월·로그인 사용자·개별대장 */
.ledger-person-search {
  grid-template-columns: 132px 190px 138px 138px minmax(250px, 1fr) auto;
  align-items: end;
}
.ledger-person-search .ledger-scope-field select,
.ledger-person-search .ledger-staff-field select,
.ledger-person-search .ledger-staff-field input { width: 100%; min-width: 0; }
@media (max-width: 1180px) {
  .ledger-person-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-person-search .search-grow,
  .ledger-person-search .search-actions { grid-column: 1 / -1; }
  .ledger-person-search .search-actions { justify-content: flex-start; flex-wrap: wrap; }
}
@media (max-width: 700px) {
  .ledger-person-search { grid-template-columns: 1fr; }
  .ledger-person-search .search-grow,
  .ledger-person-search .search-actions { grid-column: auto; }
}
.unified-register-inline-card[data-hr-register-popup]::after {
  content: "팝업";
  position: absolute;
  top: 7px;
  right: 8px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
}

/* 95차 - 급식실적 화면 간결화 및 입력표 정리 */
.meal-performance-page-head {
  align-items: flex-end;
  gap: 20px;
}
.meal-performance-page-head > div:first-child { min-width: 280px; }
.meal-page-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}
.meal-page-actions .btn { min-height: 36px; padding: 7px 11px; }
.meal-toolbar-panel {
  border-color: #dce8e1;
  box-shadow: 0 8px 22px rgba(37, 76, 52, .05);
}
.meal-search {
  grid-template-columns: 170px 145px minmax(250px, 1fr) 145px auto;
  align-items: end;
  padding: 14px 16px;
  background: linear-gradient(180deg, #fbfdfc 0%, #f7faf8 100%);
}
.meal-search .field {
  display: grid;
  align-items: stretch;
  gap: 5px;
}
.meal-search .field label {
  font-size: 12px;
  line-height: 1.2;
  color: #596b61;
}
.meal-search .field input,
.meal-search .field select,
.meal-search .search-actions .btn { min-height: 40px; }
.meal-search-actions {
  flex-wrap: nowrap;
  gap: 6px;
}
.meal-search-actions .btn { padding-left: 10px; padding-right: 10px; }
.meal-panel { border-color: #dbe7df; }
.meal-head {
  padding: 16px 20px;
  background: #fbfdfc;
}
.meal-head h2 { font-size: 20px; }
.meal-head-actions { flex-wrap: nowrap; }
.meal-record-guide {
  color: #64756b;
  font-size: 12px;
  white-space: nowrap;
}
.meal-bulk-actions {
  justify-content: space-between;
  gap: 12px 18px;
  margin: 0;
  padding: 11px 18px;
  border: 0;
  border-bottom: 1px solid #e0e8e3;
  border-radius: 0;
  background: #f5faf7;
}
.meal-bulk-control {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.meal-bulk-control select { min-height: 36px; }
.meal-bulk-actions .bulk-help {
  margin-left: auto;
  text-align: right;
}
.meal-table {
  min-width: 880px;
  table-layout: fixed;
}
.meal-table th,
.meal-table td {
  vertical-align: middle;
}
.meal-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f3f7f5;
  box-shadow: inset 0 -1px 0 #dce5df;
}
.meal-table th:nth-child(1), .meal-table td:nth-child(1) { width: 285px; }
.meal-table th:nth-child(2), .meal-table td:nth-child(2) { width: 105px; text-align: center; }
.meal-table th:nth-child(3), .meal-table td:nth-child(3) { width: 105px; text-align: center; }
.meal-table th:nth-child(4), .meal-table td:nth-child(4) { width: 145px; }
.meal-table th:nth-child(5), .meal-table td:nth-child(5) { width: auto; min-width: 250px; }
.meal-client-cell { text-align: left !important; }
.meal-client-name-row {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}
.meal-client-name-row strong {
  color: #1d3428;
  font-size: 15px;
}
.meal-client-name-row .client-status {
  flex: 0 0 auto;
  padding: 2px 7px;
  font-size: 10px;
}
.meal-client-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  color: #68776f;
  font-size: 11px;
  line-height: 1.3;
}
.meal-client-meta span + span::before { content: "·"; margin-right: 6px; }
.meal-client-code {
  font-variant-numeric: tabular-nums;
  color: #52665a;
}
.meal-table select,
.meal-table input[type="text"] {
  min-height: 38px;
  border-color: #d5e0da;
}
.meal-table input[type="text"] { min-width: 0; }
.meal-table tr.target:hover td { background: #fbfefc; }
.meal-table tr.attendance-absent.target td { background: #fffdfb; }
.meal-table tr.attendance-blank.target td { background: #fffef8; }
.meal-table tr.not-target td { opacity: .82; }
.meal-summary {
  justify-content: space-between;
  gap: 10px 18px;
  padding: 12px 18px;
}
.meal-summary-group {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}
.meal-summary-label {
  margin-right: 2px;
  color: #394c42;
  font-size: 12px;
  font-weight: 800;
}
.meal-footer-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  padding: 12px 18px;
  border-top: 1px solid #e1e8e4;
  background: #fff;
}
.meal-footer-actions span { color: #68766e; font-size: 12px; }
.meal-footer-actions .btn { min-width: 118px; }
@media (max-width: 1180px) {
  .meal-performance-page-head { align-items: flex-start; }
  .meal-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .meal-search .search-grow,
  .meal-search .search-actions { grid-column: 1 / -1; }
  .meal-search .search-actions { justify-content: flex-start; }
  .meal-bulk-actions .bulk-help { margin-left: 0; text-align: left; }
}
@media (max-width: 720px) {
  .meal-performance-page-head { gap: 12px; }
  .meal-page-actions {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
  }
  .meal-page-actions .btn { flex: 0 0 auto; }
  .meal-search { grid-template-columns: 1fr; }
  .meal-search .search-grow,
  .meal-search .search-actions { grid-column: auto; }
  .meal-search-actions { display: grid; grid-template-columns: repeat(4, 1fr); width: 100%; }
  .meal-search-actions .btn { width: 100%; padding-left: 6px; padding-right: 6px; }
  .meal-head { align-items: stretch; }
  .meal-head-actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }
  .meal-head-actions .btn { width: 100%; }
  .meal-record-guide { white-space: normal; }
  .meal-bulk-actions,
  .meal-bulk-control { align-items: stretch; flex-direction: column; }
  .meal-bulk-control label,
  .meal-bulk-control select,
  .meal-bulk-control .btn,
  .meal-bulk-actions .bulk-help { width: 100%; }
  .meal-table { min-width: 760px; }
  .meal-table th:nth-child(1), .meal-table td:nth-child(1),
  .meal-table th:nth-child(2), .meal-table td:nth-child(2),
  .meal-table th:nth-child(3), .meal-table td:nth-child(3),
  .meal-table th:nth-child(4), .meal-table td:nth-child(4),
  .meal-table th:nth-child(5), .meal-table td:nth-child(5) { display: table-cell !important; }
  .meal-table th:nth-child(1), .meal-table td:nth-child(1) { width: 235px; }
  .meal-table th:nth-child(5), .meal-table td:nth-child(5) { min-width: 210px; }
  .meal-summary { align-items: flex-start; flex-direction: column; }
  .meal-footer-actions { align-items: stretch; flex-direction: column; }
  .meal-footer-actions .btn { width: 100%; }
}
@media print {
  .meal-performance-page-head,
  .meal-toolbar-panel,
  .meal-bulk-actions,
  .meal-footer-actions { display: none !important; }
  .meal-table { min-width: 0 !important; table-layout: fixed; }
  .meal-table thead th { position: static; }
}

/* 98차 - 운영일자·최종보고 사전점검 한 줄 축약 표시 */
.operation-control-strip {
  margin-bottom: 16px;
  padding: 8px 10px;
  overflow: hidden;
}
.operation-control-strip-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  scrollbar-width: thin;
  scrollbar-color: #b7c7bf transparent;
}
.operation-control-strip-inner::-webkit-scrollbar { height: 7px; }
.operation-control-strip-inner::-webkit-scrollbar-thumb { background: #b7c7bf; border-radius: 999px; }
.operation-compact-date {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  margin: 0;
}
.operation-strip-label {
  color: #27483a;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}
.operation-compact-date input[type="date"] {
  width: 132px;
  min-width: 132px;
  min-height: 31px;
  height: 31px;
  padding: 3px 7px;
  border-radius: 8px;
  font-size: 12px;
}
.operation-strip-button.btn {
  min-height: 31px;
  height: 31px;
  padding: 4px 9px;
  border-radius: 8px;
  font-size: 11px;
  line-height: 1;
}
.operation-strip-divider {
  width: 1px;
  height: 25px;
  flex: 0 0 1px;
  background: #d9e3de;
}
.operation-compact-preflight {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  min-width: max-content;
}
.operation-compact-summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 31px;
  padding: 4px 8px;
  border: 1px solid #d9e4df;
  border-radius: 9px;
  background: #f7faf8;
  color: #263d33;
  line-height: 1;
}
.operation-compact-summary .panel-kicker {
  margin: 0;
  color: #5f7469;
  font-size: 9px;
  letter-spacing: .08em;
}
.operation-compact-summary strong {
  font-size: 11px;
  font-weight: 900;
}
.operation-compact-summary em {
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}
.operation-compact-summary em.ready { background: #e6f5eb; color: #167544; }
.operation-compact-summary em.warning { background: #fff0dc; color: #a95300; }
.operation-compact-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 31px;
  padding: 5px 8px;
  border: 1px solid #dce4e9;
  border-radius: 9px;
  background: #fff;
  color: inherit;
  font-size: 10px;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
.operation-compact-item:hover { box-shadow: 0 2px 7px rgba(35, 63, 50, .10); transform: translateY(-1px); }
.operation-compact-item.ok { border-color: #a8d6bd; background: #f5fbf7; }
.operation-compact-item.warn { border-color: #f0c892; background: #fff9f1; }
.operation-compact-item strong { color: #243b31; font-size: 10.5px; font-weight: 900; }
.operation-compact-item small { color: #687883; font-size: 10px; }
.operation-compact-warning {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 5px 8px;
  border-radius: 9px;
  background: #fff7e9;
  color: #8a5a13;
  font-size: 10px;
  font-weight: 700;
}
@media (max-width: 720px) {
  .operation-control-strip { padding: 7px 8px; }
  .operation-control-strip-inner { gap: 6px; }
  .operation-compact-date input[type="date"] { width: 126px; min-width: 126px; }
}


/* 99차 - 운영일지 강사·자동문구·상단 작업메뉴 정리 */
.operation-log-page-head {
  align-items: flex-end;
  gap: 18px;
}
.operation-log-heading {
  flex: 0 1 430px;
  min-width: 260px;
}
.operation-log-actions {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
  padding: 2px 0 4px;
  overflow-x: auto;
  overflow-y: hidden;
  flex-wrap: nowrap !important;
  white-space: nowrap;
  scrollbar-width: thin;
  scrollbar-color: #b7c7bf transparent;
}
.operation-log-actions::-webkit-scrollbar { height: 7px; }
.operation-log-actions::-webkit-scrollbar-thumb { background: #b7c7bf; border-radius: 999px; }
.operation-log-actions > * { flex: 0 0 auto; }
.operation-log-actions .btn {
  min-height: 40px;
  padding: 8px 12px;
  white-space: nowrap;
}
.operation-log-actions .print-approval-control,
.operation-log-actions .print-orientation-control {
  width: auto;
  min-width: max-content;
  justify-content: flex-start;
}
.operation-log-actions .print-orientation-select {
  flex: 0 0 auto;
  min-width: 88px;
}
@media (max-width: 1180px) {
  .operation-log-page-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .operation-log-heading {
    width: 100%;
    min-width: 0;
  }
  .operation-log-actions {
    width: 100%;
    justify-content: flex-start;
  }
}
@media (max-width: 720px) {
  .operation-log-actions .print-approval-control,
  .operation-log-actions .print-orientation-control {
    width: auto;
    justify-content: flex-start;
  }
  .operation-log-actions .print-orientation-select { flex: 0 0 auto; }
}


/* 100차 - 운영일지 급식등록 본문 제거·상단 메뉴 한 줄 고정 */
.operation-log-page-head {
  display: block;
  margin-bottom: 10px;
}
.operation-log-heading {
  width: 100%;
  max-width: none;
  min-width: 0;
}
.operation-log-actions {
  width: 100%;
  margin-top: 12px;
  justify-content: flex-start;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
}
.operation-log-actions > *,
.operation-log-actions .btn {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
}
.operation-log-actions .print-approval-control,
.operation-log-actions .print-orientation-control {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content;
}
.operation-log-actions .print-orientation-select {
  width: auto !important;
  min-width: 88px;
}
@media (max-width: 1180px) {
  .operation-log-page-head { display: block; }
  .operation-log-actions { width: 100%; justify-content: flex-start; }
}
@media (max-width: 720px) {
  .operation-log-actions .btn,
  .operation-log-actions .print-approval-control,
  .operation-log-actions .print-orientation-control {
    width: auto !important;
  }
}

/* 102차 - 운영일지 제목줄 오른쪽에 인쇄 설정 배치 */
.operation-log-page-head {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 10px;
  min-width: 0;
}
.operation-log-heading {
  flex: 1 1 auto;
  width: auto;
  max-width: none;
  min-width: 220px;
}
.operation-log-actions {
  display: flex;
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  margin-top: 0;
  margin-left: auto;
  padding: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: nowrap !important;
  overflow: visible;
  white-space: nowrap;
}
.operation-log-actions > *,
.operation-log-actions .btn,
.operation-log-actions .print-approval-control,
.operation-log-actions .print-orientation-control {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin-top: 0;
  margin-bottom: 0;
}
.operation-log-actions .print-orientation-select {
  width: auto !important;
  min-width: 88px;
}
@media (max-width: 980px) {
  .operation-log-page-head {
    flex-direction: row;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
    scrollbar-width: thin;
    scrollbar-color: #b7c7bf transparent;
  }
  .operation-log-page-head::-webkit-scrollbar { height: 7px; }
  .operation-log-page-head::-webkit-scrollbar-thumb { background: #b7c7bf; border-radius: 999px; }
  .operation-log-heading { flex: 1 0 240px; }
  .operation-log-actions { flex: 0 0 auto; width: auto; justify-content: flex-end; }
}
@media (max-width: 700px) {
  .operation-log-page-head {
    flex-direction: row;
    align-items: center;
  }
  .operation-log-heading { min-width: 210px; }
  .operation-log-actions .btn,
  .operation-log-actions .print-approval-control,
  .operation-log-actions .print-orientation-control {
    width: auto !important;
  }
}


/* 104차 - 홈 진행상태 버튼에서 관리화면 직접 팝업 */
.home-progress-grid{
  grid-template-columns:repeat(8,minmax(112px,1fr));
  gap:8px;
  margin-bottom:12px;
  padding-bottom:2px;
}
.home-progress-card{
  appearance:none;
  width:100%;
  min-height:44px!important;
  padding:7px 11px 7px 14px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(34,67,53,.05);
}
.home-progress-card small{
  min-width:0;
  overflow:hidden;
  color:var(--muted);
  font-size:11px!important;
  font-weight:850;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-progress-card strong{
  margin:0!important;
  font-size:15px!important;
  line-height:1.2;
  white-space:nowrap;
}
.home-progress-card span{display:none!important}
.home-progress-card:hover{border-color:#a9cbb5;background:#f8fcf9;transform:translateY(-1px)}
.home-progress-card:focus-visible{outline:3px solid rgba(47,143,78,.22);outline-offset:2px}
.home-progress-swipe-hint{margin-top:-5px;margin-bottom:11px}
.home-progress-modal[hidden]{display:none!important}
.home-progress-modal{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:14px}
.home-progress-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(16,30,23,.58);cursor:default}
.home-progress-dialog{
  position:relative;
  z-index:1;
  width:min(1480px,calc(100vw - 28px));
  height:min(940px,calc(100vh - 28px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid #d6e2da;
  border-radius:18px;
  background:#fff;
  box-shadow:0 24px 70px rgba(15,38,26,.28);
  outline:none;
}
.home-progress-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;border-bottom:1px solid #e5ece7;background:#fbfdfb}
.home-progress-dialog-title{min-width:0}
.home-progress-dialog-head h3{margin:1px 0 0;font-size:20px;line-height:1.25}
.home-progress-dialog-head p{max-width:900px;margin:3px 0 0;overflow:hidden;color:#6c7b73;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.home-progress-dialog-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.home-progress-dialog-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #d8e3dc;border-radius:10px;background:#fff;color:#53645a;font-size:24px;line-height:1;cursor:pointer}
.home-progress-dialog-close:hover{background:#f2f7f4;color:#254b35}
.home-progress-dialog-body{min-height:0;padding:0}
.home-progress-manage-body{position:relative;display:grid;background:#edf3ef}
.home-progress-frame{width:100%;height:100%;min-height:0;border:0;background:#fff}
.home-progress-loading{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;background:#f7faf8;color:#526159;font-size:14px;font-weight:800}
.home-progress-loading[hidden]{display:none!important}
.home-progress-loading span{width:22px;height:22px;border:3px solid #cfe0d6;border-top-color:#2f8f4e;border-radius:50%;animation:homeProgressSpin .8s linear infinite}
@keyframes homeProgressSpin{to{transform:rotate(360deg)}}
.home-progress-modal-open{overflow:hidden}
body.embed-mode .skip-link,
body.embed-mode .site-header,
body.embed-mode .site-footer{display:none!important}
body.embed-mode .page-shell{width:100%;max-width:none;margin:0;padding:12px 14px 24px}
body.embed-mode .no-embed{display:none!important}
@media(max-width:700px){
  .home-progress-grid{grid-template-columns:repeat(8,minmax(112px,1fr))}
  .home-progress-card{min-height:42px!important;padding:6px 9px 6px 12px!important}
  .home-progress-card small{font-size:10px!important}
  .home-progress-card strong{font-size:14px!important}
  .home-progress-modal{padding:5px}
  .home-progress-dialog{width:calc(100vw - 10px);height:calc(100vh - 10px);border-radius:12px}
  .home-progress-dialog-head{padding:10px 11px;gap:8px}
  .home-progress-dialog-head h3{font-size:17px}
  .home-progress-dialog-head p{max-width:55vw;font-size:10px}
  .home-progress-dialog-actions .btn{display:none}
  body.embed-mode .page-shell{padding:8px 8px 18px}
}
@media print{
  .home-progress-modal{display:none!important}
}

/* 106차 - 급식실적 입력화면 열 겹침 해소 및 반응형 재정리 */
.meal-table-wrap{
  width:100%;
  overflow-x:auto;
  overflow-y:visible;
  overscroll-behavior-inline:contain;
  border-top:1px solid #dfe8e3;
  background:#fff;
  scrollbar-width:thin;
  scrollbar-color:#b9cbbf #f1f5f2;
}
.meal-table-wrap::-webkit-scrollbar{height:9px}
.meal-table-wrap::-webkit-scrollbar-track{background:#f1f5f2}
.meal-table-wrap::-webkit-scrollbar-thumb{border:2px solid #f1f5f2;border-radius:999px;background:#b9cbbf}
.meal-table{
  width:100%;
  min-width:900px;
  table-layout:fixed;
}
.meal-table .meal-col-client{width:270px}
.meal-table .meal-col-target{width:120px}
.meal-table .meal-col-attendance{width:100px}
.meal-table .meal-col-status{width:145px}
.meal-table .meal-col-note{width:auto}
.meal-table th,
.meal-table td{
  box-sizing:border-box;
  min-width:0;
  padding:11px 10px;
  overflow:hidden;
}
.meal-table thead th{
  height:43px;
  color:#4d6256;
  font-size:12px;
  font-weight:900;
  line-height:1.2;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.meal-table .meal-target-head,
.meal-table .meal-target-cell,
.meal-table .meal-attendance-head,
.meal-table .meal-attendance-cell{text-align:center}
.meal-client-cell{
  padding-left:14px!important;
  padding-right:14px!important;
  overflow:visible!important;
}
.meal-client-name-row{flex-wrap:wrap;row-gap:4px}
.meal-client-name-row strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.meal-client-meta{
  min-width:0;
  flex-wrap:wrap;
  white-space:normal;
}
.meal-client-cell .table-subtext{
  display:block;
  margin-top:4px;
  overflow:hidden;
  color:#718078;
  font-size:10.5px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.meal-target-cell{padding-left:8px!important;padding-right:8px!important}
.meal-target-cell .daily-target-toggle{
  width:100%;
  max-width:96px;
  min-width:0;
  min-height:34px;
  box-sizing:border-box;
  justify-content:center;
  gap:5px;
  margin:0 auto;
  padding:5px 7px;
  overflow:hidden;
  white-space:nowrap;
}
.meal-target-cell .daily-target-toggle input{flex:0 0 15px;width:15px;height:15px}
.meal-target-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meal-attendance-cell{padding-left:7px!important;padding-right:7px!important}
.meal-attendance-cell .meal-attendance-pill{
  width:auto;
  max-width:100%;
  min-width:58px;
  justify-content:center;
  box-sizing:border-box;
  margin:0 auto;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.meal-status-cell{padding-left:9px!important;padding-right:9px!important}
.meal-status-cell .meal-status-select{
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.meal-note-cell{padding-left:10px!important;padding-right:14px!important}
.meal-note-cell input[type="text"]{
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.meal-table tr.not-target .meal-target-cell,
.meal-table tr.not-target .meal-attendance-cell{opacity:1}
.meal-table tr.not-target .meal-client-cell,
.meal-table tr.not-target .meal-status-cell,
.meal-table tr.not-target .meal-note-cell{opacity:.78}
.meal-table tr:focus-within td{background:#f7fbf8!important}

@media(max-width:1180px){
  .meal-table{min-width:840px}
  .meal-table .meal-col-client{width:235px}
  .meal-table .meal-col-target{width:112px}
  .meal-table .meal-col-attendance{width:94px}
  .meal-table .meal-col-status{width:135px}
  .meal-table th,.meal-table td{padding-top:10px;padding-bottom:10px}
}

@media(max-width:760px){
  .meal-table-wrap{
    overflow:visible;
    border-top:0;
    background:#f4f8f5;
  }
  .meal-table{
    display:block;
    width:100%;
    min-width:0!important;
    table-layout:auto;
    background:transparent;
  }
  .meal-table colgroup,
  .meal-table thead{display:none}
  .meal-table tbody{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
    padding:10px;
    box-sizing:border-box;
  }
  .meal-table .daily-target-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:
      "client client"
      "target attendance"
      "status status"
      "note note";
    gap:0;
    width:100%;
    overflow:hidden;
    border:1px solid #dbe6df;
    border-left:4px solid #6cab80;
    border-radius:13px;
    background:#fff;
    box-shadow:0 3px 10px rgba(34,67,46,.045);
  }
  .meal-table .daily-target-row.not-target{border-left-color:#aeb9b3;background:#f8faf9}
  .meal-table .daily-target-row.attendance-absent.target{border-left-color:#d88970}
  .meal-table .daily-target-row.attendance-blank.target{border-left-color:#d8b85d}
  .meal-table .daily-target-row td{
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr);
    align-items:center;
    width:auto!important;
    min-width:0!important;
    height:auto;
    padding:9px 11px!important;
    overflow:visible;
    border:0;
    border-top:1px solid #edf2ef;
    background:transparent!important;
    text-align:left!important;
    opacity:1!important;
  }
  .meal-table .daily-target-row td::before{
    content:attr(data-label);
    min-width:0;
    color:#65746c;
    font-size:10px;
    font-weight:900;
    line-height:1.2;
    letter-spacing:-.03em;
    white-space:nowrap;
  }
  .meal-table .daily-target-row .meal-client-cell{
    grid-area:client;
    display:block!important;
    padding:12px 13px!important;
    border-top:0;
  }
  .meal-table .daily-target-row .meal-client-cell::before{display:none}
  .meal-table .daily-target-row .meal-target-cell{grid-area:target;border-right:1px solid #edf2ef}
  .meal-table .daily-target-row .meal-attendance-cell{grid-area:attendance}
  .meal-table .daily-target-row .meal-status-cell{grid-area:status}
  .meal-table .daily-target-row .meal-note-cell{grid-area:note}
  .meal-target-cell .daily-target-toggle{
    width:auto;
    max-width:100%;
    min-width:86px;
    margin:0;
  }
  .meal-attendance-cell .meal-attendance-pill{margin:0;min-width:64px}
  .meal-status-cell .meal-status-select,
  .meal-note-cell input[type="text"]{min-height:40px}
  .meal-table .meal-empty-row{display:block;width:100%;border:1px solid #dbe6df;border-radius:12px;background:#fff}
  .meal-table .meal-empty-row td{display:block!important;width:100%!important;padding:24px 14px!important;border:0;text-align:center!important}
  .meal-summary{background:#fff}
}

@media(max-width:430px){
  .meal-table tbody{padding:8px;gap:8px}
  .meal-table .daily-target-row{
    grid-template-columns:1fr;
    grid-template-areas:"client" "target" "attendance" "status" "note";
  }
  .meal-table .daily-target-row .meal-target-cell{border-right:0}
  .meal-table .daily-target-row td{grid-template-columns:72px minmax(0,1fr)}
}

@media print{
  .meal-table-wrap{overflow:visible!important;border-top:0!important}
  .meal-table{display:table!important;min-width:0!important;table-layout:fixed!important;background:#fff!important}
  .meal-table colgroup{display:table-column-group!important}
  .meal-table thead{display:table-header-group!important}
  .meal-table tbody{display:table-row-group!important;padding:0!important}
  .meal-table .daily-target-row{display:table-row!important;border:0!important;box-shadow:none!important}
  .meal-table .daily-target-row td{display:table-cell!important;width:auto!important;padding:5px 4px!important;border-bottom:1px solid #d9d9d9!important;text-align:center!important}
  .meal-table .daily-target-row td::before{display:none!important}
  .meal-table .daily-target-row .meal-client-cell{text-align:left!important}
}

/* 106차 열 너비 최종 우선순위 보정 */
.meal-table th:nth-child(1),.meal-table td:nth-child(1){width:270px!important}
.meal-table th:nth-child(2),.meal-table td:nth-child(2){width:120px!important}
.meal-table th:nth-child(3),.meal-table td:nth-child(3){width:100px!important}
.meal-table th:nth-child(4),.meal-table td:nth-child(4){width:145px!important}
.meal-table th:nth-child(5),.meal-table td:nth-child(5){width:auto!important;min-width:0!important}
@media(max-width:1180px) and (min-width:761px){
  .meal-table th:nth-child(1),.meal-table td:nth-child(1){width:235px!important}
  .meal-table th:nth-child(2),.meal-table td:nth-child(2){width:112px!important}
  .meal-table th:nth-child(3),.meal-table td:nth-child(3){width:94px!important}
  .meal-table th:nth-child(4),.meal-table td:nth-child(4){width:135px!important}
}
@media(max-width:760px){
  .meal-table th:nth-child(1),.meal-table td:nth-child(1),
  .meal-table th:nth-child(2),.meal-table td:nth-child(2),
  .meal-table th:nth-child(3),.meal-table td:nth-child(3),
  .meal-table th:nth-child(4),.meal-table td:nth-child(4),
  .meal-table th:nth-child(5),.meal-table td:nth-child(5){width:auto!important;min-width:0!important}
}
@media print{
  .meal-table .meal-col-client{width:28%!important}
  .meal-table .meal-col-target{width:12%!important}
  .meal-table .meal-col-attendance{width:10%!important}
  .meal-table .meal-col-status{width:15%!important}
  .meal-table .meal-col-note{width:35%!important}
  .meal-table th:nth-child(1),.meal-table td:nth-child(1){width:28%!important}
  .meal-table th:nth-child(2),.meal-table td:nth-child(2){width:12%!important}
  .meal-table th:nth-child(3),.meal-table td:nth-child(3){width:10%!important}
  .meal-table th:nth-child(4),.meal-table td:nth-child(4){width:15%!important}
  .meal-table th:nth-child(5),.meal-table td:nth-child(5){width:35%!important}
}

/* 108차 출석체크 화면 겹침 해소 및 반응형 정리 */
.attendance-table-wrap{
  width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  border-top:1px solid var(--line);
}
.attendance-table-wrap::-webkit-scrollbar{height:9px}
.attendance-table-wrap::-webkit-scrollbar-track{background:#f1f5f2}
.attendance-table-wrap::-webkit-scrollbar-thumb{border:2px solid #f1f5f2;border-radius:999px;background:#b9cbbf}
.attendance-table{
  width:100%;
  min-width:1040px;
  table-layout:fixed;
}
.attendance-table .attendance-col-client{width:250px}
.attendance-table .attendance-col-target{width:118px}
.attendance-table .attendance-col-status{width:125px}
.attendance-table .attendance-col-time{width:112px}
.attendance-table .attendance-col-reason{width:180px}
.attendance-table .attendance-col-note{width:auto}
.attendance-table th,
.attendance-table td{
  box-sizing:border-box;
  min-width:0;
  padding:10px 8px;
  vertical-align:middle;
}
.attendance-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  white-space:nowrap;
  background:#f6faf7;
}
.attendance-client-cell{text-align:center!important;overflow:hidden}
.attendance-client-name-row{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0}
.attendance-client-name-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#183d2b}
.attendance-client-code{flex:0 0 auto;padding:2px 6px;border-radius:999px;background:#eef4f0;color:#5b6c63;font-size:10px;font-weight:800}
.attendance-client-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:3px 7px;margin-top:4px;color:#69786f;font-size:11px;line-height:1.35}
.attendance-client-meta span{min-width:0}
.attendance-client-meta span+span::before{content:"·";margin-right:7px;color:#9aa7a0}
.attendance-target-cell{text-align:center!important;padding-left:7px!important;padding-right:7px!important}
.attendance-target-toggle{width:100%;min-width:0;max-width:104px;box-sizing:border-box;padding:6px 7px;overflow:hidden}
.attendance-target-toggle input{flex:0 0 15px;width:15px;height:15px}
.attendance-target-toggle span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attendance-status-cell,.attendance-time-cell{text-align:center}
.attendance-table select,
.attendance-table input[type="time"],
.attendance-table input[type="text"]{box-sizing:border-box;max-width:100%;min-width:0}
.attendance-reason-cell input,.attendance-note-cell input{width:100%}
.attendance-table tr:focus-within td{background:#f7fbf8!important}
.attendance-table tr.not-target .attendance-target-cell{opacity:1}
.attendance-table tr.not-target .attendance-client-cell,
.attendance-table tr.not-target .attendance-status-cell,
.attendance-table tr.not-target .attendance-time-cell,
.attendance-table tr.not-target .attendance-reason-cell,
.attendance-table tr.not-target .attendance-note-cell{opacity:.78}
@media(max-width:1180px) and (min-width:761px){
  .attendance-table{min-width:970px}
  .attendance-table .attendance-col-client{width:225px}
  .attendance-table .attendance-col-target{width:108px}
  .attendance-table .attendance-col-status{width:116px}
  .attendance-table .attendance-col-time{width:105px}
  .attendance-table .attendance-col-reason{width:165px}
}
@media(max-width:760px){
  .attendance-table-wrap{overflow:visible;border-top:0;background:transparent}
  .attendance-table{display:block;min-width:0!important;table-layout:auto;background:transparent}
  .attendance-table colgroup,.attendance-table thead{display:none}
  .attendance-table tbody{display:grid;gap:10px;padding:8px;background:#f5f8f6}
  .attendance-table .daily-target-row{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"client client" "target status" "intime outtime" "reason reason" "note note";overflow:hidden;border:1px solid #dbe6df;border-left:4px solid #438a62;border-radius:13px;background:#fff;box-shadow:0 2px 8px rgba(24,61,43,.05)}
  .attendance-table .daily-target-row.not-target{border-left-color:#aeb9b3;background:#f8faf9}
  .attendance-table .daily-target-row td{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:8px;width:auto!important;min-width:0;padding:9px 11px!important;border:0;border-top:1px solid #edf2ef;text-align:left!important}
  .attendance-table .daily-target-row td::before{content:attr(data-label);color:#66766e;font-size:11px;font-weight:800;white-space:nowrap}
  .attendance-table .daily-target-row .attendance-client-cell{grid-area:client;display:block;padding:13px 12px!important;border-top:0;text-align:center!important}
  .attendance-table .daily-target-row .attendance-client-cell::before{display:none}
  .attendance-table .daily-target-row .attendance-target-cell{grid-area:target;border-right:1px solid #edf2ef}
  .attendance-table .daily-target-row .attendance-status-cell{grid-area:status}
  .attendance-table .daily-target-row .attendance-time-cell:nth-of-type(4){grid-area:intime;border-right:1px solid #edf2ef}
  .attendance-table .daily-target-row .attendance-time-cell:nth-of-type(5){grid-area:outtime}
  .attendance-table .daily-target-row .attendance-reason-cell{grid-area:reason}
  .attendance-table .daily-target-row .attendance-note-cell{grid-area:note}
  .attendance-target-toggle{max-width:none;justify-self:stretch}
  .attendance-table .empty-cell{display:block;width:100%!important;padding:24px 14px!important;border:1px solid #dbe6df;border-radius:12px;background:#fff;text-align:center!important}
}
@media(max-width:430px){
  .attendance-table .daily-target-row{grid-template-columns:1fr;grid-template-areas:"client" "target" "status" "intime" "outtime" "reason" "note"}
  .attendance-table .daily-target-row .attendance-target-cell,.attendance-table .daily-target-row .attendance-time-cell:nth-of-type(4){border-right:0}
  .attendance-table .daily-target-row td{grid-template-columns:74px minmax(0,1fr)}
}
@media print{
  .attendance-table-wrap{overflow:visible!important;border-top:0!important}
  .attendance-table{display:table!important;min-width:0!important;table-layout:fixed!important;background:#fff!important}
  .attendance-table colgroup{display:table-column-group!important}
  .attendance-table thead{display:table-header-group!important}
  .attendance-table tbody{display:table-row-group!important;padding:0!important}
  .attendance-table .daily-target-row{display:table-row!important;border:0!important;box-shadow:none!important}
  .attendance-table .daily-target-row td{display:table-cell!important;width:auto!important;padding:5px 4px!important;border-bottom:1px solid #d9d9d9!important;text-align:center!important}
  .attendance-table .daily-target-row td::before{display:none!important}
  .attendance-table .daily-target-row .attendance-client-cell{text-align:center!important}
}

/* 108차 인력구분·직종·소속 및 이용현황 */
.personnel-type-form-panel{margin-bottom:16px}
.personnel-type-form-panel .check-field{display:flex;align-items:center;gap:8px;min-height:42px;margin-top:22px;padding:8px 10px;border:1px solid #d9e3df;border-radius:9px;background:#fbfdfc;font-weight:800}
.personnel-type-form-panel .check-field input{width:17px;height:17px;margin:0}
.personnel-type-table{min-width:900px}
.personnel-type-table th:nth-child(1),.personnel-type-table td:nth-child(1){width:150px}
.personnel-type-table th:nth-child(2),.personnel-type-table td:nth-child(2){width:180px}
.personnel-type-table th:nth-child(3),.personnel-type-table td:nth-child(3){width:145px}
.personnel-type-table th:nth-child(4),.personnel-type-table td:nth-child(4){width:90px;text-align:center}
.personnel-type-table th:nth-child(5),.personnel-type-table td:nth-child(5){width:85px;text-align:center}
.personnel-type-table th:nth-child(7),.personnel-type-table td:nth-child(7){width:150px;white-space:nowrap}
.personnel-type-table .inline-form{display:inline-flex;margin-left:4px}
.personnel-table{min-width:1240px}
.personnel-table th:nth-child(1),.personnel-table td:nth-child(1){width:130px}
.personnel-table th:nth-child(2),.personnel-table td:nth-child(2){width:120px}
.personnel-table th:nth-child(3),.personnel-table td:nth-child(3){width:145px}
.personnel-table th:nth-child(4),.personnel-table td:nth-child(4){width:140px}
.personnel-table th:nth-child(5),.personnel-table td:nth-child(5){width:160px}
.personnel-table th:nth-child(6),.personnel-table td:nth-child(6),.personnel-table th:nth-child(7),.personnel-table td:nth-child(7){width:105px}
.personnel-table th:nth-child(8),.personnel-table td:nth-child(8){width:155px}
.personnel-table th:nth-child(9),.personnel-table td:nth-child(9){width:105px}
.personnel-table th:nth-child(10),.personnel-table td:nth-child(10){width:90px}
.personnel-table th:nth-child(11),.personnel-table td:nth-child(11){width:135px;white-space:nowrap}
.utilization-search{grid-template-columns:minmax(170px,.55fr) minmax(300px,1.2fr) minmax(170px,.55fr) auto}
.utilization-table{min-width:1080px}
.utilization-table th:nth-child(1),.utilization-table td:nth-child(1){width:190px}
.utilization-table th:nth-child(2),.utilization-table td:nth-child(2){width:90px;text-align:center}
.utilization-table th:nth-child(3),.utilization-table td:nth-child(3){width:220px}
.utilization-table th:nth-child(4),.utilization-table td:nth-child(4),
.utilization-table th:nth-child(5),.utilization-table td:nth-child(5),
.utilization-table th:nth-child(6),.utilization-table td:nth-child(6),
.utilization-table th:nth-child(7),.utilization-table td:nth-child(7){width:95px;text-align:center}
.utilization-table th:nth-child(8),.utilization-table td:nth-child(8){width:115px;text-align:center}
.utilization-table th:nth-child(9),.utilization-table td:nth-child(9){width:145px;white-space:nowrap}
.utilization-summary{position:sticky;bottom:0;z-index:2;box-shadow:0 -3px 12px rgba(24,61,43,.05)}
@media(max-width:980px){.utilization-search{grid-template-columns:1fr 1fr}.utilization-search .search-grow{grid-column:1/-1}.utilization-search .search-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:720px){.utilization-search{grid-template-columns:1fr}.utilization-search .search-grow,.utilization-search .search-actions{grid-column:auto}.personnel-type-form-panel .check-field{margin-top:0}}

/* 110차 이용자메뉴·인력구분 순위·강사 직종연동 */
.personnel-type-table{min-width:1010px}
.personnel-type-table th:nth-child(1),.personnel-type-table td:nth-child(1){width:118px;text-align:center}
.personnel-type-table th:nth-child(2),.personnel-type-table td:nth-child(2){width:150px;text-align:left}
.personnel-type-table th:nth-child(3),.personnel-type-table td:nth-child(3){width:180px;text-align:left}
.personnel-type-table th:nth-child(4),.personnel-type-table td:nth-child(4){width:145px;text-align:left}
.personnel-type-table th:nth-child(5),.personnel-type-table td:nth-child(5){width:90px;text-align:center}
.personnel-type-table th:nth-child(6),.personnel-type-table td:nth-child(6){width:85px;text-align:center}
.personnel-type-table th:nth-child(8),.personnel-type-table td:nth-child(8){width:150px;white-space:nowrap}
.personnel-type-order-cell{white-space:nowrap}
.personnel-type-order-cell>strong{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:5px;border-radius:999px;background:#edf5f0;color:#234c39;font-size:12px}
.personnel-type-order-actions{display:inline-flex;align-items:center;gap:3px}
.personnel-type-order-actions .inline-form{margin:0}
.personnel-type-order-actions .order-button{min-width:30px;height:30px;padding:0 7px;line-height:1}
.personnel-type-order-actions .order-button:disabled{opacity:.32;cursor:not-allowed}
.operational-type-link{margin-top:4px;color:#17633f;font-weight:800}

/* 119차 교육증빙 다중첨부·교육검색 한줄 정리 */
.education-search-line{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:flex-end!important;
  gap:9px!important;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  padding:14px 16px!important;
  scrollbar-width:thin;
}
.education-search-line .field{
  flex:0 0 auto;
  min-width:118px;
  margin:0!important;
}
.education-search-line .field.search-grow{
  flex:1 0 210px;
  min-width:210px;
  grid-column:auto!important;
}
.education-search-line .field input,
.education-search-line .field select{
  min-width:0;
  height:40px;
}
.education-search-line .field:first-child{width:104px}
.education-search-line .search-actions{
  flex:0 0 auto;
  grid-column:auto!important;
  padding:0!important;
}
.education-search-line .search-actions .btn{
  width:auto!important;
  min-width:72px;
  height:40px;
}
.my-education-search .field:nth-child(2){width:112px}
.my-education-search .field:nth-child(4){width:118px}
.my-education-search .field:nth-child(5){width:112px}

.education-multi-evidence{display:grid;gap:12px}
.education-current-evidence-list,
.education-new-evidence-list{display:grid;gap:8px}
.education-current-evidence-row,
.education-new-evidence-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  min-height:42px;
  margin:0!important;
  padding:7px 9px;
  border:1px solid #e0e8e3;
  border-radius:9px;
  background:#fbfdfc;
}
.education-current-evidence-row strong{
  min-width:0;
  flex:1 1 auto;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.education-current-evidence-row .inline-actions,
.education-current-evidence-row .attachment-remove{flex:0 0 auto}
.education-evidence-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:28px;
  height:28px;
  padding:0 7px;
  border-radius:999px;
  background:#eaf4ed;
  color:#275c3e;
  font-size:11px;
  font-weight:900;
}
.education-new-evidence-row .attachment-file-name{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.education-new-evidence-row.is-hidden{display:none!important}
.education-add-evidence{justify-self:start}
.education-evidence-link-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  margin-top:5px;
  padding-top:5px;
  border-top:1px dashed #d9e3dd;
}
.education-evidence-file-name{
  min-width:0;
  max-width:180px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#41524a;
  font-size:12px;
}
.education-evidence-compact{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.education-evidence-cell .status-badge{margin-bottom:2px}

@media(max-width:700px){
  .education-search-line{padding:11px 12px!important}
  .education-current-evidence-row,
  .education-new-evidence-row{flex-wrap:wrap!important}
  .education-current-evidence-row strong,
  .education-new-evidence-row .attachment-file-name{flex:1 1 calc(100% - 52px)}
  .education-current-evidence-row .inline-actions{margin-left:36px}
  .education-evidence-link-row{align-items:flex-start;flex-direction:column}
  .education-evidence-file-name{max-width:100%}
}


/* ============================================================
   2026-08-06 120차 내 교육현황 인쇄
   - 현재 검색·정렬 결과를 교육이수내역서 형식으로 출력
   - 성명·직책·직종·소속·조회조건·합계 표시
   ============================================================ */
.my-education-print-head{display:none}
@media print{
  .my-education-print-head{
    display:block!important;
    margin:0 0 5mm;
    color:#111;
  }
  .my-education-print-head h1{
    margin:0 0 5mm;
    text-align:center;
    font-family:'Malgun Gothic','맑은 고딕',sans-serif;
    font-size:20pt;
    letter-spacing:4px;
  }
  .my-education-print-meta{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:.3mm solid #333;
    border-left:.3mm solid #333;
  }
  .my-education-print-meta>div{
    display:grid;
    grid-template-columns:22mm minmax(0,1fr);
    min-height:9mm;
    border-right:.3mm solid #333;
    border-bottom:.3mm solid #333;
  }
  .my-education-print-meta span,
  .my-education-print-meta strong{
    display:flex;
    align-items:center;
    padding:1.4mm 2mm;
    font-size:8.5pt;
    line-height:1.25;
  }
  .my-education-print-meta span{
    justify-content:center;
    border-right:.25mm solid #666;
    background:#f2f2f2!important;
    font-weight:800;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  .my-education-print-meta strong{font-weight:700;overflow-wrap:anywhere}
  .my-education-panel{
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .my-education-panel .board-table-wrap{overflow:visible!important}
  .my-education-print-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    font-size:8.5pt!important;
  }
  .my-education-print-table th,
  .my-education-print-table td{
    border:.25mm solid #444!important;
    padding:1.6mm 1.2mm!important;
    line-height:1.3!important;
    overflow-wrap:anywhere!important;
    word-break:keep-all!important;
    color:#111!important;
  }
  .my-education-print-table th{
    background:#f2f2f2!important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  .my-education-print-table th:nth-child(1){width:20mm}
  .my-education-print-table th:nth-child(2){width:auto}
  .my-education-print-table th:nth-child(3){width:15mm}
  .my-education-print-table th:nth-child(4){width:15mm}
  .my-education-print-table th:nth-child(5){width:42mm}
  .my-education-print-table th:nth-child(6){width:15mm}
  .my-education-print-table .sort-link{color:#111!important;text-decoration:none!important}
  .my-education-print-table .sort-link span{display:none!important}
  .my-education-panel .table-summary{
    margin-top:3mm!important;
    padding-top:2mm!important;
    border-top:.25mm solid #777!important;
    text-align:right!important;
    font-size:8pt!important;
  }
}

/* 121차 인력 근무대상·운영일지 연동 및 인력명부 무스크롤 */
.personnel-attendance-table{min-width:980px}
.personnel-attendance-table th:nth-child(1),.personnel-attendance-table td:nth-child(1){width:110px}
.personnel-attendance-table th:nth-child(2),.personnel-attendance-table td:nth-child(2){width:110px}
.personnel-attendance-table th:nth-child(3),.personnel-attendance-table td:nth-child(3){width:105px;text-align:center}
.personnel-attendance-table th:nth-child(4),.personnel-attendance-table td:nth-child(4){width:210px}
.personnel-attendance-table th:nth-child(5),.personnel-attendance-table td:nth-child(5){width:130px}
.personnel-attendance-table th:nth-child(6),.personnel-attendance-table td:nth-child(6){width:135px}
.personnel-attendance-table .personnel-target-cell .daily-target-toggle{min-width:76px;padding:5px 8px}
.personnel-attendance-table .daily-target-row.not-target td{background:#f6f8f7;color:#758078}
.personnel-attendance-table .daily-target-row.not-target select,
.personnel-attendance-table .daily-target-row.not-target input[data-target-control]{background:#eef1ef;color:#7b8580}
.personnel-attendance-summary{margin-top:10px;text-align:right}

.personnel-directory-wrap{overflow:visible!important}
.personnel-directory-wrap .personnel-table{width:100%!important;min-width:0!important;table-layout:fixed}
.personnel-directory-wrap .personnel-table th,
.personnel-directory-wrap .personnel-table td{padding:4px 4px;font-size:11px;line-height:1.08;white-space:nowrap;word-break:keep-all;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;height:32px}
.personnel-directory-wrap .personnel-table th:nth-child(1),.personnel-directory-wrap .personnel-table td:nth-child(1){width:8%}
.personnel-directory-wrap .personnel-table th:nth-child(2),.personnel-directory-wrap .personnel-table td:nth-child(2){width:8%}
.personnel-directory-wrap .personnel-table th:nth-child(3),.personnel-directory-wrap .personnel-table td:nth-child(3){width:10%}
.personnel-directory-wrap .personnel-table th:nth-child(4),.personnel-directory-wrap .personnel-table td:nth-child(4){width:9%}
.personnel-directory-wrap .personnel-table th:nth-child(5),.personnel-directory-wrap .personnel-table td:nth-child(5){width:10%}
.personnel-directory-wrap .personnel-table th:nth-child(6),.personnel-directory-wrap .personnel-table td:nth-child(6){width:9%}
.personnel-directory-wrap .personnel-table th:nth-child(7),.personnel-directory-wrap .personnel-table td:nth-child(7){width:9%}
.personnel-directory-wrap .personnel-table th:nth-child(8),.personnel-directory-wrap .personnel-table td:nth-child(8){width:10%}
.personnel-directory-wrap .personnel-table th:nth-child(9),.personnel-directory-wrap .personnel-table td:nth-child(9){width:7%}
.personnel-directory-wrap .personnel-table th:nth-child(10),.personnel-directory-wrap .personnel-table td:nth-child(10){width:20%}
.personnel-directory-wrap .personnel-table .person-type-badge,
.personnel-directory-wrap .personnel-table .status-badge,
.personnel-directory-wrap .personnel-table .code-chip{display:inline-flex;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;justify-content:center}
.personnel-directory-wrap .personnel-table .personnel-actions-cell{white-space:nowrap;overflow:visible;text-overflow:clip}
.personnel-directory-wrap .personnel-table .personnel-action-row{display:flex!important;align-items:center;justify-content:center;gap:3px;flex-wrap:nowrap!important;white-space:nowrap;width:100%}
.personnel-directory-wrap .personnel-table .personnel-action-row .btn{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;width:auto!important;min-width:34px;margin:0!important;padding:2px 5px;font-size:9.5px;line-height:1;white-space:nowrap}
.personnel-directory-wrap .personnel-table .personnel-delete-form{display:inline-flex!important;align-items:center;flex:0 0 auto;margin:0!important;padding:0!important}

@media(max-width:900px){
  .personnel-directory-wrap{overflow-x:auto!important}
  .personnel-directory-wrap .personnel-table{display:table!important;min-width:980px!important}
  .personnel-directory-wrap .personnel-table thead{display:table-header-group!important}
  .personnel-directory-wrap .personnel-table tbody{display:table-row-group!important}
  .personnel-directory-wrap .personnel-table tr{display:table-row!important;border:0;background:transparent}
  .personnel-directory-wrap .personnel-table td{display:table-cell!important;width:auto;min-height:0;padding:4px!important;border-right:0;text-align:inherit!important}
  .personnel-directory-wrap .personnel-table td::before{display:none!important;content:none!important}
  .personnel-directory-wrap .personnel-table .personnel-action-row{justify-content:flex-start}
}



/* 교육이수등록 검색영역: 연도·대상자·상태·정렬·방향·조회 한 줄 */
.education-record-search-line{
  display:grid;
  grid-template-columns:96px minmax(260px,1fr) 112px 126px 112px 76px;
  gap:10px;
  align-items:end;
  padding:14px 16px;
  overflow-x:auto;
  border-bottom:1px solid var(--line);
}
.education-record-search-line .field{margin:0;min-width:0}
.education-record-search-line .field label{margin-bottom:5px;font-size:12px;line-height:1.2;white-space:nowrap}
.education-record-search-line .field input,
.education-record-search-line .field select{height:40px;min-width:0;padding:8px 9px;font-size:14px}
.education-record-search-line .search-grow{grid-column:auto;min-width:260px}
.education-record-search-line .search-actions{grid-column:auto;display:flex;align-items:end;padding:0}
.education-record-search-line .search-actions .btn{width:76px;height:40px;padding:8px 12px;white-space:nowrap}
@media(max-width:700px){
  .education-record-search-line{grid-template-columns:1fr;overflow-x:visible}
  .education-record-search-line .search-grow,
  .education-record-search-line .search-actions{grid-column:auto;min-width:0}
  .education-record-search-line .search-actions .btn{width:100%}
}


/* 2026-08-06 v125 일정 팝업·월 급식파일·인력명부 관리 */
.schedule-current-popup,.schedule-popup-close{white-space:nowrap}
.schedule-current-popup::before{content:'↗';margin-right:5px;font-weight:900}
.meal-monthly-file-panel{padding:16px 18px;border:1px solid #dbe6ee;background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%)}
.meal-monthly-file-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.meal-monthly-file-head h2{margin:2px 0 4px;font-size:19px}.meal-monthly-file-head p{margin:0;color:#64748b;font-size:13px}.meal-monthly-file-actions{display:flex;gap:7px;flex-wrap:wrap}
.meal-monthly-current-file{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border:1px solid #dbeafe;border-radius:12px;background:#eff6ff}.meal-monthly-current-file strong{color:#1e3a8a}.meal-monthly-current-file small{margin-left:auto;color:#64748b}
.meal-monthly-upload-row{display:flex;align-items:flex-end;gap:10px;margin-top:12px}.meal-monthly-upload-form{display:grid;grid-template-columns:minmax(320px,1fr) auto;align-items:end;gap:10px;flex:1}.meal-monthly-file-input input[type=file]{height:42px;padding:7px 9px}.meal-monthly-file-input small{display:block;margin-top:4px;color:#64748b;font-size:11px}.meal-monthly-upload-form>.btn,.meal-monthly-delete-form .btn{height:42px;white-space:nowrap}.personnel-delete-form{display:inline-flex;margin-left:3px}.personnel-actions-cell{white-space:nowrap}
@media(max-width:900px){.meal-monthly-file-head,.meal-monthly-upload-row{display:block}.meal-monthly-file-actions{margin-top:10px}.meal-monthly-upload-form{grid-template-columns:1fr}.meal-monthly-delete-form{margin-top:8px}.meal-monthly-current-file small{width:100%;margin-left:0}}

/* ============================================================
   2026-08-06 133차 출장문서 인쇄 제목·결재란 분리
   - 제목은 결재란을 제외한 좌측 영역 중앙에 배치
   - 제목과 결재란의 절대배치 겹침 제거
   ============================================================ */
.trip-print-heading-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 58mm;
  gap:3mm;
  align-items:start;
  width:100%;
  min-height:22mm;
  margin:0 0 5mm;
  box-sizing:border-box;
}
.trip-print-heading-text{
  display:flex;
  min-width:0;
  min-height:20mm;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-sizing:border-box;
}
.trip-print-heading-text h1{
  width:100%;
  margin:0 !important;
  text-align:center !important;
}
.trip-print-heading-text .trip-subtitle{
  width:100%;
  margin:1.5mm 0 0 !important;
  text-align:center !important;
}
.trip-print-heading-row > .document-approval-box{
  position:static !important;
  top:auto !important;
  right:auto !important;
  left:auto !important;
  grid-column:2;
  justify-self:end;
  align-self:start;
  margin:0 !important;
  transform:none !important;
}
@media print{
  html[data-print-approval="show"] .trip-print-heading-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 58mm !important;
    gap:3mm !important;
    align-items:start !important;
  }
  html[data-print-approval="show"] .trip-print-heading-text{
    grid-column:1 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
  }
  html[data-print-approval="show"] .trip-print-heading-row > .document-approval-box{
    display:grid !important;
    position:static !important;
    grid-column:2 !important;
    justify-self:end !important;
    align-self:start !important;
  }
  html[data-print-approval="hide"] .trip-print-heading-row{
    display:block !important;
    width:100% !important;
    min-height:auto !important;
  }
  html[data-print-approval="hide"] .trip-print-heading-text{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
  }
  html[data-print-approval="hide"] .trip-print-heading-row > .document-approval-box{
    display:none !important;
  }
  /* 이전 직접 자식 제목 배치 규칙은 새 제목 묶음에는 적용되지 않도록 고정 */
  .trip-print-heading-row h1,
  .trip-print-heading-row .trip-subtitle{
    position:static !important;
    float:none !important;
    transform:none !important;
    box-sizing:border-box !important;
  }
}


/* ===== 2026-08-06 v141 화면 밀도·업무보고 최적화 ===== */
/* 오늘의 세부실적: 업무영역과 일정상태를 업무칸으로 통합하여 가로 스크롤 없이 표시 */
.daily-detail-form{overflow:visible}
.daily-detail-table-wrap{width:100%;max-width:100%;overflow-x:hidden;overflow-y:auto}
.daily-detail-table{width:100%!important;min-width:0!important;table-layout:fixed}
.daily-detail-table th,.daily-detail-table td{padding:6px 5px;font-size:11px;line-height:1.32;overflow-wrap:anywhere}
.daily-detail-table th:nth-child(1),.daily-detail-table td:nth-child(1){width:42px}
.daily-detail-table th:nth-child(2),.daily-detail-table td:nth-child(2){width:62px}
.daily-detail-table th:nth-child(3),.daily-detail-table td:nth-child(3){width:29%}
.daily-detail-table th:nth-child(4),.daily-detail-table td:nth-child(4){width:72px}
.daily-detail-table th:nth-child(5),.daily-detail-table td:nth-child(5),
.daily-detail-table th:nth-child(6),.daily-detail-table td:nth-child(6),
.daily-detail-table th:nth-child(7),.daily-detail-table td:nth-child(7){width:50px}
.daily-detail-table th:nth-child(8),.daily-detail-table td:nth-child(8){width:auto}
.daily-detail-table th:nth-child(9),.daily-detail-table td:nth-child(9){width:46px}
.daily-detail-count-col small{display:block;margin-top:1px;font-size:8px;line-height:1}
.daily-detail-task-cell{padding:7px 7px!important}
.daily-detail-task-cell>strong{display:block;margin-top:4px;color:#183c2a;font-size:11.5px;line-height:1.32}
.daily-detail-task-meta{display:flex;align-items:center;gap:4px;min-width:0}
.daily-detail-area-badge{display:inline-block;max-width:calc(100% - 43px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 6px;border-radius:999px;background:#edf6f1;color:#31624a;font-size:9px;font-weight:800}
.daily-detail-task-meta .status-pill{flex:0 0 auto;padding:2px 6px;font-size:8px}
.daily-detail-task-cell .form-help{margin-top:2px;font-size:9px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.daily-detail-staff-cell{text-align:center}
.daily-detail-staff{font-size:10px;line-height:1.25;word-break:keep-all}
.daily-detail-time-cell{font-size:10px;letter-spacing:-.02em}
.daily-detail-count-input{min-width:0;min-height:34px;height:34px;padding:4px 2px;border-radius:7px;font-size:11px}
.daily-detail-textarea{min-height:44px;height:44px;padding:6px 7px;border-radius:7px;font-size:10px;line-height:1.32;resize:vertical}
.daily-detail-manage-trigger{width:30px;height:30px;border-radius:8px;font-size:18px}
.daily-participant-picker{margin-top:5px}
.daily-participant-picker summary{font-size:9px;line-height:1.25}
.daily-participant-picker select{font-size:10px}
@media(max-width:1050px){
  .daily-detail-table th,.daily-detail-table td{padding:5px 3px;font-size:10px}
  .daily-detail-table th:nth-child(3),.daily-detail-table td:nth-child(3){width:27%}
  .daily-detail-table th:nth-child(4),.daily-detail-table td:nth-child(4){width:64px}
  .daily-detail-table th:nth-child(5),.daily-detail-table td:nth-child(5),
  .daily-detail-table th:nth-child(6),.daily-detail-table td:nth-child(6),
  .daily-detail-table th:nth-child(7),.daily-detail-table td:nth-child(7){width:45px}
  .daily-detail-task-cell>strong{font-size:10.5px}
  .daily-detail-textarea{font-size:9.5px}
}

/* 홈 중앙 일정·공지: 불필요한 세로 여백 축소 */
.integrated-dashboard-grid{gap:12px;margin-bottom:14px}
.integrated-dashboard-grid>.panel{min-height:0}
.integrated-dashboard-grid .panel-head{padding:13px 17px 9px;margin-bottom:0}
.integrated-dashboard-grid .panel-head h2{margin-top:1px;font-size:17px;line-height:1.2}
.integrated-dashboard-grid .panel-kicker{font-size:9px;line-height:1.1}
.home-summary-lines{padding:2px 17px 10px}
.home-summary-lines>div{min-height:34px;padding:7px 1px}
.home-summary-lines strong{font-size:15px}
.integrated-dashboard-grid .compact-list{padding:2px 17px 10px}
.integrated-dashboard-grid .compact-list li a{min-height:34px;padding:7px 1px;line-height:1.25}
.integrated-dashboard-grid .compact-list li span{line-height:1.25}
.integrated-dashboard-grid .compact-list time{font-size:10px}


/* 업무보고서: 화면 조회·인쇄 밀도 최적화 */
.work-summary-page-shell{max-width:1240px;margin:0 auto}
.work-summary-period-toolbar{min-height:48px;padding:8px 12px}
.operation-toolbar-panel{padding:12px 14px}
.work-summary-search{display:grid!important;grid-template-columns:repeat(5,minmax(120px,1fr)) auto auto;gap:9px;align-items:end}
.work-summary-search .field{min-width:0;margin:0!important}
.work-summary-search .field label{margin-bottom:4px;font-size:10px}
.work-summary-search input,.work-summary-search select{width:100%;min-width:0;min-height:35px;padding:6px 8px;font-size:11px}
.work-summary-staff-toggle{align-self:end;display:flex;align-items:center;gap:7px;min-height:35px;padding:6px 10px;border:1px solid #d5e4dc;border-radius:10px;background:#f8fcfa;color:#315a46;font-size:10.5px;font-weight:900;white-space:nowrap;cursor:pointer}
.work-summary-staff-toggle input{width:16px!important;height:16px;min-height:0!important;accent-color:var(--green)}
.work-summary-search .search-actions{align-self:end;display:flex;gap:6px;flex-wrap:nowrap}
.work-summary-search .search-actions .btn{min-height:35px;padding:6px 10px;white-space:nowrap}
.work-summary-screen-cards{display:grid;grid-template-columns:1.4fr .7fr .7fr 1.2fr;gap:9px}
.work-summary-screen-cards>div{display:grid;gap:4px;min-height:66px;padding:11px 13px;border:1px solid #dcebe3;border-radius:14px;background:linear-gradient(135deg,#fbfefc,#f3faf6);box-shadow:0 4px 14px rgba(22,74,46,.045)}
.work-summary-screen-cards span{color:#6b7d72;font-size:9.5px;font-weight:800}
.work-summary-screen-cards strong{color:#174d31;font-size:15px;line-height:1.25}
.work-summary-sheet{max-width:1240px;padding:22px;border-radius:20px}
.work-summary-sheet .operation-title{margin-bottom:12px;padding:18px 20px 16px;border-radius:16px}
.work-summary-sheet .operation-title h1{font-size:25px}
.work-summary-sheet .operation-title p{margin-top:8px;padding:5px 12px;font-size:12px}
.work-summary-sheet .operation-section{margin-top:11px;padding:12px 14px;border-radius:14px;box-shadow:none}
.work-summary-sheet .operation-section h2{margin-bottom:8px;font-size:14px}
.work-summary-sheet .operation-section h2:before{width:6px;height:18px}
.work-summary-sheet .operation-table{table-layout:fixed;border-radius:10px}
.work-summary-sheet .operation-table th,.work-summary-sheet .operation-table td{padding:7px 8px;font-size:11px;line-height:1.3}
.work-summary-sheet .operation-table td strong{font-size:12px}
.work-summary-sheet .operation-table tfoot th{font-size:11px}
.work-summary-detail-table th:nth-child(1),.work-summary-detail-table td:nth-child(1){width:24%}
.work-summary-detail-table th:nth-child(2),.work-summary-detail-table td:nth-child(2){width:31%}
@media(max-width:1120px){
  .work-summary-search{grid-template-columns:repeat(3,minmax(130px,1fr))}
  .work-summary-screen-cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .work-summary-search{grid-template-columns:1fr}
  .work-summary-staff-toggle,.work-summary-search .search-actions{width:100%}
  .work-summary-search .search-actions .btn{flex:1}
  .work-summary-screen-cards{grid-template-columns:1fr}
  .work-summary-sheet{padding:12px}
}
@media print{
  .work-summary-page-shell{display:block!important;max-width:none!important;margin:0!important}
  .work-summary-sheet{max-width:none!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .work-summary-sheet .operation-title{margin:0 0 2.5mm!important}
  .work-summary-sheet .operation-section{margin-top:2.2mm!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;break-inside:auto;page-break-inside:auto}
  .work-summary-sheet .operation-section h2{margin:0 0 1.1mm!important;padding:.65mm 1.4mm!important;font-size:9.2pt!important}
  .work-summary-sheet .operation-table{width:100%!important;border-radius:0!important}
  .work-summary-sheet .operation-table th,.work-summary-sheet .operation-table td{overflow-wrap:anywhere!important;word-break:break-word!important}
  .work-summary-sheet .operation-table thead{display:table-header-group}
  .work-summary-sheet .operation-table tfoot{display:table-footer-group}
  .work-summary-sheet .operation-table tr{break-inside:avoid;page-break-inside:avoid}
  html[data-print-orientation="portrait"] .work-summary-sheet .operation-title h1{font-size:16pt!important}
  html[data-print-orientation="portrait"] .work-summary-sheet .operation-title p{font-size:8.5pt!important}
  html[data-print-orientation="portrait"] .work-summary-sheet .operation-table th,
  html[data-print-orientation="portrait"] .work-summary-sheet .operation-table td{font-size:7.3pt!important;padding:.85mm .55mm!important;line-height:1.14!important}
  html[data-print-orientation="landscape"] .work-summary-sheet .operation-table th,
  html[data-print-orientation="landscape"] .work-summary-sheet .operation-table td{font-size:8.1pt!important;padding:1mm .8mm!important;line-height:1.18!important}
}

/* ============================================================
   2026-08-07 145차 인사 하위화면 디자인 통일
   - 내 교육현황의 밝은 블루·화이트 카드 디자인을 인사 메뉴 전반에 적용
   - 교육기준 화면을 같은 계열의 검색/표/패널 디자인으로 정리
   ============================================================ */
@media screen{
  body.hr-ui .page-shell{display:flex;flex-direction:column;gap:10px}
  body.hr-ui .page-head{
    position:relative;
    margin:0;
    padding:16px 18px 15px 20px;
    border:1px solid #d9e4f4;
    border-radius:18px;
    background:linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#f1f7ff 100%);
    box-shadow:0 12px 28px rgba(37,99,235,.055);
    overflow:hidden;
  }
  body.hr-ui .page-head:before{
    content:"";
    position:absolute;
    left:0;top:0;bottom:0;
    width:5px;
    background:linear-gradient(180deg,#2563eb 0%,#60a5fa 100%);
  }
  body.hr-ui .page-head .eyebrow{margin-bottom:4px;color:#2563eb;font-size:10px;font-weight:900;letter-spacing:.12em}
  body.hr-ui .page-head h1{margin:0 0 5px;color:#0f172a;font-size:23px;line-height:1.2;letter-spacing:-.025em}
  body.hr-ui .page-head p{margin:0;color:#64748b;font-size:12px;line-height:1.5}
  body.hr-ui .page-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
  body.hr-ui .page-head-actions .btn{min-height:36px;padding:0 13px;border-radius:10px;font-size:11px;font-weight:800}

  body.hr-ui .hr-local-tabs{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:5px;
    margin:0;
    padding:6px;
    overflow:visible;
    border:1px solid #dbe7f6;
    border-radius:14px;
    background:linear-gradient(180deg,#f8fbff 0%,#f2f7fd 100%);
    box-shadow:0 5px 15px rgba(37,99,235,.035);
  }
  body.hr-ui .hr-local-tabs a{
    flex:0 0 auto;
    padding:7px 12px;
    border:1px solid transparent;
    border-radius:9px;
    color:#64748b;
    font-size:11px;
    font-weight:800;
    line-height:1.2;
  }
  body.hr-ui .hr-local-tabs a:hover{background:#fff;color:#1d4ed8;border-color:#dbeafe}
  body.hr-ui .hr-local-tabs a.active{background:#dbeafe;color:#1e3a8a;border-color:#bfdbfe;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}

  body.hr-ui .panel{
    margin:0;
    border:1px solid #dbe5f2;
    border-radius:17px;
    background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
    box-shadow:0 10px 24px rgba(37,99,235,.045);
  }
  body.hr-ui .panel-head{padding-bottom:10px;border-bottom:1px solid #edf2f8}
  body.hr-ui .panel-kicker{color:#2563eb!important;letter-spacing:.1em}
  body.hr-ui .panel-head h2{color:#0f172a}
  body.hr-ui .panel-head p{color:#64748b}

  body.hr-ui .user-search,
  body.hr-ui .operation-search,
  body.hr-ui .education-records-search{
    border:1px solid #e1eaf6;
    border-radius:14px;
    background:linear-gradient(180deg,#f8fbff 0%,#f4f8fd 100%);
  }
  body.hr-ui .user-search .field label,
  body.hr-ui .operation-search .field label,
  body.hr-ui .education-records-search .field label{color:#475569;font-size:11px;font-weight:800}
  body.hr-ui .user-search input,body.hr-ui .user-search select,
  body.hr-ui .operation-search input,body.hr-ui .operation-search select,
  body.hr-ui .education-records-search input,body.hr-ui .education-records-search select{
    border-color:#cfdbea;
    border-radius:10px;
    background:#fff;
  }

  body.hr-ui .board-table-wrap{border:1px solid #dbe3ef;border-radius:13px;background:#fff}
  body.hr-ui .board-table{border-collapse:separate;border-spacing:0}
  body.hr-ui .board-table thead th{
    background:linear-gradient(180deg,#eff6ff 0%,#dbeafe 100%);
    color:#1e3a8a;
    border-color:#cbdcf3;
    font-weight:800;
  }
  body.hr-ui .board-table tbody tr:nth-child(even) td{background:#fbfdff}
  body.hr-ui .board-table tbody tr:hover td{background:#f2f7ff}
  body.hr-ui .table-summary{
    margin-top:8px;
    padding:8px 11px;
    border:1px solid #dbeafe;
    border-radius:12px;
    background:linear-gradient(90deg,#eff6ff 0%,#f8fbff 100%);
    color:#1e3a8a;
  }
  body.hr-ui .notice-box.soft{border-color:#dbeafe;background:linear-gradient(180deg,#f8fbff 0%,#f3f7fd 100%)}

  .education-standard-page{display:flex;flex-direction:column;gap:10px}
  .education-standard-page .education-standard-head{margin-bottom:0}
  .education-standard-page .education-standard-form,
  .education-standard-page .education-standard-panel{padding:14px 16px}
  .education-standard-page .education-standard-form .form-grid{gap:10px}
  .education-standard-page .education-standard-form .field label{color:#475569;font-size:11px;font-weight:800}
  .education-standard-page .education-standard-form input,
  .education-standard-page .education-standard-form select,
  .education-standard-page .education-standard-form textarea{border-color:#cfdaea;border-radius:10px;background:#fff}
  .education-standard-page .education-standard-table{width:100%;table-layout:fixed;font-size:12px}
  .education-standard-page .education-standard-table th,
  .education-standard-page .education-standard-table td{padding:7px 8px;line-height:1.25;vertical-align:middle;word-break:keep-all}
  .education-standard-page .education-standard-table th:nth-child(1){width:8%}
  .education-standard-page .education-standard-table th:nth-child(2){width:24%}
  .education-standard-page .education-standard-table th:nth-child(3){width:11%}
  .education-standard-page .education-standard-table th:nth-child(4){width:20%}
  .education-standard-page .education-standard-table th:nth-child(5){width:10%}
  .education-standard-page .education-standard-table th:nth-child(6){width:8%}
  .education-standard-page .education-standard-table th:nth-child(7){width:8%}
  .education-standard-page .education-standard-table th:nth-child(8){width:11%}
  .education-standard-page .education-standard-table td.title strong{display:block;color:#0f172a;font-size:12px}
  .education-standard-page .education-standard-table td.title small{display:block;margin-top:2px;color:#64748b;font-size:10px;line-height:1.25}
  .education-standard-page .education-standard-table .inline-actions{display:flex;gap:4px;justify-content:center;flex-wrap:nowrap}
  .education-standard-page .education-standard-table .btn{min-height:25px;padding:3px 6px;font-size:10px;border-radius:7px}
}
@media screen and (max-width:900px){
  body.hr-ui .page-head{padding:14px 14px 13px 17px}
  body.hr-ui .page-head{align-items:flex-start}
  body.hr-ui .page-head-actions{justify-content:flex-start}
  .education-standard-page .education-standard-table{min-width:820px}
}

/* ============================================================
   2026-08-07 148차 이용자·급식 하위화면 디자인 통일
   - 인사 메뉴의 카드형 UI를 기준으로 영역별 기본색 분리
   - 이용자: 청록(Teal), 급식: 주황(Orange)
   - 화면/인쇄물의 제목·표·검색·요약 디자인을 같은 체계로 정리
   ============================================================ */
@media screen{
  /* 공통 구조: 인사 화면과 동일한 밀도/카드 체계 */
  body.client-ui .page-shell,
  body.meal-ui .page-shell{display:flex;flex-direction:column;gap:10px}

  body.client-ui .page-head,
  body.meal-ui .page-head{
    position:relative;
    margin:0;
    padding:16px 18px 15px 20px;
    border-radius:18px;
    overflow:hidden;
  }
  body.client-ui .page-head:before,
  body.meal-ui .page-head:before{
    content:"";
    position:absolute;
    left:0;top:0;bottom:0;
    width:5px;
  }
  body.client-ui .page-head h1,
  body.meal-ui .page-head h1{margin:0 0 5px;color:#0f172a;font-size:23px;line-height:1.2;letter-spacing:-.025em}
  body.client-ui .page-head p,
  body.meal-ui .page-head p{margin:0;color:#64748b;font-size:12px;line-height:1.5}
  body.client-ui .page-head .eyebrow,
  body.meal-ui .page-head .eyebrow{margin-bottom:4px;font-size:10px;font-weight:900;letter-spacing:.12em}
  body.client-ui .page-head-actions,
  body.meal-ui .page-head-actions,
  body.client-ui .attendance-head-actions,
  body.meal-ui .attendance-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
  body.client-ui .page-head-actions .btn,
  body.meal-ui .page-head-actions .btn,
  body.client-ui .attendance-head-actions .btn,
  body.meal-ui .attendance-head-actions .btn{min-height:36px;padding:0 13px;border-radius:10px;font-size:11px;font-weight:800}

  body.client-ui .panel,
  body.meal-ui .panel{
    margin:0;
    border-radius:17px;
    background:linear-gradient(180deg,#fff 0%,#fcfefe 100%);
  }
  body.client-ui .panel-head,
  body.meal-ui .panel-head{padding-bottom:10px;border-bottom:1px solid #edf2f8}
  body.client-ui .panel-head h2,
  body.meal-ui .panel-head h2{color:#0f172a}
  body.client-ui .panel-head p,
  body.meal-ui .panel-head p{color:#64748b}

  body.client-ui .attendance-search,
  body.client-ui .client-search,
  body.client-ui .monthly-record-search,
  body.meal-ui .meal-search,
  body.meal-ui .monthly-record-search,
  body.meal-ui .meal-library-search,
  body.meal-ui .meal-menu-calendar-search{
    border-radius:14px;
  }
  body.client-ui .attendance-search .field label,
  body.client-ui .client-search .field label,
  body.client-ui .monthly-record-search .field label,
  body.meal-ui .meal-search .field label,
  body.meal-ui .monthly-record-search .field label,
  body.meal-ui .meal-library-search .field label,
  body.meal-ui .meal-menu-calendar-search .field label{color:#475569;font-size:11px;font-weight:800}
  body.client-ui input,body.client-ui select,body.client-ui textarea,
  body.meal-ui input,body.meal-ui select,body.meal-ui textarea{border-radius:10px;background:#fff}

  body.client-ui .board-table-wrap,
  body.meal-ui .board-table-wrap,
  body.client-ui .monthly-record-table-wrap,
  body.meal-ui .monthly-record-table-wrap{border-radius:13px;background:#fff}
  body.client-ui .board-table,
  body.meal-ui .board-table{border-collapse:separate;border-spacing:0}
  body.client-ui .board-table tbody tr:nth-child(even) td,
  body.meal-ui .board-table tbody tr:nth-child(even) td{background:#fcfefe}

  /* 이용자 영역: Teal */
  body.client-ui .page-head{
    border:1px solid #cfe8e5;
    background:linear-gradient(135deg,#ffffff 0%,#f7fcfb 58%,#eef9f7 100%);
    box-shadow:0 12px 28px rgba(13,148,136,.055);
  }
  body.client-ui .page-head:before{background:linear-gradient(180deg,#0f766e 0%,#2dd4bf 100%)}
  body.client-ui .page-head .eyebrow,body.client-ui .panel-kicker{color:#0f766e!important}
  body.client-ui .panel{border:1px solid #d6e9e7;box-shadow:0 10px 24px rgba(13,148,136,.045)}
  body.client-ui .attendance-search,
  body.client-ui .client-search,
  body.client-ui .monthly-record-search{border:1px solid #d9ece9;background:linear-gradient(180deg,#f7fcfb 0%,#f0faf8 100%)}
  body.client-ui input,body.client-ui select,body.client-ui textarea{border-color:#c7dedb}
  body.client-ui input:focus,body.client-ui select:focus,body.client-ui textarea:focus{border-color:#5eead4;box-shadow:0 0 0 3px rgba(20,184,166,.10)}
  body.client-ui .btn.primary{background:#0f766e;border-color:#0f766e;color:#fff}
  body.client-ui .btn.primary:hover{background:#115e59;border-color:#115e59}
  body.client-ui .btn.ghost{border-color:#cde4e1;color:#0f766e;background:#fff}
  body.client-ui .btn.ghost:hover{background:#ecfdf9;border-color:#99d7d0;color:#115e59}
  body.client-ui .board-table-wrap,body.client-ui .monthly-record-table-wrap{border:1px solid #d5e6e4}
  body.client-ui .board-table thead th{background:linear-gradient(180deg,#ecfdf8 0%,#d8f3ed 100%);color:#115e59;border-color:#c3e2dc;font-weight:800}
  body.client-ui .board-table tbody tr:hover td{background:#f0fdfa}
  body.client-ui .table-summary,
  body.client-ui .attendance-summary{border-color:#cce9e4;background:linear-gradient(90deg,#ecfdf8 0%,#f7fcfb 100%);color:#115e59}
  body.client-ui .monthly-record-sheet{border-color:#cfe4e1;box-shadow:0 12px 26px rgba(13,148,136,.05)}
  body.client-ui .monthly-record-table thead th{background:#e7f7f3;color:#115e59;border-color:#bcded7}
  body.client-ui .monthly-record-table tbody tr:nth-child(even) td{background:#fbfefd}
  body.client-ui .record-title-text h1{color:#134e4a}

  /* 이용자 메뉴 드롭다운도 현재 영역색으로 강조 */
  body.client-ui .nav-group.active .nav-group-link,
  body.client-ui .nav-group.open .nav-group-link,
  body.client-ui .nav-group.active .nav-group-caret-button,
  body.client-ui .nav-group.open .nav-group-caret-button{color:#115e59!important;background:#ecfdf8!important}
  body.client-ui .nav-group.active .nav-submenu a.active{background:#ecfdf8;color:#115e59}

  /* 급식 영역: Orange */
  body.meal-ui .page-head{
    border:1px solid #f3ddc8;
    background:linear-gradient(135deg,#ffffff 0%,#fffaf5 58%,#fff4e8 100%);
    box-shadow:0 12px 28px rgba(234,88,12,.055);
  }
  body.meal-ui .page-head:before{background:linear-gradient(180deg,#c2410c 0%,#fb923c 100%)}
  body.meal-ui .page-head .eyebrow,body.meal-ui .panel-kicker{color:#c2410c!important}
  body.meal-ui .panel{border:1px solid #f0dfcf;box-shadow:0 10px 24px rgba(234,88,12,.04)}
  body.meal-ui .meal-search,
  body.meal-ui .monthly-record-search,
  body.meal-ui .meal-library-search,
  body.meal-ui .meal-menu-calendar-search{border:1px solid #f2e2d2;background:linear-gradient(180deg,#fffaf5 0%,#fff6ed 100%)}
  body.meal-ui input,body.meal-ui select,body.meal-ui textarea{border-color:#ead5c2}
  body.meal-ui input:focus,body.meal-ui select:focus,body.meal-ui textarea:focus{border-color:#fdba74;box-shadow:0 0 0 3px rgba(249,115,22,.10)}
  body.meal-ui .btn.primary{background:#c2410c;border-color:#c2410c;color:#fff}
  body.meal-ui .btn.primary:hover{background:#9a3412;border-color:#9a3412}
  body.meal-ui .btn.ghost{border-color:#efd6bf;color:#b45309;background:#fff}
  body.meal-ui .btn.ghost:hover{background:#fff7ed;border-color:#fdba74;color:#9a3412}
  body.meal-ui .board-table-wrap,body.meal-ui .monthly-record-table-wrap{border:1px solid #eadbcf}
  body.meal-ui .board-table thead th{background:linear-gradient(180deg,#fff7ed 0%,#ffead5 100%);color:#9a3412;border-color:#efd0b1;font-weight:800}
  body.meal-ui .board-table tbody tr:hover td{background:#fffaf5}
  body.meal-ui .table-summary,
  body.meal-ui .meal-summary,
  body.meal-ui .meal-menu-calendar-summary{border-color:#f1d8c0;background:linear-gradient(90deg,#fff7ed 0%,#fffaf5 100%);color:#9a3412}
  body.meal-ui .monthly-record-sheet{border-color:#eed9c6;box-shadow:0 12px 26px rgba(234,88,12,.045)}
  body.meal-ui .monthly-record-table thead th{background:#fff0e0;color:#9a3412;border-color:#eac8a7}
  body.meal-ui .monthly-record-table tbody tr:nth-child(even) td{background:#fffdfb}
  body.meal-ui .record-title-text h1{color:#9a3412}
  body.meal-ui .meal-menu-calendar th{background:#fff0e0;color:#9a3412;border-color:#eac8a7}
  body.meal-ui .meal-menu-calendar td{border-color:#f0dfcf}
  body.meal-ui .meal-menu-calendar td:hover{background:#fff8f1}

  /* 급식 메뉴 드롭다운도 현재 영역색으로 강조 */
  body.meal-ui .nav-group.active .nav-group-link,
  body.meal-ui .nav-group.open .nav-group-link,
  body.meal-ui .nav-group.active .nav-group-caret-button,
  body.meal-ui .nav-group.open .nav-group-caret-button{color:#9a3412!important;background:#fff7ed!important}
  body.meal-ui .nav-group.active .nav-submenu a.active{background:#fff7ed;color:#9a3412}

  /* 등록·수정 폼도 카드 밀도 통일 */
  body.client-ui .form-panel,body.meal-ui .form-panel{padding:16px 18px}
  body.client-ui .form-panel .field label,body.meal-ui .form-panel .field label{color:#475569;font-size:11px;font-weight:800}
}

@media screen and (max-width:900px){
  body.client-ui .page-head,body.meal-ui .page-head{padding:14px 14px 13px 17px;align-items:flex-start}
  body.client-ui .page-head-actions,body.meal-ui .page-head-actions,
  body.client-ui .attendance-head-actions,body.meal-ui .attendance-head-actions{justify-content:flex-start}
}

/* 인쇄물 영역색 적용: 밝은 배경으로 가독성과 잉크사용 균형 */
@media print{
  body.client-ui,body.client-ui *,body.meal-ui,body.meal-ui *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}

  body.client-ui .record-title-row,
  body.meal-ui .record-title-row{padding-bottom:2.5mm!important;margin-bottom:2.5mm!important}
  body.client-ui .record-title-row{border-bottom:1.2pt solid #5aa89f!important}
  body.meal-ui .record-title-row{border-bottom:1.2pt solid #d99052!important}
  body.client-ui .record-title-text h1{color:#134e4a!important}
  body.meal-ui .record-title-text h1{color:#9a3412!important}

  body.client-ui .monthly-record-table thead th,
  body.client-ui .board-table thead th,
  body.client-ui .blank-table th{background:#e7f6f2!important;color:#134e4a!important;border-color:#8dbeb7!important}
  body.meal-ui .monthly-record-table thead th,
  body.meal-ui .board-table thead th,
  body.meal-ui .blank-table th,
  body.meal-ui .meal-menu-calendar th{background:#fff0df!important;color:#9a3412!important;border-color:#d8ad84!important}

  body.client-ui .monthly-record-table tbody tr:nth-child(even) td,
  body.client-ui .board-table tbody tr:nth-child(even) td{background:#f9fdfc!important}
  body.meal-ui .monthly-record-table tbody tr:nth-child(even) td,
  body.meal-ui .board-table tbody tr:nth-child(even) td{background:#fffaf5!important}

  body.client-ui .blank-print-title,
  body.meal-ui .blank-print-title{padding-bottom:2.5mm!important;margin-bottom:3mm!important}
  body.client-ui .blank-print-title{border-bottom:1.2pt solid #5aa89f!important}
  body.meal-ui .blank-print-title{border-bottom:1.2pt solid #d99052!important}
  body.client-ui .blank-print-title h1{color:#134e4a!important}
  body.meal-ui .blank-print-title h1{color:#9a3412!important}
  body.client-ui .blank-meta{padding:2mm 2.5mm!important;border:1px solid #b9d8d3!important;border-radius:2mm!important;background:#f3fbf9!important}
  body.meal-ui .blank-meta{padding:2mm 2.5mm!important;border:1px solid #ead0b7!important;border-radius:2mm!important;background:#fff8f1!important}

  body.client-ui .blank-not-target{background:#f3f8f7!important;color:#60736f!important}
  body.meal-ui .blank-not-target{background:#faf6f1!important;color:#77685b!important}

  /* 결재란은 문서색과 조화를 이루되 검정 테두리 가독성 유지 */
  body.client-ui .document-approval-box .approval-label,
  body.meal-ui .document-approval-box .approval-label{font-weight:800!important}
  body.client-ui .document-approval-box .approval-label{background:#eef9f7!important;color:#134e4a!important}
  body.meal-ui .document-approval-box .approval-label{background:#fff5eb!important;color:#9a3412!important}
}

@media screen{
  body.client-ui .blank-print-sheet{border-color:#cfe4e1;box-shadow:0 10px 24px rgba(13,148,136,.045)}
  body.client-ui .blank-print-title h1{color:#134e4a}
  body.client-ui .blank-meta{border-color:#d5ebe7;background:#f6fcfb}
  body.meal-ui .blank-print-sheet{border-color:#efdcc9;box-shadow:0 10px 24px rgba(234,88,12,.04)}
  body.meal-ui .blank-print-title h1{color:#9a3412}
  body.meal-ui .blank-meta{border-color:#f1dfce;background:#fffaf5}
}

/* 152차 직원·지원인력 근무현황 직무·소속 한줄 표시 */
.personnel-attendance-table .personnel-duty-org-cell{white-space:nowrap;vertical-align:middle}
.personnel-attendance-table .personnel-duty-org-line{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:12px;line-height:1.2}
.personnel-attendance-table .personnel-duty-org-line strong{display:inline;flex:0 0 auto;font-size:12px}
.personnel-attendance-table .personnel-duty-org-line span:not(.personnel-duty-org-sep){white-space:nowrap}
.personnel-attendance-table .personnel-duty-org-sep{flex:0 0 auto;color:#94a19a;font-weight:700}


/* 153차 출석체크 이용자 중앙정렬 */
.attendance-table .attendance-client-cell{text-align:center!important}
.attendance-table .attendance-client-name-row,.attendance-table .attendance-client-meta{justify-content:center}
@media(max-width:760px){.attendance-table .daily-target-row .attendance-client-cell{text-align:center!important}}
@media print{.attendance-table .daily-target-row .attendance-client-cell{text-align:center!important}}


/* 154차 인사인력명부 명칭·근무현황 압축·일정달력 간소화 */
.personnel-attendance-table-wrap{overflow:visible!important}
.personnel-attendance-table{width:100%!important;min-width:0!important;table-layout:fixed}
.personnel-attendance-table th,.personnel-attendance-table td{padding:4px 6px!important;font-size:11px;line-height:1.08;vertical-align:middle}
.personnel-attendance-table th{height:30px}
.personnel-attendance-table tbody td{height:34px}
.personnel-attendance-table th:nth-child(1),.personnel-attendance-table td:nth-child(1){width:10%}
.personnel-attendance-table th:nth-child(2),.personnel-attendance-table td:nth-child(2){width:10%}
.personnel-attendance-table th:nth-child(3),.personnel-attendance-table td:nth-child(3){width:10%}
.personnel-attendance-table th:nth-child(4),.personnel-attendance-table td:nth-child(4){width:27%}
.personnel-attendance-table th:nth-child(5),.personnel-attendance-table td:nth-child(5){width:13%}
.personnel-attendance-table th:nth-child(6),.personnel-attendance-table td:nth-child(6){width:30%}
.personnel-attendance-table select,.personnel-attendance-table input[type=text],.personnel-attendance-table input:not([type]){min-height:28px!important;height:28px!important;padding:3px 7px!important;font-size:11px!important;line-height:1.1}
.personnel-attendance-table .personnel-target-cell .daily-target-toggle{min-width:62px!important;padding:3px 6px!important;font-size:11px!important;line-height:1.05}
.personnel-attendance-table .table-subtext,.personnel-attendance-table .auto-suggestion-note{margin-top:1px!important;font-size:9px!important;line-height:1!important}
.personnel-attendance-table .personnel-duty-org-line,.personnel-attendance-table .personnel-duty-org-line strong{font-size:11px!important;line-height:1.05!important}
.personnel-attendance-summary{margin-top:6px!important;font-size:11px}

.integrated-schedule-page-head{align-items:center!important;margin-bottom:8px!important}
.integrated-schedule-page-head .integrated-schedule-title p:last-child{margin-top:3px}
.unified-schedule-toolbar{grid-template-columns:auto minmax(0,1fr) auto!important;gap:8px!important;padding:7px 9px!important;align-items:center!important}
.unified-view-selector,.unified-filter-control{gap:5px!important}
.unified-view-selector .toolbar-label,.unified-filter-control .toolbar-label{font-size:10px!important}
.unified-schedule-toolbar .view-tabs{grid-template-columns:repeat(4,minmax(54px,1fr))!important;min-width:232px!important;gap:3px!important}
.unified-schedule-toolbar .view-tabs a{min-height:28px!important;padding:4px 8px!important;border-radius:7px!important;font-size:11px!important;line-height:1!important}
.unified-filter-tabs{gap:3px!important;flex-wrap:nowrap!important}
.unified-filter-tabs a{min-height:28px!important;padding:4px 8px!important;font-size:10px!important;line-height:1!important}
.unified-filter-tabs a::before{width:7px!important;height:7px!important}
.unified-filter-help{display:none!important}
.unified-schedule-toolbar .date-nav{gap:3px!important}
.unified-schedule-toolbar .date-nav .icon-btn,.unified-schedule-toolbar .date-nav .today-btn{min-width:28px!important;height:28px!important;min-height:28px!important;padding:3px 7px!important;border-radius:7px!important;font-size:11px!important;line-height:1!important}
.unified-schedule-toolbar .date-nav .icon-btn{width:28px!important;padding:0!important;font-size:18px!important}
.schedule-current-popup,.schedule-popup-close{display:none!important}
@media(max-width:980px){.unified-schedule-toolbar{grid-template-columns:1fr!important}.unified-filter-tabs{flex-wrap:wrap!important}.unified-schedule-toolbar .date-nav{justify-content:flex-start!important}}

/* STAFF155 - 이용자명부 목록 행 간격 축소 */
body.client-ui .client-table th,
body.client-ui .client-table td{
  padding:7px 8px;
  line-height:1.22;
  vertical-align:middle;
}
body.client-ui .client-table td.title strong{
  line-height:1.15;
}
body.client-ui .client-table .table-subtext{
  margin-top:1px;
  font-size:10.5px;
  line-height:1.15;
}
body.client-ui .client-table-photo{
  width:40px;
  height:40px;
  border-radius:11px;
  font-size:16px;
}
body.client-ui .client-table .client-schedule-summary small{
  line-height:1.18;
}
body.client-ui .client-table .client-schedule-summary small + small{
  margin-top:1px;
}
body.client-ui .client-table .btn.small{
  min-height:27px;
  padding:4px 7px;
  font-size:10.5px;
  line-height:1.1;
}
@media(max-width:680px){
  body.client-ui .client-table th,
  body.client-ui .client-table td{padding:6px 6px}
  body.client-ui .client-table-photo{width:36px;height:36px;border-radius:10px}
}

/* STAFF156 - 일정달력 인사일정 빠른등록 팝업 버튼 */
.schedule-hr-register-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  flex-wrap:nowrap;
  margin-left:auto;
}
.schedule-hr-register-button{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:29px;
  padding:5px 9px;
  border:1px solid #d9e1dd;
  border-radius:8px;
  background:#fff;
  color:#33443b;
  font-size:10.5px;
  font-weight:850;
  line-height:1;
  letter-spacing:-.25px;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:0 2px 7px rgba(34,67,53,.04);
}
.schedule-hr-register-button:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(34,67,53,.08)}
.schedule-hr-register-button.shared{border-color:#d5cdf2;background:#f7f5ff;color:#5b45a1}
.schedule-hr-register-button.shared:hover{background:#eee9ff;border-color:#b9ace7}
.schedule-hr-register-button.trip{border-color:#c8d9f0;background:#f5f9ff;color:#315f96}
.schedule-hr-register-button.trip:hover{background:#eaf2fc;border-color:#aac6e8}
.schedule-hr-register-button.vacation{border-color:#c7e4d3;background:#f3fbf6;color:#2e704c}
.schedule-hr-register-button.vacation:hover{background:#e7f7ed;border-color:#a8d4ba}
.schedule-hr-register-button.overtime{border-color:#ead7bb;background:#fff9f0;color:#9a5a12}
.schedule-hr-register-button.overtime:hover{background:#fff1dc;border-color:#dfbf93}
@media(max-width:860px){
  .integrated-schedule-page-head{align-items:flex-start!important;flex-direction:column!important}
  .schedule-hr-register-actions{width:100%;justify-content:flex-start;margin-left:0;flex-wrap:wrap}
}
@media(max-width:430px){
  .schedule-hr-register-button{min-height:27px;padding:4px 7px;font-size:10px}
}
@media print{.schedule-hr-register-actions{display:none!important}}

/* 운영 - 공유일정 대장 */
.shared-ledger-search{grid-template-columns:135px 135px 145px 140px minmax(230px,1fr) auto;align-items:end}
.shared-ledger-search .field,.shared-ledger-search .search-actions{min-width:0}
.shared-ledger-search .field input,.shared-ledger-search .field select{width:100%;min-width:0}
.shared-ledger-search .search-actions{flex-wrap:nowrap;white-space:nowrap}
.shared-ledger-table{min-width:1080px}
.shared-ledger-table col.shared-ledger-col-no{width:5%}
.shared-ledger-table col.shared-ledger-col-date{width:15%}
.shared-ledger-table col.shared-ledger-col-time{width:10%}
.shared-ledger-table col.shared-ledger-col-category{width:9%}
.shared-ledger-table col.shared-ledger-col-title{width:17%}
.shared-ledger-table col.shared-ledger-col-description{width:23%}
.shared-ledger-table col.shared-ledger-col-author{width:8%}
.shared-ledger-table col.shared-ledger-col-updated{width:9%}
.shared-ledger-table col.shared-ledger-col-action{width:4%}
@media(max-width:1100px){.shared-ledger-search{grid-template-columns:repeat(2,minmax(0,1fr))}.shared-ledger-search .search-grow,.shared-ledger-search .search-actions{grid-column:1/-1}.shared-ledger-search .search-actions{flex-wrap:wrap}}
@media(max-width:620px){.shared-ledger-search{grid-template-columns:1fr}.shared-ledger-search .search-grow,.shared-ledger-search .search-actions{grid-column:auto}}
@media print{.shared-ledger-table{min-width:0!important;width:100%!important;font-size:8px}.shared-ledger-table th,.shared-ledger-table td{padding:4px 3px!important}}

/* 공유일정대장 인쇄 방향: 가로 기본, 선택 시 실제 A4 세로 이름 페이지로 전환 */
@page shared-ledger-landscape{size:A4 landscape;margin:8mm}
@page shared-ledger-portrait{size:A4 portrait;margin:8mm}
@media print{
  html[data-print-orientation="landscape"] .shared-ledger-panel{page:shared-ledger-landscape!important}
  html[data-print-orientation="portrait"] .shared-ledger-panel{page:shared-ledger-portrait!important}
  html[data-print-orientation="portrait"] .shared-ledger-table{width:100%!important;min-width:0!important;table-layout:fixed!important;font-size:6.5pt!important}
  html[data-print-orientation="portrait"] .shared-ledger-table th,
  html[data-print-orientation="portrait"] .shared-ledger-table td{padding:.8mm .45mm!important;line-height:1.12!important;overflow-wrap:anywhere!important;word-break:break-all!important}
}


/* STAFF157 - 급식 메뉴 구분선 / 이용자명부 이름·코드 통합 */
.integrated-main-nav .nav-submenu-divider{display:block;height:1px;margin:6px 7px;background:#f2c9a6;border:0;opacity:.9}
body.client-ui .client-name-code{max-width:100%}
body.client-ui .client-name-code strong,body.client-ui .client-name-code a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.client-ui .client-name-code .client-code-inline{flex:0 0 auto;white-space:nowrap}


/* STAFF160 - 메뉴 구분선 영역색 분리 / 인사 3대장 화면 스크롤 제거 */
.integrated-main-nav .nav-submenu-divider{
  display:block;
  height:2px;
  margin:7px 7px 6px;
  border:0;
  border-radius:999px;
  opacity:1;
}
.integrated-main-nav .nav-submenu-divider.meal-divider{
  background:linear-gradient(90deg,#fb923c 0%,#f6c18f 58%,rgba(251,146,60,.12) 100%);
}
.integrated-main-nav .nav-submenu-divider.hr-divider{
  background:linear-gradient(90deg,#3b82f6 0%,#9fc4f6 58%,rgba(59,130,246,.12) 100%);
}
.integrated-main-nav .nav-submenu-divider.client-divider{
  background:linear-gradient(90deg,#14b8a6 0%,#8bd8cf 58%,rgba(20,184,166,.12) 100%);
}
.integrated-main-nav .nav-submenu-divider.work-divider{
  background:linear-gradient(90deg,#16a34a 0%,#9bd5ae 58%,rgba(22,163,74,.12) 100%);
}
.integrated-main-nav .nav-submenu-divider.schedule-divider{
  background:linear-gradient(90deg,#7c3aed 0%,#c4abef 58%,rgba(124,58,237,.12) 100%);
}

@media screen{
  /* 출장·휴가·초과근무 대장은 별도 가로 스크롤 없이 현재 화면 폭에 맞춤 */
  body.hr-ui .landscape-ledger-page .ledger-table-wrap,
  body.hr-ui .trip-ledger-panel .ledger-table-wrap,
  body.hr-ui .vacation-ledger-panel .ledger-table-wrap,
  body.hr-ui .overtime-ledger-panel .ledger-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:visible!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:auto;
  }
  body.hr-ui .landscape-ledger-page .trip-ledger-table,
  body.hr-ui .landscape-ledger-page .overtime-ledger-table,
  body.hr-ui .landscape-ledger-page .vacation-person-ledger-table,
  body.hr-ui .landscape-ledger-page .vacation-all-ledger-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
    font-size:10.5px;
    line-height:1.25;
  }
  body.hr-ui .landscape-ledger-page .trip-ledger-table th,
  body.hr-ui .landscape-ledger-page .trip-ledger-table td,
  body.hr-ui .landscape-ledger-page .overtime-ledger-table th,
  body.hr-ui .landscape-ledger-page .overtime-ledger-table td,
  body.hr-ui .landscape-ledger-page .vacation-person-ledger-table th,
  body.hr-ui .landscape-ledger-page .vacation-person-ledger-table td,
  body.hr-ui .landscape-ledger-page .vacation-all-ledger-table th,
  body.hr-ui .landscape-ledger-page .vacation-all-ledger-table td{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    padding:6px 4px;
    white-space:normal!important;
    word-break:keep-all;
    overflow-wrap:anywhere;
    overflow:hidden;
    vertical-align:middle;
  }
  body.hr-ui .landscape-ledger-page .ledger-period-cell{
    min-width:0!important;
  }
  body.hr-ui .landscape-ledger-page .ledger-doc-link{
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
}
@media screen and (max-width:1200px){
  body.hr-ui .landscape-ledger-page .trip-ledger-table,
  body.hr-ui .landscape-ledger-page .overtime-ledger-table,
  body.hr-ui .landscape-ledger-page .vacation-person-ledger-table,
  body.hr-ui .landscape-ledger-page .vacation-all-ledger-table{
    font-size:9.5px;
  }
  body.hr-ui .landscape-ledger-page .trip-ledger-table th,
  body.hr-ui .landscape-ledger-page .trip-ledger-table td,
  body.hr-ui .landscape-ledger-page .overtime-ledger-table th,
  body.hr-ui .landscape-ledger-page .overtime-ledger-table td,
  body.hr-ui .landscape-ledger-page .vacation-person-ledger-table th,
  body.hr-ui .landscape-ledger-page .vacation-person-ledger-table td,
  body.hr-ui .landscape-ledger-page .vacation-all-ledger-table th,
  body.hr-ui .landscape-ledger-page .vacation-all-ledger-table td{
    padding:5px 3px;
  }
}
@media screen and (max-width:760px){
  body.hr-ui .landscape-ledger-page .trip-ledger-table,
  body.hr-ui .landscape-ledger-page .overtime-ledger-table,
  body.hr-ui .landscape-ledger-page .vacation-person-ledger-table,
  body.hr-ui .landscape-ledger-page .vacation-all-ledger-table{
    font-size:8px;
  }
  body.hr-ui .landscape-ledger-page .trip-ledger-table th,
  body.hr-ui .landscape-ledger-page .trip-ledger-table td,
  body.hr-ui .landscape-ledger-page .overtime-ledger-table th,
  body.hr-ui .landscape-ledger-page .overtime-ledger-table td,
  body.hr-ui .landscape-ledger-page .vacation-person-ledger-table th,
  body.hr-ui .landscape-ledger-page .vacation-person-ledger-table td,
  body.hr-ui .landscape-ledger-page .vacation-all-ledger-table th,
  body.hr-ui .landscape-ledger-page .vacation-all-ledger-table td{
    padding:4px 2px;
  }
}

/* STAFF162 - 하위 메뉴 선을 영역별 고유 색상으로 통일 */
.integrated-main-nav .nav-theme-schedule{--nav-theme:#7c3aed;--nav-theme-soft:#c4b5fd;--nav-theme-pale:#f5f3ff}
.integrated-main-nav .nav-theme-client{--nav-theme:#0f9f91;--nav-theme-soft:#99ddd5;--nav-theme-pale:#f0fdfa}
.integrated-main-nav .nav-theme-meal{--nav-theme:#ea7a19;--nav-theme-soft:#f3c494;--nav-theme-pale:#fff7ed}
.integrated-main-nav .nav-theme-hr{--nav-theme:#3978d4;--nav-theme-soft:#a8c7ef;--nav-theme-pale:#eff6ff}
.integrated-main-nav .nav-theme-work{--nav-theme:#2f8f4e;--nav-theme-soft:#a8d6b7;--nav-theme-pale:#f0fdf4}
.integrated-main-nav .nav-theme-vehicle{--nav-theme:#245e9c;--nav-theme-soft:#a9c8e8;--nav-theme-pale:#eef6ff}
.integrated-main-nav .nav-theme-resource{--nav-theme:#64748b;--nav-theme-soft:#c5ced9;--nav-theme-pale:#f8fafc}
.integrated-main-nav .nav-theme-care{--nav-theme:#0891b2;--nav-theme-soft:#9bd8e5;--nav-theme-pale:#ecfeff}
.user-menu.nav-theme-account{--nav-theme:#64748b;--nav-theme-soft:#c5ced9;--nav-theme-pale:#f8fafc}

/* 드롭다운 외곽선도 메뉴 성격색으로 맞춤 */
.integrated-main-nav .nav-group[class*="nav-theme-"]>.nav-submenu,
.user-menu.nav-theme-account>.nav-submenu{
  border-color:var(--nav-theme-soft)!important;
}

/* 하위 메뉴 안의 제목 구분선: 이용자/급식/인사/운영/게시판/계정 모두 부모 메뉴 색 사용 */
.integrated-main-nav .nav-group[class*="nav-theme-"] .nav-submenu-label,
.user-menu.nav-theme-account .nav-submenu-label{
  border-top-color:var(--nav-theme-soft)!important;
  color:var(--nav-theme)!important;
}
.integrated-main-nav .nav-group[class*="nav-theme-"] .nav-submenu-label:first-child,
.user-menu.nav-theme-account .nav-submenu-label:first-child{
  border-top-color:transparent!important;
}

/* 별도 삽입된 구분선도 부모 메뉴 색을 상속 */
.integrated-main-nav .nav-group[class*="nav-theme-"] .nav-submenu-divider{
  height:2px;
  background:linear-gradient(90deg,var(--nav-theme) 0%,var(--nav-theme-soft) 64%,rgba(255,255,255,0) 100%)!important;
  opacity:1;
}

/* 모바일 펼침 메뉴에서도 동일한 영역색 유지 */
@media(max-width:1280px){
  .integrated-main-nav .nav-group[class*="nav-theme-"]>.nav-submenu{
    border-left:2px solid var(--nav-theme-soft)!important;
    background:linear-gradient(90deg,var(--nav-theme-pale) 0%,#fff 48%)!important;
  }
}

/* STAFF163 - 공지/자료 게시판별 고유 디자인 */
body.board-ui{
  --board-accent:#64748b;
  --board-accent-dark:#334155;
  --board-accent-soft:#cbd5e1;
  --board-accent-pale:#f8fafc;
  --board-accent-tint:#f1f5f9;
}
body.board-notice-ui{
  --board-accent:#c2410c;
  --board-accent-dark:#9a3412;
  --board-accent-soft:#fdba74;
  --board-accent-pale:#fff7ed;
  --board-accent-tint:#ffedd5;
}
body.board-work-ui{
  --board-accent:#2563eb;
  --board-accent-dark:#1d4ed8;
  --board-accent-soft:#93c5fd;
  --board-accent-pale:#eff6ff;
  --board-accent-tint:#dbeafe;
}
body.board-ui .board-page-head{
  position:relative;
  align-items:center;
  min-height:92px;
  margin:8px 0 16px;
  padding:16px 18px 15px 22px;
  overflow:hidden;
  border:1px solid var(--board-accent-soft);
  border-radius:16px;
  background:linear-gradient(135deg,var(--board-accent-pale) 0%,#fff 72%);
  box-shadow:0 8px 24px rgba(15,23,42,.045);
}
body.board-ui .board-page-head:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--board-accent);
}
body.board-ui .board-page-head:after{
  content:"";
  position:absolute;
  right:-28px;
  top:-42px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:var(--board-accent-tint);
  opacity:.45;
  pointer-events:none;
}
body.board-ui .board-page-head>div,
body.board-ui .board-page-head>.btn{position:relative;z-index:1}
body.board-ui .board-page-head .eyebrow{
  margin-bottom:3px;
  color:var(--board-accent);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}
body.board-ui .board-page-head h1{
  margin:0 0 5px;
  color:#0f172a;
  font-size:25px;
  line-height:1.2;
  letter-spacing:-.025em;
}
body.board-ui .board-page-head p{margin:0;color:#64748b;font-size:12px;line-height:1.5}
body.board-ui .board-page-head .btn.primary,
body.board-ui .board-form-panel .btn.primary,
body.board-ui .board-post-view .btn.primary{
  border-color:var(--board-accent)!important;
  background:var(--board-accent)!important;
  color:#fff!important;
}
body.board-ui .board-page-head .btn.primary:hover,
body.board-ui .board-form-panel .btn.primary:hover,
body.board-ui .board-post-view .btn.primary:hover{background:var(--board-accent-dark)!important}
body.board-ui .board-list-panel,
body.board-ui .board-post-view,
body.board-ui .board-form-panel{
  border:1px solid var(--board-accent-soft);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.045);
}
body.board-ui .board-list-panel{overflow:hidden}
body.board-ui .board-search{
  align-items:center;
  padding:14px 16px;
  border-bottom:1px solid var(--board-accent-soft);
  background:linear-gradient(180deg,#fff 0%,var(--board-accent-pale) 100%);
}
body.board-ui .board-search input{
  height:38px;
  border-color:var(--board-accent-soft);
  background:#fff;
}
body.board-ui .board-search input:focus{
  border-color:var(--board-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--board-accent) 14%,transparent);
}
body.board-ui .board-search .btn.dark{
  min-height:38px;
  padding:0 15px;
  border-color:var(--board-accent-dark);
  background:var(--board-accent-dark);
}
body.board-ui .board-table-wrap{overflow:visible;border:0;border-radius:0}
body.board-ui .board-table{border-collapse:separate;border-spacing:0}
body.board-ui .board-table thead th{
  padding:11px 10px;
  border-bottom:1px solid var(--board-accent-soft);
  background:var(--board-accent-tint);
  color:var(--board-accent-dark);
  font-size:11px;
  font-weight:900;
}
body.board-ui .board-table tbody td{
  padding:11px 10px;
  border-bottom:1px solid #edf1f5;
  background:#fff;
  font-size:12px;
  vertical-align:middle;
}
body.board-ui .board-table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--board-accent-pale) 55%,#fff)}
body.board-ui .board-table tbody tr:hover td{background:var(--board-accent-pale)}
body.board-ui .board-table td.title a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:100%;
  color:#172033;
  font-weight:800;
  line-height:1.35;
}
body.board-ui .board-table td.title a:hover{color:var(--board-accent-dark)}
body.board-ui .board-title-mark{
  flex:0 0 7px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--board-accent);
  box-shadow:0 0 0 3px var(--board-accent-tint);
}
body.board-ui .board-table .file span{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--board-accent-pale)}
body.board-ui .board-post-view{overflow:hidden}
body.board-ui .board-post-view .post-header{
  position:relative;
  padding:25px 28px 20px;
  border-bottom:1px solid var(--board-accent-soft);
  background:linear-gradient(135deg,var(--board-accent-pale),#fff 70%);
}
body.board-ui .board-post-view .post-header:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--board-accent);
}
body.board-ui .board-post-view .post-header h2{margin:0 0 10px;color:#0f172a;font-size:25px;line-height:1.35}
body.board-ui .board-post-view .post-meta{color:#64748b;font-size:11px}
body.board-ui .board-post-view .post-meta strong{color:var(--board-accent-dark)}
body.board-ui .board-post-view .post-content{min-height:190px;padding:28px;line-height:1.8;color:#263244}
body.board-ui .board-post-view .attachment-box{
  margin:0 28px 20px;
  border:1px solid var(--board-accent-soft);
  background:var(--board-accent-pale);
}
body.board-ui .board-post-view .attachment-box span{color:var(--board-accent-dark);font-weight:900}
body.board-ui .board-post-view .attachment-box a{color:var(--board-accent-dark)}
body.board-ui .board-post-view .form-actions{border-top:1px solid var(--board-accent-soft)}
body.board-ui .board-form-layout{max-width:980px;margin:0 auto}
body.board-ui .board-form-panel{padding:25px 28px}
body.board-ui .board-form-panel .field{margin-bottom:17px}
body.board-ui .board-form-panel .field label{color:#334155;font-weight:900}
body.board-ui .board-form-panel .field label span{color:var(--board-accent)}
body.board-ui .board-form-panel .field input[type="text"],
body.board-ui .board-form-panel .field textarea,
body.board-ui .board-form-panel .field input[type="file"]{
  border-color:#d8e0e8;
  background:#fff;
}
body.board-ui .board-form-panel .field input[type="text"]:focus,
body.board-ui .board-form-panel .field textarea:focus{
  border-color:var(--board-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--board-accent) 14%,transparent);
}
body.board-ui .board-form-panel .field-help,
body.board-ui .board-form-panel .upload-status{color:#64748b}
body.board-ui .board-form-panel .current-file{
  margin-top:8px;
  padding:9px 11px;
  border:1px solid var(--board-accent-soft);
  border-radius:9px;
  background:var(--board-accent-pale);
  color:#475569;
}
body.board-notice-ui .board-table td.title a:before{
  content:"공지";
  flex:0 0 auto;
  padding:3px 6px;
  border-radius:6px;
  background:#ffedd5;
  color:#9a3412;
  font-size:9px;
  font-weight:900;
}
body.board-work-ui .board-table td.title a:before{
  content:"자료";
  flex:0 0 auto;
  padding:3px 6px;
  border-radius:6px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:9px;
  font-weight:900;
}
@media(max-width:760px){
  body.board-ui .board-page-head{align-items:flex-start;min-height:0;padding:14px 14px 13px 18px}
  body.board-ui .board-page-head h1{font-size:21px}
  body.board-ui .board-page-head .btn{width:auto;min-height:34px;padding:0 11px}
  body.board-ui .board-search{padding:10px;gap:6px}
  body.board-ui .board-search input{min-width:0;max-width:none}
  body.board-ui .board-table th,body.board-ui .board-table td{padding:9px 7px}
  body.board-ui .board-table td.title a{gap:6px;font-size:11.5px}
  body.board-ui .board-title-mark{display:none}
  body.board-ui .board-post-view .post-header{padding:20px 18px 16px}
  body.board-ui .board-post-view .post-header h2{font-size:21px}
  body.board-ui .board-post-view .post-content{padding:20px 18px}
  body.board-ui .board-post-view .attachment-box{margin:0 18px 16px}
  body.board-ui .board-form-panel{padding:18px 16px}
}

/* STAFF164 - 일정달력·오늘의 세부실적 메뉴 그룹 디자인 적용 */
body.schedule-ui{
  --schedule-accent:#7c3aed;
  --schedule-accent-dark:#5b21b6;
  --schedule-accent-soft:#c4b5fd;
  --schedule-accent-pale:#f5f3ff;
  --schedule-accent-tint:#ede9fe;
}
body.schedule-ui .integrated-schedule-page-head{
  position:relative;
  min-height:86px;
  margin:8px 0 12px!important;
  padding:14px 16px 14px 21px;
  overflow:hidden;
  border:1px solid var(--schedule-accent-soft);
  border-radius:16px;
  background:linear-gradient(135deg,var(--schedule-accent-pale) 0%,#fff 72%);
  box-shadow:0 8px 24px rgba(76,29,149,.05);
}
body.schedule-ui .integrated-schedule-page-head:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--schedule-accent-dark),var(--schedule-accent));
}
body.schedule-ui .integrated-schedule-page-head:after{
  content:"";
  position:absolute;
  right:-35px;
  top:-58px;
  width:170px;
  height:170px;
  border-radius:50%;
  background:var(--schedule-accent-tint);
  opacity:.5;
  pointer-events:none;
}
body.schedule-ui .integrated-schedule-title,
body.schedule-ui .schedule-hr-register-actions{position:relative;z-index:1}
body.schedule-ui .integrated-schedule-page-head .eyebrow{color:var(--schedule-accent)!important}
body.schedule-ui .integrated-schedule-page-head h1{color:#2e1065}
body.schedule-ui .integrated-schedule-page-head p:last-child{color:#6b5a7b}
body.schedule-ui .unified-schedule-toolbar{
  border-color:var(--schedule-accent-soft)!important;
  background:linear-gradient(180deg,#fff 0%,var(--schedule-accent-pale) 100%)!important;
  box-shadow:0 6px 18px rgba(76,29,149,.035);
}
body.schedule-ui .unified-view-selector .toolbar-label,
body.schedule-ui .unified-filter-control .toolbar-label{color:var(--schedule-accent-dark)!important}
body.schedule-ui .unified-schedule-toolbar .view-tabs a{
  border:1px solid #ddd6fe;
  background:#fff;
  color:#6d5a82;
}
body.schedule-ui .unified-schedule-toolbar .view-tabs a:hover{
  border-color:var(--schedule-accent-soft);
  background:var(--schedule-accent-pale);
  color:var(--schedule-accent-dark);
}
body.schedule-ui .unified-schedule-toolbar .view-tabs a.active{
  border-color:var(--schedule-accent)!important;
  background:var(--schedule-accent)!important;
  color:#fff!important;
  box-shadow:0 3px 9px rgba(124,58,237,.18);
}
body.schedule-ui .unified-filter-tabs a.all.active{
  border-color:var(--schedule-accent)!important;
  background:var(--schedule-accent)!important;
}
body.schedule-ui .unified-schedule-toolbar .date-nav .icon-btn,
body.schedule-ui .unified-schedule-toolbar .date-nav .today-btn{
  border-color:#ddd6fe!important;
  background:#fff!important;
  color:var(--schedule-accent-dark)!important;
}
body.schedule-ui .unified-schedule-toolbar .date-nav .icon-btn:hover,
body.schedule-ui .unified-schedule-toolbar .date-nav .today-btn:hover{
  border-color:var(--schedule-accent-soft)!important;
  background:var(--schedule-accent-pale)!important;
}
body.schedule-ui .unified-daily-panel,
body.schedule-ui .unified-week-panel,
body.schedule-ui .unified-month-panel,
body.schedule-ui .unified-year-panel{
  border:1px solid #ddd6fe;
  box-shadow:0 8px 24px rgba(76,29,149,.035);
}
body.schedule-ui .calendar-title{
  border-bottom-color:#ddd6fe!important;
  background:linear-gradient(90deg,var(--schedule-accent-pale) 0%,#fff 78%);
}
body.schedule-ui .calendar-title h2{color:#3b176e}
body.schedule-ui .weekdays span,
body.schedule-ui .unified-year-weekdays span{
  background:#f3efff;
  color:#5b3b83;
}
body.schedule-ui .unified-week-day{border-color:#e8e2fb}
body.schedule-ui .unified-week-day.today{
  box-shadow:inset 0 0 0 2px var(--schedule-accent-soft);
  background:#fcfaff;
}
body.schedule-ui .unified-week-day.today .week-date strong,
body.schedule-ui .month-day.today .day-number{color:var(--schedule-accent-dark)}
body.schedule-ui .unified-month-panel .month-day{border-color:#eee9fa}
body.schedule-ui .unified-month-panel .month-day.today{
  outline:2px solid var(--schedule-accent);
  outline-offset:-2px;
  background:#fcfaff;
}
body.schedule-ui .unified-year-month{border-color:#ddd6fe}
body.schedule-ui .unified-year-month-title{
  border-bottom-color:#ddd6fe;
  background:linear-gradient(180deg,var(--schedule-accent-pale),#fff);
}
body.schedule-ui .unified-year-month-title strong{color:#3b176e}
body.schedule-ui .unified-year-month-title span{color:var(--schedule-accent-dark)}
body.schedule-ui .unified-year-day.today{outline-color:var(--schedule-accent)!important}
body.schedule-ui .unified-year-day.has-events{background:#faf8ff}
body.schedule-ui .unified-year-day b{background:var(--schedule-accent)}
body.schedule-ui .schedule-hr-register-actions{
  padding:4px;
  border:1px solid rgba(196,181,253,.72);
  border-radius:11px;
  background:rgba(255,255,255,.72);
}

body.work-ui{
  --work-accent:#2f8f4e;
  --work-accent-dark:#1f6b39;
  --work-accent-soft:#a8d6b7;
  --work-accent-pale:#f0fdf4;
  --work-accent-tint:#dcfce7;
}
body.work-ui .daily-detail-page-head{
  position:relative;
  min-height:90px;
  margin:8px 0 14px;
  padding:15px 18px 15px 22px;
  overflow:hidden;
  border:1px solid var(--work-accent-soft);
  border-radius:16px;
  background:linear-gradient(135deg,var(--work-accent-pale) 0%,#fff 72%);
  box-shadow:0 8px 24px rgba(31,107,57,.045);
}
body.work-ui .daily-detail-page-head:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--work-accent-dark),var(--work-accent));
}
body.work-ui .daily-detail-page-head:after{
  content:"";
  position:absolute;
  right:-34px;
  top:-54px;
  width:165px;
  height:165px;
  border-radius:50%;
  background:var(--work-accent-tint);
  opacity:.48;
  pointer-events:none;
}
body.work-ui .daily-detail-page-head>div{position:relative;z-index:1}
body.work-ui .daily-detail-page-head .eyebrow{color:var(--work-accent)!important}
body.work-ui .daily-detail-page-head h1{color:#14532d}
body.work-ui .daily-detail-page-head p:last-child{color:#587061}
body.work-ui .daily-detail-page-head .btn.ghost{
  border-color:var(--work-accent-soft);
  background:#fff;
  color:var(--work-accent-dark);
}
body.work-ui .daily-detail-page-head .btn.ghost:hover{background:var(--work-accent-pale)}
body.work-ui .daily-detail-toolbar{
  padding:10px 12px;
  border:1px solid var(--work-accent-soft);
  border-radius:15px;
  background:linear-gradient(180deg,#fff 0%,var(--work-accent-pale) 100%);
  box-shadow:0 6px 18px rgba(31,107,57,.035);
}
body.work-ui .daily-detail-date-form,
body.work-ui .daily-detail-filter-sort{
  border-color:#cde8d5;
  background:#fff;
}
body.work-ui .daily-detail-date-form label,
body.work-ui .daily-detail-filter-sort label{color:var(--work-accent-dark)}
body.work-ui .daily-detail-date-form input,
body.work-ui .daily-detail-search-wrap input,
body.work-ui .daily-detail-filter-sort select{
  border-color:#cfe5d6;
}
body.work-ui .daily-detail-toolbar .date-nav .icon-btn,
body.work-ui .daily-detail-toolbar .date-nav .today-btn,
body.work-ui .daily-detail-search-box .btn.ghost,
body.work-ui .daily-detail-date-form .btn.ghost{
  border-color:#bcdcc7!important;
  background:#fff!important;
  color:var(--work-accent-dark)!important;
}
body.work-ui .daily-detail-toolbar .date-nav .icon-btn:hover,
body.work-ui .daily-detail-toolbar .date-nav .today-btn:hover,
body.work-ui .daily-detail-search-box .btn.ghost:hover,
body.work-ui .daily-detail-date-form .btn.ghost:hover{background:var(--work-accent-pale)!important}
body.work-ui .daily-detail-result-count{color:var(--work-accent-dark)}
body.work-ui .daily-detail-form{
  border:1px solid #cde8d5;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(31,107,57,.04);
}
body.work-ui .daily-detail-panel-head{
  padding:15px 18px;
  border-bottom:1px solid #cde8d5;
  background:linear-gradient(90deg,var(--work-accent-pale) 0%,#fff 78%);
}
body.work-ui .daily-detail-panel-head .panel-kicker{color:var(--work-accent)!important}
body.work-ui .daily-detail-panel-head h2{color:#14532d}
body.work-ui .daily-detail-panel-actions .btn.ghost,
body.work-ui .daily-detail-management-links .btn.ghost,
body.work-ui .daily-detail-copy-bar .btn.ghost{
  border-color:#bcdcc7;
  color:var(--work-accent-dark);
  background:#fff;
}
body.work-ui .daily-detail-panel-actions .btn.ghost:hover,
body.work-ui .daily-detail-management-links .btn.ghost:hover,
body.work-ui .daily-detail-copy-bar .btn.ghost:hover{background:var(--work-accent-pale)}
body.work-ui .daily-detail-management-tools{
  border-color:#cde8d5;
  background:#fbfffc;
}
body.work-ui .daily-detail-management-tools>summary{
  border-color:#d5eadb;
  background:linear-gradient(180deg,#f7fdf9,var(--work-accent-pale));
  color:var(--work-accent-dark);
}
body.work-ui .daily-detail-management-tools>summary::after{color:var(--work-accent-dark)}
body.work-ui .daily-detail-copy-bar{
  border-color:#cde8d5;
  background:linear-gradient(90deg,#f5fcf7 0%,#fff 100%);
}
body.work-ui .daily-detail-table thead th{
  background:#e8f7ed!important;
  color:#1e5f35;
  box-shadow:0 1px 0 #bcdcc7;
}
body.work-ui .daily-detail-table tbody tr:nth-child(even) td{background:#fbfefc}
body.work-ui .daily-detail-table tbody tr:hover td{background:#f3fbf5}
body.work-ui .daily-detail-table tbody tr:has([data-row-apply]:checked) td{background:#eaf8ee!important}
body.work-ui .daily-detail-area-badge{background:#e7f6ec;color:#276840}
body.work-ui .daily-detail-count-input,
body.work-ui .daily-detail-textarea{border-color:#cfe5d6}
body.work-ui .daily-detail-count-input:focus,
body.work-ui .daily-detail-textarea:focus,
body.work-ui .daily-detail-date-form input:focus,
body.work-ui .daily-detail-search-wrap input:focus,
body.work-ui .daily-detail-filter-sort select:focus,
body.work-ui .daily-detail-copy-date input:focus{
  outline:2px solid rgba(47,143,78,.14);
  border-color:#75b98a;
}
body.work-ui .daily-detail-bottom-actions{border-top-color:#cde8d5;background:#fbfefc}
body.work-ui .daily-detail-action-dialog{border:1px solid var(--work-accent-soft)}
body.work-ui .daily-detail-action-head{border-bottom-color:#cde8d5;background:var(--work-accent-pale)}
body.work-ui .daily-detail-action-head .panel-kicker{color:var(--work-accent)!important}
body.work-ui .daily-detail-action-head h3{color:#14532d}

@media(max-width:760px){
  body.schedule-ui .integrated-schedule-page-head,
  body.work-ui .daily-detail-page-head{min-height:0;padding:13px 13px 12px 18px}
  body.schedule-ui .schedule-hr-register-actions{width:100%;margin-top:8px}
  body.work-ui .daily-detail-toolbar{padding:9px}
  body.work-ui .daily-detail-panel-head{padding:13px 14px}
}

/* 165차 인사인력명부 대상 선택 최소화 */
.personnel-attendance-table th:nth-child(3),
.personnel-attendance-table td:nth-child(3){width:6%!important;min-width:48px!important;padding-left:2px!important;padding-right:2px!important;text-align:center!important}
.personnel-attendance-table th:nth-child(4),
.personnel-attendance-table td:nth-child(4){width:31%!important}
.personnel-attendance-table .personnel-target-cell .daily-target-toggle{
  display:inline-flex!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  padding:2px 3px!important;
  gap:2px!important;
  border-radius:6px!important;
  font-size:10px!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
.personnel-attendance-table .personnel-target-cell .daily-target-toggle input{
  width:12px!important;
  height:12px!important;
  min-width:12px!important;
  flex:0 0 12px!important;
  margin:0!important;
}
.personnel-attendance-table .personnel-target-cell .daily-target-toggle span{
  display:inline-block!important;
  line-height:12px!important;
  white-space:nowrap!important;
}
@media(max-width:900px){
  .personnel-attendance-table th:nth-child(3),
  .personnel-attendance-table td:nth-child(3){min-width:44px!important}
  .personnel-attendance-table .personnel-target-cell .daily-target-toggle{padding:1px 2px!important;font-size:9px!important}
}

/* 166차 초과근무신청서 신청자·근무일정 입력 한줄 정리 */
@media (min-width: 761px){
  .overtime-compact-form .hr-person-grid{
    grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,.9fr) minmax(150px,.8fr);
    gap:8px;
    align-items:end;
  }
  .overtime-compact-form .overtime-schedule-grid{
    grid-template-columns:minmax(145px,1fr) minmax(145px,1fr) minmax(120px,.8fr) minmax(120px,.8fr) minmax(130px,.8fr);
    gap:8px;
    align-items:end;
  }
  .overtime-compact-form .hr-person-grid .field,
  .overtime-compact-form .overtime-schedule-grid .field{
    margin-bottom:10px;
  }
  .overtime-compact-form .hr-person-grid .field label,
  .overtime-compact-form .overtime-schedule-grid .field label{
    white-space:nowrap;
    font-size:11px;
  }
  .overtime-compact-form .hr-person-grid select,
  .overtime-compact-form .hr-person-grid input,
  .overtime-compact-form .overtime-schedule-grid input{
    min-width:0;
    min-height:36px;
    padding-top:7px;
    padding-bottom:7px;
    font-size:13px;
  }
  .overtime-compact-form .overtime-hours-input span{font-size:11px;}
}
@media (max-width:760px) and (min-width:521px){
  .overtime-compact-form .hr-person-grid,
  .overtime-compact-form .overtime-schedule-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:520px){
  .overtime-compact-form .hr-person-grid,
  .overtime-compact-form .overtime-schedule-grid{
    grid-template-columns:1fr;
  }
}


/* 167차 출석·급식 대상 선택 최소화 및 운영일지 메모 전용화면 */
@media(min-width:761px){
  .attendance-table .attendance-col-target{width:76px!important}
  .attendance-target-cell{padding-left:3px!important;padding-right:3px!important}
  .attendance-target-toggle{max-width:60px!important;min-height:26px!important;gap:3px!important;padding:3px 4px!important;font-size:11px!important;line-height:1.1}
  .attendance-target-toggle input{flex-basis:13px!important;width:13px!important;height:13px!important}
  .meal-table .meal-col-target{width:76px!important}
  .meal-target-cell{padding-left:3px!important;padding-right:3px!important}
  .meal-target-cell .daily-target-toggle{max-width:60px!important;min-height:26px!important;gap:3px!important;padding:3px 4px!important;font-size:11px!important;line-height:1.1}
  .meal-target-cell .daily-target-toggle input{flex-basis:13px!important;width:13px!important;height:13px!important}
}
body.work-ui .operation-memo-page-head{
  position:relative;
  min-height:90px;
  margin:8px 0 14px;
  padding:15px 18px 15px 22px;
  overflow:hidden;
  border:1px solid var(--work-accent-soft);
  border-radius:16px;
  background:linear-gradient(135deg,var(--work-accent-pale) 0%,#fff 72%);
  box-shadow:0 8px 24px rgba(31,107,57,.045);
}
body.work-ui .operation-memo-page-head:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--work-accent-dark),var(--work-accent));
}
body.work-ui .operation-memo-page-head:after{
  content:"";
  position:absolute;
  right:-34px;
  top:-54px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:var(--work-accent-tint);
  opacity:.48;
  pointer-events:none;
}
body.work-ui .operation-memo-page-head>div{position:relative;z-index:1}
body.work-ui .operation-memo-page-head .eyebrow{color:var(--work-accent)!important}
body.work-ui .operation-memo-page-head h1{color:#14532d}
body.work-ui .operation-memo-page-head p:last-child{color:#587061}
body.work-ui .operation-memo-page-head .btn.ghost{border-color:var(--work-accent-soft);background:#fff;color:var(--work-accent-dark)}
body.work-ui .operation-memo-page-head .btn.ghost:hover{background:var(--work-accent-pale)}
body.work-ui .operation-memo-toolbar-panel{
  padding:10px 12px;
  border:1px solid var(--work-accent-soft);
  border-radius:15px;
  background:linear-gradient(180deg,#fff 0%,var(--work-accent-pale) 100%);
  box-shadow:0 6px 18px rgba(31,107,57,.035);
}
body.work-ui .operation-memo-date-search{align-items:end}
body.work-ui .operation-memo-date-search label{color:var(--work-accent-dark)}
body.work-ui .operation-memo-date-search input{border-color:#cfe5d6;background:#fff}
body.work-ui .operation-memo-date-search input:focus{outline:2px solid rgba(47,143,78,.14);border-color:#75b98a}
body.work-ui .operation-memo-date-search .btn.ghost{border-color:#bcdcc7;background:#fff;color:var(--work-accent-dark)}
body.work-ui .operation-memo-date-search .btn.ghost:hover{background:var(--work-accent-pale)}
body.work-ui .operation-memo-editor-panel{overflow:hidden;border:1px solid #cde8d5;box-shadow:0 8px 24px rgba(31,107,57,.04)}
body.work-ui .operation-memo-editor-head{padding:14px 17px;border-bottom:1px solid #cde8d5;background:linear-gradient(90deg,var(--work-accent-pale) 0%,#fff 78%)}
body.work-ui .operation-memo-editor-head .eyebrow{color:var(--work-accent)!important}
body.work-ui .operation-memo-editor-head h2{color:#14532d}
body.work-ui .operation-memo-editor-head .btn.ghost{border-color:#bcdcc7;background:#fff;color:var(--work-accent-dark)}
body.work-ui .operation-memo-editor-head .btn.ghost:hover{background:var(--work-accent-pale)}
body.work-ui .operation-memo-fields{gap:12px;padding:16px}
body.work-ui .operation-memo-field{padding:13px;border-color:#cde8d5;background:#fbfffc}
body.work-ui .operation-memo-field label{margin-bottom:7px}
body.work-ui .operation-memo-field label strong{color:var(--work-accent-dark)}
body.work-ui .operation-memo-field textarea{min-height:220px;border-color:#cfe5d6;background:#fff}
body.work-ui .operation-memo-field textarea:focus{border-color:#75b98a;box-shadow:0 0 0 3px rgba(47,143,78,.10)}
body.work-ui .operation-memo-summary{border-top:1px solid #d8ebde;background:#f8fdf9;color:#587061}
@media(max-width:760px){
  body.work-ui .operation-memo-page-head{min-height:0;padding:13px 13px 12px 18px}
  body.work-ui .operation-memo-head-actions{width:100%;margin-top:8px}
  body.work-ui .operation-memo-toolbar-panel{padding:9px}
  body.work-ui .operation-memo-fields{padding:12px}
  body.work-ui .operation-memo-field textarea{min-height:150px}
}


/* STAFF169 - 홈 운영일지 메모 전용화면 디자인 연동 + 출석 이용자정보 분리 */
.home-operation-memo-editor-panel{
  overflow:hidden;
  border:1px solid #cde8d5;
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 24px rgba(31,107,57,.045);
}
.home-operation-memo-editor-head{
  padding:14px 17px;
  border-bottom:1px solid #cde8d5;
  background:linear-gradient(90deg,#eef9f1 0%,#fff 78%);
}
.home-operation-memo-editor-head .eyebrow{color:#2f8f4e!important}
.home-operation-memo-editor-head h2{margin:2px 0 0;color:#14532d}
.home-operation-memo-editor-head p:last-child{margin:5px 0 0;color:#587061;font-size:12px;line-height:1.45}
.home-operation-memo-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.home-operation-memo-actions .btn.ghost{border-color:#bcdcc7;background:#fff;color:#1f6b39}
.home-operation-memo-actions .btn.ghost:hover{background:#eef9f1}
.home-operation-memo-fields{gap:12px;padding:16px}
.home-operation-memo-field{
  margin:0!important;
  padding:13px;
  border:1px solid #cde8d5;
  border-radius:16px;
  background:#fbfffc;
}
.home-operation-memo-field label{display:flex;flex-direction:column;gap:4px;margin-bottom:7px}
.home-operation-memo-field label strong{color:#1f6b39;font-size:1rem;font-weight:900}
.home-operation-memo-field label span{color:#64748b;font-size:.82rem;line-height:1.4}
.home-operation-memo-field textarea{
  min-height:220px;
  border-color:#cfe5d6!important;
  background:#fff;
  line-height:1.55;
}
.home-operation-memo-field textarea:focus{border-color:#75b98a!important;box-shadow:0 0 0 3px rgba(47,143,78,.10)}
.home-operation-memo-summary{border-top-color:#d8ebde;background:#f8fdf9;color:#587061}
.home-operation-memo-summary .btn.primary{box-shadow:0 3px 10px rgba(31,107,57,.12)}

.attendance-table .attendance-col-group{width:78px}
.attendance-table .attendance-col-client{width:178px}
.attendance-table .attendance-col-schedule{width:138px}
.attendance-group-cell,.attendance-client-cell,.attendance-schedule-cell{text-align:center!important}
.attendance-group-cell{font-weight:850;color:#315744;white-space:nowrap}
.attendance-client-name-code{display:flex;align-items:baseline;justify-content:center;gap:3px;min-width:0;white-space:nowrap}
.attendance-client-name-code strong{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#183d2b;font-size:14px;font-weight:900}
.attendance-client-name-code span{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;color:#65756c;font-size:10.5px;font-weight:800}
.attendance-schedule-cell span{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#62736a;font-size:11px;font-weight:750;white-space:nowrap}
.attendance-table tr.not-target .attendance-group-cell,
.attendance-table tr.not-target .attendance-schedule-cell{opacity:.78}
@media(max-width:1180px) and (min-width:761px){
  .attendance-table .attendance-col-group{width:72px}
  .attendance-table .attendance-col-client{width:165px}
  .attendance-table .attendance-col-schedule{width:126px}
}
@media(max-width:760px){
  .home-operation-memo-fields{padding:12px}
  .home-operation-memo-field textarea{min-height:150px}
  .home-operation-memo-actions{width:100%;margin-top:8px}
  .home-operation-memo-summary{align-items:stretch;flex-direction:column}
  .attendance-table .daily-target-row{
    grid-template-areas:"group client" "schedule schedule" "target status" "intime outtime" "reason reason" "note note";
  }
  .attendance-table .daily-target-row .attendance-group-cell{grid-area:group;border-top:0;border-right:1px solid #edf2ef}
  .attendance-table .daily-target-row .attendance-client-cell{grid-area:client;display:grid;padding:9px 11px!important;border-top:0;text-align:left!important}
  .attendance-table .daily-target-row .attendance-client-cell::before{display:block}
  .attendance-table .daily-target-row .attendance-schedule-cell{grid-area:schedule}
  .attendance-table .daily-target-row .attendance-target-cell{grid-area:target}
  .attendance-table .daily-target-row .attendance-status-cell{grid-area:status}
  .attendance-table .daily-target-row .attendance-time-cell:nth-of-type(6){grid-area:intime;border-right:1px solid #edf2ef}
  .attendance-table .daily-target-row .attendance-time-cell:nth-of-type(7){grid-area:outtime}
  .attendance-table .daily-target-row .attendance-reason-cell{grid-area:reason}
  .attendance-table .daily-target-row .attendance-note-cell{grid-area:note}
  .attendance-client-name-code{justify-content:flex-start}
  .attendance-group-cell span,.attendance-schedule-cell span{justify-self:start}
}
@media(max-width:430px){
  .attendance-table .daily-target-row{grid-template-areas:"group" "client" "schedule" "target" "status" "intime" "outtime" "reason" "note"}
  .attendance-table .daily-target-row .attendance-group-cell,
  .attendance-table .daily-target-row .attendance-target-cell,
  .attendance-table .daily-target-row .attendance-time-cell:nth-of-type(6){border-right:0}
}
@media print{
  .attendance-table .attendance-col-group{width:8%!important}
  .attendance-table .attendance-col-client{width:17%!important}
  .attendance-table .attendance-col-schedule{width:13%!important}
  .attendance-table .daily-target-row .attendance-group-cell,
  .attendance-table .daily-target-row .attendance-client-cell,
  .attendance-table .daily-target-row .attendance-schedule-cell{text-align:center!important}
}


/* STAFF170 - 출장·휴가 신청자 영역 데스크톱 한줄 정리 */
@media(min-width:900px){
  body.hr-ui .trip-applicant-row{
    grid-template-columns:minmax(180px,1.15fr) minmax(220px,1.35fr) minmax(150px,.9fr) minmax(145px,.82fr);
    gap:10px;
    align-items:end;
  }
  body.hr-ui .vacation-applicant-row{
    grid-template-columns:minmax(175px,1.2fr) minmax(135px,.9fr) minmax(145px,.95fr) minmax(135px,.9fr) minmax(145px,.95fr);
    gap:10px;
    align-items:end;
  }
  body.hr-ui .trip-applicant-row .field,
  body.hr-ui .vacation-applicant-row .field{margin-bottom:0}
  body.hr-ui .trip-applicant-row .field label,
  body.hr-ui .vacation-applicant-row .field label{white-space:nowrap}
}
@media(max-width:899px) and (min-width:761px){
  body.hr-ui .trip-applicant-row,
  body.hr-ui .vacation-applicant-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
}

/* STAFF171 - 급식실적 이용자정보를 반 / 이름(코드) / 급식일정으로 분리 */
.meal-table .meal-col-group{width:78px}
.meal-table .meal-col-client{width:178px}
.meal-table .meal-col-schedule{width:152px}
.meal-group-head,.meal-client-head,.meal-schedule-head,
.meal-group-cell,.meal-client-cell,.meal-schedule-cell{text-align:center!important}
.meal-group-cell{font-weight:850;color:#7c4a14;white-space:nowrap}
.meal-client-cell{padding-left:8px!important;padding-right:8px!important;overflow:hidden!important}
.meal-client-name-code{display:flex;align-items:baseline;justify-content:center;gap:3px;min-width:0;white-space:nowrap}
.meal-client-name-code strong{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#5f3510;font-size:14px;font-weight:900}
.meal-client-name-code span{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;color:#8b6b4b;font-size:10.5px;font-weight:800}
.meal-schedule-cell span{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#7b6855;font-size:11px;font-weight:750;white-space:nowrap}
.meal-table tr.not-target .meal-group-cell,
.meal-table tr.not-target .meal-schedule-cell{opacity:.78}
@media(max-width:1180px) and (min-width:761px){
  .meal-table .meal-col-group{width:70px}
  .meal-table .meal-col-client{width:160px}
  .meal-table .meal-col-schedule{width:138px}
}
@media(max-width:760px){
  .meal-table .daily-target-row{
    grid-template-areas:
      "group client"
      "schedule schedule"
      "target attendance"
      "status status"
      "note note";
  }
  .meal-table .daily-target-row .meal-group-cell{grid-area:group;border-top:0;border-right:1px solid #edf2ef}
  .meal-table .daily-target-row .meal-client-cell{grid-area:client;display:grid!important;padding:9px 11px!important;border-top:0;text-align:left!important}
  .meal-table .daily-target-row .meal-client-cell::before{display:block!important}
  .meal-table .daily-target-row .meal-schedule-cell{grid-area:schedule}
  .meal-table .daily-target-row .meal-target-cell{grid-area:target}
  .meal-table .daily-target-row .meal-attendance-cell{grid-area:attendance}
  .meal-table .daily-target-row .meal-status-cell{grid-area:status}
  .meal-table .daily-target-row .meal-note-cell{grid-area:note}
  .meal-client-name-code{justify-content:flex-start}
  .meal-group-cell span,.meal-schedule-cell span{justify-self:start}
}
@media(max-width:430px){
  .meal-table .daily-target-row{grid-template-areas:"group" "client" "schedule" "target" "attendance" "status" "note"}
  .meal-table .daily-target-row .meal-group-cell,
  .meal-table .daily-target-row .meal-target-cell{border-right:0}
}
@media print{
  .meal-table .meal-col-group{width:9%!important}
  .meal-table .meal-col-client{width:18%!important}
  .meal-table .meal-col-schedule{width:16%!important}
  .meal-table .daily-target-row .meal-group-cell,
  .meal-table .daily-target-row .meal-client-cell,
  .meal-table .daily-target-row .meal-schedule-cell{text-align:center!important}
}


/* STAFF172 - 휴가 구분·기간 한줄 / 상단 메뉴 별도 ▾ 버튼 제거 */
@media(min-width:900px){
  body.hr-ui .vacation-period-row{
    grid-template-columns:minmax(118px,.78fr) minmax(118px,.78fr) minmax(190px,1.18fr) minmax(190px,1.18fr);
    gap:10px;
    align-items:end;
  }
  body.hr-ui .vacation-period-row .field{margin-bottom:0}
  body.hr-ui .vacation-period-row .field label{white-space:nowrap}
}
@media(max-width:899px) and (min-width:761px){
  body.hr-ui .vacation-period-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
}
@media(max-width:760px){
  body.hr-ui .vacation-period-row{grid-template-columns:1fr;gap:8px}
}

/* 메뉴는 화살표 버튼 없이 메뉴명 자체와 hover/focus로 하위메뉴를 사용 */
.integrated-main-nav .nav-group-trigger{display:block}
.integrated-main-nav .nav-group-link{
  display:block;
  width:100%;
  padding-right:12px!important;
  border-radius:10px!important;
  box-sizing:border-box;
}
@media(max-width:1280px){
  .integrated-main-nav .nav-group-trigger{display:block;width:100%}
  .integrated-main-nav .nav-group-link{
    width:100%!important;
    padding:10px 12px!important;
    border-radius:10px!important;
    text-align:left;
  }
}
.user-menu-button{gap:0!important}

/* ============================================================
   2026-08-11 상단 중앙 밸런스 정렬
   - 로고/기관명 · 주메뉴 · 로그인정보를 3영역으로 균형 배치
   - 주메뉴는 화면 정중앙을 기준으로 유지
   ============================================================ */
@media (min-width:1281px){
  .integrated-header-inner{
    width:100%;
    max-width:1700px;
    display:grid;
    grid-template-columns:220px minmax(0,1fr) 220px;
    align-items:center;
    column-gap:18px;
    padding-left:20px;
    padding-right:20px;
  }
  .integrated-header-inner > .brand{
    justify-self:center;
    min-width:0;
    margin:0;
  }
  .integrated-header-inner > .integrated-main-nav{
    justify-self:center;
    width:max-content;
    max-width:100%;
    min-width:0;
    justify-content:center;
    margin:0;
  }
  .integrated-header-inner > .user-menu{
    justify-self:center;
    margin:0;
  }
}
@media (min-width:1281px) and (max-width:1450px){
  .integrated-header-inner{
    grid-template-columns:195px minmax(0,1fr) 195px;
    column-gap:10px;
    padding-left:12px;
    padding-right:12px;
  }
  .integrated-header-inner > .brand img{width:66px;height:42px}
  .integrated-header-inner > .brand strong{font-size:15px}
  .integrated-header-inner > .brand small{font-size:11px}
}


/* ============================================================
   2026-08-11 상단 기관마크·로그인정보 중앙 균형 v2
   - 좌/우 영역의 폭을 동일하게 고정하여 기관마크와 로그인정보가
     주메뉴를 기준으로 정확히 대칭 배치되도록 함
   - 각 영역 내부에서도 요소 자체를 중앙 정렬
   ============================================================ */
@media (min-width:1281px){
  .integrated-header-inner{
    width:min(100%,1720px);
    max-width:1720px;
    min-height:74px;
    margin-left:auto;
    margin-right:auto;
    display:grid;
    grid-template-columns:minmax(230px,250px) minmax(0,1fr) minmax(230px,250px);
    grid-template-areas:"brand nav account";
    align-items:center;
    justify-content:center;
    column-gap:14px;
    padding-left:18px;
    padding-right:18px;
  }
  .integrated-header-inner > .brand{
    grid-area:brand;
    justify-self:center;
    align-self:center;
    width:max-content;
    max-width:100%;
    min-width:0;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .integrated-header-inner > .brand img{
    flex:0 0 auto;
    margin:0;
  }
  .integrated-header-inner > .brand span{
    flex:0 1 auto;
    min-width:0;
  }
  .integrated-header-inner > .integrated-main-nav{
    grid-area:nav;
    justify-self:center;
    align-self:center;
    width:max-content;
    max-width:100%;
    min-width:0;
    margin:0;
    justify-content:center;
  }
  .integrated-header-inner > .user-menu{
    grid-area:account;
    justify-self:center;
    align-self:center;
    width:max-content!important;
    max-width:100%;
    margin:0;
  }
  .integrated-header-inner > .user-menu .user-menu-button{
    min-width:132px;
    justify-content:center;
    text-align:center!important;
  }
  .integrated-header-inner > .user-menu .user-submenu{
    left:50%;
    right:auto;
    transform:translateX(-50%);
  }
}
@media (min-width:1281px) and (max-width:1450px){
  .integrated-header-inner{
    grid-template-columns:205px minmax(0,1fr) 205px;
    column-gap:8px;
    padding-left:10px;
    padding-right:10px;
  }
  .integrated-header-inner > .brand{gap:8px}
  .integrated-header-inner > .brand img{width:62px;height:40px}
  .integrated-header-inner > .brand strong{font-size:14px}
  .integrated-header-inner > .brand small{font-size:10px}
  .integrated-header-inner > .user-menu .user-menu-button{min-width:118px;padding-left:9px!important;padding-right:9px!important}
}
@media (max-width:1280px){
  .integrated-header-inner > .user-menu .user-submenu{
    transform:none;
  }
}

/* ============================================================
   2026-08-11 상단 중앙 밀집 정렬 v3
   - 기관마크 · 주메뉴 · 로그인정보를 하나의 중앙 그룹처럼 모아 배치
   - 좌우 고정 컬럼을 제거하여 요소 사이의 과도한 공백 축소
   - 데스크톱 중앙축 유지, 1280px 이하 기존 반응형 유지
   ============================================================ */
@media (min-width:1281px){
  .integrated-header-inner{
    width:max-content;
    max-width:calc(100% - 24px);
    min-height:74px;
    margin-left:auto;
    margin-right:auto;
    padding-left:12px;
    padding-right:12px;
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:center;
    gap:12px;
  }
  .integrated-header-inner > .brand{
    flex:0 0 auto;
    width:auto;
    min-width:0;
    max-width:none;
    margin:0;
    justify-content:flex-start;
    gap:8px;
  }
  .integrated-header-inner > .brand img{
    width:64px;
    height:41px;
    flex:0 0 auto;
    margin:0;
  }
  .integrated-header-inner > .brand span{
    flex:0 0 auto;
    min-width:0;
  }
  .integrated-header-inner > .brand strong{font-size:15px;white-space:nowrap}
  .integrated-header-inner > .brand small{font-size:10.5px;white-space:nowrap}

  .integrated-header-inner > .integrated-main-nav{
    flex:0 0 auto;
    width:auto;
    max-width:none;
    min-width:0;
    margin:0;
    justify-content:center;
    gap:0;
  }
  .integrated-header-inner > .user-menu{
    flex:0 0 auto;
    width:auto!important;
    max-width:none;
    margin:0;
  }
  .integrated-header-inner > .user-menu .user-menu-button{
    min-width:0;
    width:auto!important;
    justify-content:center;
    padding-left:10px!important;
    padding-right:10px!important;
    text-align:center!important;
  }
  .integrated-header-inner > .user-menu .user-submenu{
    left:50%;
    right:auto;
    transform:translateX(-50%);
  }
}

/* 1281~1450px: 중앙 밀집 상태를 유지하면서 메뉴 폭만 소폭 절약 */
@media (min-width:1281px) and (max-width:1450px){
  .integrated-header-inner{
    max-width:calc(100% - 12px);
    gap:7px;
    padding-left:6px;
    padding-right:6px;
  }
  .integrated-header-inner > .brand{gap:6px}
  .integrated-header-inner > .brand img{width:56px;height:37px}
  .integrated-header-inner > .brand strong{font-size:13px}
  .integrated-header-inner > .brand small{font-size:9px}
  .integrated-main-nav>a,
  .integrated-main-nav .nav-group-button{font-size:11px;padding-left:5px;padding-right:5px}
  .integrated-main-nav .nav-group-link{padding-left:6px!important;padding-right:6px!important}
  .integrated-header-inner > .user-menu .user-menu-button{font-size:11px!important;padding-left:7px!important;padding-right:7px!important}
}

/* ============================================================
   2026-08-12 내자료목록 검색영역 한줄 정렬
   - 출장/휴가/초과근무 내자료목록의 기간·검색·버튼을 한 줄에 배치
   - 데스크톱/노트북 폭에서는 줄바꿈 방지, 작은 화면은 기존 반응형 유지
   ============================================================ */
@media (min-width:901px){
  .trip-list-panel .trip-search.ledger-person-search,
  .vacation-list-panel .trip-search.ledger-person-search,
  .overtime-list-panel .trip-search.ledger-person-search{
    display:grid;
    grid-template-columns:130px 130px minmax(180px,1fr) auto;
    gap:8px;
    align-items:end;
    padding:14px 16px;
  }
  .trip-list-panel .ledger-person-search .field,
  .vacation-list-panel .ledger-person-search .field,
  .overtime-list-panel .ledger-person-search .field{
    min-width:0;
  }
  .trip-list-panel .ledger-person-search .search-grow,
  .vacation-list-panel .ledger-person-search .search-grow,
  .overtime-list-panel .ledger-person-search .search-grow,
  .trip-list-panel .ledger-person-search .search-actions,
  .vacation-list-panel .ledger-person-search .search-actions,
  .overtime-list-panel .ledger-person-search .search-actions{
    grid-column:auto;
  }
  .trip-list-panel .ledger-person-search .search-actions,
  .vacation-list-panel .ledger-person-search .search-actions,
  .overtime-list-panel .ledger-person-search .search-actions{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
    min-width:max-content;
  }
  .trip-list-panel .ledger-person-search .search-actions .btn,
  .vacation-list-panel .ledger-person-search .search-actions .btn,
  .overtime-list-panel .ledger-person-search .search-actions .btn{
    flex:0 0 auto;
    min-height:38px;
    padding:8px 9px;
    white-space:nowrap;
  }
  .trip-list-panel .ledger-person-search input,
  .vacation-list-panel .ledger-person-search input,
  .overtime-list-panel .ledger-person-search input{
    width:100%;
    min-width:0;
  }
}

/* ============================================================
   2026-08-12 출장대장·초과근무대장 검색조건 한줄 고정
   - 대장구분/대상자/시작일/종료일/검색/조회버튼을 한 줄에 배치
   - 900px 이하에서는 기존 모바일 반응형 유지
   ============================================================ */
@media (min-width:901px){
  .trip-list-panel > form.trip-ledger-search.ledger-person-search{
    display:grid;
    grid-template-columns:100px 150px 120px 120px minmax(140px,1fr) auto !important;
    gap:6px;
    align-items:end;
    padding:12px 14px;
  }
  .trip-list-panel > form.trip-ledger-search.ledger-person-search .field,
  .trip-list-panel > form.trip-ledger-search.ledger-person-search .search-grow,
  .trip-list-panel > form.trip-ledger-search.ledger-person-search .search-actions{
    grid-column:auto !important;
    min-width:0;
  }
  .trip-list-panel > form.trip-ledger-search.ledger-person-search .field label{
    white-space:nowrap;
  }
  .trip-list-panel > form.trip-ledger-search.ledger-person-search input,
  .trip-list-panel > form.trip-ledger-search.ledger-person-search select{
    width:100%;
    min-width:0;
  }
  .trip-list-panel > form.trip-ledger-search.ledger-person-search .search-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:nowrap !important;
    gap:4px;
    min-width:max-content;
    white-space:nowrap;
  }
  .trip-list-panel > form.trip-ledger-search.ledger-person-search .search-actions .btn{
    flex:0 0 auto;
    min-height:38px;
    padding:8px 8px;
    white-space:nowrap;
  }
}


/* 109차 - 홈 출석·급식·근무 카드 마우스오버 현황 요약 */
.home-progress-card.has-status-hover{overflow:visible!important}
.home-progress-card.has-status-hover:hover,
.home-progress-card.has-status-hover:focus-visible{z-index:80}
.home-status-popover{
  display:block!important;
  position:absolute;
  top:calc(100% + 8px);
  left:50%;
  z-index:90;
  width:310px;
  margin:0!important;
  padding:11px 12px 9px;
  border:1px solid #cfded5;
  border-radius:13px;
  background:#fff;
  color:#26372e!important;
  box-shadow:0 16px 36px rgba(24,55,39,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,-4px);
  transition:opacity .15s ease,transform .15s ease,visibility .15s ease;
  text-align:left;
  white-space:normal!important;
}
.home-status-popover::before{
  content:"";
  position:absolute;
  top:-6px;
  left:50%;
  width:11px;
  height:11px;
  border-left:1px solid #cfded5;
  border-top:1px solid #cfded5;
  background:#fff;
  transform:translateX(-50%) rotate(45deg);
}
.home-progress-card.has-status-hover:hover .home-status-popover,
.home-progress-card.has-status-hover:focus-visible .home-status-popover{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
.home-status-popover span{display:block!important;margin:0!important;color:inherit!important}
.home-status-popover b{font-weight:900}
.home-status-popover .home-status-popover-head{display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #edf2ef}
.home-status-popover-head b{font-size:13px;letter-spacing:-.02em;color:#24392e}
.home-status-popover-head em{font-style:normal;font-size:10px;font-weight:700;color:#819087}
.home-status-popover .home-status-popover-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding-top:8px}
.home-status-popover-grid>span{padding:6px 4px 5px;border:1px solid #e5ece8;border-radius:8px;background:#f8faf9;text-align:center}
.home-status-popover-grid i{display:block;font-style:normal;font-size:9px;font-weight:800;line-height:1.2;color:#78877f}
.home-status-popover-grid b{display:block;margin-top:2px;font-size:12px;line-height:1.2;color:#394a41}
.home-status-popover-grid .ok{border-color:#d4e8da;background:#f3faf5}.home-status-popover-grid .ok b{color:#2f7f49}
.home-status-popover-grid .warn{border-color:#f0e1bd;background:#fffaf0}.home-status-popover-grid .warn b{color:#9a6a14}
.home-status-popover-grid .danger{border-color:#f1d6d2;background:#fff7f6}.home-status-popover-grid .danger b{color:#ad4d43}
.home-status-popover-grid .muted{background:#f5f7f6}.home-status-popover-grid .muted b{color:#68766f}
.home-status-popover-sub{padding:7px 2px 0!important;font-size:10px!important;line-height:1.35!important;color:#66766d!important}
.home-status-popover-sub b{color:#35473d}
.home-status-popover-personal{padding:10px 2px 2px!important}
.home-status-popover-personal>b{display:block;font-size:12px;color:#30483a}
.home-status-popover-personal>span{display:block!important;margin-top:3px!important;font-size:10px!important;line-height:1.4!important;color:#6e7d75!important}
.home-status-popover-foot{padding-top:7px!important;font-size:9px!important;line-height:1.3!important;color:#89968f!important}
.home-progress-card:nth-child(1) .home-status-popover{left:0;transform:translate(0,-4px)}
.home-progress-card:nth-child(1):hover .home-status-popover,
.home-progress-card:nth-child(1):focus-visible .home-status-popover{transform:translate(0,0)}
.home-progress-card:nth-child(1) .home-status-popover::before{left:28px;transform:rotate(45deg)}
@media(max-width:900px){
  .home-status-popover{display:none!important}
}

/* 110차 - 홈 마우스오버 현황 표시 안정화 + 일정/공지 현황 팝오버 */
@media (min-width:901px){
  /* 6개 진행카드의 가로 스크롤 컨테이너가 팝오버를 잘라내지 않도록 데스크톱에서는 해제 */
  .home-progress-grid{overflow:visible!important}
}
.home-hover-dashboard{overflow:visible!important}
.home-dashboard-hover{
  position:relative;
  overflow:visible!important;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.home-dashboard-hover:hover,
.home-dashboard-hover:focus-within,
.home-dashboard-hover:focus{
  z-index:105;
  border-color:#b9d2c2;
  box-shadow:0 14px 32px rgba(32,73,51,.10);
}
.home-dashboard-hover:focus{outline:3px solid rgba(47,143,78,.15);outline-offset:2px}
.home-dashboard-popover{
  display:block!important;
  position:absolute;
  top:calc(100% + 8px);
  z-index:120;
  width:min(360px,calc(100vw - 36px));
  margin:0!important;
  padding:12px;
  border:1px solid #cfded5;
  border-radius:13px;
  background:#fff;
  color:#26372e;
  box-shadow:0 18px 40px rgba(24,55,39,.20);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-4px);
  transition:opacity .15s ease,transform .15s ease,visibility .15s ease;
  text-align:left;
}
.home-schedule-summary .home-dashboard-popover{left:16px}
.home-notice-summary .home-dashboard-popover{right:16px}
.home-dashboard-popover::before{
  content:"";
  position:absolute;
  top:-6px;
  width:11px;
  height:11px;
  border-left:1px solid #cfded5;
  border-top:1px solid #cfded5;
  background:#fff;
  transform:rotate(45deg);
}
.home-schedule-summary .home-dashboard-popover::before{left:34px}
.home-notice-summary .home-dashboard-popover::before{right:34px}
.home-dashboard-hover:hover .home-dashboard-popover,
.home-dashboard-hover:focus .home-dashboard-popover,
.home-dashboard-hover:focus-within .home-dashboard-popover{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.home-dashboard-popover-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #edf2ef}
.home-dashboard-popover-head b{font-size:13px;font-weight:900;letter-spacing:-.02em;color:#24392e}
.home-dashboard-popover-head em{font-style:normal;font-size:10px;font-weight:800;color:#819087;white-space:nowrap}
.home-dashboard-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding-top:9px}
.home-dashboard-stat-grid>span{display:block;padding:7px 4px 6px;border:1px solid #e5ece8;border-radius:8px;background:#f8faf9;text-align:center}
.home-dashboard-stat-grid i{display:block;font-style:normal;font-size:9px;font-weight:850;color:#78877f}
.home-dashboard-stat-grid b{display:block;margin-top:2px;font-size:13px;font-weight:900;color:#394a41}
.home-dashboard-stat-grid .shared{border-color:#ded9f2;background:#f6f4fc}.home-dashboard-stat-grid .shared b{color:#6658a8}
.home-dashboard-stat-grid .work{border-color:#cde9e4;background:#f1faf8}.home-dashboard-stat-grid .work b{color:#237d70}
.home-dashboard-stat-grid .hr{border-color:#d2e3ef;background:#f2f8fc}.home-dashboard-stat-grid .hr b{color:#2b719f}
.home-dashboard-popover-note{display:flex;align-items:center;gap:7px;margin-top:9px;padding:8px 9px;border-radius:9px;background:#f7faf8;color:#68776f;font-size:10px}
.home-dashboard-popover-note>span{font-weight:800}.home-dashboard-popover-note>b{margin-left:auto;color:#34483d;font-size:11px}.home-dashboard-popover-note>em{font-style:normal;font-weight:850;color:#a26817}.home-dashboard-popover-note>em.done{color:#2f7f49}
.home-notice-hover-list{display:flex;flex-direction:column;padding-top:5px}
.home-notice-hover-list>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 2px;border-bottom:1px solid #eef2ef}
.home-notice-hover-list>span:last-child{border-bottom:0}
.home-notice-hover-list b{min-width:0;overflow:hidden;font-size:11px;font-weight:800;color:#384b40;text-overflow:ellipsis;white-space:nowrap}
.home-notice-hover-list time{color:#89968f;font-size:9px;white-space:nowrap}
.home-notice-hover-list .empty{display:block;padding:12px 3px;text-align:center}
.home-notice-hover-list .empty b{display:block;white-space:normal}.home-notice-hover-list .empty small{display:block;margin-top:4px;color:#89968f;font-size:9px}
.home-dashboard-popover-foot{padding-top:7px;border-top:1px solid #f0f3f1;color:#89968f;font-size:9px;line-height:1.4}
@media (max-width:900px){
  .home-dashboard-popover{display:none!important}
}

/* 112차 - 홈 마우스오버 현황 실제 표시 오류 수정
   기존 .home-progress-card span{display:none!important} 규칙이
   팝오버 루트 span까지 숨기던 문제를 더 높은 우선순위로 해제한다. */
.home-progress-card.has-status-hover{
  position:relative!important;
  overflow:visible!important;
}
.home-progress-card.has-status-hover > .home-status-popover{
  display:block!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.home-progress-card.has-status-hover:hover > .home-status-popover,
.home-progress-card.has-status-hover:focus-visible > .home-status-popover,
.home-progress-card.has-status-hover:focus-within > .home-status-popover{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}
/* 폭이 좁더라도 실제 마우스를 사용할 수 있는 환경이면 hover 현황을 유지 */
@media (any-hover:hover){
  .home-progress-card.has-status-hover > .home-status-popover{
    display:block!important;
  }
  .home-dashboard-hover > .home-dashboard-popover{
    display:block!important;
  }
}
/* 일정 현황·공지게시판도 동일하게 확실히 표시 */
.home-dashboard-hover{
  position:relative!important;
  overflow:visible!important;
}
.home-dashboard-hover > .home-dashboard-popover{
  display:block!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.home-dashboard-hover:hover > .home-dashboard-popover,
.home-dashboard-hover:focus > .home-dashboard-popover,
.home-dashboard-hover:focus-within > .home-dashboard-popover{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}


/* 113차 - 홈 마우스오버 현황에 상태별 명단 표시 */
.home-status-popover{
  width:min(470px,calc(100vw - 28px));
}
.home-status-name-list{
  display:block!important;
  margin-top:9px!important;
  padding-top:7px!important;
  border-top:1px solid #edf2ef;
}
.home-status-name-list>span{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr);
  gap:8px;
  align-items:start;
  padding:4px 1px;
}
.home-status-name-list i{
  display:block;
  padding-top:1px;
  font-style:normal;
  font-size:9px;
  font-weight:900;
  line-height:1.45;
  color:#76867d;
}
.home-status-name-list b{
  display:block;
  min-width:0;
  font-size:10px;
  font-weight:750;
  line-height:1.5;
  color:#3b4d43;
  overflow-wrap:anywhere;
  word-break:keep-all;
}
.home-status-name-list .ok i{color:#2f7f49}
.home-status-name-list .warn i{color:#9a6a14}
.home-status-name-list .danger i{color:#ad4d43}
.home-status-name-list .muted i{color:#68766f}
@media (min-width:901px) and (max-height:720px){
  .home-status-popover{
    max-height:calc(100vh - 150px);
    overflow:auto;
  }
}
/* Person-centered integrated timeline */
.client-timeline-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 14px}.client-timeline-summary article{display:flex;min-width:0;min-height:98px;flex-direction:column;justify-content:center;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.client-timeline-summary span{color:var(--muted);font-size:11px;font-weight:800}.client-timeline-summary strong{margin:4px 0;font-size:24px;line-height:1.1}.client-timeline-summary small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.client-timeline-summary .next-review{border-color:#cfe5dd;background:#f6fbf9}.client-timeline-filter{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}.client-timeline-filter form{display:flex;align-items:flex-end;gap:8px}.client-timeline-filter .field{min-width:150px}.client-timeline-filter p{margin:0;color:var(--muted);font-size:11px}.client-link-health{margin-bottom:14px}.client-link-health p{margin:0;color:var(--muted);font-size:12px}.client-timeline-list{position:relative;display:flex;flex-direction:column;gap:10px;margin:0 0 24px;padding:0 0 0 122px}.client-timeline-list:before{position:absolute;top:0;bottom:0;left:105px;width:2px;background:#dbe6e1;content:""}.client-timeline-item{position:relative;display:grid;grid-template-columns:92px 16px minmax(0,1fr);gap:8px;margin-left:-122px}.client-timeline-item>time{padding-top:16px;color:#50645d;font-size:11px;font-weight:800;text-align:right}.client-timeline-marker{z-index:1;width:12px;height:12px;margin-top:17px;border:3px solid #fff;border-radius:50%;background:#6b8f82;box-shadow:0 0 0 2px #cbdcd5}.client-timeline-card{min-width:0;padding:13px 15px}.client-timeline-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.client-timeline-card-head>span{font-size:10px;font-weight:900;letter-spacing:.04em}.client-timeline-card h2{margin:3px 0 5px;font-size:15px}.client-timeline-card p{margin:0 0 6px;color:#334a42;font-size:12px;line-height:1.55}.client-timeline-card>small{display:block;color:var(--muted);font-size:10px}.client-timeline-item.attendance .client-timeline-marker{background:#2f8f68}.client-timeline-item.meal .client-timeline-marker{background:#d68a28}.client-timeline-item.program .client-timeline-marker{background:#377ca8}.client-timeline-item.goal .client-timeline-marker,.client-timeline-item.plan .client-timeline-marker{background:#8259b1}.client-timeline-item.service .client-timeline-marker,.client-timeline-item.execution .client-timeline-marker,.client-timeline-item.monitoring .client-timeline-marker{background:#bd5f75}@media(max-width:1000px){.client-timeline-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.client-timeline-filter{align-items:stretch;flex-direction:column}.client-timeline-filter form{flex-wrap:wrap}}@media(max-width:640px){.client-timeline-summary{grid-template-columns:1fr 1fr}.client-timeline-summary article{min-height:82px;padding:11px}.client-timeline-list{padding-left:0}.client-timeline-list:before{left:7px}.client-timeline-item{grid-template-columns:16px minmax(0,1fr);margin-left:0}.client-timeline-item>time{grid-column:2;padding:0;text-align:left}.client-timeline-marker{grid-column:1;grid-row:1 / span 2;margin-top:3px}.client-timeline-card{grid-column:2}.client-timeline-filter form{display:grid;grid-template-columns:1fr 1fr}.client-timeline-filter form .btn{align-self:end}}@media print{.client-timeline-summary{grid-template-columns:repeat(5,1fr)}.client-timeline-summary article{min-height:0;padding:8px;box-shadow:none}.client-timeline-list{padding-left:105px}.client-timeline-list:before{left:90px}.client-timeline-item{grid-template-columns:78px 16px minmax(0,1fr);margin-left:-105px;break-inside:avoid}.client-timeline-card{box-shadow:none}}

/* 2026-08-12 mobile UX foundation */
.mobile-nav-head,.mobile-nav-backdrop,.nav-mobile-expand,.mobile-scroll-hint{display:none}
.nav-toggle-icon{display:grid;width:20px;gap:4px}.nav-toggle-icon i{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}.nav-toggle-label{font-size:12px;font-weight:900}

@media screen and (max-width:1280px){
  html,body{max-width:100%;overflow-x:clip}
  body.mobile-nav-open{overflow:hidden;touch-action:none}
  .site-header{z-index:1500;backdrop-filter:none;-webkit-backdrop-filter:none}
  .integrated-header-inner{min-height:64px!important;padding:8px 16px!important;flex-wrap:nowrap!important;gap:8px!important}
  .integrated-header-inner>.brand{order:1;min-width:0;flex:1;margin-right:auto}
  .integrated-header-inner>.user-menu{order:2;flex:0 0 auto}
  .integrated-header-inner>.nav-toggle{display:inline-flex!important;order:3;min-width:48px;min-height:44px;align-items:center;justify-content:center;gap:7px;margin:0;padding:8px 10px;border-color:#cfdad5;background:#fff;color:#2e4439}
  .nav-toggle[aria-expanded="true"] .nav-toggle-icon i:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] .nav-toggle-icon i:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] .nav-toggle-icon i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .integrated-header-inner>.integrated-main-nav{
    display:flex!important;position:fixed;inset:0 0 0 auto;z-index:1600;width:min(88vw,380px);height:100dvh;max-height:none;order:initial;align-items:stretch;justify-content:flex-start!important;flex-direction:column;gap:0!important;margin:0;padding:calc(74px + env(safe-area-inset-top)) 14px calc(24px + env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border-left:1px solid #d7e2dc;background:#fff;box-shadow:-18px 0 48px rgba(18,45,31,.22);visibility:hidden;pointer-events:none;transform:translateX(104%);transition:transform .22s ease,visibility .22s ease
  }
  .integrated-header-inner>.integrated-main-nav.open{visibility:visible;pointer-events:auto;transform:translateX(0)}
  .mobile-nav-head{position:fixed;top:0;right:0;z-index:3;display:flex;width:min(88vw,380px);min-height:74px;align-items:center;justify-content:space-between;gap:14px;margin:0;padding:calc(11px + env(safe-area-inset-top)) 14px 11px;border-bottom:1px solid var(--line);border-left:1px solid #d7e2dc;background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}
  .mobile-nav-head>div{display:flex;min-width:0;flex-direction:column}.mobile-nav-head strong{font-size:18px;line-height:1.25}.mobile-nav-head small{margin-top:2px;color:var(--muted);font-size:11px}
  .mobile-nav-close{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid var(--line);border-radius:12px;background:#fff;color:#43554c;font-size:28px;line-height:1}
  .mobile-nav-backdrop{position:fixed;inset:0;z-index:1490;display:block;width:100%;height:100%;padding:0;border:0;background:rgba(12,29,20,.54);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
  body.mobile-nav-open .mobile-nav-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  .integrated-main-nav>a,.integrated-main-nav>.nav-group{flex:0 0 auto;width:100%;border-bottom:1px solid #edf1ef}
  .integrated-main-nav>a{display:flex!important;align-items:center;min-height:50px;padding:11px 12px!important;border-radius:10px!important;font-size:14px!important;text-align:left}
  .integrated-main-nav>.nav-group{display:flex!important;align-items:stretch!important;flex-direction:column!important}
  .integrated-main-nav .nav-group-trigger{display:flex!important;width:100%;align-items:center}
  .integrated-main-nav .nav-group-link{display:flex!important;min-height:50px;align-items:center;flex:1;width:auto!important;padding:11px 12px!important;border-radius:10px 0 0 10px!important;font-size:14px!important;text-align:left}
  .nav-mobile-expand{display:grid;place-items:center;width:50px;min-width:50px;height:50px;padding:0;border:0;border-left:1px solid #edf1ef;border-radius:0 10px 10px 0;background:transparent;color:#52645b;font-size:20px}
  .nav-mobile-expand span{transition:transform .18s ease}.nav-group.open .nav-mobile-expand span{transform:rotate(180deg)}
  .nav-group.active>.nav-group-trigger .nav-group-link{box-shadow:inset 4px 0 0 var(--nav-theme,var(--green))}
  .integrated-main-nav .nav-submenu{position:static!important;display:none;width:100%;min-width:0!important;max-height:none!important;margin:0 0 10px!important;padding:8px!important;overflow:visible!important;border:1px solid #dde8e2;border-radius:12px!important;box-shadow:none!important;background:#f7faf8!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .integrated-main-nav .nav-group.open>.nav-submenu{display:grid!important}
  .integrated-main-nav .nav-submenu>a{display:flex;min-width:0;min-height:44px;align-items:center;padding:9px 10px!important;border-radius:9px;white-space:normal;word-break:keep-all;font-size:12px!important;line-height:1.35}
  .integrated-main-nav .nav-submenu-label,.integrated-main-nav .nav-submenu-divider,.integrated-main-nav .nav-disabled-item{grid-column:1/-1}
  .integrated-main-nav .nav-submenu-label{margin:5px 3px 0;padding:7px 4px 3px!important}
  .integrated-main-nav>.active,.integrated-main-nav>.nav-group.active>.nav-group-trigger{background:var(--nav-theme-pale,#eef7f1)}
  .user-submenu{z-index:1650!important}
}

@media screen and (max-width:760px){
  html{-webkit-text-size-adjust:100%;scroll-padding-top:70px}
  body{font-size:15px;overflow-wrap:anywhere}
  .page-shell{width:100%;padding:18px 12px calc(58px + env(safe-area-inset-bottom));overflow-x:clip}
  .page-head{gap:15px;margin:4px 0 18px}.page-head h1{font-size:26px;letter-spacing:-.035em}.page-head p{font-size:13px;line-height:1.55;word-break:keep-all}
  .page-head-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.page-head-actions .btn{width:100%!important;min-width:0;padding-left:10px;padding-right:10px;white-space:normal;text-align:center}
  .panel{border-radius:14px;box-shadow:0 7px 22px rgba(34,67,53,.065)}
  .panel-head{align-items:flex-start;gap:12px;padding:16px}.panel-head h2{font-size:18px}.panel-head .more-link{min-height:44px;display:inline-flex;align-items:center}
  .btn{min-height:46px;padding:10px 14px;touch-action:manipulation}.btn.small{min-height:42px;padding:8px 11px}
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea{max-width:100%;font-size:16px!important}
  .field input:not([type="hidden"]),.field select{min-height:48px}.field textarea{min-height:112px}.field{margin-bottom:14px}.field label{margin-bottom:6px}
  .form-panel{padding:16px}.form-panel>form>.form-actions{position:sticky;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:16px -16px -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 -8px 22px rgba(24,55,39,.08);backdrop-filter:blur(10px)}.form-panel>form>.form-actions>*{width:100%;min-width:0}
  .board-search,.search-actions{flex-wrap:wrap}.search-actions .btn{flex:1 1 120px}
  .board-table-wrap,.table-wrap,.status-overview-wrap{position:relative;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:thin}
  .mobile-scroll-hint{position:sticky;left:8px;z-index:8;display:none;width:max-content;margin:8px;padding:6px 10px;border:1px solid #d2e1d8;border-radius:999px;background:rgba(255,255,255,.95);box-shadow:0 4px 12px rgba(26,61,42,.08);color:#52645a;font-size:10px;font-weight:900;pointer-events:none}
  [data-horizontal-scroll="true"]>.mobile-scroll-hint{display:block}
  .table-summary,.attendance-summary{justify-content:flex-start;padding:12px 14px}
  .site-footer{padding:22px 16px calc(22px + env(safe-area-inset-bottom));font-size:12px}.footer-note{font-size:10px;line-height:1.55}
  .login-shell{align-items:center;padding:16px}.login-card{padding:28px 20px;border-radius:20px}.login-brand{margin-bottom:20px}.login-brand img{width:122px;height:72px}.login-brand h1{font-size:24px}.login-card input{min-height:50px;font-size:16px}.password-wrap .text-button{right:4px;min-width:48px;min-height:44px}.login-card .btn{min-height:50px}
  .home-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;padding-bottom:0!important}.home-progress-card{min-width:0!important;min-height:62px!important;padding:10px 10px 10px 13px!important;grid-template-columns:1fr!important;gap:3px!important}.home-progress-card small,.home-progress-card strong{white-space:normal!important}.home-progress-card strong{font-size:16px!important}.home-progress-swipe-hint{display:none!important}
  .integrated-dashboard-grid{grid-template-columns:1fr!important}.home-summary-lines,.today-summary-list{padding:6px 16px 16px}.home-summary-lines>div,.today-summary-list>div{padding:12px 2px}
  .home-progress-modal{padding:0!important}.home-progress-dialog{width:100vw!important;height:100dvh!important;border:0!important;border-radius:0!important}.home-progress-dialog-head{padding-top:calc(10px + env(safe-area-inset-top))!important}.home-progress-dialog-close{width:44px;height:44px}
  .client-timeline-filter{padding:14px}.client-timeline-filter form{grid-template-columns:1fr 1fr;gap:9px}.client-timeline-filter .field{min-width:0;margin:0}.client-timeline-filter p{font-size:10px;line-height:1.5}.client-link-health{padding:0}.client-link-health p{padding:0 16px 16px}.client-timeline-card-head .btn{min-height:40px}.client-timeline-card h2{font-size:16px}
}

@media screen and (min-width:761px) and (max-width:900px){
  .home-progress-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;overflow:visible!important;padding-bottom:0!important}
  .home-progress-card{min-width:0!important}
  .home-progress-swipe-hint{display:none!important}
}

@media screen and (max-width:620px){
  .integrated-header-inner{padding:7px 10px!important}
  .integrated-header-inner>.brand{gap:7px!important}.integrated-header-inner>.brand img{width:52px!important;height:36px!important}.integrated-header-inner>.brand span{display:flex!important}.integrated-header-inner>.brand strong{font-size:14px;white-space:nowrap}.integrated-header-inner>.brand small{display:none!important}
  .user-menu-name{max-width:68px!important;font-size:11px}.user-menu-button{min-height:44px;padding:7px 8px!important}
  .nav-toggle{width:44px!important;min-width:44px!important;padding:8px!important}.nav-toggle-label{display:none}
  .integrated-main-nav .nav-submenu{grid-template-columns:1fr 1fr}
  .program-master-table,.program-master-table tbody{display:block;width:100%}.program-master-table thead{display:none}.program-master-table tbody{padding:10px;background:#f5f8f6}.program-master-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;margin-bottom:10px;overflow:hidden;border:1px solid #dbe6df;border-left:4px solid #4d9468;border-radius:13px;background:#fff}.program-master-table tbody td{display:grid!important;grid-template-columns:78px minmax(0,1fr);grid-column:1/-1;gap:8px;align-items:start;width:auto!important;padding:10px 12px!important;border:0;border-top:1px solid #edf2ef;text-align:left!important}.program-master-table tbody td::before{color:#66766e;font-size:10px;font-weight:900}.program-master-table tbody td:nth-child(1){border-top:0}.program-master-table tbody td:nth-child(1)::before{content:"업무·프로그램"}.program-master-table tbody td:nth-child(2)::before{content:"세부항목"}.program-master-table tbody td:nth-child(3)::before{content:"상태"}.program-master-table tbody td:nth-child(4)::before{content:"관리"}.program-master-table td.program-manage-actions .program-action-row{justify-content:flex-start!important}.program-master-table tbody td.empty-line{display:block!important;padding:28px 14px!important;text-align:center!important}.program-master-table tbody td.empty-line::before{display:none}
  .client-table,.client-table tbody{display:block;width:100%}.client-table thead{display:none}.client-table tbody{padding:9px;background:#f5f8f6}.client-table tbody tr{display:grid;grid-template-columns:62px minmax(0,1fr) auto;grid-template-areas:"photo group status" "photo name status" "photo age status" "phone phone phone" "schedule schedule schedule" "actions actions actions";gap:0;margin-bottom:10px;overflow:hidden;border:1px solid #dbe6df;border-left:4px solid #398763;border-radius:14px;background:#fff;box-shadow:0 3px 10px rgba(24,61,43,.045)}
  .client-table tbody td{display:none!important;width:auto!important;min-width:0;padding:5px 10px!important;border:0;text-align:left!important}.client-table tbody td:nth-child(1){display:flex!important;grid-area:photo;align-items:center;justify-content:center;padding:12px 5px 10px 10px!important}.client-table tbody td:nth-child(2){display:block!important;grid-area:group;padding-top:11px!important;color:var(--muted);font-size:11px;font-weight:800}.client-table tbody td:nth-child(3){display:block!important;grid-area:name;padding-top:1px!important;font-size:18px}.client-table tbody td:nth-child(4){display:block!important;grid-area:age;color:var(--muted);font-size:11px}.client-table tbody td:nth-child(5){display:flex!important;grid-area:status;align-items:flex-start;justify-content:flex-end;padding-top:12px!important}.client-table tbody td:nth-child(8){display:block!important;grid-area:phone;margin-top:8px;padding:10px 12px!important;border-top:1px solid #edf2ef}.client-table tbody td:nth-child(8)::before{content:"연락처 ";margin-right:8px;color:var(--muted);font-size:10px;font-weight:900}.client-table tbody td:nth-child(12){display:block!important;grid-area:schedule;padding:9px 12px!important;border-top:1px solid #edf2ef}.client-table tbody td:nth-child(13){display:grid!important;grid-area:actions;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px 12px 12px!important;border-top:1px solid #edf2ef}.client-table .user-actions>.btn,.client-table .user-actions>.inline-form,.client-table .user-actions>.inline-form>.btn{width:100%;min-width:0;margin:0}.client-table .user-actions>.inline-form{display:block!important}.client-table tbody td.empty-cell{display:block!important;grid-area:1/1/-1/-1;padding:28px 14px!important;text-align:center!important}
  .client-list-note{font-size:11px;line-height:1.5}.client-table-photo{width:48px;height:48px}
  .client-timeline-summary .next-review{grid-column:1/-1}.client-timeline-summary article{min-height:78px}.client-timeline-summary strong{font-size:21px}.client-timeline-summary small{white-space:normal;line-height:1.35}.client-timeline-filter form{grid-template-columns:1fr}.client-timeline-filter form .btn{width:100%}.client-timeline-card{padding:12px}.client-timeline-card-head{align-items:flex-start}.client-timeline-card-head .btn{padding:7px 9px}
}

@media screen and (min-width:621px) and (max-width:820px){
  .client-table,.client-table tbody{display:block;width:100%}.client-table thead{display:none}.client-table tbody{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:10px;padding:10px;background:#f5f8f6}.client-table tbody tr{display:grid;grid-template-columns:58px minmax(0,1fr) auto;grid-template-areas:"photo group status" "photo name status" "photo age status" "phone phone phone" "schedule schedule schedule" "actions actions actions";gap:0;overflow:hidden;border:1px solid #dbe6df;border-left:4px solid #398763;border-radius:14px;background:#fff;box-shadow:0 3px 10px rgba(24,61,43,.045)}
  .client-table tbody td{display:none!important;width:auto!important;min-width:0;padding:5px 9px!important;border:0;text-align:left!important}.client-table tbody td:nth-child(1){display:flex!important;grid-area:photo;align-items:center;justify-content:center;padding:11px 4px 9px 9px!important}.client-table tbody td:nth-child(2){display:block!important;grid-area:group;padding-top:10px!important;color:var(--muted);font-size:10px;font-weight:800}.client-table tbody td:nth-child(3){display:block!important;grid-area:name;padding-top:1px!important;font-size:17px}.client-table tbody td:nth-child(4){display:block!important;grid-area:age;color:var(--muted);font-size:10px}.client-table tbody td:nth-child(5){display:flex!important;grid-area:status;align-items:flex-start;justify-content:flex-end;padding-top:11px!important}.client-table tbody td:nth-child(8){display:block!important;grid-area:phone;margin-top:7px;padding:9px 11px!important;border-top:1px solid #edf2ef}.client-table tbody td:nth-child(8)::before{content:"연락처 ";margin-right:7px;color:var(--muted);font-size:10px;font-weight:900}.client-table tbody td:nth-child(12){display:block!important;grid-area:schedule;padding:8px 11px!important;border-top:1px solid #edf2ef}.client-table tbody td:nth-child(13){display:grid!important;grid-area:actions;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:9px 11px 11px!important;border-top:1px solid #edf2ef}.client-table .user-actions>.btn,.client-table .user-actions>.inline-form,.client-table .user-actions>.inline-form>.btn{width:100%;min-width:0;margin:0}.client-table .user-actions>.inline-form{display:block!important}.client-table tbody td.empty-cell{display:block!important;grid-area:1/1/-1/-1;padding:28px 14px!important;text-align:center!important}
}

@media screen and (max-width:380px){
  .integrated-header-inner>.brand strong{font-size:13px}.user-menu-name{max-width:54px!important}.integrated-main-nav .nav-submenu{grid-template-columns:1fr}
  .page-head-actions{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  .integrated-main-nav,.mobile-nav-backdrop,.nav-toggle-icon i,.nav-mobile-expand span{transition:none!important}
}

/* 출장대장 인쇄 방향: 가로 기본, 선택 시 실제 A4 세로 페이지로 전환 */
@page trip-ledger-landscape{size:A4 landscape;margin:8mm}
@page trip-ledger-portrait{size:A4 portrait;margin:8mm}
@media print{
  html[data-print-orientation="landscape"] .business-trip-ledger-panel{page:trip-ledger-landscape!important}
  html[data-print-orientation="portrait"] .business-trip-ledger-panel{page:trip-ledger-portrait!important}
  html[data-print-orientation="portrait"] .business-trip-ledger-panel .trip-ledger-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
    font-size:5.5pt!important;
    line-height:1.1!important;
  }
  html[data-print-orientation="portrait"] .business-trip-ledger-panel .trip-ledger-table th,
  html[data-print-orientation="portrait"] .business-trip-ledger-panel .trip-ledger-table td{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:.7mm .35mm!important;
    white-space:normal!important;
    word-break:break-all!important;
    overflow-wrap:anywhere!important;
    line-height:1.1!important;
  }
  html[data-print-orientation="portrait"] .business-trip-ledger-panel .ledger-subtext,
  html[data-print-orientation="portrait"] .business-trip-ledger-panel .ledger-doc-link{
    font-size:5pt!important;
    line-height:1.1!important;
    word-break:break-all!important;
  }
}

/* 초과근무대장 인쇄 방향: 가로 기본, 선택 시 실제 A4 세로 페이지로 전환 */
@page overtime-ledger-landscape{size:A4 landscape;margin:8mm}
@page overtime-ledger-portrait{size:A4 portrait;margin:8mm}
@media print{
  html[data-print-orientation="landscape"] .overtime-ledger-panel{page:overtime-ledger-landscape!important}
  html[data-print-orientation="portrait"] .overtime-ledger-panel{page:overtime-ledger-portrait!important}
  html[data-print-orientation="portrait"] .overtime-ledger-panel .overtime-ledger-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
    font-size:6pt!important;
    line-height:1.12!important;
  }
  html[data-print-orientation="portrait"] .overtime-ledger-panel .overtime-ledger-table th,
  html[data-print-orientation="portrait"] .overtime-ledger-panel .overtime-ledger-table td{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:.8mm .45mm!important;
    white-space:normal!important;
    word-break:break-all!important;
    overflow-wrap:anywhere!important;
    line-height:1.12!important;
  }
  html[data-print-orientation="portrait"] .overtime-ledger-panel .ledger-subtext,
  html[data-print-orientation="portrait"] .overtime-ledger-panel .ledger-doc-link{
    font-size:5.5pt!important;
    line-height:1.1!important;
    word-break:break-all!important;
  }
}


/* 114차 - 홈 일정/공지 리스트 hover 상세 + 월간 자료 바로보기 */
.home-resource-dashboard{
  grid-template-columns:minmax(0,1.18fr) minmax(0,1fr) minmax(250px,.78fr)!important;
  align-items:stretch;
  overflow:visible!important;
}
.home-resource-dashboard>.panel{position:relative;overflow:visible!important}
.home-schedule-counts{display:flex;gap:6px;flex-wrap:wrap;padding:3px 17px 7px}
.home-schedule-counts>span{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid #e1e9e4;border-radius:999px;background:#f8faf9;color:#66766e;font-size:9px;font-weight:850}
.home-schedule-counts b{font-size:10px;color:#34483d}
.home-schedule-counts .shared{border-color:#ded9f2;background:#f7f5fc;color:#6658a8}.home-schedule-counts .shared b{color:#6658a8}
.home-schedule-counts .work{border-color:#cde9e4;background:#f1faf8;color:#237d70}.home-schedule-counts .work b{color:#237d70}
.home-schedule-counts .hr{border-color:#d2e3ef;background:#f2f8fc;color:#2b719f}.home-schedule-counts .hr b{color:#2b719f}
.home-detail-list{position:relative;display:flex;flex-direction:column;max-height:264px;padding:0 13px 11px;overflow-y:auto;overflow-x:visible;scrollbar-width:thin}
.home-detail-row{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:8px;align-items:center;min-height:43px;padding:7px 6px;border-bottom:1px solid #edf2ef;color:#31443a;text-decoration:none!important;transition:background .14s ease,border-color .14s ease,transform .14s ease}
.home-detail-row:last-child{border-bottom:0}.home-detail-row:hover,.home-detail-row:focus-visible{z-index:35;border-radius:9px;background:#f7faf8;outline:none;transform:translateY(-1px)}
.home-detail-row.notice{grid-template-columns:minmax(0,1fr) auto auto}
.home-detail-type{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:22px;padding:0 6px;border-radius:999px;background:#eef4f0;color:#4d6558;font-size:8px;font-weight:900}
.home-detail-row.shared .home-detail-type{background:#f3effc;color:#6658a8}.home-detail-row.work .home-detail-type{background:#eef9f7;color:#237d70}.home-detail-row.hr .home-detail-type{background:#eef6fb;color:#2b719f}
.home-detail-row>time{font-size:9px;font-weight:800;color:#839188;white-space:nowrap}
.home-detail-main{min-width:0}.home-detail-main>b{display:block;overflow:hidden;color:#30453a;font-size:11px;font-weight:850;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.home-detail-main>small{display:block;margin-top:2px;overflow:hidden;color:#87948d;font-size:8.5px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.home-detail-arrow{color:#a2aea7;font-size:16px;font-weight:700}
.home-detail-empty{padding:30px 12px;text-align:center;color:#8b9891;font-size:11px}
.home-list-hover-card{display:block!important;position:absolute;left:8px;top:calc(100% + 4px);z-index:180;width:min(430px,calc(100vw - 44px));max-height:300px;padding:11px 12px;border:1px solid #cfded5;border-radius:12px;background:#fff;box-shadow:0 18px 38px rgba(24,55,39,.20);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-3px);transition:opacity .14s ease,visibility .14s ease,transform .14s ease;text-align:left;white-space:normal!important}
.home-notice-list .home-list-hover-card{left:auto;right:8px}
.home-list-hover-card:before{content:"";position:absolute;top:-6px;left:26px;width:11px;height:11px;border-left:1px solid #cfded5;border-top:1px solid #cfded5;background:#fff;transform:rotate(45deg)}
.home-notice-list .home-list-hover-card:before{left:auto;right:26px}
.home-detail-row:hover>.home-list-hover-card,.home-detail-row:focus-visible>.home-list-hover-card{opacity:1;visibility:visible;transform:translateY(0)}
.home-list-hover-card>strong{display:block!important;color:#24392e!important;font-size:12px!important;font-weight:900!important;line-height:1.35!important;white-space:normal!important}
.home-list-hover-card>em{display:block!important;margin-top:3px!important;color:#849188!important;font-size:9px!important;font-style:normal!important;font-weight:800!important;white-space:normal!important}
.home-list-hover-card>span{display:block!important;max-height:190px;margin-top:8px!important;padding:8px 9px!important;overflow:auto;border:1px solid #edf2ef;border-radius:8px;background:#f9fbfa;color:#4c5d54!important;font-size:10px!important;line-height:1.55!important;white-space:pre-wrap!important;word-break:break-word!important}
.home-list-hover-card>small{display:block!important;margin-top:7px!important;color:#8b9891!important;font-size:8.5px!important;line-height:1.4!important;white-space:normal!important}
.home-monthly-resource-list{display:flex;flex-direction:column;gap:7px;padding:5px 14px 9px}
.home-monthly-resource{display:grid;grid-template-columns:31px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:58px;padding:8px 9px;border:1px solid #e0e8e3;border-radius:11px;background:#fbfdfc;color:#33483d;text-decoration:none!important;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.home-monthly-resource:hover,.home-monthly-resource:focus-visible{transform:translateY(-1px);box-shadow:0 7px 18px rgba(30,67,47,.09);outline:none}
.home-monthly-resource .resource-icon{display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:9px;background:#edf5f0;color:#3f7054;font-size:11px;font-weight:950}
.home-monthly-resource>span:nth-child(2){min-width:0}.home-monthly-resource b{display:block;color:#30463a;font-size:10.5px;font-weight:900}.home-monthly-resource small{display:block;margin-top:3px;overflow:hidden;color:#8a9790;font-size:8.5px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.home-monthly-resource>strong{padding:4px 7px;border-radius:999px;background:#f1f5f2;color:#52665a;font-size:9px;white-space:nowrap}
.home-monthly-resource.program{border-color:#d4ece8;background:#f7fcfb}.home-monthly-resource.program .resource-icon{background:#e6f7f3;color:#14786b}
.home-monthly-resource.meal{border-color:#f2dfc9;background:#fffbf7}.home-monthly-resource.meal .resource-icon{background:#fff0df;color:#b85d14}
.home-monthly-resource.hr{border-color:#dbe7f6;background:#f8fbff}.home-monthly-resource.hr .resource-icon{background:#eaf2fd;color:#2e6ca3}
.home-monthly-resource-help{margin:0;padding:0 15px 12px;color:#8d9992;font-size:8.5px;line-height:1.45}
@media(max-width:1180px){.home-resource-dashboard{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important}.home-monthly-resource-panel{grid-column:1/-1}.home-monthly-resource-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.home-resource-dashboard{grid-template-columns:1fr!important}.home-monthly-resource-panel{grid-column:auto}.home-monthly-resource-list{display:flex}.home-detail-list{max-height:none;overflow:visible}.home-list-hover-card{display:none!important}.home-detail-row{min-height:52px;padding:9px 5px}.home-detail-main>b{font-size:12px}.home-detail-main>small{font-size:9px}.home-detail-row>time{font-size:9px}}

/* 114차 보완 - 목록 hover 카드가 잘리지 않도록 목록 자체는 펼침 */
.home-resource-dashboard .home-detail-list{max-height:none;overflow:visible!important}
.home-schedule-summary:hover,.home-notice-summary:hover,.home-schedule-summary:focus-within,.home-notice-summary:focus-within{z-index:150}

/* 115차 - 홈 해당월 3개 자료는 그림만 팝업 표시 */
.home-image-modal[hidden]{display:none!important}
.home-image-modal{position:fixed;inset:0;z-index:1510;display:grid;place-items:center;padding:18px}
.home-image-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(8,15,11,.72);cursor:zoom-out}
.home-image-dialog{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:auto;max-width:min(96vw,1500px);height:auto;max-height:94vh;outline:none}
.home-image-preview{display:block;max-width:94vw;max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.38)}
.home-image-close{position:absolute;top:8px;right:8px;z-index:2;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(20,29,24,.72);color:#fff;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.home-image-close:hover,.home-image-close:focus-visible{background:rgba(20,29,24,.92);outline:2px solid rgba(255,255,255,.75);outline-offset:2px}
.home-image-modal-open{overflow:hidden}
@media(max-width:760px){.home-image-modal{padding:7px}.home-image-preview{max-width:98vw;max-height:96vh;border-radius:5px}.home-image-close{top:6px;right:6px;width:42px;height:42px}}
@media print{.home-image-modal{display:none!important}}

/* 116차 - 홈 출석·급식·인력현황 hover 팝오버 잔상 방지
   마우스가 카드를 벗어나면 클릭으로 남은 focus/focus-within 상태와 무관하게 숨긴다.
   키보드 탐색의 focus-visible은 기존 접근성을 유지한다. */
@media (hover:hover) and (pointer:fine){
  .home-progress-card.has-status-hover:not(:hover):not(:focus-visible) > .home-status-popover{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}


/* ===== 2026-08-14 global work popup workflow ===== */
body.work-popup-window{
  min-width:0;
  background:#f5f7fb;
}
body.work-popup-window .page-shell{
  width:100%;
  max-width:none;
  margin:0;
  padding:14px 16px 30px;
}
.work-popup-toolbar{
  position:sticky;
  top:0;
  z-index:2200;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:54px;
  padding:9px 14px;
  border-bottom:1px solid #dbe2ec;
  background:rgba(255,255,255,.97);
  box-shadow:0 5px 18px rgba(15,23,42,.08);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.work-popup-toolbar.saved{
  border-bottom-color:#b7dfc4;
  background:rgba(246,255,249,.98);
}
.work-popup-toolbar-copy{
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:10px;
}
.work-popup-toolbar-copy strong{
  flex:0 0 auto;
  color:#172033;
  font-size:14px;
  font-weight:800;
}
.work-popup-toolbar-copy span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#667085;
  font-size:12px;
}
.work-popup-close{
  flex:0 0 auto;
  min-width:70px;
  height:36px;
  padding:0 14px;
  border:1px solid #cbd5e1;
  border-radius:9px;
  background:#fff;
  color:#263244;
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.work-popup-close:hover,
.work-popup-close:focus-visible{
  border-color:#8fa3bd;
  background:#f8fafc;
  outline:none;
}
@media (max-width:720px){
  body.work-popup-window .page-shell{padding:10px 8px 22px}
  .work-popup-toolbar{padding:8px 9px;gap:8px}
  .work-popup-toolbar-copy{display:block}
  .work-popup-toolbar-copy strong{display:block;font-size:13px}
  .work-popup-toolbar-copy span{display:block;max-width:68vw;margin-top:2px;font-size:11px}
  .work-popup-close{min-width:58px;height:34px;padding:0 10px}
}

.home-live-refresh-alert{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:11px 13px;border:1px solid #f5d98a;border-radius:12px;background:#fff9e8;color:#7a4b00;box-shadow:0 8px 24px rgba(124,84,0,.08)}
.home-live-refresh-alert[hidden]{display:none!important}.home-live-refresh-alert>div{display:flex;align-items:center;gap:9px;min-width:0}.home-live-refresh-alert strong{white-space:nowrap}.home-live-refresh-alert span{font-size:12px;line-height:1.45;color:#8a6417}.home-live-refresh-alert .btn{flex:0 0 auto}
@media(max-width:720px){.home-live-refresh-alert{align-items:stretch;flex-direction:column}.home-live-refresh-alert>div{align-items:flex-start;flex-direction:column;gap:3px}.home-live-refresh-alert .btn{width:100%}}

/* 2026-08-24: 출석체크 상태·시간 가독성 및 개별저장 폭 재배분 */
@media(min-width:761px){
  .attendance-table .attendance-col-status{width:132px!important}
  .attendance-table .attendance-col-time{width:132px!important}
  .attendance-table .attendance-col-save{width:82px!important}
  .attendance-table .attendance-status-cell,
  .attendance-table .attendance-time-cell{padding-left:5px!important;padding-right:5px!important}
  .attendance-table .attendance-time-cell input[type="time"]{
    width:100%!important;
    min-width:0!important;
    padding-left:6px!important;
    padding-right:4px!important;
    font-variant-numeric:tabular-nums;
  }
  .attendance-table .row-save-cell{padding-left:3px!important;padding-right:3px!important}
  .attendance-table .row-save-btn{
    width:100%;
    min-width:0!important;
    padding-left:4px!important;
    padding-right:4px!important;
    white-space:nowrap;
  }
}
@media(max-width:1180px) and (min-width:761px){
  .attendance-table .attendance-col-status{width:124px!important}
  .attendance-table .attendance-col-time{width:126px!important}
  .attendance-table .attendance-col-save{width:78px!important}
}

/* 2026-08-25 - 홈 차량운행일지 카드 및 운영일지 차량일지 */
.operation-inline-summary{margin:0 0 7px;padding:7px 10px;border:1px solid #dce8e1;border-radius:10px;background:#f7fbf8;color:#42584b;font-size:12px;line-height:1.35}
.operation-inline-summary strong{color:#145a37;font-weight:900}
.vehicle-operation-table th:nth-child(1){width:11%}
.vehicle-operation-table th:nth-child(2){width:23%}
.vehicle-operation-table th:nth-child(3){width:auto}
.vehicle-operation-table th:nth-child(4){width:8%}
.vehicle-operation-table th:nth-child(5){width:10%}
.vehicle-operation-table th:nth-child(6){width:12%}
.vehicle-operation-table td small{display:inline-block;margin-top:2px;color:#64748b;font-size:.88em;line-height:1.3}
@media print{
  .vehicle-operation-table th:nth-child(1){width:10%}
  .vehicle-operation-table th:nth-child(2){width:22%}
  .vehicle-operation-table th:nth-child(4){width:8%}
  .vehicle-operation-table th:nth-child(5){width:10%}
  .vehicle-operation-table th:nth-child(6){width:12%}
}


/* 2026-09-04 · 최종퇴실점검 / 월 점검대장 */
.final-exit-page-head,.final-exit-ledger-page-head{align-items:center}
.final-exit-panel{padding:18px}
.final-exit-toolbar{display:flex;align-items:end;gap:10px;margin-bottom:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fbf9}
.final-exit-date-nav{display:flex;align-items:end;gap:6px;min-width:0}.final-exit-day-move{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding-left:10px;padding-right:10px;white-space:nowrap}.final-exit-date-field{min-width:170px;margin:0!important}.final-exit-date-field input{min-width:165px}.check-date-weekday{display:inline-block;margin-left:4px;color:#2d6d45;font-size:11px;font-weight:900;white-space:nowrap}.final-exit-confirmer-select-field{min-width:205px;margin:0!important}.final-exit-confirmer-select-field select{min-width:205px}
.final-exit-status-box{display:flex;align-items:center;gap:7px;min-height:42px;padding:8px 12px;border:1px solid #d9e5de;border-radius:10px;background:#fff}.final-exit-status-box small{color:var(--muted);font-weight:800}.final-exit-status-box strong{font-size:18px}
.final-exit-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:2px 2px 12px;border-bottom:2px solid #dfe8e3}.final-exit-sheet-head h2{margin:3px 0 0;font-size:23px}.final-exit-confirmer{display:grid;grid-template-columns:auto auto;gap:2px 10px;align-items:center;padding:9px 12px;border:1px solid #d7e3db;border-radius:10px;background:#fbfdfb}.final-exit-confirmer small{color:var(--muted);font-weight:850}.final-exit-confirmer strong{font-size:15px}.final-exit-confirmer span{grid-column:1/-1;color:var(--muted);font-size:11px;text-align:right}
.final-exit-check-groups{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:12px}.final-exit-group{min-width:0;margin:0;padding:10px;border:1px solid #d9e5de;border-radius:12px;background:#fff}.final-exit-group legend{padding:0 7px;color:#2d5b3d;font-size:14px;font-weight:900}.final-exit-check{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;min-height:58px;margin:6px 0;padding:9px 10px;border:1px solid #e0e8e3;border-radius:10px;background:#fbfdfc;cursor:pointer}.final-exit-check:hover{border-color:#afcdb9;background:#f6fbf7}.final-exit-check input{width:20px;height:20px;margin:0;accent-color:#2f8f4e}.final-exit-check span{display:block;min-width:0}.final-exit-check strong{display:block;font-size:14px;line-height:1.3}.final-exit-check small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35;word-break:keep-all}
.final-exit-note-field{margin:14px 0 0}.final-exit-note-field label{display:flex;align-items:baseline;gap:10px}.final-exit-note-field label span{color:var(--muted);font-size:11px}.final-exit-note-field textarea{width:100%;min-height:82px;resize:vertical}
.final-exit-save-row{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px -18px -18px;padding:11px 18px;border-top:1px solid #dfe8e3;background:rgba(255,255,255,.97);box-shadow:0 -7px 18px rgba(27,59,41,.06);backdrop-filter:blur(8px)}.final-exit-save-row span{color:var(--muted);font-size:11px;line-height:1.45}
.final-exit-ledger-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:12px 14px}.final-exit-month-form{display:flex;align-items:end;gap:8px}.final-exit-month-form .field{margin:0}.final-exit-ledger-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.final-exit-ledger-summary span{padding:7px 10px;border:1px solid #dde7e1;border-radius:999px;background:#fff;font-size:11px;font-weight:800}.final-exit-ledger-summary .ok{background:#f3faf5}.final-exit-ledger-summary .warn{background:#fff9ea}.final-exit-ledger-summary .danger{background:#fff3f2}
.final-exit-ledger-print-sheet{page:final-exit-ledger-landscape;padding:17px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(28,61,43,.05)}
.final-exit-print-title-row{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:18px;align-items:stretch;margin-bottom:8px}.final-exit-print-title{display:grid;place-items:center;text-align:center}.final-exit-print-title h1{margin:0;font-size:25px;letter-spacing:.08em}.final-exit-print-title p{margin:5px 0 0;font-size:13px;font-weight:850}.final-exit-approval-box table{width:100%;height:68px;border-collapse:collapse;table-layout:fixed}.final-exit-approval-box th,.final-exit-approval-box td{border:1px solid #78847c;text-align:center}.final-exit-approval-box th{height:23px;font-size:11px;background:#f5f7f5}.final-exit-approval-box td{height:44px}
.final-exit-print-summary{margin:0 0 7px;padding:5px 8px;border:1px solid #dfe5e1;background:#f8faf8;text-align:center;font-size:11px}
.final-exit-ledger-table{width:100%;border-collapse:collapse;table-layout:fixed}.final-exit-ledger-table th,.final-exit-ledger-table td{border:1px solid #8c958f;padding:4px 3px;text-align:center;vertical-align:middle;font-size:10px;line-height:1.22}.final-exit-ledger-table thead th{background:#f1f4f2;font-weight:900}.final-exit-ledger-table col.date{width:7%}.final-exit-ledger-table col.check{width:6.1%}.final-exit-ledger-table col.confirmer{width:9%}.final-exit-ledger-table col.note{width:20.2%}.final-exit-ledger-table .date-cell{font-weight:850;white-space:nowrap}.final-exit-ledger-table .date-cell a{color:inherit;text-decoration:underline;text-underline-offset:2px}.final-exit-ledger-table .check-cell strong{font-size:14px;line-height:1}.final-exit-ledger-table .note-cell{text-align:left;white-space:normal;word-break:keep-all}.final-exit-ledger-table tr.missing td{background:#fbfbfb;color:#9a9f9c}.final-exit-ledger-table tr.issue td{background:#fffaf0}.final-exit-ledger-footnote{margin-top:6px;color:#68766e;font-size:9px;line-height:1.4}.print-only{display:none}
.operation-final-exit-empty{padding:12px;border:1px dashed #cfdad3;border-radius:9px;color:var(--muted);text-align:center;font-size:12px}.final-exit-operation-table th,.final-exit-operation-table td{padding-top:5px!important;padding-bottom:5px!important}.final-exit-operation-table td:nth-child(3),.final-exit-operation-table td:nth-child(6){width:54px;font-size:14px}

@page final-exit-ledger-landscape{size:A4 landscape;margin:7mm}
@media screen and (max-width:900px){.final-exit-check-groups{grid-template-columns:1fr 1fr}.final-exit-group:last-child{grid-column:1/-1}.final-exit-ledger-toolbar{align-items:stretch;flex-direction:column}.final-exit-ledger-print-sheet{overflow-x:auto}.final-exit-ledger-table{min-width:930px}}
@media screen and (max-width:620px){.final-exit-panel{padding:12px}.final-exit-toolbar{align-items:stretch;flex-wrap:wrap}.final-exit-date-nav{width:100%;display:grid;grid-template-columns:auto minmax(150px,1fr) auto;align-items:end}.final-exit-date-field{min-width:0}.final-exit-date-field input{width:100%;min-width:0}.final-exit-day-move{padding-left:8px;padding-right:8px}.final-exit-confirmer-select-field{flex:1 1 100%;min-width:0}.final-exit-confirmer-select-field select{width:100%;min-width:0}.final-exit-check-groups{grid-template-columns:1fr}.final-exit-group:last-child{grid-column:auto}.final-exit-sheet-head{align-items:stretch;flex-direction:column}.final-exit-confirmer{align-self:stretch}.final-exit-save-row{position:static;align-items:stretch;flex-direction:column;margin:12px -12px -12px;padding:11px 12px}.final-exit-print-title-row{grid-template-columns:1fr}.final-exit-approval-box{display:none}.final-exit-month-form{flex-wrap:wrap}.final-exit-month-form .field{flex:1 1 160px}}
@media print{
  .final-exit-ledger-page-head,.final-exit-ledger-toolbar,.site-header,.site-footer,.no-print{display:none!important}
  .final-exit-ledger-print-sheet{width:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
  .final-exit-print-title-row{grid-template-columns:minmax(0,1fr) 54mm;gap:5mm;margin-bottom:2mm}.final-exit-print-title h1{font-size:16pt}.final-exit-print-title p{font-size:9pt;margin-top:1mm}.final-exit-approval-box table{height:17mm}.final-exit-approval-box th{height:5mm;font-size:8pt}.final-exit-approval-box td{height:12mm}
  .final-exit-print-summary{margin-bottom:1.5mm;padding:1mm 2mm;font-size:7.5pt}.final-exit-ledger-table{min-width:0!important}.final-exit-ledger-table th,.final-exit-ledger-table td{padding:1.2mm .7mm;font-size:7.2pt;line-height:1.12}.final-exit-ledger-table .check-cell strong{font-size:9pt}.final-exit-ledger-table tr.missing td{color:#777;background:#fff}.final-exit-ledger-table tr.issue td{background:#fff}.final-exit-ledger-footnote{margin-top:1mm;font-size:6.5pt}.final-exit-ledger-table .no-print{display:none!important}.print-only{display:inline!important}
}


/* ===== 2026-09-04 출장비신청서 하단 수신처 인쇄 가림 방지 ===== */
@media print {
  .trip-expense-print-card .trip-receiver {
    display:block !important;
    width:100% !important;
    margin:6mm 0 0 !important;
    padding:1mm 4mm 0 !important;
    box-sizing:border-box !important;
    clear:both !important;
    position:relative !important;
    z-index:2 !important;
    overflow:visible !important;
    white-space:nowrap !important;
    text-align:center !important;
    line-height:1.5 !important;
  }
}


/* ===== 2026-09-04 출장비신청서 수신처 문자열 인쇄 가림/백색화 보정 v2 ===== */
.trip-receiver .trip-receiver-text {
  display:inline-block;
  color:#111 !important;
  background:transparent !important;
  opacity:1 !important;
  visibility:visible !important;
  font-weight:800;
  white-space:nowrap;
}
@media print {
  .trip-expense-print-card,
  .trip-expense-print-card .trip-receiver {
    overflow:visible !important;
  }
  .trip-expense-print-card .trip-receiver {
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    min-height:8mm !important;
    margin:6mm 0 0 !important;
    padding:0 !important;
    clear:both !important;
    position:static !important;
    z-index:auto !important;
    overflow:visible !important;
    white-space:nowrap !important;
    text-align:center !important;
    line-height:1.5 !important;
    color:#111 !important;
    background:transparent !important;
    opacity:1 !important;
    visibility:visible !important;
    text-indent:0 !important;
    transform:none !important;
    filter:none !important;
    clip:auto !important;
  }
  .trip-expense-print-card .trip-receiver .trip-receiver-text {
    display:inline-block !important;
    position:relative !important;
    z-index:9999 !important;
    margin:0 !important;
    padding:0 2mm !important;
    color:#111 !important;
    background:#fff !important;
    -webkit-text-fill-color:#111 !important;
    opacity:1 !important;
    visibility:visible !important;
    font-family:'Malgun Gothic','맑은 고딕',sans-serif !important;
    font-size:11pt !important;
    font-weight:800 !important;
    line-height:1.5 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    text-indent:0 !important;
    transform:none !important;
    filter:none !important;
    text-shadow:none !important;
    mix-blend-mode:normal !important;
  }
}


/* ===== 2026-09-07 출장 문서 하단 수신처 좌측 잘림 보정 ===== */
@media print {
  .trip-receiver,
  .trip-expense-receiver {
    display:block !important;
    width:100% !important;
    margin-top:10mm !important;
    padding:0 0 0 16mm !important;
    box-sizing:border-box !important;
    overflow:visible !important;
    white-space:nowrap !important;
    text-align:left !important;
    text-indent:0 !important;
    clip:auto !important;
    transform:none !important;
    color:#111 !important;
    -webkit-text-fill-color:#111 !important;
    background:transparent !important;
    opacity:1 !important;
    visibility:visible !important;
  }
  .trip-receiver .trip-receiver-text {
    display:inline !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    color:#111 !important;
    -webkit-text-fill-color:#111 !important;
    text-indent:0 !important;
  }
}

/* ===== 2026-09-06 일일점검표 · 청소 일일점검표 ===== */
.daily-check-panel{padding:16px}.daily-check-toolbar{display:flex;align-items:end;gap:8px;margin-bottom:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fbf9}.daily-check-toolbar .field{margin:0}.daily-check-overall{margin-left:auto;display:flex;flex-direction:column;justify-content:center;min-height:42px;padding:6px 12px;border:1px solid #d9e5de;border-radius:10px;background:#fff}.daily-check-overall strong{font-size:13px}.daily-check-overall small{margin-top:2px;color:var(--muted);font-size:10px}.daily-check-overall.complete{border-color:#b9dfc6;background:#f3faf5}.daily-check-overall.issue{border-color:#ead7a5;background:#fffaf0}.daily-check-overall.missing{border-color:#e0e5e2;background:#fafbfa;color:#727b76}.daily-check-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.daily-check-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px;border:1px solid #dbe5df;border-radius:14px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 5px 16px rgba(28,61,43,.04)}.daily-check-card:hover{border-color:#a8c9b3;background:#fbfefc}.daily-check-card.complete{border-color:#bee0c9;background:#f8fcf9}.daily-check-card.issue{border-color:#ead7a5;background:#fffdf7}.daily-check-card.missing{background:#fbfbfb}.daily-check-card-no{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf5f0;color:#2d6d45;font-weight:900}.daily-check-card small{color:var(--muted);font-size:10px;font-weight:800}.daily-check-card h2{margin:2px 0 4px;font-size:18px}.daily-check-card p{margin:0;color:#59675f;font-size:11px;line-height:1.45}.daily-check-card-status{min-width:126px;text-align:right;font-size:14px}.daily-check-card-status small{display:block;margin-top:4px;font-weight:700}.daily-check-help{margin:12px 2px 0;color:var(--muted);font-size:11px;line-height:1.45}
.cleaning-daily-panel{padding:18px}.cleaning-daily-status-box{display:grid;grid-template-columns:auto auto;gap:2px 7px;align-items:center;min-height:42px;padding:7px 11px;border:1px solid #d9e5de;border-radius:10px;background:#fff}.cleaning-daily-status-box small{color:var(--muted);font-size:10px;font-weight:800}.cleaning-daily-status-box strong{font-size:13px}.cleaning-daily-help{margin:5px 0 0;color:var(--muted);font-size:10px}.cleaning-daily-check-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}.cleaning-daily-group{min-width:0;margin:0;padding:9px;border:1px solid #d9e5de;border-radius:12px;background:#fff}.cleaning-daily-group.weekly{border-style:dashed;background:#fcfbf5}.cleaning-daily-group legend{padding:0 7px;color:#2d5b3d;font-size:13px;font-weight:900}.cleaning-daily-group.weekly legend{color:#7a6124}.cleaning-daily-check{display:grid;grid-template-columns:26px minmax(0,1fr);gap:7px;align-items:center;min-height:49px;margin:5px 0;padding:7px 8px;border:1px solid #e0e8e3;border-radius:9px;background:#fbfdfc;cursor:pointer}.cleaning-daily-group.weekly .cleaning-daily-check{background:#fffdf8}.cleaning-daily-check:hover{border-color:#afcdb9}.cleaning-daily-check input{width:19px;height:19px;margin:0;accent-color:#2f8f4e}.cleaning-daily-check strong{display:block;font-size:12px;line-height:1.3;word-break:keep-all}.cleaning-daily-check small{display:block;margin-top:2px;color:var(--muted);font-size:9px;line-height:1.3}
.daily-check-operation-table th:first-child{width:18%}.daily-check-operation-table td:nth-child(2){width:27%}.daily-check-operation-table td:nth-child(3){width:15%}
.cleaning-ledger-sheets{display:grid;gap:18px}.cleaning-ledger-sheet{page:cleaning-daily-landscape;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(28,61,43,.05)}.cleaning-ledger-title-row{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:18px;align-items:stretch;margin-bottom:8px}.cleaning-ledger-title{display:grid;place-items:center;text-align:center}.cleaning-ledger-title h1{margin:0;font-size:24px;letter-spacing:.08em}.cleaning-ledger-title p{margin:4px 0 2px;font-size:12px;font-weight:850}.cleaning-ledger-title small{font-size:10px;color:#58645d}.cleaning-ledger-table{width:100%;border-collapse:collapse;table-layout:fixed}.cleaning-ledger-table th,.cleaning-ledger-table td{border:1px solid #8c958f;padding:3px 4px;text-align:center;vertical-align:middle;font-size:9px;line-height:1.15}.cleaning-ledger-table thead th{background:#f1f4f2;font-weight:900}.cleaning-ledger-table col.group{width:11%}.cleaning-ledger-table col.detail{width:37%}.cleaning-ledger-table col.day{width:7.5%}.cleaning-ledger-table col.note{width:14.5%}.cleaning-ledger-table .detail-cell{text-align:left;word-break:keep-all}.cleaning-ledger-table .group-cell{font-weight:900;background:#f8faf8;word-break:keep-all}.cleaning-ledger-table .mark-cell strong{font-size:12px}.cleaning-ledger-table .date-row th{padding-top:2px;padding-bottom:2px;font-size:8px;color:#5f6a63}.cleaning-ledger-notes{display:grid;grid-template-columns:48px minmax(0,1fr);gap:7px;margin-top:5px;padding:5px 7px;border:1px solid #dfe5e1;background:#fafbfa;font-size:9px;line-height:1.35}.cleaning-ledger-notes strong{text-align:center}.cleaning-ledger-notes span{text-align:left}
@page cleaning-daily-landscape{size:A4 landscape;margin:6mm}
@media screen and (max-width:980px){.cleaning-daily-check-groups{grid-template-columns:1fr 1fr}.cleaning-ledger-sheet{overflow-x:auto}.cleaning-ledger-table{min-width:950px}.daily-check-cards{grid-template-columns:1fr}}
@media screen and (max-width:620px){.daily-check-panel,.cleaning-daily-panel{padding:12px}.daily-check-toolbar{align-items:stretch;flex-wrap:wrap}.daily-check-overall{width:100%;margin-left:0}.daily-check-card{grid-template-columns:38px minmax(0,1fr);padding:12px}.daily-check-card-no{width:36px;height:36px}.daily-check-card-status{grid-column:2;min-width:0;text-align:left}.cleaning-daily-check-groups{grid-template-columns:1fr}.cleaning-daily-status-box{flex:1 1 auto}.cleaning-ledger-title-row{grid-template-columns:1fr}.cleaning-ledger-title-row .final-exit-approval-box{display:none}}
@media print{
  .cleaning-ledger-page-head,.final-exit-ledger-toolbar,.site-header,.site-footer,.no-print{display:none!important}
  .cleaning-ledger-sheets{display:block!important}.cleaning-ledger-sheet{width:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;break-after:page;page-break-after:always}.cleaning-ledger-sheet:last-child{break-after:auto;page-break-after:auto}
  .cleaning-ledger-title-row{grid-template-columns:minmax(0,1fr) 54mm;gap:5mm;margin-bottom:2mm}.cleaning-ledger-title h1{font-size:15pt}.cleaning-ledger-title p{font-size:8.5pt;margin-top:1mm}.cleaning-ledger-title small{font-size:7pt}.cleaning-ledger-table{min-width:0!important}.cleaning-ledger-table th,.cleaning-ledger-table td{padding:.75mm .6mm;font-size:6.5pt;line-height:1.05}.cleaning-ledger-table .mark-cell strong{font-size:8pt}.cleaning-ledger-table .date-row th{font-size:6pt}.cleaning-ledger-notes{margin-top:1mm;padding:.8mm 1mm;font-size:6pt;grid-template-columns:11mm 1fr}
}
.operation-subheading{margin:9px 0 5px;padding:0;color:#4b5d53;font-size:12px;font-weight:900}.daily-check-operation-section .operation-subheading:first-of-type{margin-top:2px}
@media print{.operation-subheading{margin:1.2mm 0 .8mm;font-size:7.4pt}}

/* ===== 2026-09-06 청소 일일점검대장 월간 1장 인쇄 ===== */
.cleaning-ledger-monthly-wrap{display:block}
.cleaning-ledger-monthly-sheet{page:cleaning-daily-landscape}
.cleaning-ledger-print-summary{margin-top:4px;font-size:9px;color:#526158;font-weight:700}
.cleaning-ledger-monthly-scroll{overflow-x:auto}
.cleaning-ledger-monthly-table{min-width:1080px}
.cleaning-ledger-monthly-table col.group{width:80px}
.cleaning-ledger-monthly-table col.detail{width:290px}
.cleaning-ledger-monthly-table col.month-day{width:34px}
.cleaning-ledger-monthly-table .month-date-head{padding:3px 1px;white-space:nowrap}
.cleaning-ledger-monthly-table .month-date-head small{display:block;margin-top:1px;font-size:7px;color:#69756e}
.cleaning-ledger-monthly-table .mark-cell{padding-left:1px;padding-right:1px}
.cleaning-ledger-confirmer-row th{background:#f1f4f2;font-weight:900}
.cleaning-ledger-confirmer-row td{padding:3px 1px;font-size:8px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:clip}
.cleaning-ledger-monthly-notes{min-height:30px}
@media print{
  .cleaning-ledger-monthly-sheet{height:auto!important;break-after:auto!important;page-break-after:auto!important}
  .cleaning-ledger-monthly-scroll{overflow:visible!important}
  .cleaning-ledger-monthly-table{width:100%!important;min-width:0!important;table-layout:fixed!important}
  .cleaning-ledger-monthly-table col.group{width:17mm!important}
  .cleaning-ledger-monthly-table col.detail{width:65mm!important}
  .cleaning-ledger-monthly-table col.month-day{width:auto!important}
  .cleaning-ledger-title-row{grid-template-columns:minmax(0,1fr) 48mm!important;gap:3mm!important;margin-bottom:1.4mm!important}
  .cleaning-ledger-title h1{font-size:13pt!important;line-height:1!important}
  .cleaning-ledger-title p{font-size:7.8pt!important;margin:.7mm 0 .3mm!important}
  .cleaning-ledger-title small{font-size:5.8pt!important}
  .cleaning-ledger-print-summary{margin-top:.45mm!important;font-size:5.7pt!important;line-height:1.05!important}
  .cleaning-ledger-monthly-table th,.cleaning-ledger-monthly-table td{padding:.42mm .28mm!important;font-size:6pt!important;line-height:1.02!important}
  .cleaning-ledger-monthly-table .detail-cell{font-size:5.75pt!important;line-height:1.02!important;white-space:nowrap!important;letter-spacing:-.15pt!important}
  .cleaning-ledger-monthly-table .group-cell{font-size:5.8pt!important;line-height:1.05!important}
  .cleaning-ledger-monthly-table .month-date-head{font-size:6pt!important;padding:.35mm .12mm!important}
  .cleaning-ledger-monthly-table .month-date-head small{font-size:5pt!important;margin:0!important;line-height:1!important}
  .cleaning-ledger-monthly-table .mark-cell strong{font-size:7pt!important;line-height:1!important}
  .cleaning-ledger-confirmer-row td{padding:.34mm .1mm!important;font-size:5pt!important;line-height:1!important;letter-spacing:-.2pt!important}
  .cleaning-ledger-monthly-notes{grid-template-columns:10mm minmax(0,1fr)!important;min-height:0!important;margin-top:.8mm!important;padding:.55mm .8mm!important;font-size:5.7pt!important;line-height:1.08!important}
}


/* 전체 날짜 선택 요일 표시 */
.date-weekday-indicator,
.check-date-weekday {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 999px;
  background: #eef4ff;
  color: #315a9b;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.35;
  white-space: nowrap;
  vertical-align: middle;
}
.date-weekday-indicator[hidden],
.check-date-weekday[hidden] { display: none !important; }
.date-weekday-indicator-after { margin-left: 6px; }
@media (max-width: 720px) {
  .date-weekday-indicator,
  .check-date-weekday { margin-left: 4px; padding: 1px 5px; font-size: 0.74rem; }
}

/* 2026-09-07 일일점검 장소·점검내용 기준관리 */
.daily-check-manage-head{align-items:flex-end;gap:16px}
.daily-check-manage-tabs{display:flex;gap:6px;margin:0 0 12px;padding:4px;border:1px solid var(--line,#dfe5ec);border-radius:12px;background:var(--surface,#fff);width:max-content;max-width:100%}
.daily-check-manage-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 14px;border-radius:8px;color:var(--muted,#607080);font-size:.9rem;font-weight:700;text-decoration:none;white-space:nowrap}
.daily-check-manage-tabs a:hover{background:var(--soft,#f4f7fa);color:var(--text,#1f2937)}
.daily-check-manage-tabs a.active{background:var(--primary,#2457a7);color:#fff}
.daily-check-manage-panel{padding:16px;margin-bottom:14px}
.daily-check-manage-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}
.daily-check-manage-section-head h2{margin:2px 0 2px;font-size:1.15rem}
.daily-check-manage-section-head p{margin:0;color:var(--muted,#687789);font-size:.84rem}
.daily-check-manage-table{width:100%;border-collapse:collapse;table-layout:auto}
.daily-check-manage-table th,.daily-check-manage-table td{border-bottom:1px solid var(--line,#e2e8f0);padding:7px 8px;text-align:center;vertical-align:middle;font-size:.84rem;line-height:1.25}
.daily-check-manage-table th{background:var(--soft,#f7f9fb);font-weight:800;white-space:nowrap}
.daily-check-manage-table td.text-left{text-align:left;min-width:220px}
.daily-check-manage-table td.text-left small{display:block;margin-top:2px;color:var(--muted,#718096);font-size:.76rem;font-weight:400}
.daily-check-manage-table tr.inactive{opacity:.62;background:#fafafa}
.daily-check-manage-table .empty-line{padding:16px;color:var(--muted,#718096)}
.daily-check-manage-place-block{margin-top:12px;border:1px solid var(--line,#e2e8f0);border-radius:10px;overflow:hidden}
.daily-check-manage-place-block>h3{margin:0;padding:8px 10px;background:#f6f8fb;border-bottom:1px solid var(--line,#e2e8f0);font-size:.92rem}
.daily-check-manage-place-block .table-wrap{margin:0}
.order-buttons form,.row-actions{display:flex;align-items:center;justify-content:center;gap:4px;margin:0}
.order-buttons button{width:28px;height:28px;padding:0;border:1px solid var(--line,#d6dee8);border-radius:6px;background:#fff;color:var(--text,#344054);font-weight:800;cursor:pointer}
.order-buttons button:hover{background:#f3f6fa}
.row-actions form{display:inline-flex;margin:0}
.btn.danger{border-color:#f1b8b8;color:#b42318;background:#fff7f7}
.btn.danger:hover{background:#feecec}
.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:3px 7px;border-radius:999px;font-size:.74rem;font-weight:800;white-space:nowrap}
.status-pill.ok{background:#eaf7ef;color:#177245}
.status-pill.muted{background:#eef1f4;color:#687789}
.daily-check-manage-note{display:flex;gap:8px;align-items:flex-start;margin:12px 0 20px;padding:10px 12px;border:1px solid #dce7f5;border-radius:10px;background:#f7fbff;font-size:.82rem;line-height:1.45}
.daily-check-manage-note strong{white-space:nowrap;color:#2457a7}
.daily-check-master-form{max-width:760px;margin:0 auto;padding:18px}
.daily-check-master-form .field{margin-bottom:12px}
.daily-check-master-form .field label{display:block;margin-bottom:5px;font-weight:800;font-size:.84rem}
.daily-check-master-form .field label small{font-weight:500;color:var(--muted,#718096)}
.daily-check-master-form input[type="text"],.daily-check-master-form input:not([type]),.daily-check-master-form input[type="date"],.daily-check-master-form select{width:100%;min-height:38px}
.daily-check-master-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.daily-check-master-form .check-row{margin:4px 0 14px}
.daily-check-master-form .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}

/* 기준항목 수가 바뀌어도 최종퇴실 월대장이 유연하게 맞도록 조정 */
.final-exit-ledger-table.dynamic{table-layout:fixed;width:100%}
.final-exit-ledger-table.dynamic col.date{width:8%}
.final-exit-ledger-table.dynamic col.check{width:auto}
.final-exit-ledger-table.dynamic col.confirmer{width:10%}
.final-exit-ledger-table.dynamic col.note{width:20%}
.final-exit-ledger-table.dynamic thead th{word-break:keep-all;overflow-wrap:anywhere}
.final-exit-operation-table.dynamic{table-layout:fixed}
.final-exit-operation-table.dynamic th:first-child,.final-exit-operation-table.dynamic td:first-child{width:18%}
.final-exit-operation-table.dynamic th:last-child,.final-exit-operation-table.dynamic td:last-child{width:12%;text-align:center}

@media (max-width:760px){
  .daily-check-manage-head,.daily-check-manage-section-head{align-items:stretch;flex-direction:column}
  .daily-check-manage-tabs{width:100%}
  .daily-check-manage-tabs a{flex:1;padding-left:8px;padding-right:8px}
  .daily-check-manage-panel{padding:10px}
  .daily-check-manage-table{min-width:720px}
  .daily-check-master-form-grid{grid-template-columns:1fr}
  .daily-check-master-form .form-actions .btn{flex:1}
  .daily-check-manage-note{flex-direction:column}
}

@media print{
  .dynamic-final-exit-ledger .table-wrap{overflow:visible}
  .final-exit-ledger-table.dynamic{font-size:6.4pt}
  .final-exit-ledger-table.dynamic th,.final-exit-ledger-table.dynamic td{padding:1.2mm .7mm;line-height:1.15}
  .final-exit-ledger-table.dynamic thead th{font-size:6.1pt}
  .final-exit-ledger-table.dynamic .note-cell{font-size:6pt}
}

/* ===== 2026-09-09 초과근무 신청·보고 결재란 인쇄 강제 표시 ===== */
@media print {
  html[data-print-approval="show"] .overtime-print-heading-row {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 72mm !important;
    gap:3mm !important;
    align-items:start !important;
    min-height:21mm !important;
    overflow:visible !important;
  }
  html[data-print-approval="show"] .overtime-print-heading-row > .document-approval-box[data-approval-line-box] {
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    position:static !important;
    grid-column:2 !important;
    justify-self:end !important;
    align-self:start !important;
    width:72mm !important;
    max-width:72mm !important;
    height:20mm !important;
    min-height:20mm !important;
    grid-template-columns:10mm repeat(var(--approval-stage-count,3),minmax(0,1fr)) !important;
    grid-template-rows:7mm 13mm !important;
    margin:0 !important;
    padding:0 !important;
    border:.25mm solid #111 !important;
    overflow:hidden !important;
    color:#111 !important;
    background:#fff !important;
    box-sizing:border-box !important;
  }
  html[data-print-approval="show"] .overtime-print-heading-row > .document-approval-box[data-approval-line-box] .document-approval-label {
    color:#111 !important;
    background:#fff !important;
    border-right:.25mm solid #111 !important;
    font-size:8pt !important;
    gap:3.5mm !important;
  }
  html[data-print-approval="show"] .overtime-print-heading-row > .document-approval-box[data-approval-line-box] .document-approval-head.approval-stage {
    color:#111 !important;
    background:#fff !important;
    border-left:.25mm solid #111 !important;
    border-bottom:.25mm solid #111 !important;
    font-size:7.5pt !important;
    line-height:7mm !important;
  }
  html[data-print-approval="show"] .overtime-print-heading-row > .document-approval-box[data-approval-line-box] .document-approval-sign.approval-stage {
    color:#111 !important;
    background:#fff !important;
    border-left:.25mm solid #111 !important;
  }
  html[data-print-approval="hide"] .overtime-print-heading-row > .document-approval-box[data-approval-line-box] {
    display:none !important;
  }
}

/* ===== 2026-09-09 결재선관리 · 인쇄 결재선 선택 ===== */
.document-approval-box[data-approval-line-box]{
  grid-template-columns:48px repeat(var(--approval-stage-count,3),minmax(0,1fr)) !important;
  width:270px !important;
}
.document-approval-box[data-approval-line-box] .approval-stage{
  min-width:0 !important;
  border-left:1px solid #8f99a8 !important;
}
.document-approval-box[data-approval-line-box] .document-approval-head.approval-stage{
  border-bottom:1px solid #8f99a8 !important;
  padding:0 2px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:12px !important;
}
.document-approval-box[data-approval-line-box] .document-approval-sign.approval-stage{
  min-height:0 !important;
}
.print-approval-line-control{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:0 9px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
  color:#334155;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  box-sizing:border-box;
}
.print-approval-line-select{
  min-width:128px;
  max-width:200px;
  height:30px;
  padding:0 24px 0 8px;
  border:1px solid #cbd5e1;
  border-radius:7px;
  background:#fff;
  color:#1f2937;
  font:inherit;
}
.print-approval-line-caption{line-height:1}
.approval-line-panel{padding:18px}
.approval-line-guide{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px;padding:10px 12px;border:1px solid #d8e4dc;border-radius:10px;background:#f8fbf9;color:#46574d;font-size:12px;line-height:1.5}
.approval-line-guide strong{color:#245b3a;white-space:nowrap}
.approval-line-table th:nth-child(1){width:18%}.approval-line-table th:nth-child(2){width:38%}.approval-line-table th:nth-child(3){width:9%}.approval-line-table th:nth-child(4){width:9%}.approval-line-table th:nth-child(5){width:26%}
.approval-line-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.approval-line-actions .inline-form{display:inline-flex;margin:0}
.approval-line-popup{background:#eef2ef}.approval-line-popup .popup-page{max-width:740px;margin:0 auto;padding:16px}.approval-line-popup .panel{padding:18px}
.approval-stage-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 8px}.approval-stage-editor{display:grid;gap:7px}.approval-stage-row{display:grid;grid-template-columns:72px minmax(0,1fr) 36px 36px 54px;gap:6px;align-items:center;padding:7px;border:1px solid #dbe4de;border-radius:9px;background:#fafcfb}.approval-stage-order{font-size:12px;font-weight:900;color:#375c46;text-align:center}.approval-stage-row input{width:100%;min-width:0}.form-help{margin:8px 0 0;color:#68756e;font-size:11px}
@media(max-width:720px){.print-approval-line-control{width:100%;justify-content:center}.print-approval-line-select{flex:1;max-width:none}.approval-stage-row{grid-template-columns:68px minmax(0,1fr) 34px 34px 48px}.approval-line-guide{flex-direction:column;gap:4px}}
@media print{.print-approval-line-control{display:none!important}.document-approval-box[data-approval-line-box] .approval-stage{border-left-color:var(--print-green-dark,#557765)!important}.document-approval-box[data-approval-line-box] .document-approval-head.approval-stage{border-bottom-color:var(--print-green-dark,#557765)!important}}

/* 결재선 가변단계 적용: 일일점검 대장 제목영역 */
.final-exit-print-title-row > .document-approval-box,
.cleaning-ledger-title-row > .document-approval-box{justify-self:end;align-self:start}
@media print{
  .final-exit-print-title-row,
  .cleaning-ledger-title-row{grid-template-columns:minmax(0,1fr) 72mm !important;gap:4mm !important}
}

/* ===== 2026-09-09 공유·출장·휴가·초과근무 팝업 UI 정리 ===== */
body.embed-mode .hr-workflow-nav,
body.embed-mode .hr-page-mode-tabs,
body.embed-mode .no-embed{display:none!important}
body.work-popup-window .page-head{margin-bottom:10px;padding-bottom:8px}
body.work-popup-window .page-head p{max-width:760px}
body.work-popup-window .form-layout{margin-top:0}
body.work-popup-window .hr-sticky-actions{gap:7px;flex-wrap:wrap}
body.work-popup-window .work-popup-toolbar + .page-shell{padding-top:10px}
.shared-schedule-list-table .title strong{display:block}
.shared-schedule-list-table .shared-list-description{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.35}
@media (max-width:760px){.shared-schedule-list-table .shared-list-description{max-width:260px}}


/* ===== 2026-09-10 게시판 WYSIWYG 편집기 ===== */
body.board-ui .board-editor-field{margin-bottom:18px}
body.board-ui .wysiwyg{overflow:hidden;border:1px solid #d8e0e8;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.03)}
body.board-ui .wysiwyg:focus-within{border-color:var(--board-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--board-accent) 14%,transparent)}
body.board-ui .wysiwyg-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:8px;border-bottom:1px solid #dfe6ed;background:#f8fafc;position:sticky;top:0;z-index:2}
body.board-ui .wysiwyg-tool-group{display:flex;align-items:center;gap:3px;padding-right:5px;margin-right:1px;border-right:1px solid #e2e8f0}
body.board-ui .wysiwyg-tool-group:last-child{border-right:0;padding-right:0}
body.board-ui .wysiwyg-btn,body.board-ui .wysiwyg-select,body.board-ui .wysiwyg-color{min-height:32px;border:1px solid #d9e1e8;border-radius:7px;background:#fff;color:#334155;font:inherit;font-size:11px;font-weight:800;line-height:1;cursor:pointer}
body.board-ui .wysiwyg-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:0 8px}
body.board-ui .wysiwyg-btn:hover,body.board-ui .wysiwyg-btn.active{border-color:var(--board-accent);background:var(--board-accent-pale);color:var(--board-accent-dark)}
body.board-ui .wysiwyg-btn.text-tool{font-family:Georgia,'Times New Roman',serif;font-size:14px}
body.board-ui .wysiwyg-select{max-width:105px;padding:0 24px 0 8px}
body.board-ui .wysiwyg-font-size{max-width:82px}
body.board-ui .wysiwyg-color{display:inline-flex;align-items:center;gap:4px;padding:0 5px 0 8px}
body.board-ui .wysiwyg-color span{font-size:13px;font-weight:900;text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:var(--board-accent)}
body.board-ui .wysiwyg-color input{width:22px;height:22px;padding:0;border:0;background:transparent;cursor:pointer}
body.board-ui .wysiwyg-editor{min-height:310px;max-height:62vh;overflow:auto;padding:18px 20px;outline:0;color:#263244;font-size:14px;line-height:1.75;word-break:break-word}
body.board-ui .wysiwyg-editor:empty:before{content:'내용을 입력하세요.';color:#94a3b8;pointer-events:none}
body.board-ui .wysiwyg-source{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.board-ui .wysiwyg-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;border-top:1px solid #edf1f5;background:#fbfcfd;color:#7b8794;font-size:9.5px;line-height:1.35}
body.board-ui .wysiwyg-status strong{flex:0 0 auto;color:#556270;font-size:10px}
body.board-ui .wysiwyg-editor p,body.board-ui .board-post-view .post-content p{margin:.55em 0}
body.board-ui .wysiwyg-editor h2,body.board-ui .board-post-view .post-content h2{margin:1.1em 0 .45em;font-size:1.55em;line-height:1.35;color:#172033}
body.board-ui .wysiwyg-editor h3,body.board-ui .board-post-view .post-content h3{margin:1em 0 .4em;font-size:1.3em;line-height:1.4;color:#223047}
body.board-ui .wysiwyg-editor h4,body.board-ui .board-post-view .post-content h4{margin:.9em 0 .35em;font-size:1.12em;line-height:1.45;color:#334155}
body.board-ui .wysiwyg-editor ul,body.board-ui .wysiwyg-editor ol,body.board-ui .board-post-view .post-content ul,body.board-ui .board-post-view .post-content ol{margin:.55em 0 .8em;padding-left:1.7em}
body.board-ui .wysiwyg-editor li,body.board-ui .board-post-view .post-content li{margin:.24em 0}
body.board-ui .wysiwyg-editor blockquote,body.board-ui .board-post-view .post-content blockquote{margin:.9em 0;padding:10px 14px;border-left:4px solid var(--board-accent);background:var(--board-accent-pale);color:#475569}
body.board-ui .wysiwyg-editor hr,body.board-ui .board-post-view .post-content hr{border:0;border-top:1px solid #d8e0e8;margin:1.25em 0}
body.board-ui .wysiwyg-editor a,body.board-ui .board-post-view .post-content a{color:#1267a5;text-decoration:underline;text-underline-offset:2px}
body.board-ui .wysiwyg-editor pre,body.board-ui .board-post-view .post-content pre{overflow:auto;margin:.8em 0;padding:10px 12px;border:1px solid #dbe3ea;border-radius:8px;background:#f8fafc;font-family:Consolas,'Courier New',monospace;font-size:.92em;line-height:1.5;white-space:pre-wrap}
body.board-ui .wysiwyg-editor table,body.board-ui .board-post-view .post-content table{width:100%;margin:.85em 0;border-collapse:collapse;table-layout:auto}
body.board-ui .wysiwyg-editor th,body.board-ui .wysiwyg-editor td,body.board-ui .board-post-view .post-content th,body.board-ui .board-post-view .post-content td{min-width:42px;border:1px solid #b8c4cf;padding:6px 8px;vertical-align:top}
body.board-ui .wysiwyg-editor th,body.board-ui .board-post-view .post-content th{background:#f1f5f9;font-weight:900}
body.board-ui .board-post-view .post-content{word-break:break-word;overflow-wrap:anywhere}
body.board-ui .board-post-view .post-content img{max-width:100%;height:auto}
@media(max-width:760px){
  body.board-ui .wysiwyg-toolbar{gap:4px;padding:6px}
  body.board-ui .wysiwyg-tool-group{padding-right:3px}
  body.board-ui .wysiwyg-btn,body.board-ui .wysiwyg-select,body.board-ui .wysiwyg-color{min-height:30px}
  body.board-ui .wysiwyg-btn{min-width:30px;padding:0 6px;font-size:10px}
  body.board-ui .wysiwyg-select{max-width:91px;font-size:10px}
  body.board-ui .wysiwyg-editor{min-height:270px;max-height:none;padding:14px 15px;font-size:13px}
  body.board-ui .wysiwyg-status span{display:none}
}

/* ===== 2026-09-10 게시판 Muger WYSIWYG Editor형 확장 ===== */
body.board-ui .muger-wysiwyg{position:relative}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar{align-items:center}
body.board-ui .muger-wysiwyg .wysiwyg-format{max-width:92px}
body.board-ui .muger-wysiwyg .wysiwyg-font-family{max-width:118px}
body.board-ui .muger-wysiwyg .wysiwyg-font-size{max-width:88px}
body.board-ui .muger-wysiwyg .wysiwyg-highlight span{text-decoration:none;font-size:9px;background:#fff3a3;padding:2px 3px;border-radius:3px;color:#6b5b00}
body.board-ui .muger-wysiwyg .align-center{transform:scaleX(.86)}
body.board-ui .muger-wysiwyg .align-right{text-align:right}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:6px 8px;border-bottom:1px solid #dfe6ed;background:#f3f7fb;color:#475569;font-size:10px}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar[hidden]{display:none!important}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar strong{margin-right:2px;color:#1f4d39}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar button{min-height:26px;padding:0 7px;border:1px solid #cdd8e2;border-radius:6px;background:#fff;color:#334155;font:inherit;font-weight:800;cursor:pointer}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar button:hover{border-color:var(--board-accent);background:var(--board-accent-pale)}
body.board-ui .muger-wysiwyg .wysiwyg-html-source{display:none;width:100%;min-height:420px;max-height:68vh;resize:vertical;padding:16px 18px;border:0;outline:0;background:#101827;color:#dbeafe;font:12px/1.6 Consolas,'Courier New',monospace;tab-size:2;box-sizing:border-box}
body.board-ui .muger-wysiwyg.is-source-mode .wysiwyg-editor{display:none}
body.board-ui .muger-wysiwyg.is-source-mode .wysiwyg-html-source{display:block}
body.board-ui .muger-wysiwyg .wysiwyg-status [data-wysiwyg-message].is-busy{color:#9a6700;font-weight:800}
body.board-ui .muger-wysiwyg .wysiwyg-status [data-wysiwyg-message].is-ok{color:#1f7a42;font-weight:800}
body.board-ui .muger-wysiwyg .wysiwyg-status [data-wysiwyg-message].is-error{color:#b42318;font-weight:800}
body.board-ui .muger-wysiwyg .wysiwyg-editor img,body.board-ui .board-post-view .post-content img{display:inline-block;max-width:100%;height:auto;margin:.5em 0;border-radius:4px;vertical-align:middle}
body.board-ui .muger-wysiwyg .wysiwyg-editor img{cursor:pointer;outline-offset:2px}
body.board-ui .muger-wysiwyg .wysiwyg-editor img:hover{outline:2px solid color-mix(in srgb,var(--board-accent) 35%,transparent)}
body.board-ui .muger-wysiwyg .wysiwyg-editor table{max-width:100%}
body.board-ui .muger-wysiwyg .wysiwyg-editor td:focus,body.board-ui .muger-wysiwyg .wysiwyg-editor th:focus{outline:2px solid var(--board-accent);outline-offset:-2px}
html.wysiwyg-fullscreen-open,html.wysiwyg-fullscreen-open body{overflow:hidden!important}
body.board-ui .muger-wysiwyg.is-fullscreen{position:fixed!important;z-index:100000!important;inset:0!important;width:100vw!important;height:100vh!important;display:flex!important;flex-direction:column!important;border-radius:0!important;border:0!important;background:#fff!important;box-shadow:none!important}
body.board-ui .muger-wysiwyg.is-fullscreen .wysiwyg-toolbar{position:relative!important;top:auto!important;flex:0 0 auto;max-height:34vh;overflow:auto}
body.board-ui .muger-wysiwyg.is-fullscreen .wysiwyg-contextbar{flex:0 0 auto}
body.board-ui .muger-wysiwyg.is-fullscreen .wysiwyg-editor,body.board-ui .muger-wysiwyg.is-fullscreen .wysiwyg-html-source{flex:1 1 auto!important;min-height:0!important;max-height:none!important;height:auto!important;overflow:auto!important}
body.board-ui .muger-wysiwyg.is-fullscreen .wysiwyg-status{flex:0 0 auto}
@media(max-width:700px){
  body.board-ui .muger-wysiwyg .wysiwyg-font-family{max-width:102px}
  body.board-ui .muger-wysiwyg .wysiwyg-contextbar{overflow-x:auto;flex-wrap:nowrap}
  body.board-ui .muger-wysiwyg .wysiwyg-contextbar button{white-space:nowrap}
  body.board-ui .muger-wysiwyg .wysiwyg-html-source{min-height:320px;font-size:11px}
}


/* ===== 2026-09-10 게시판 WYSIWYG 기본 색상 팔레트 ===== */
body.board-ui .muger-wysiwyg .wysiwyg-palette{position:relative;margin:0}
body.board-ui .muger-wysiwyg .wysiwyg-palette summary{list-style:none}
body.board-ui .muger-wysiwyg .wysiwyg-palette summary::-webkit-details-marker{display:none}
body.board-ui .muger-wysiwyg .wysiwyg-palette-summary{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:48px;height:32px;padding:0 7px;border:1px solid #d9e1e8;border-radius:7px;background:#fff;color:#334155;box-sizing:border-box;cursor:pointer;font-size:11px;font-weight:900;user-select:none}
body.board-ui .muger-wysiwyg .wysiwyg-palette-summary:hover,body.board-ui .muger-wysiwyg .wysiwyg-palette[open] .wysiwyg-palette-summary{border-color:var(--board-accent);background:var(--board-accent-pale);color:var(--board-accent-dark)}
body.board-ui .muger-wysiwyg .wysiwyg-palette-a{font:900 14px/1 Georgia,'Times New Roman',serif;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:2px}
body.board-ui .muger-wysiwyg .wysiwyg-palette-highlight{font-size:9px;line-height:1;background:#fff3a3;color:#6b5b00;padding:3px 4px;border-radius:3px}
body.board-ui .muger-wysiwyg .wysiwyg-palette-current{display:block;width:14px;height:5px;border:1px solid rgba(15,23,42,.18);border-radius:2px;background:var(--palette-current,#263244)}
body.board-ui .muger-wysiwyg .wysiwyg-palette-popover{position:absolute;z-index:30;top:37px;left:0;width:216px;padding:10px;border:1px solid #cfd9e3;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.17);box-sizing:border-box}
body.board-ui .muger-wysiwyg .wysiwyg-bg-palette .wysiwyg-palette-popover{left:auto;right:0}
body.board-ui .muger-wysiwyg .wysiwyg-palette-popover>strong{display:block;margin:0 0 7px;color:#334155;font-size:11px}
body.board-ui .muger-wysiwyg .wysiwyg-swatches{display:grid;grid-template-columns:repeat(6,26px);gap:5px}
body.board-ui .muger-wysiwyg .wysiwyg-swatch{position:relative;width:26px;height:26px;padding:0;border:1px solid rgba(15,23,42,.16);border-radius:6px;background:var(--swatch);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
body.board-ui .muger-wysiwyg .wysiwyg-swatch:hover,body.board-ui .muger-wysiwyg .wysiwyg-swatch:focus-visible{outline:2px solid var(--board-accent);outline-offset:1px;transform:scale(1.06)}
body.board-ui .muger-wysiwyg .wysiwyg-swatch.is-light{border-color:#c8d0d8}
body.board-ui .muger-wysiwyg .wysiwyg-custom-color{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;border-top:1px solid #edf1f5;color:#64748b;font-size:10px;font-weight:800}
body.board-ui .muger-wysiwyg .wysiwyg-custom-color input{width:34px;height:26px;padding:1px;border:1px solid #d7e0e7;border-radius:6px;background:#fff;cursor:pointer}
@media(max-width:700px){
  body.board-ui .muger-wysiwyg .wysiwyg-palette-summary{height:30px;min-width:44px;padding:0 6px}
  body.board-ui .muger-wysiwyg .wysiwyg-palette-popover{position:fixed;z-index:100005;top:auto;left:12px!important;right:12px!important;bottom:12px;width:auto;max-width:none}
  body.board-ui .muger-wysiwyg .wysiwyg-swatches{grid-template-columns:repeat(6,minmax(26px,1fr))}
  body.board-ui .muger-wysiwyg .wysiwyg-swatch{width:100%;min-width:26px}
}


/* ===== 2026-09-10 게시판 WYSIWYG 표 크기·정렬 아이콘·글자크기 직접지정 ===== */
body.board-ui .muger-wysiwyg .wysiwyg-align-icon{display:flex;flex-direction:column;justify-content:center;gap:2px;width:18px;height:16px;box-sizing:border-box}
body.board-ui .muger-wysiwyg .wysiwyg-align-icon i{display:block;height:2px;border-radius:1px;background:currentColor}
body.board-ui .muger-wysiwyg .wysiwyg-align-icon i:nth-child(1){width:100%}
body.board-ui .muger-wysiwyg .wysiwyg-align-icon i:nth-child(2){width:68%}
body.board-ui .muger-wysiwyg .wysiwyg-align-icon i:nth-child(3){width:88%}
body.board-ui .muger-wysiwyg .wysiwyg-align-icon i:nth-child(4){width:55%}
body.board-ui .muger-wysiwyg .wysiwyg-align-icon.is-left i{align-self:flex-start}
body.board-ui .muger-wysiwyg .wysiwyg-align-icon.is-center i{align-self:center}
body.board-ui .muger-wysiwyg .wysiwyg-align-icon.is-right i{align-self:flex-end}
body.board-ui .muger-wysiwyg .wysiwyg-align-icon.is-justify i{width:100%;align-self:stretch}
body.board-ui .muger-wysiwyg .wysiwyg-font-size-custom{display:inline-flex;align-items:center;gap:3px;height:32px;padding:0 4px 0 6px;border:1px solid #d9e1e8;border-radius:7px;background:#fff;color:#64748b;font-size:10px;font-weight:800;box-sizing:border-box}
body.board-ui .muger-wysiwyg .wysiwyg-font-size-custom input{width:42px;height:24px;padding:2px 3px;border:0;border-right:1px solid #edf1f5;outline:0;background:transparent;color:#263244;font-size:11px;font-weight:800;line-height:1;font-family:inherit;text-align:right;box-sizing:border-box}
body.board-ui .muger-wysiwyg .wysiwyg-font-size-custom .wysiwyg-size-apply{height:24px;min-height:24px;padding:0 6px;border:0;border-radius:5px;background:var(--board-accent-pale);color:var(--board-accent-dark);font-size:10px;font-weight:900;cursor:pointer}
body.board-ui .muger-wysiwyg .wysiwyg-font-size-custom .wysiwyg-size-apply:hover{background:#dcefe4}
body.board-ui .muger-wysiwyg .wysiwyg-context-label{font-weight:800;color:#64748b;white-space:nowrap}
body.board-ui .muger-wysiwyg .wysiwyg-context-sep{display:inline-block;width:1px;height:20px;margin:0 2px;background:#d7e0e7;flex:0 0 auto}
body.board-ui .muger-wysiwyg .wysiwyg-table-size-control{display:inline-flex;align-items:center;gap:3px;min-height:26px;padding:0 5px;border:1px solid #d7e0e7;border-radius:6px;background:#fff;color:#475569;font-size:10px;font-weight:800;white-space:nowrap;box-sizing:border-box}
body.board-ui .muger-wysiwyg .wysiwyg-table-size-control input{width:50px;height:20px;padding:1px 3px;border:0;border-left:1px solid #edf1f5;border-right:1px solid #edf1f5;outline:0;background:#fff;color:#263244;font-size:10px;font-weight:800;line-height:1;font-family:inherit;text-align:right;box-sizing:border-box}
body.board-ui .muger-wysiwyg .wysiwyg-editor td,body.board-ui .muger-wysiwyg .wysiwyg-editor th{box-sizing:border-box}
@media (max-width:700px){
  body.board-ui .muger-wysiwyg .wysiwyg-font-size-custom{height:30px}
  body.board-ui .muger-wysiwyg .wysiwyg-font-size-custom input{width:38px}
  body.board-ui .muger-wysiwyg .wysiwyg-context-sep{height:18px}
}

/* ===== 2026-09-10 게시판 WYSIWYG 안정화 v4 ===== */
body.board-ui .wysiwyg{overflow:visible}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar{border-radius:11px 11px 0 0}
body.board-ui .muger-wysiwyg .wysiwyg-palette-popover{
  position:fixed;
  z-index:100005;
  top:auto;
  left:12px;
  right:auto;
  bottom:auto;
  width:216px;
  max-width:calc(100vw - 24px);
}
body.board-ui .muger-wysiwyg .wysiwyg-bg-palette .wysiwyg-palette-popover{left:12px;right:auto}
body.board-ui .board-post-view .post-content{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
body.board-ui .board-post-view .post-content table{max-width:none}
body.board-ui .board-list-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}
body.board-ui .board-list-count{color:#64748b;font-size:11px;font-weight:800}
body.board-ui .board-pagination{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
body.board-ui .board-pagination a,body.board-ui .board-pagination strong{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border:1px solid #d9e1e8;border-radius:7px;background:#fff;color:#475569;text-decoration:none;font-size:11px;font-weight:900;box-sizing:border-box}
body.board-ui .board-pagination a:hover{border-color:var(--board-accent);background:var(--board-accent-pale);color:var(--board-accent-dark)}
body.board-ui .board-pagination strong{border-color:var(--board-accent);background:var(--board-accent);color:#fff}
@media(max-width:700px){
  body.board-ui .muger-wysiwyg .wysiwyg-palette-popover{left:12px!important;right:12px!important;top:auto!important;bottom:12px!important;width:auto!important;max-width:none!important}
  body.board-ui .board-list-footer{align-items:flex-start;flex-direction:column}
  body.board-ui .board-pagination{width:100%}
}

/* ===== 2026-09-10 게시판 WYSIWYG 표 하위도구 한줄 표시 ===== */
body.board-ui .muger-wysiwyg .wysiwyg-contextbar{
  flex-wrap:nowrap !important;
  overflow-x:auto;
  overflow-y:hidden;
  white-space:nowrap;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar > strong,
body.board-ui .muger-wysiwyg .wysiwyg-contextbar > button,
body.board-ui .muger-wysiwyg .wysiwyg-contextbar > label,
body.board-ui .muger-wysiwyg .wysiwyg-contextbar > span{
  flex:0 0 auto;
}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar .wysiwyg-table-size-control{
  flex:0 0 auto;
}


/* ===== 2026-09-10 게시판 WYSIWYG 표 하위도구 스크롤 없는 1줄 컴팩트 ===== */
body.board-ui .muger-wysiwyg .wysiwyg-contextbar{
  flex-wrap:nowrap !important;
  overflow:visible !important;
  gap:2px !important;
  padding:4px 6px !important;
  white-space:nowrap;
  font-size:9px !important;
  min-width:0;
}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar > strong{
  margin-right:1px !important;
  flex:0 0 auto;
}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar > button{
  flex:0 0 auto;
  min-width:24px !important;
  min-height:24px !important;
  height:24px;
  padding:0 4px !important;
  border-radius:5px !important;
  font-size:9px !important;
  line-height:1 !important;
}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar .wysiwyg-context-label{
  flex:0 0 auto;
  margin:0 1px;
  font-size:9px;
}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar .wysiwyg-context-group-label{
  color:#274c39;
  font-weight:900;
}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar .wysiwyg-context-sep{
  flex:0 0 1px !important;
  width:1px !important;
  height:16px !important;
  margin:0 2px !important;
}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar .wysiwyg-table-size-control{
  flex:0 0 auto !important;
  min-height:24px !important;
  height:24px;
  gap:2px !important;
  padding:0 3px !important;
  border-radius:5px !important;
  font-size:9px !important;
}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar .wysiwyg-table-size-control input{
  width:38px !important;
  height:18px !important;
  padding:0 2px !important;
  font-size:9px !important;
}
@media(max-width:760px){
  body.board-ui .muger-wysiwyg .wysiwyg-contextbar{
    gap:1px !important;
    padding:3px 4px !important;
    font-size:8px !important;
  }
  body.board-ui .muger-wysiwyg .wysiwyg-contextbar > button{
    min-width:21px !important;
    height:22px !important;
    min-height:22px !important;
    padding:0 3px !important;
    font-size:8px !important;
  }
  body.board-ui .muger-wysiwyg .wysiwyg-contextbar .wysiwyg-context-label{
    font-size:8px !important;
  }
  body.board-ui .muger-wysiwyg .wysiwyg-contextbar .wysiwyg-context-sep{
    margin:0 1px !important;
  }
  body.board-ui .muger-wysiwyg .wysiwyg-contextbar .wysiwyg-table-size-control{
    height:22px !important;
    min-height:22px !important;
    padding:0 2px !important;
    font-size:8px !important;
  }
  body.board-ui .muger-wysiwyg .wysiwyg-contextbar .wysiwyg-table-size-control input{
    width:32px !important;
    height:17px !important;
    font-size:8px !important;
  }
}

/* ===== 2026-09-10 게시판 WYSIWYG 표 디자인 편집기 v5 ===== */
body.board-ui .muger-wysiwyg .wysiwyg-contextbar{position:relative;z-index:22}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar > button[data-table-panel]{min-width:42px!important;padding:0 6px!important;font-size:9px!important}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar > button[data-table-panel].active{border-color:var(--board-accent)!important;background:var(--board-accent-pale)!important;color:var(--board-accent-dark)!important}
body.board-ui .muger-wysiwyg .wysiwyg-table-popover{position:absolute;z-index:100020;top:calc(100% + 5px);left:4px;width:min(560px,calc(100% - 8px));max-height:360px;overflow:auto;border:1px solid #cbd6df;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.18);white-space:normal;box-sizing:border-box}
body.board-ui .muger-wysiwyg .wysiwyg-table-popover[hidden]{display:none!important}
body.board-ui .muger-wysiwyg .wysiwyg-table-popover-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-bottom:1px solid #e5ebf0;background:#f7fafc}
body.board-ui .muger-wysiwyg .wysiwyg-table-popover-head strong{margin:0;color:#1f4d39;font-size:11px}
body.board-ui .muger-wysiwyg .wysiwyg-table-popover-head button{width:26px;min-width:26px;min-height:24px!important;height:24px;padding:0!important;border-radius:6px;font-size:15px!important;line-height:1}
body.board-ui .muger-wysiwyg .wysiwyg-table-popover-body{display:grid;gap:7px;padding:9px}
body.board-ui .muger-wysiwyg .wysiwyg-table-panel-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;color:#475569;font-size:10px;font-weight:800}
body.board-ui .muger-wysiwyg .wysiwyg-table-panel-row>span{color:#64748b;font-weight:900;white-space:nowrap}
body.board-ui .muger-wysiwyg .wysiwyg-table-panel-row label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
body.board-ui .muger-wysiwyg .wysiwyg-table-panel-row select,
body.board-ui .muger-wysiwyg .wysiwyg-table-panel-grid select{height:28px;padding:0 25px 0 7px;border:1px solid #d4dde5;border-radius:6px;background:#fff;color:#334155;font:800 10px/1 inherit}
body.board-ui .muger-wysiwyg .wysiwyg-table-popover button{min-height:28px;padding:0 8px;border:1px solid #cdd8e2;border-radius:6px;background:#fff;color:#334155;font-size:10px;font-weight:850;cursor:pointer}
body.board-ui .muger-wysiwyg .wysiwyg-table-popover button:hover{border-color:var(--board-accent);background:var(--board-accent-pale);color:var(--board-accent-dark)}
body.board-ui .muger-wysiwyg .wysiwyg-table-popover button.is-danger{border-color:#e7c7c7;color:#a33a3a;background:#fffafa}
body.board-ui .muger-wysiwyg .wysiwyg-table-popover button.is-danger:hover{border-color:#d79a9a;background:#fff1f1}
body.board-ui .muger-wysiwyg .wysiwyg-table-panel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
body.board-ui .muger-wysiwyg .wysiwyg-table-panel-grid label{display:grid;gap:3px;color:#64748b;font-size:9px;font-weight:900}
body.board-ui .muger-wysiwyg .wysiwyg-table-fill-swatches{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
body.board-ui .muger-wysiwyg .wysiwyg-table-color-swatch{width:25px!important;min-width:25px!important;height:25px!important;min-height:25px!important;padding:0!important;border-radius:6px!important;background:var(--table-swatch)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
body.board-ui .muger-wysiwyg .wysiwyg-table-color-swatch:hover{outline:2px solid var(--board-accent);outline-offset:1px}
body.board-ui .muger-wysiwyg .wysiwyg-table-custom-color{display:inline-flex;align-items:center;gap:4px;color:#64748b;font-size:9px;font-weight:900;white-space:nowrap}
body.board-ui .muger-wysiwyg .wysiwyg-table-custom-color input,
body.board-ui .muger-wysiwyg [data-table-border-color]{width:32px;height:27px;padding:1px;border:1px solid #d4dde5;border-radius:6px;background:#fff;cursor:pointer;box-sizing:border-box}
body.board-ui .muger-wysiwyg .wysiwyg-table-mini-sep{width:1px;height:18px;background:#dbe3e9;margin:0 2px}
body.board-ui .muger-wysiwyg .wysiwyg-table-style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
body.board-ui .muger-wysiwyg .wysiwyg-table-panel-help{margin:0;color:#7a8793;font-size:9px;line-height:1.45}
body.board-ui .muger-wysiwyg .wysiwyg-editor [data-wysiwyg-selected-cell="1"]{outline:2px solid #2c7bc0!important;outline-offset:-2px;box-shadow:inset 0 0 0 1px rgba(44,123,192,.18)}
body.board-ui .muger-wysiwyg .wysiwyg-editor td,body.board-ui .muger-wysiwyg .wysiwyg-editor th,
body.board-ui .board-post-view .post-content td,body.board-ui .board-post-view .post-content th{background-clip:padding-box}
@media(max-width:720px){
  body.board-ui .muger-wysiwyg .wysiwyg-contextbar>strong{display:none}
  body.board-ui .muger-wysiwyg .wysiwyg-contextbar > button[data-table-panel]{flex:1 1 0!important;min-width:0!important;padding:0 2px!important;font-size:8px!important}
  body.board-ui .muger-wysiwyg .wysiwyg-table-popover{position:fixed;z-index:100025;left:8px!important;right:8px;width:auto;top:auto;bottom:10px;max-height:58vh}
  body.board-ui .muger-wysiwyg .wysiwyg-table-panel-grid{grid-template-columns:1fr 1fr}
  body.board-ui .muger-wysiwyg .wysiwyg-table-style-grid{grid-template-columns:1fr 1fr}
}


/* ===== 2026-09-10 게시판 WYSIWYG 상단메뉴 UX 통합 v6 ===== */
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:3px!important;
  padding:6px 7px!important;
  overflow:visible!important;
  white-space:nowrap;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group{
  flex:0 0 auto;
  gap:3px;
  padding-right:5px;
  margin-right:0;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group-more{margin-left:auto}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-format{width:78px;max-width:78px}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-font-family{width:102px;max-width:102px}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-btn{height:30px;min-height:30px;min-width:30px;padding:0 6px}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-btn-labeled{gap:3px}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-btn-labeled span{font-size:10px}
body.board-ui .muger-wysiwyg .wysiwyg-tool-menu{position:relative;margin:0}
body.board-ui .muger-wysiwyg .wysiwyg-tool-menu>summary{list-style:none}
body.board-ui .muger-wysiwyg .wysiwyg-tool-menu>summary::-webkit-details-marker{display:none}
body.board-ui .muger-wysiwyg .wysiwyg-tool-menu-summary{
  display:inline-flex;align-items:center;justify-content:center;gap:3px;height:30px;min-width:42px;padding:0 7px;
  border:1px solid #d9e1e8;border-radius:7px;background:#fff;color:#334155;box-sizing:border-box;cursor:pointer;
  font-size:10px;font-weight:900;line-height:1;user-select:none;
}
body.board-ui .muger-wysiwyg .wysiwyg-tool-menu-summary:hover,
body.board-ui .muger-wysiwyg .wysiwyg-tool-menu[open]>.wysiwyg-tool-menu-summary{
  border-color:var(--board-accent);background:var(--board-accent-pale);color:var(--board-accent-dark)
}
body.board-ui .muger-wysiwyg .wysiwyg-tool-menu-summary strong{font-size:10px;color:inherit}
body.board-ui .muger-wysiwyg .wysiwyg-tool-menu-summary small{font-size:8px;color:#788694;font-weight:800}
body.board-ui .muger-wysiwyg .wysiwyg-tool-popover{
  position:fixed;z-index:100010;width:280px;max-width:calc(100vw - 20px);padding:9px;
  border:1px solid #cbd6df;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.18);
  white-space:normal;box-sizing:border-box
}
body.board-ui .muger-wysiwyg .wysiwyg-tool-popover-title{display:block;margin:0 0 7px;color:#1f4d39;font-size:11px}
body.board-ui .muger-wysiwyg .wysiwyg-tool-popover-buttons{display:grid;grid-template-columns:1fr 1fr;gap:5px}
body.board-ui .muger-wysiwyg .wysiwyg-tool-popover-buttons.is-two-col{grid-template-columns:1fr 1fr}
body.board-ui .muger-wysiwyg .wysiwyg-tool-popover .wysiwyg-btn{
  width:100%;min-width:0;height:32px;min-height:32px;justify-content:flex-start;gap:7px;padding:0 8px;font-size:10px
}
body.board-ui .muger-wysiwyg .wysiwyg-align-popover .wysiwyg-btn{justify-content:flex-start}
body.board-ui .muger-wysiwyg .wysiwyg-size-popover{display:grid;gap:7px}
body.board-ui .muger-wysiwyg .wysiwyg-size-popover .wysiwyg-font-size{width:100%;max-width:none;height:31px}
body.board-ui .muger-wysiwyg .wysiwyg-size-popover .wysiwyg-font-size-custom{width:100%;height:31px;justify-content:flex-start}
body.board-ui .muger-wysiwyg .wysiwyg-size-popover .wysiwyg-font-size-custom input{flex:1 1 auto;width:auto;min-width:44px}
body.board-ui .muger-wysiwyg .wysiwyg-menu-icon{display:inline-flex;width:14px;height:14px;align-items:center;justify-content:center}
body.board-ui .muger-wysiwyg .wysiwyg-mini-lines{position:relative;display:block;width:13px;height:10px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
body.board-ui .muger-wysiwyg .wysiwyg-mini-lines:after{content:'';position:absolute;left:0;top:3px;width:9px;border-top:2px solid currentColor}
body.board-ui .muger-wysiwyg .wysiwyg-object-popover{
  position:absolute;z-index:100020;top:calc(100% + 5px);left:4px;width:min(360px,calc(100% - 8px));
  border:1px solid #cbd6df;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.18);white-space:normal;box-sizing:border-box
}
body.board-ui .muger-wysiwyg .wysiwyg-object-popover[hidden]{display:none!important}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar > button[data-img-panel].active{border-color:var(--board-accent)!important;background:var(--board-accent-pale)!important;color:var(--board-accent-dark)!important}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar > button.is-danger{border-color:#e7c7c7!important;color:#a33a3a!important;background:#fffafa!important}
body.board-ui .muger-wysiwyg .wysiwyg-contextbar > button.is-danger:hover{border-color:#d79a9a!important;background:#fff1f1!important}

@media(max-width:1120px){
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux{flex-wrap:wrap!important}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group-more{margin-left:0}
}
@media(max-width:760px){
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux{gap:2px!important;padding:5px!important}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group{padding-right:3px;gap:2px}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-format{width:68px;max-width:68px}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-font-family{width:84px;max-width:84px}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-btn-labeled span{display:none}
  body.board-ui .muger-wysiwyg .wysiwyg-tool-menu-summary{height:28px;min-width:36px;padding:0 5px;font-size:9px}
  body.board-ui .muger-wysiwyg .wysiwyg-tool-popover{left:10px!important;right:10px!important;top:auto!important;bottom:10px!important;width:auto!important;max-width:none!important;max-height:58vh;overflow:auto}
  body.board-ui .muger-wysiwyg .wysiwyg-object-popover{position:fixed;z-index:100025;left:8px!important;right:8px;width:auto;top:auto;bottom:10px;max-height:58vh;overflow:auto}
}


/* ===== 2026-09-10 게시판 WYSIWYG 메뉴 1줄 + 팝업 취소 UX v7 ===== */
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux{
  flex-wrap:nowrap!important;
  gap:2px!important;
  padding:5px 6px!important;
  white-space:nowrap!important;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group{
  flex:0 0 auto!important;
  gap:2px!important;
  padding-right:4px!important;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group-more{margin-left:auto!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-format{width:70px!important;max-width:70px!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-font-family{width:90px!important;max-width:90px!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-btn{height:28px!important;min-height:28px!important;min-width:28px!important;padding:0 5px!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-palette-summary{height:28px!important;min-width:42px!important;padding:0 5px!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-menu-summary{height:28px!important;min-width:38px!important;padding:0 5px!important;font-size:9px!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-menu-summary strong{font-size:9px!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-menu-summary small{font-size:7px!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-btn-labeled{gap:2px!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-btn-labeled span{font-size:9px!important}
@media(max-width:1120px){
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux{flex-wrap:nowrap!important}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group-more{margin-left:auto!important}
}
@media(max-width:760px){
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-format{width:62px!important;max-width:62px!important}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-font-family{width:72px!important;max-width:72px!important}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-btn-labeled span{display:none!important}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group-more{margin-left:0!important}
}

/* ===== 2026-09-10 게시판 WYSIWYG 본문·글꼴·크기 메뉴 컴팩트 v8 ===== */
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group-type{
  gap:2px!important;
  padding-right:3px!important;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-format{
  width:56px!important;
  max-width:56px!important;
  padding-left:6px!important;
  padding-right:18px!important;
  font-size:9px!important;
  letter-spacing:-.2px!important;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-font-family{
  width:74px!important;
  max-width:74px!important;
  padding-left:6px!important;
  padding-right:18px!important;
  font-size:9px!important;
  letter-spacing:-.25px!important;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group-type .wysiwyg-tool-menu-summary{
  min-width:34px!important;
  padding:0 4px!important;
  gap:1px!important;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group-type .wysiwyg-tool-menu-summary span{
  font-size:8px!important;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group-type .wysiwyg-tool-menu-summary strong{
  font-size:9px!important;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group-type .wysiwyg-tool-menu-summary small{
  font-size:6.5px!important;
}
@media(max-width:760px){
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-format{
    width:50px!important;
    max-width:50px!important;
    font-size:8.5px!important;
  }
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-font-family{
    width:66px!important;
    max-width:66px!important;
    font-size:8.5px!important;
  }
}

/* ===== 2026-09-10 게시판 WYSIWYG 메뉴 무스크롤 + 본문·글꼴 가독성 v9 ===== */
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux{
  flex-wrap:nowrap!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  gap:2px!important;
  padding:5px 6px!important;
  white-space:nowrap!important;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group{
  flex:0 0 auto!important;
  gap:2px!important;
  padding-right:3px!important;
}
/* 본문·글꼴은 텍스트가 잘 보이도록 v8보다 다시 넓힘 */
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-format{
  width:72px!important;
  max-width:72px!important;
  min-width:72px!important;
  padding-left:7px!important;
  padding-right:18px!important;
  font-size:10px!important;
  letter-spacing:-.15px!important;
  text-overflow:clip!important;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-font-family{
  width:104px!important;
  max-width:104px!important;
  min-width:104px!important;
  padding-left:7px!important;
  padding-right:18px!important;
  font-size:10px!important;
  letter-spacing:-.15px!important;
  text-overflow:clip!important;
}
/* 늘어난 앞쪽 폭만큼 나머지 도구는 기능을 유지한 채 조금 더 조밀하게 */
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-btn{
  height:27px!important;
  min-height:27px!important;
  min-width:26px!important;
  padding:0 4px!important;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-palette-summary{
  height:27px!important;
  min-width:36px!important;
  padding:0 4px!important;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-menu-summary{
  height:27px!important;
  min-width:34px!important;
  padding:0 4px!important;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group-type .wysiwyg-tool-menu-summary{
  min-width:38px!important;
}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-menu-summary strong{font-size:9px!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-menu-summary small{font-size:6.5px!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-btn-labeled{gap:2px!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-btn-labeled span{font-size:8.5px!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group-more{margin-left:0!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group-more details[data-tool-menu="more"] > summary span{display:none!important}

/* 중간 폭에서는 텍스트 버튼만 아이콘 중심으로 줄여 가로 스크롤이 생기지 않게 함 */
@media(max-width:980px){
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-format{
    width:68px!important;max-width:68px!important;min-width:68px!important;font-size:9.5px!important
  }
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-font-family{
    width:96px!important;max-width:96px!important;min-width:96px!important;font-size:9.5px!important
  }
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-btn-labeled span{display:none!important}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-menu-summary{min-width:31px!important;padding:0 3px!important}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-palette-summary{min-width:32px!important;padding:0 3px!important}
}

/* 모바일에서도 이전의 horizontal auto-scroll을 사용하지 않음 */
@media(max-width:760px){
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux{
    flex-wrap:nowrap!important;
    overflow:visible!important;
    -webkit-overflow-scrolling:auto!important;
    scrollbar-width:none!important;
    gap:1px!important;
    padding:4px!important;
  }
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux::-webkit-scrollbar{display:none!important}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-format{
    width:62px!important;max-width:62px!important;min-width:62px!important;font-size:9px!important;padding-left:5px!important;padding-right:16px!important
  }
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-font-family{
    width:88px!important;max-width:88px!important;min-width:88px!important;font-size:9px!important;padding-left:5px!important;padding-right:16px!important
  }
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group{gap:1px!important;padding-right:2px!important}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-btn{min-width:24px!important;width:auto!important;height:25px!important;min-height:25px!important;padding:0 3px!important}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-palette-summary{min-width:29px!important;height:25px!important;padding:0 2px!important}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-menu-summary{min-width:28px!important;height:25px!important;padding:0 2px!important;font-size:8px!important}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-group-type .wysiwyg-tool-menu-summary{min-width:32px!important}
  body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-tool-menu-summary span:not(.wysiwyg-menu-icon){font-size:7.5px!important}
}

/* ===== 2026-09-11 게시판 체크리스트 · 이모티콘 · 지정일 알림 ===== */
body.board-ui .board-alert-settings{display:flex;align-items:center;gap:10px;margin:-2px 0 12px;padding:9px 11px;border:1px solid #dce5df;border-radius:11px;background:#fafcfb;transition:.16s ease}
body.board-ui .board-alert-settings.is-active{border-color:#a8cdb6;background:#f3faf5;box-shadow:0 0 0 2px rgba(47,143,78,.05)}
body.board-ui .board-alert-toggle{display:flex;align-items:center;gap:8px;min-width:0;flex:1;cursor:pointer}
body.board-ui .board-alert-toggle>input{width:18px;height:18px;margin:0;accent-color:#2f8f4e;flex:0 0 auto}
body.board-ui .board-alert-toggle-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fff6db;font-size:16px;flex:0 0 auto}
body.board-ui .board-alert-toggle span:last-child{display:block;min-width:0}
body.board-ui .board-alert-toggle strong{display:block;color:#263244;font-size:12px;line-height:1.2}
body.board-ui .board-alert-toggle small{display:block;margin-top:2px;color:#718077;font-size:9px;line-height:1.25}
body.board-ui .board-alert-date{display:flex;align-items:center;gap:7px;flex:0 0 auto;color:#5f6d65;font-size:10px;font-weight:900}
body.board-ui .board-alert-date input{height:32px;padding:4px 8px;border:1px solid #cfd9d3;border-radius:7px;background:#fff;color:#263244;font:800 11px/1.2 inherit;box-sizing:border-box}
body.board-ui .board-alert-settings:not(.is-active) .board-alert-date{opacity:.55}
body.board-ui .wysiwyg-emoji-popover{padding:10px!important}
body.board-ui .wysiwyg-emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}
body.board-ui .wysiwyg-emoji-grid button{display:grid;place-items:center;min-width:32px;height:32px;padding:0;border:1px solid #e0e6e2;border-radius:7px;background:#fff;font-size:18px;line-height:1;cursor:pointer}
body.board-ui .wysiwyg-emoji-grid button:hover,body.board-ui .wysiwyg-emoji-grid button:focus-visible{border-color:var(--board-accent);background:var(--board-accent-pale);transform:translateY(-1px)}
body.board-ui .muger-wysiwyg .wysiwyg-editor div:has(> input[type="checkbox"]),body.board-ui .board-post-view .post-content div:has(> input[type="checkbox"]){display:flex;align-items:flex-start;gap:7px;min-height:26px;margin:2px 0;padding:3px 7px;border-radius:6px}
body.board-ui .muger-wysiwyg .wysiwyg-editor div:has(> input[type="checkbox"]):hover{background:#f5faf7}
body.board-ui .muger-wysiwyg .wysiwyg-editor input[type="checkbox"],body.board-ui .board-post-view .post-content input[type="checkbox"]{width:17px;height:17px;margin:2px 0 0;accent-color:var(--board-accent);flex:0 0 auto}
body.board-ui .muger-wysiwyg .wysiwyg-editor div:has(> input[type="checkbox"])>span,body.board-ui .board-post-view .post-content div:has(> input[type="checkbox"])>span{min-width:0;flex:1;line-height:1.55}
body.board-ui .muger-wysiwyg .wysiwyg-editor input[type="checkbox"]:checked+span,body.board-ui .board-post-view .post-content input[type="checkbox"]:checked+span{text-decoration:line-through;color:#7d8982}
body.board-ui .board-alert-badge{display:inline-flex;align-items:center;gap:3px;margin-left:7px;padding:2px 6px;border:1px solid #efd693;border-radius:999px;background:#fff8e6;color:#7d6118;font-size:9px;font-weight:900;line-height:1.2;vertical-align:middle;white-space:nowrap}
body.board-ui .board-post-alert-meta{padding:2px 7px;border-radius:999px;background:#fff7df;color:#785d18}

/* 지정일 게시판 알림은 직원사이트 전체에서 표시 */
.board-alert-popup[hidden]{display:none!important}
.board-alert-popup{position:fixed;inset:0;z-index:200000;display:grid;place-items:center;padding:18px}
.board-alert-popup-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(14,27,20,.58);cursor:default}
.board-alert-popup-dialog{position:relative;z-index:1;width:min(650px,calc(100vw - 28px));max-height:min(78vh,720px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #cfdcd4;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(8,24,15,.30);outline:0}
.board-alert-popup-head{display:grid;grid-template-columns:46px minmax(0,1fr) 36px;gap:11px;align-items:center;padding:16px 17px;border-bottom:1px solid #e5ece7;background:linear-gradient(180deg,#fbfefc 0%,#f4faf6 100%)}
.board-alert-popup-bell{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#fff0bd;font-size:23px;box-shadow:inset 0 0 0 1px #ecd58b}
.board-alert-popup-head p{margin:0;color:#2f8f4e;font-size:9px;font-weight:1000;letter-spacing:.12em}
.board-alert-popup-head h2{display:flex;align-items:center;gap:7px;margin:2px 0 3px;color:#193928;font-size:20px;line-height:1.2}
.board-alert-popup-head h2 span{display:inline-grid;place-items:center;min-width:27px;height:21px;padding:0 7px;border-radius:999px;background:#2f8f4e;color:#fff;font-size:10px}
.board-alert-popup-head small{color:#6f7d75;font-size:10px;line-height:1.3}
.board-alert-popup-x{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #d6e1da;border-radius:9px;background:#fff;color:#526259;font-size:22px;line-height:1;cursor:pointer}
.board-alert-popup-x:hover{background:#eef6f1;color:#245c39}
.board-alert-popup-body{min-height:0;overflow:auto;padding:10px 12px}
.board-alert-popup-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.board-alert-popup-list li{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border:1px solid #e0e8e3;border-radius:11px;background:#fff}
.board-alert-popup-item-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f3f7f4;font-size:17px}
.board-alert-popup-item-copy{min-width:0}
.board-alert-popup-kind{display:inline-block;margin:0 5px 2px 0;padding:1px 5px;border-radius:4px;background:#eaf5ed;color:#246f3c;font-size:8px;font-weight:1000;vertical-align:1px}
.board-alert-popup-item-copy strong{display:inline;color:#28362e;font-size:13px;line-height:1.35;word-break:break-word}
.board-alert-popup-item-copy small{display:block;margin-top:3px;color:#7a867f;font-size:9px}
.board-alert-popup-list .btn{min-width:54px;height:31px;padding:0 10px;font-size:10px}
.board-alert-popup-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-top:1px solid #e5ece7;background:#fbfcfb}
.board-alert-popup-actions label{display:flex;align-items:center;gap:6px;color:#637168;font-size:10px;font-weight:800;cursor:pointer}
.board-alert-popup-actions input{width:16px;height:16px;margin:0;accent-color:#2f8f4e}
.board-alert-popup-actions .btn{min-width:78px}
body.board-alert-popup-open{overflow:hidden}
@media(max-width:700px){
  body.board-ui .board-alert-settings{align-items:stretch;flex-direction:column;gap:7px}
  body.board-ui .board-alert-date{justify-content:space-between}
  body.board-ui .board-alert-date input{flex:1;max-width:220px}
  .board-alert-popup{align-items:end;padding:8px}
  .board-alert-popup-dialog{width:100%;max-height:88dvh;border-radius:16px 16px 10px 10px}
  .board-alert-popup-head{grid-template-columns:40px minmax(0,1fr) 34px;padding:13px 12px;gap:8px}
  .board-alert-popup-bell{width:38px;height:38px;border-radius:11px;font-size:20px}
  .board-alert-popup-head h2{font-size:17px}
  .board-alert-popup-list li{grid-template-columns:34px minmax(0,1fr) auto;padding:9px 8px}
  .board-alert-popup-item-icon{width:32px;height:32px}
}

/* v16 · 오늘의 게시판 알림 내용 마우스오버 미리보기 */
.board-alert-popup-item-copy[data-board-alert-preview]{padding:5px 6px;margin:-5px -6px;border-radius:8px;cursor:help;outline:none;transition:background .14s ease,box-shadow .14s ease}
.board-alert-popup-item-copy[data-board-alert-preview]:hover,.board-alert-popup-item-copy[data-board-alert-preview]:focus{background:#f3faf5;box-shadow:inset 0 0 0 1px #cfe5d6}
.board-alert-preview-hint{color:#2f8f4e;font-weight:900;white-space:nowrap}
.board-alert-hover-preview[hidden]{display:none!important}
.board-alert-hover-preview{position:fixed;z-index:200004;width:min(430px,calc(100vw - 20px));max-height:min(300px,46vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid #c9d9cf;border-radius:13px;background:#fff;box-shadow:0 18px 46px rgba(8,24,15,.26);pointer-events:auto}
.board-alert-hover-preview-head{display:flex;align-items:center;gap:8px;padding:10px 11px 8px;border-bottom:1px solid #e6eee9;background:#f5faf7}
.board-alert-hover-preview-head span{flex:0 0 auto;padding:2px 6px;border-radius:5px;background:#e4f3e8;color:#246f3c;font-size:9px;font-weight:1000}
.board-alert-hover-preview-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#22372b;font-size:12px}
.board-alert-hover-preview-body{min-height:44px;overflow:auto;padding:11px 12px;color:#34483b;font-size:11px;line-height:1.6;white-space:pre-wrap;word-break:break-word}
.board-alert-hover-preview>small{display:block;padding:7px 11px;border-top:1px solid #edf2ef;background:#fbfcfb;color:#7a867f;font-size:9px}
@media print{.board-alert-popup{display:none!important}}
/* 신규 도구는 아이콘 중심으로 배치해 기존 1줄 도구막대 폭을 유지 */
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux [data-action="checklist"]>span,
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-emoji-menu>summary>span:last-child{display:none!important}
body.board-ui .muger-wysiwyg .wysiwyg-toolbar-ux .wysiwyg-emoji-menu>summary{min-width:29px!important}

/* 2026-09-11 v17: 게시물 보기 메모 */
body.board-ui .board-memo-panel{margin-top:14px;padding:18px 20px}
body.board-ui .board-memo-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:13px;border-bottom:1px solid #e5e7eb}
body.board-ui .board-memo-head .eyebrow{margin:0 0 3px;color:#64748b;font-size:10px;font-weight:800;letter-spacing:.08em}
body.board-ui .board-memo-head h2{margin:0;font-size:19px;line-height:1.2}
body.board-ui .board-memo-head>p{margin:0;color:#64748b;font-size:12px;line-height:1.45;text-align:right}
body.board-ui .board-memo-count{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;margin-left:4px;padding:0 7px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:12px;vertical-align:2px}
body.board-ui .board-memo-status{margin:12px 0 0}
body.board-ui .board-memo-form{padding:14px 0 15px;border-bottom:1px solid #e5e7eb}
body.board-ui .board-memo-form>label{display:block;margin-bottom:6px;font-size:13px;font-weight:800;color:#334155}
body.board-ui .board-memo-compose{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px;align-items:stretch}
body.board-ui .board-memo-compose textarea{width:100%;min-height:72px;max-height:180px;margin:0;padding:10px 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#0f172a;font:inherit;font-size:13px;line-height:1.55;resize:vertical;outline:none}
body.board-ui .board-memo-compose textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.10)}
body.board-ui .board-memo-submit{height:100%;min-height:72px;padding:8px 10px;font-weight:800}
body.board-ui .board-memo-form-help{display:flex;justify-content:space-between;gap:12px;margin-top:5px;color:#94a3b8;font-size:10px}
body.board-ui .board-memo-list{display:flex;flex-direction:column}
body.board-ui .board-memo-item{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;padding:13px 0;border-bottom:1px solid #f1f5f9}
body.board-ui .board-memo-item:last-child{border-bottom:0;padding-bottom:2px}
body.board-ui .board-memo-avatar{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#eef2ff;color:#3730a3;font-size:13px;font-weight:900}
body.board-ui .board-memo-body{min-width:0}
body.board-ui .board-memo-meta{display:flex;align-items:center;gap:8px;min-height:19px}
body.board-ui .board-memo-meta strong{font-size:12px;color:#1e293b}
body.board-ui .board-memo-meta span{font-size:10px;color:#94a3b8}
body.board-ui .board-memo-text{margin-top:4px;color:#334155;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
body.board-ui .board-memo-delete-form{margin:0;align-self:start}
body.board-ui .board-memo-delete{padding:3px 6px;border:0;background:transparent;color:#94a3b8;font-size:10px;cursor:pointer;border-radius:5px}
body.board-ui .board-memo-delete:hover{background:#fef2f2;color:#dc2626}
body.board-ui .board-memo-empty{padding:28px 10px 16px;text-align:center;color:#94a3b8;font-size:12px}
@media(max-width:700px){body.board-ui .board-memo-panel{padding:15px}body.board-ui .board-memo-head{display:block}body.board-ui .board-memo-head>p{margin-top:5px;text-align:left}body.board-ui .board-memo-compose{grid-template-columns:1fr}body.board-ui .board-memo-submit{min-height:40px;height:40px}body.board-ui .board-memo-form-help span:last-child{display:none}body.board-ui .board-memo-item{grid-template-columns:32px minmax(0,1fr) auto}body.board-ui .board-memo-avatar{width:32px;height:32px}}

/* 2026-09-11 v18: board list memo presence/count badge */
body.board-ui .board-list-memo-badge{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:2px 7px;border:1px solid #c7d2fe;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:9px;font-weight:900;line-height:1.2;vertical-align:middle;white-space:nowrap}
body.board-ui .board-list-memo-badge:hover{background:#e0e7ff;border-color:#a5b4fc}
@media(max-width:700px){body.board-ui .board-list-memo-badge{margin-left:4px;padding:2px 5px;font-size:8.5px}}


/* v21 - 홈 공지사항 팝업 본문: 게시판 알림 hover 미리보기와 같은 텍스트형 표시 */
body.embed-mode.board-notice-ui .board-post-view .post-content.board-popup-plain-content{
  min-height:140px;
  margin:14px 20px 18px;
  padding:16px 17px;
  overflow:auto;
  border:1px solid #edf2ef;
  border-radius:10px;
  background:#f9fbfa;
  color:#4c5d54;
  font-size:13px;
  line-height:1.65;
  white-space:pre-wrap;
  word-break:break-word;
}
body.embed-mode.board-notice-ui .board-post-view .post-content.board-popup-plain-content input,
body.embed-mode.board-notice-ui .board-post-view .post-content.board-popup-plain-content img,
body.embed-mode.board-notice-ui .board-post-view .post-content.board-popup-plain-content table{display:none!important}
@media(max-width:760px){
  body.embed-mode.board-notice-ui .board-post-view .post-content.board-popup-plain-content{margin:10px 12px 14px;padding:13px 14px;font-size:12px;line-height:1.6}
}

/* 2026-09-11 v22: 홈 공지게시판 hover를 오늘의 게시판 알림 hover와 동일한 고정형 미리보기로 통일 */
.home-notice-hover-preview{z-index:200004}
.home-detail-row.notice[data-home-notice-preview]{cursor:pointer}
.home-detail-row.notice[data-home-notice-preview]:hover .home-detail-main>b,
.home-detail-row.notice[data-home-notice-preview]:focus-visible .home-detail-main>b{color:#246f3c}

/* 2026-09-11 v24: 게시판 이모티콘 그룹/확장 */
body.board-ui .wysiwyg-emoji-popover{width:min(382px,calc(100vw - 28px));max-width:382px;padding:10px!important}
body.board-ui .wysiwyg-emoji-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}
body.board-ui .wysiwyg-emoji-head .wysiwyg-tool-popover-title{margin:0}
body.board-ui .wysiwyg-emoji-head small{color:#94a3b8;font-size:9px;white-space:nowrap}
body.board-ui .wysiwyg-emoji-tabs{display:flex;gap:5px;overflow-x:auto;padding:0 0 8px;margin-bottom:8px;border-bottom:1px solid #edf2ef;scrollbar-width:thin}
body.board-ui .wysiwyg-emoji-tabs button{flex:0 0 auto;height:28px;padding:0 8px;border:1px solid #dde5e0;border-radius:999px;background:#fff;color:#526158;font-size:10px;font-weight:800;white-space:nowrap;cursor:pointer}
body.board-ui .wysiwyg-emoji-tabs button:hover,body.board-ui .wysiwyg-emoji-tabs button:focus-visible{border-color:#9dc9aa;background:#f4faf6;color:#246f3c;outline:none}
body.board-ui .wysiwyg-emoji-tabs button.is-active{border-color:#3c9a59;background:#e8f6ec;color:#1f7139;box-shadow:0 0 0 1px rgba(60,154,89,.06)}
body.board-ui .wysiwyg-emoji-groups{min-height:112px;max-height:196px;overflow-y:auto;padding-right:2px;scrollbar-width:thin}
body.board-ui .wysiwyg-emoji-group[hidden]{display:none!important}
body.board-ui .wysiwyg-emoji-group.is-active{display:block}
body.board-ui .wysiwyg-emoji-group .wysiwyg-emoji-grid{grid-template-columns:repeat(6,1fr);gap:6px}
body.board-ui .wysiwyg-emoji-group .wysiwyg-emoji-grid button{min-width:36px;height:36px;border-radius:8px;font-size:20px}
body.board-ui .wysiwyg-emoji-group .wysiwyg-emoji-grid button:active{transform:translateY(0) scale(.94)}
@media(max-width:560px){
  body.board-ui .wysiwyg-emoji-popover{width:min(330px,calc(100vw - 18px));padding:8px!important}
  body.board-ui .wysiwyg-emoji-head small{display:none}
  body.board-ui .wysiwyg-emoji-tabs{gap:4px}
  body.board-ui .wysiwyg-emoji-tabs button{height:27px;padding:0 7px;font-size:9.5px}
  body.board-ui .wysiwyg-emoji-groups{max-height:180px}
  body.board-ui .wysiwyg-emoji-group .wysiwyg-emoji-grid{gap:5px}
  body.board-ui .wysiwyg-emoji-group .wysiwyg-emoji-grid button{min-width:32px;height:34px;font-size:18px}
}


/* 2026-09-11 v25: 이모티콘 연속선택 UX */
body.board-ui .wysiwyg-emoji-head-actions{display:flex;align-items:center;gap:7px;min-width:0}
body.board-ui .wysiwyg-emoji-head-actions small{max-width:205px;overflow:hidden;text-overflow:ellipsis}
body.board-ui .wysiwyg-emoji-close{display:grid;place-items:center;flex:0 0 auto;width:25px;height:25px;padding:0;border:1px solid #dce5df;border-radius:7px;background:#fff;color:#64736a;font-size:18px;font-weight:700;line-height:1;cursor:pointer}
body.board-ui .wysiwyg-emoji-close:hover,body.board-ui .wysiwyg-emoji-close:focus-visible{border-color:#8fc4a0;background:#eef8f1;color:#246f3c;outline:none}
body.board-ui .wysiwyg-emoji-group .wysiwyg-emoji-grid button.is-just-inserted{border-color:#3c9a59!important;background:#e8f6ec!important;box-shadow:0 0 0 2px rgba(60,154,89,.12);transform:scale(.92)}
@media(max-width:560px){
  body.board-ui .wysiwyg-emoji-head-actions small{display:none}
}


/* 2026-09-11 v26: Windows/older browser emoji compatibility */
body.board-ui .wysiwyg-emoji-grid button,
body.board-ui .wysiwyg-emoji-menu>summary>span:first-child,
body.board-ui .wysiwyg-emoji-tabs button{
  font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji","Twemoji Mozilla","Malgun Gothic",sans-serif;
  font-variant-emoji:emoji;
}

/* v29 board delete visibility */
body.board-ui .board-view-actions .board-post-delete-form{display:inline-flex;margin:0}
body.board-ui .board-view-actions .board-delete-visible{display:inline-flex!important;align-items:center;justify-content:center;background:#c62828!important;border-color:#c62828!important;color:#fff!important;font-weight:900;box-shadow:0 2px 6px rgba(198,40,40,.16)}
body.board-ui .board-view-actions .board-delete-visible:hover{background:#a91f1f!important;border-color:#a91f1f!important}
body.board-ui .board-table th.board-manage{width:98px;text-align:center}
body.board-ui .board-table td.board-manage-cell{width:98px;text-align:center;white-space:nowrap}
body.board-ui .board-row-actions{display:inline-flex;align-items:center;justify-content:center;gap:7px}
body.board-ui .board-row-actions form{display:inline;margin:0}
body.board-ui .board-row-edit,body.board-ui .board-row-delete{border:0;background:transparent;padding:2px 1px;font:inherit;font-size:10px;font-weight:900;line-height:1.2;cursor:pointer;text-decoration:none}
body.board-ui .board-row-edit{color:#245f8d}
body.board-ui .board-row-delete{color:#b42318}
body.board-ui .board-row-edit:hover,body.board-ui .board-row-delete:hover{text-decoration:underline}
body.board-ui .board-manage-empty{color:#b7c0c8}
@media(max-width:760px){body.board-ui .board-table th.board-manage,body.board-ui .board-table td.board-manage-cell{width:78px}.board-row-actions{gap:5px}}

/* ===== 2026-09-11 v31 사진앨범 게시판 ===== */
.album-page-head{align-items:flex-end}.album-filter-panel{padding:14px 16px;margin-bottom:16px}.album-filter-form{display:grid;grid-template-columns:minmax(240px,1fr) 150px 120px auto auto;gap:8px;align-items:end}.album-filter-form label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#5b6778}.album-filter-form input,.album-filter-form select{height:38px;border:1px solid #d7dde6;border-radius:8px;background:#fff;padding:0 11px;font:inherit}.album-list-head{display:flex;justify-content:space-between;align-items:center;margin:0 2px 10px;color:#657083;font-size:13px}.album-list-head strong{font-size:14px;color:#263244}.album-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.album-card{min-width:0;background:#fff;border:1px solid #e0e5ec;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(35,49,70,.05);transition:.18s ease}.album-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(35,49,70,.1);border-color:#c9d5cb}.album-card-link{display:block;color:inherit;text-decoration:none}.album-card-cover{position:relative;aspect-ratio:4/3;background:#eef2f5;overflow:hidden}.album-card-cover img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease}.album-card:hover .album-card-cover img{transform:scale(1.025)}.album-card-empty{height:100%;display:grid;place-items:center;font-size:48px;color:#9ca7b6}.album-photo-count,.album-category-badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.album-photo-count{position:absolute;right:8px;bottom:8px;background:rgba(22,28,36,.78);color:#fff}.album-category-badge{background:#e9f4ec;color:#28713e}.album-card-cover>.album-category-badge{position:absolute;left:8px;top:8px;background:rgba(245,252,247,.94)}.album-card-body{padding:11px 12px 12px}.album-card-date{font-size:11px;color:#748093;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-card-body h2{font-size:15px;line-height:1.35;margin:0 0 6px;color:#263244;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-card-body p{font-size:12px;line-height:1.55;color:#697487;margin:0;min-height:37px}.album-card-meta{display:flex;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;border-top:1px solid #eef1f5;font-size:10px;color:#8a94a4}.album-card-actions{display:flex;justify-content:flex-end;gap:7px;padding:7px 10px;border-top:1px solid #edf0f4;background:#fafbfc}.album-card-actions a,.album-card-actions button{border:0;background:none;padding:3px 5px;font-size:11px;color:#667386;cursor:pointer;text-decoration:none}.album-card-actions button{color:#b63b3b}.album-card-actions form{margin:0}.album-empty-state{grid-column:1/-1;min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #d6dde6;border-radius:12px;background:#fafbfc;color:#7c8798}.album-empty-state>span{font-size:42px}.album-empty-state strong{margin-top:8px;color:#334155}.album-empty-state p{margin:5px 0 14px;font-size:13px}.album-pagination{margin-top:16px}
.album-edit-panel{padding:18px}.album-meta-grid{display:grid;grid-template-columns:minmax(280px,2fr) 160px 150px minmax(180px,1fr);gap:12px}.album-edit-panel .field{margin-bottom:12px}.album-uploader{margin-top:6px;border:1px solid #dce2e9;border-radius:12px;background:#fbfcfd;padding:14px}.album-uploader-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.album-uploader-head h2{font-size:16px;margin:0;color:#273345}.album-uploader-head p{font-size:11px;margin:3px 0 0;color:#7a8595}.album-upload-summary{display:flex;align-items:baseline;gap:3px;color:#788395}.album-upload-summary strong{font-size:19px;color:#2f7c48}.album-dropzone{height:82px;border:1.5px dashed #b9c5d3;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;color:#536175;transition:.15s}.album-dropzone:hover,.album-dropzone.is-drag{border-color:#47945f;background:#f3faf5}.album-dropzone input{position:absolute;opacity:0;pointer-events:none}.album-drop-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e7f3ea;color:#2f7c48;font-size:21px}.album-dropzone strong{font-size:14px}.album-dropzone small{font-size:11px;color:#8993a2}.album-upload-progress{margin:9px 0 3px;font-size:11px;color:#687487}.album-upload-progress>div{height:5px;border-radius:999px;background:#e4e8ed;overflow:hidden;margin-top:5px}.album-upload-progress i{display:block;height:100%;width:0;background:#3e8c57;transition:width .2s}.album-photo-editor-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}.album-photo-edit-card{min-width:0;border:1px solid #dce2e9;border-radius:9px;background:#fff;overflow:hidden}.album-photo-edit-card.is-uploading{opacity:.7}.album-photo-preview{position:relative;aspect-ratio:4/3;background:#eef2f5;overflow:hidden}.album-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}.album-cover-mark{position:absolute;left:6px;top:6px;background:#2f7c48;color:#fff;border-radius:5px;padding:2px 6px;font-size:10px;font-weight:800}.album-photo-order{position:absolute;right:6px;top:6px;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:rgba(20,28,40,.75);color:#fff;font-size:10px;font-weight:800}.album-photo-upload-state{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.65);color:#fff;border-radius:6px;padding:4px 7px;font-size:10px;white-space:nowrap}.album-photo-edit-card>label{display:grid;gap:4px;padding:7px 7px 5px;font-size:10px;color:#697487}.album-photo-edit-card>label input{height:29px;border:1px solid #dce1e8;border-radius:6px;padding:0 7px;font-size:11px}.album-photo-controls{display:grid;grid-template-columns:32px 32px 1fr;gap:4px;padding:0 7px 7px}.album-photo-controls button{height:28px;border:1px solid #d8dee7;border-radius:6px;background:#f7f9fb;color:#556274;cursor:pointer;font-size:11px}.album-photo-controls button:disabled{opacity:.35;cursor:default}.album-photo-controls button.danger{color:#a33838}.album-form-actions{margin-top:16px}
.album-view-panel{padding:0;overflow:hidden}.album-view-header{padding:17px 18px 14px;border-bottom:1px solid #e8ebef}.album-view-title h2{font-size:21px;margin:7px 0 8px;color:#263244}.album-view-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#687487}.album-view-description{padding:12px 18px;background:#fafbfc;border-bottom:1px solid #edf0f3;font-size:13px;line-height:1.7;color:#556174}.album-gallery{padding:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.album-gallery-item{margin:0;min-width:0}.album-gallery-item button{position:relative;display:block;width:100%;padding:0;border:0;border-radius:9px;overflow:hidden;background:#eef2f5;cursor:zoom-in;aspect-ratio:4/3}.album-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.album-gallery-item button:hover img{transform:scale(1.025)}.album-zoom-icon{position:absolute;right:7px;top:7px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(15,23,42,.68);color:#fff;font-size:12px}.album-gallery-item figcaption{font-size:11px;line-height:1.4;color:#657184;padding:5px 2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-view-actions{padding:12px 16px;border-top:1px solid #e8ebef}.album-view-actions form{margin:0}.album-lightbox[hidden]{display:none}.album-lightbox{position:fixed;z-index:9999;inset:0;background:rgba(9,14,22,.94);display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center}.album-lightbox-stage{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 10px 58px;min-width:0}.album-lightbox-stage img{max-width:100%;max-height:calc(100vh - 95px);object-fit:contain;box-shadow:0 8px 30px rgba(0,0,0,.35)}.album-lightbox-close{position:absolute;right:18px;top:14px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;cursor:pointer}.album-lightbox-nav{border:0;background:none;color:#fff;font-size:58px;opacity:.75;cursor:pointer;height:100%}.album-lightbox-nav:hover{opacity:1}.album-lightbox-info{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:12px;align-items:center;max-width:75%;color:#fff;font-size:12px}.album-lightbox-info strong{white-space:nowrap}.album-lightbox-info span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#d8dce3}.album-lightbox-open{overflow:hidden}
@media(max-width:1200px){.album-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.album-photo-editor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.album-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.album-filter-form{grid-template-columns:minmax(220px,1fr) 140px 110px auto auto}.album-meta-grid{grid-template-columns:2fr 1fr 1fr}.album-meta-grid .field:last-child{grid-column:1/-1}}
@media(max-width:760px){.album-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.album-filter-form{grid-template-columns:1fr 1fr}.album-filter-search{grid-column:1/-1}.album-filter-form .btn{width:100%}.album-photo-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.album-gallery{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px;gap:7px}.album-meta-grid{grid-template-columns:1fr 1fr}.album-title-field,.album-meta-grid .field:last-child{grid-column:1/-1}.album-dropzone{height:92px;flex-wrap:wrap;align-content:center}.album-dropzone small{flex-basis:100%;text-align:center}.album-lightbox{grid-template-columns:44px minmax(0,1fr) 44px}.album-lightbox-nav{font-size:42px}.album-card-body p{display:none}}

/* v33 · 로그인 유지 UX */
.login-remember{display:flex;align-items:center;gap:8px;margin:12px 0 14px;font-size:14px;color:#334155;cursor:pointer;user-select:none}
.login-remember input{width:18px;height:18px;margin:0;accent-color:#2563eb}
.login-remember small{color:#64748b;font-size:12px;font-weight:600}

/* STAFF v35 - 이용자명부 사용자코드 표시 + 앞부분 순서 안정화 */
body.client-ui .client-code-cell{font-variant-numeric:tabular-nums;color:#385247;font-weight:800;white-space:nowrap}
body.client-ui .client-status-cell,body.client-ui .client-gender-cell,body.client-ui .client-age-cell{text-align:center}

@media screen and (max-width:620px){
  body.client-ui .client-table tbody tr{
    grid-template-columns:62px minmax(0,1fr) auto auto;
    grid-template-areas:
      "photo group status status"
      "photo name status status"
      "photo code gender age"
      "phone phone phone phone"
      "schedule schedule schedule schedule"
      "actions actions actions actions";
  }
  body.client-ui .client-table tbody td{display:none!important;width:auto!important;min-width:0}
  body.client-ui .client-table tbody td.client-photo-cell{display:flex!important;grid-area:photo;align-items:center;justify-content:center;padding:12px 5px 10px 10px!important}
  body.client-ui .client-table tbody td.client-group-cell{display:block!important;grid-area:group;padding-top:11px!important;color:var(--muted);font-size:11px;font-weight:800}
  body.client-ui .client-table tbody td.client-name-cell{display:block!important;grid-area:name;padding-top:1px!important;font-size:18px}
  body.client-ui .client-table tbody td.client-status-cell{display:flex!important;grid-area:status;align-items:flex-start;justify-content:flex-end;padding-top:12px!important}
  body.client-ui .client-table tbody td.client-code-cell{display:block!important;grid-area:code;padding-top:1px!important;color:#52665c;font-size:10px;font-weight:900}
  body.client-ui .client-table tbody td.client-code-cell::before{content:"코드 ";color:var(--muted);font-weight:800}
  body.client-ui .client-table tbody td.client-gender-cell{display:block!important;grid-area:gender;padding:2px 5px!important;color:var(--muted);font-size:10px}
  body.client-ui .client-table tbody td.client-age-cell{display:block!important;grid-area:age;padding:2px 5px!important;color:var(--muted);font-size:10px}
  body.client-ui .client-table tbody td.client-phone-cell{display:block!important;grid-area:phone;margin-top:8px;padding:10px 12px!important;border-top:1px solid #edf2ef}
  body.client-ui .client-table tbody td.client-phone-cell::before{content:"연락처 ";margin-right:8px;color:var(--muted);font-size:10px;font-weight:900}
  body.client-ui .client-table tbody td.client-schedule-summary{display:block!important;grid-area:schedule;padding:9px 12px!important;border-top:1px solid #edf2ef}
  body.client-ui .client-table tbody td.user-actions{display:grid!important;grid-area:actions;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px 12px 12px!important;border-top:1px solid #edf2ef}
  body.client-ui .client-table tbody td.empty-cell{display:block!important;grid-area:1/1/-1/-1;padding:28px 14px!important;text-align:center!important}
}

@media screen and (min-width:621px) and (max-width:820px){
  body.client-ui .client-table tbody tr{
    grid-template-columns:58px minmax(0,1fr) auto auto;
    grid-template-areas:
      "photo group status status"
      "photo name status status"
      "photo code gender age"
      "phone phone phone phone"
      "schedule schedule schedule schedule"
      "actions actions actions actions";
  }
  body.client-ui .client-table tbody td{display:none!important;width:auto!important;min-width:0}
  body.client-ui .client-table tbody td.client-photo-cell{display:flex!important;grid-area:photo;align-items:center;justify-content:center;padding:11px 4px 9px 9px!important}
  body.client-ui .client-table tbody td.client-group-cell{display:block!important;grid-area:group;padding-top:10px!important;color:var(--muted);font-size:10px;font-weight:800}
  body.client-ui .client-table tbody td.client-name-cell{display:block!important;grid-area:name;padding-top:1px!important;font-size:17px}
  body.client-ui .client-table tbody td.client-status-cell{display:flex!important;grid-area:status;align-items:flex-start;justify-content:flex-end;padding-top:11px!important}
  body.client-ui .client-table tbody td.client-code-cell{display:block!important;grid-area:code;padding-top:1px!important;color:#52665c;font-size:10px;font-weight:900}
  body.client-ui .client-table tbody td.client-code-cell::before{content:"코드 ";color:var(--muted);font-weight:800}
  body.client-ui .client-table tbody td.client-gender-cell{display:block!important;grid-area:gender;padding:2px 5px!important;color:var(--muted);font-size:10px}
  body.client-ui .client-table tbody td.client-age-cell{display:block!important;grid-area:age;padding:2px 5px!important;color:var(--muted);font-size:10px}
  body.client-ui .client-table tbody td.client-phone-cell{display:block!important;grid-area:phone;margin-top:7px;padding:9px 11px!important;border-top:1px solid #edf2ef}
  body.client-ui .client-table tbody td.client-phone-cell::before{content:"연락처 ";margin-right:7px;color:var(--muted);font-size:10px;font-weight:900}
  body.client-ui .client-table tbody td.client-schedule-summary{display:block!important;grid-area:schedule;padding:8px 11px!important;border-top:1px solid #edf2ef}
  body.client-ui .client-table tbody td.user-actions{display:grid!important;grid-area:actions;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:9px 11px 11px!important;border-top:1px solid #edf2ef}
  body.client-ui .client-table tbody td.empty-cell{display:block!important;grid-area:1/1/-1/-1;padding:28px 14px!important;text-align:center!important}
}

/* v38 직원 결재 도장·사인 */
.approval-mark-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:8px}
.approval-mark-card{border:1px solid #d9e1ea;border-radius:14px;background:#fff;padding:16px;min-width:0}
.approval-mark-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.approval-mark-card-head>div{display:grid;gap:3px}.approval-mark-card-head strong{font-size:16px}.approval-mark-card-head small{color:#667085}
.approval-mark-preview{height:190px;border:1px dashed #b9c6d5;border-radius:12px;background:linear-gradient(45deg,#f7f9fb 25%,transparent 25%),linear-gradient(-45deg,#f7f9fb 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f7f9fb 75%),linear-gradient(-45deg,transparent 75%,#f7f9fb 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:14px;color:#7b8794;font-weight:800}.approval-mark-preview img{max-width:86%;max-height:86%;object-fit:contain;display:block}.approval-mark-preview-signature img{max-width:92%;max-height:72%}
.approval-mark-remove{margin-top:10px;color:#b42318}.approval-mark-default-box{margin-top:18px;padding:16px;border-radius:12px;background:#f7f9fc;border:1px solid #dce3ec;display:grid;gap:9px}.approval-mark-default-options{display:flex;gap:18px;flex-wrap:wrap}.approval-mark-default-options label{display:inline-flex;align-items:center;gap:6px;font-weight:800}.approval-mark-default-box small{color:#667085}.approval-mark-security-note{margin-top:14px;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-left:4px solid #4f7cac;background:#f5f8fc;border-radius:8px}.approval-mark-security-note span{color:#4b5563}.approval-mark-summary-row{display:flex;gap:10px;flex-wrap:wrap}.approval-mark-summary-row span{padding:8px 12px;border-radius:999px;background:#f5f7fa;border:1px solid #e1e6ec}.approval-mark-summary-row strong{margin-left:4px;color:#173b66}
@media(max-width:760px){.approval-mark-grid{grid-template-columns:1fr}.approval-mark-preview{height:160px}.approval-mark-security-note{display:grid}}
@media print{.approval-mark-panel,.approval-mark-summary{display:none!important}}


/* ===== 2026-09-18 v42 전자결재 도장·사인 연결 ===== */
.approval-stage-row{grid-template-columns:72px minmax(120px,.8fr) minmax(150px,1.15fr) minmax(120px,.8fr) 36px 36px 54px}
.approval-stage-row select{width:100%;min-width:0}
.approval-workflow-panel{margin-top:16px}
.approval-workflow-line-name{margin:0 0 12px;color:#4b5b52;font-size:13px}
.approval-workflow-start,.approval-workflow-action{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.approval-workflow-start label,.approval-workflow-action label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#40584a}
.approval-workflow-start select,.approval-workflow-action select,.approval-workflow-action input{min-height:38px}
.approval-workflow-action input[name="comment"]{min-width:220px;flex:1}
.approval-workflow-stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:10px 0 12px}
.approval-workflow-stage{min-height:118px;padding:10px;border:1px solid #dce6df;border-radius:10px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}
.approval-workflow-stage.status-approved{background:#f6fbf7;border-color:#bdd8c5}
.approval-workflow-stage.status-rejected{background:#fff7f7;border-color:#e3bdbd}
.approval-workflow-stage-head{display:grid;gap:2px}
.approval-workflow-stage-head strong{font-size:13px}.approval-workflow-stage-head span{font-size:12px;color:#637067}
.approval-workflow-mark{display:block;max-width:78px;max-height:52px;object-fit:contain}
.approval-workflow-stage small{font-size:10px;color:#6d776f}.approval-workflow-current{font-size:11px;font-weight:900;color:#9a6411;background:#fff2cc;border-radius:999px;padding:3px 7px}
.approval-workflow-rejected,.approval-reject-text{color:#b3261e}
.approval-workflow-reset{margin-top:10px;text-align:right}
.document-approval-sign.approval-stage img,.approval-print-mark{display:block;max-width:84%;max-height:44px;object-fit:contain;margin:1px auto}
.document-approval-sign.approval-stage small,.overtime-approval-table td small{display:block;font-size:8px;line-height:1.15;color:#333;margin-top:1px;white-space:nowrap}
.overtime-approval-table td.approval-sign-approved{padding:2px 3px;text-align:center;vertical-align:middle}
.overtime-approval-table td.approval-sign-approved img{display:block;max-width:64px;max-height:40px;object-fit:contain;margin:0 auto 1px}
@media(max-width:900px){.approval-stage-row{grid-template-columns:68px minmax(0,1fr) minmax(0,1fr)}.approval-stage-row>[data-stage-mark]{grid-column:2/4}.approval-stage-row>[data-stage-up],.approval-stage-row>[data-stage-down],.approval-stage-row>[data-stage-remove]{grid-column:auto}.approval-stage-row{align-items:center}}
@media(max-width:640px){.approval-workflow-start,.approval-workflow-action{align-items:stretch}.approval-workflow-start label,.approval-workflow-action label,.approval-workflow-action input[name="comment"],.approval-workflow-start .btn,.approval-workflow-action .btn{width:100%}.approval-stage-row{grid-template-columns:64px minmax(0,1fr)}.approval-stage-row input,.approval-stage-row select{grid-column:2}.approval-stage-row>[data-stage-up],.approval-stage-row>[data-stage-down],.approval-stage-row>[data-stage-remove]{grid-column:auto}}
@media print{
 .approval-fixed-box img{print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .document-approval-sign.approval-stage img{max-height:16mm;max-width:25mm}
 .overtime-approval-table td.approval-sign-approved img{max-height:14mm;max-width:23mm}
}

/* ===== 2026-09-18 v43 신청자 도장·서명 ===== */
.approval-applicant-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;padding:8px 10px;border:1px solid #dce6df;border-radius:10px;background:#f8fbf9;font-size:12px}
.approval-applicant-summary strong{color:#345443}.approval-applicant-summary span{font-weight:800}.approval-applicant-summary img{display:block;max-width:72px;max-height:40px;object-fit:contain}.approval-applicant-summary em{font-style:normal;color:#52655a}.approval-applicant-summary small{color:#6d776f}
.applicant-mark-sign{display:flex;justify-content:flex-end;align-items:center;gap:8px;min-height:46px;flex-wrap:nowrap}
.applicant-mark-sign>span{white-space:nowrap}.applicant-mark-sign img{display:inline-block;max-width:86px;max-height:48px;object-fit:contain;vertical-align:middle}.applicant-mark-sign small{font-size:9px;color:#555;white-space:nowrap}
.applicant-mark-nameonly small{padding-left:4px}
@media(max-width:640px){.approval-applicant-summary{align-items:center}.applicant-mark-sign{gap:5px}}
@media print{.applicant-mark-sign{color:#000!important;-webkit-text-fill-color:#000!important}.applicant-mark-sign img{max-width:28mm;max-height:16mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}.applicant-mark-sign small{color:#000!important}}


/* ===== 2026-09-18 v44 신청자 기본 도장·서명 자동 적용 ===== */
.approval-applicant-auto{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;white-space:nowrap}
.approval-applicant-auto strong{font-weight:700}
.approval-applicant-override{display:inline-block}
.approval-applicant-override summary{cursor:pointer;color:#52606d;font-size:13px;white-space:nowrap}
.approval-applicant-override[open]{padding:6px 8px;border:1px solid #d9e2ec;border-radius:8px;background:#fff}
.approval-applicant-override label{display:flex;align-items:center;gap:6px;margin-top:6px}
@media(max-width:640px){.approval-applicant-auto{width:100%;justify-content:center}.approval-applicant-override{width:100%}.approval-applicant-override label{align-items:stretch;flex-direction:column}}

/* ===== v46 전자결재 허브 ===== */
.approval-inbox-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}
.approval-summary-card{display:flex;flex-direction:column;min-height:118px;padding:16px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 8px 22px rgba(34,67,53,.05);position:relative;overflow:hidden}
.approval-summary-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#8da59a}
.approval-summary-card.attention::before{background:#e0a22c}.approval-summary-card.complete::before{background:#2f8f4e}.approval-summary-card.info::before{background:#2d7fb8}
.approval-summary-card small{color:var(--muted);font-weight:800}.approval-summary-card strong{margin:5px 0 4px;font-size:28px;line-height:1.1}.approval-summary-card span{margin-top:auto;color:var(--muted);font-size:12px;line-height:1.45}
.approval-summary-card:hover{border-color:#a9cbb5;background:#fbfefc}
.approval-inbox-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.approval-inbox-tabs a{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid #d7e2dd;border-radius:999px;background:#fff;color:#33453d;text-decoration:none;font-weight:800}
.approval-inbox-tabs a b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eef4f1;font-size:12px}
.approval-inbox-tabs a.active{border-color:#70ad82;background:#edf8f0;color:var(--green-dark)}
.approval-inbox-tabs a.active b{background:#dcefe2;color:var(--green-dark)}
.approval-inbox-legend{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.approval-inbox-table tr.approval-row-action td{background:#fffaf0}
.approval-inbox-table tr.approval-row-action:hover td{background:#fff6df}
.approval-inbox-table td:nth-child(5){min-width:130px}
@media(max-width:900px){.approval-inbox-summary{grid-template-columns:1fr}.approval-summary-card{min-height:92px}.approval-inbox-table td:nth-child(5){min-width:110px}}
@media(max-width:620px){.approval-inbox-tabs{display:grid;grid-template-columns:1fr}.approval-inbox-tabs a{justify-content:space-between}.approval-inbox-legend{display:none}}

/* ===== v47 전자결재 자동상신/상신대기 ===== */


/* ===== v50.6 금액 입력 / 결재일 표시 ===== */
.money-format-input,input[data-money-input],input[data-won-input],input.money-input{
  text-align:right!important;
  font-variant-numeric:tabular-nums;
}
.approval-mark-date-line{
  display:flex;align-items:center;justify-content:center;gap:4px;width:100%;min-width:0;
}
.document-approval-sign.approval-stage .approval-mark-date-line img,
.overtime-approval-table td .approval-mark-date-line img{display:inline-block;margin:0;flex:0 1 auto;}
.document-approval-sign.approval-stage .approval-mark-date-line small,
.overtime-approval-table td .approval-mark-date-line small{display:inline-block;margin:0;flex:0 0 auto;font-size:8px;white-space:nowrap;}
@media(max-width:640px){.approval-mark-date-line{gap:2px}.document-approval-sign.approval-stage .approval-mark-date-line small,.overtime-approval-table td .approval-mark-date-line small{font-size:7px}}

/* QA18 - 홈 핵심업무 9개 카드: 데스크톱 1행 5개 + 2행 4개 중앙정렬 */
@media screen and (min-width:901px){
  .home-progress-grid{
    grid-template-columns:repeat(10,minmax(0,1fr))!important;
    grid-auto-flow:row;
    gap:10px!important;
    align-items:stretch;
    overflow:visible!important;
    padding-bottom:0!important;
  }
  .home-progress-card{
    grid-column:span 2;
    min-width:0!important;
    min-height:70px!important;
    padding:11px 13px!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-content:center;
    gap:4px!important;
  }
  .home-progress-card small{
    overflow:visible!important;
    font-size:12px!important;
    line-height:1.25!important;
    text-overflow:clip!important;
    white-space:normal!important;
  }
  .home-progress-card strong{
    font-size:17px!important;
    line-height:1.25!important;
    white-space:normal!important;
  }
  .home-progress-card:nth-child(6){grid-column:2 / span 2}
  .home-progress-card:nth-child(7){grid-column:4 / span 2}
  .home-progress-card:nth-child(8){grid-column:6 / span 2}
  .home-progress-card:nth-child(9){grid-column:8 / span 2}
}

/* QA20 - 인력현황 근무특이사항·참여지원인력 활동사항 입력 */
.personnel-attendance-table-wrap{overflow-x:auto!important}
.personnel-attendance-table{width:100%!important;min-width:1100px!important;table-layout:fixed}
.personnel-attendance-table th:nth-child(1),.personnel-attendance-table td:nth-child(1){width:8%!important}
.personnel-attendance-table th:nth-child(2),.personnel-attendance-table td:nth-child(2){width:8%!important}
.personnel-attendance-table th:nth-child(3),.personnel-attendance-table td:nth-child(3){width:14%!important;min-width:0!important}
.personnel-attendance-table th:nth-child(4),.personnel-attendance-table td:nth-child(4){width:10%!important}
.personnel-attendance-table th:nth-child(5),.personnel-attendance-table td:nth-child(5){width:13%!important}
.personnel-attendance-table th:nth-child(6),.personnel-attendance-table td:nth-child(6){width:21%!important}
.personnel-attendance-table th:nth-child(7),.personnel-attendance-table td:nth-child(7){width:26%!important}
.personnel-attendance-table select,
.personnel-attendance-table input[type=text]{width:100%!important;min-width:0!important;box-sizing:border-box}
.personnel-attendance-table .personnel-attendance-remark-input,
.personnel-attendance-table .personnel-attendance-activity-input{text-align:left}
@media(max-width:900px){.personnel-attendance-table{min-width:1040px!important}}


/* ===== 2026-10-02 QA24 게시물 보기 WYSIWYG 표시 일치 ===== */
/* 저장된 HTML은 일반 보기와 홈 팝업에서 동일하게 렌더링합니다. */
body.board-ui .board-post-view .post-content.board-rendered-content{
  font-size:14px;
  line-height:1.75;
  white-space:normal;
}
body.board-ui .board-post-view .post-content.board-rendered-content>div{
  min-height:1.75em;
}
body.board-ui .board-post-view .post-content.board-rendered-content>div:empty,
body.board-ui .board-post-view .post-content.board-rendered-content>p:empty{
  min-height:1.75em;
}
body.embed-mode.board-notice-ui .board-post-view .post-content.board-rendered-content{
  min-height:140px;
  margin:14px 20px 18px;
  padding:18px 20px;
  overflow:auto;
  border:1px solid #edf2ef;
  border-radius:10px;
  background:#fff;
  color:#263244;
  font-size:14px;
  line-height:1.75;
  word-break:break-word;
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  body.embed-mode.board-notice-ui .board-post-view .post-content.board-rendered-content{
    margin:10px 12px 14px;
    padding:14px 15px;
    font-size:13px;
    line-height:1.75;
  }
}

/* ===== 2026-10-02 QA25 홈 게시판 팝업 WYSIWYG 완전 동일화 ===== */
/* 홈 iframe에서도 일반 게시물 보기와 같은 콘텐츠 폭/여백/본문 스타일을 사용한다. */
body.embed-mode.board-notice-ui .page-shell,
body.embed-mode.board-work-ui .page-shell{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding:34px 24px 72px;
}
body.embed-mode.board-notice-ui .board-post-view .post-content.board-rendered-content,
body.embed-mode.board-work-ui .board-post-view .post-content.board-rendered-content{
  min-height:190px;
  margin:0;
  padding:28px;
  overflow-x:auto;
  overflow-y:visible;
  border:0;
  border-radius:0;
  background:transparent;
  color:#263244;
  font-size:14px;
  line-height:1.75;
  word-break:break-word;
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  body.embed-mode.board-notice-ui .page-shell,
  body.embed-mode.board-work-ui .page-shell{padding:22px 14px 50px}
  body.embed-mode.board-notice-ui .board-post-view .post-content.board-rendered-content,
  body.embed-mode.board-work-ui .board-post-view .post-content.board-rendered-content{
    margin:0;
    padding:20px 18px;
    font-size:14px;
    line-height:1.75;
  }
}

/* ===== 2026-10-02 QA26 홈 공지 미리보기 WYSIWYG HTML 동일 렌더링 ===== */
/* 기존 텍스트 변환 미리보기를 폐지하고 저장된 sanitised HTML을 그대로 표시한다. */
.home-notice-hover-preview{
  width:min(760px,calc(100vw - 24px));
  max-height:min(620px,72vh);
}
.home-notice-hover-preview .board-alert-hover-preview-body{
  min-height:80px;
  padding:18px 20px;
  color:#263244;
  font-size:14px;
  line-height:1.75;
  white-space:normal;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.home-notice-hover-preview .board-alert-hover-preview-body>div,
.home-notice-hover-preview .board-alert-hover-preview-body>p{
  max-width:100%;
}
.home-notice-hover-preview .board-alert-hover-preview-body>div:empty,
.home-notice-hover-preview .board-alert-hover-preview-body>p:empty{
  min-height:1.75em;
}
.home-notice-hover-preview .board-alert-hover-preview-body img{
  max-width:100%;
  height:auto;
}
.home-notice-hover-preview .board-alert-hover-preview-body table{
  max-width:100%;
  border-collapse:collapse;
}
.home-notice-hover-preview .board-alert-hover-preview-body input[type="checkbox"]{
  pointer-events:none;
}
.home-notice-hover-preview .board-alert-hover-preview-body div:has(> input[type="checkbox"]){
  display:flex;
  align-items:flex-start;
  gap:7px;
  min-height:26px;
  margin:2px 0;
  padding:3px 7px;
  border-radius:6px;
}
.home-notice-hover-preview .board-alert-hover-preview-body div:has(> input[type="checkbox"])>span{
  min-width:0;
  flex:1;
  line-height:1.55;
}
@media(max-width:760px){
  .home-notice-hover-preview{width:min(96vw,760px);max-height:74vh}
  .home-notice-hover-preview .board-alert-hover-preview-body{padding:14px 15px;font-size:13px;line-height:1.7}
}


/* QA27 - 출장 동행 직원·외부 인력 */
.trip-companion-list{display:grid;gap:9px}
.trip-companion-row{display:grid;grid-template-columns:32px 110px minmax(180px,1.15fr) minmax(150px,.9fr) minmax(190px,1fr) auto;gap:8px;align-items:end;padding:11px;border:1px solid #dfe7e1;border-radius:12px;background:#fbfdfb}
.trip-companion-row label{display:grid;gap:5px;margin:0}
.trip-companion-row label>span{font-size:12px;font-weight:700;color:#5b665e}
.trip-companion-row input,.trip-companion-row select{width:100%;min-width:0}
.trip-companion-number{display:grid;place-items:center;width:28px;height:28px;margin-bottom:7px;border-radius:50%;background:#e8f3ea;color:#245c35;font-weight:800}
.trip-companion-remove{margin-bottom:1px;white-space:nowrap}
.trip-companion-row [hidden]{display:none!important}
@media(max-width:980px){
  .trip-companion-row{grid-template-columns:32px minmax(120px,.65fr) minmax(0,1.35fr);align-items:end}
  .trip-companion-number{grid-row:1 / span 3}
  .trip-companion-row label:nth-of-type(n+3){grid-column:2 / -1}
  .trip-companion-remove{grid-column:2 / -1;justify-self:end}
}
@media(max-width:620px){
  .trip-companion-row{grid-template-columns:30px minmax(0,1fr)}
  .trip-companion-row label{grid-column:2}
  .trip-companion-remove{grid-column:2}
}

/* Care main menu uses the same entries as the care sidebar. */
.integrated-main-nav .care-main-submenu{left:auto;right:0;width:min(820px,calc(100vw - 40px));min-width:0;max-height:calc(100vh - 110px);overflow-y:auto}
.care-main-submenu .care-menu-shortcuts{display:flex;gap:8px;border-bottom:1px solid #e4ece8;padding-bottom:6px}
.care-main-submenu .care-menu-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.care-main-submenu .care-menu-section .nav-submenu-label{font-size:12px;color:#436459;margin:0;padding:10px 8px}
.integrated-main-nav .care-main-submenu a{white-space:normal;line-height:1.5;font-size:13px;padding:9px 8px}
.care-main-submenu .care-menu-number{font-variant-numeric:tabular-nums;color:#587368}
@media(max-width:1280px){
 .integrated-main-nav .care-main-submenu{width:auto;max-height:none;overflow:visible}
 .care-main-submenu .care-menu-columns{grid-template-columns:1fr}
 .care-main-submenu .care-menu-section{border-top:1px solid #e4ece8}
}

/* Visible boundaries between care menu groups. */
.care-main-submenu .care-menu-section .nav-submenu-label{border-bottom:1px solid #d5e2dc;margin-bottom:5px}
@media(min-width:1281px){
 .care-main-submenu .care-menu-section+.care-menu-section{border-left:1px solid #d5e2dc;padding-left:8px}
}
@media(max-width:1280px){
 .care-main-submenu .care-menu-section+.care-menu-section{border-top:1px solid #d5e2dc;margin-top:5px;padding-top:5px}
}

/* Special approval role selector */
@media(min-width:901px){.approval-stage-row{grid-template-columns:64px minmax(100px,.8fr) minmax(130px,1fr) 100px 110px 32px 32px 48px}}
.approval-special-print{font-size:11px;color:#375c46;margin:4px 0}

/* Unified main-menu panels: shared by staff, program activity and vehicle. */
.integrated-main-nav .nav-unified-panel{box-sizing:border-box;width:min(calc(var(--submenu-columns,1) * 220px),calc(100vw - 32px));min-width:220px;max-height:calc(100dvh - 110px);overflow:auto;padding:14px;border:1px solid #dbe5df;border-top:3px solid var(--nav-theme,#30834f);border-radius:14px;box-shadow:0 14px 36px rgba(20,45,30,.16);background:#fff}
.nav-unified-panel .nav-unified-columns{display:grid;grid-template-columns:repeat(var(--submenu-columns,1),minmax(0,1fr));gap:14px}
.nav-unified-panel .nav-unified-section{min-width:0;padding:0 4px;border:0!important}
.nav-unified-panel .nav-unified-section .nav-submenu-label{display:block;margin:0 0 6px!important;padding:8px!important;border-top:0!important;border-bottom:1px solid #dbe5df;font-size:12px;font-weight:800;color:var(--nav-theme,#30834f)}
.integrated-main-nav .nav-unified-panel a{display:flex;align-items:center;min-height:40px;padding:9px 10px!important;border-radius:8px;white-space:normal;word-break:keep-all;font-size:13px;line-height:1.45}
.integrated-main-nav .nav-unified-panel a:focus-visible{outline:2px solid var(--nav-theme,#30834f);outline-offset:-2px}
.integrated-main-nav .nav-unified-panel a.active{font-weight:800;box-shadow:inset 3px 0 var(--nav-theme,#30834f)}
@media(max-width:1280px){
 .integrated-main-nav .nav-unified-panel{width:100%!important;left:auto!important;right:auto!important;grid-template-columns:1fr!important;max-height:none}
 .nav-unified-panel .nav-unified-columns{display:grid;grid-template-columns:1fr!important;gap:10px;width:100%}
 .nav-unified-panel .nav-unified-section{display:flex;flex-direction:column;padding:0!important}
 .integrated-main-nav .nav-unified-panel a{min-height:44px}
}

/* Phase 2: ledger cards are screen-only; printed ledgers retain their tabular layout. */
.ledger-view-tools{display:none}
@media screen and (max-width:760px){
 .ledger-view-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0}.ledger-view-tools .btn{width:auto;min-height:40px}.ledger-view-tools [aria-pressed="true"]{background:#237644;color:#fff}
 table.mobile-ledger.ledger-cards{display:block;width:100%!important;min-width:0!important;table-layout:auto!important}table.mobile-ledger.ledger-cards colgroup{display:none}table.mobile-ledger.ledger-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 table.mobile-ledger.ledger-cards tbody{display:block}table.mobile-ledger.ledger-cards tbody tr{display:block;margin-bottom:12px;border:1px solid #ccd8d1;border-radius:10px;padding:6px;background:white}
 table.mobile-ledger.ledger-cards tbody td[data-column-label]{display:grid!important;grid-template-columns:minmax(90px,32%) minmax(0,1fr);gap:8px;text-align:left!important;white-space:normal!important;width:auto!important;max-width:none!important;min-width:0!important;padding:8px!important;overflow-wrap:anywhere;border:0;border-bottom:1px solid #edf1ef}
 table.mobile-ledger.ledger-cards tbody td[data-column-label]::before{content:attr(data-column-label);font-weight:700;color:#46584d}table.mobile-ledger.ledger-cards tbody td:last-child{border-bottom:0}table.mobile-ledger.ledger-cards tbody td[colspan]{display:block;width:auto!important;padding:18px!important}table.mobile-ledger.ledger-cards tfoot{display:table;width:100%}
}
@media print{.ledger-view-tools{display:none!important}.ledger-table-wrap{overflow:visible!important}table.mobile-ledger thead{display:table-header-group}table.mobile-ledger tbody tr{break-inside:avoid}.ledger-approval-summary{break-inside:avoid;page-break-inside:avoid}}

.applied-search-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0;padding:10px 12px;background:#f3f8f5;border:1px solid #d7e5dc;border-radius:8px;font-size:13px}.applied-search-chip{display:inline-flex;align-items:center;min-height:36px;padding:4px 10px;border:1px solid #b7d5c2;border-radius:18px;background:white;color:#245b3c;max-width:100%;overflow-wrap:anywhere;text-decoration:none}.applied-search-chip:focus-visible{outline:3px solid #237644;outline-offset:2px}.search-pending-notice{flex-basis:100%;color:#8a4b00;font-weight:700}.search-pending-notice[hidden]{display:none}@media(max-width:760px){.applied-search-summary .btn{width:auto;min-height:40px}}

@media print{.operation-section{break-inside:auto!important;page-break-inside:auto!important}.operation-section h2,.operation-section h3{break-after:avoid;page-break-after:avoid}.operation-table thead{display:table-header-group}.operation-table tr{break-inside:avoid;page-break-inside:avoid}.operation-table td{overflow-wrap:anywhere}.document-approval-box{break-inside:avoid;page-break-inside:avoid}}

/* operation-memo-date-toolbar-alignment: keep date and actions on one baseline. */
body.work-ui .operation-memo-date-search{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px}
body.work-ui .operation-memo-date-search>.field{flex:0 1 180px;min-width:140px;margin:0}
body.work-ui .operation-memo-date-search input[type="date"]{display:block;box-sizing:border-box;width:100%;min-width:0;height:44px;min-height:44px}
body.work-ui .operation-memo-date-search>.search-actions{display:flex;flex:0 0 auto;align-items:center;flex-wrap:nowrap;gap:6px;margin:0;padding:0}
body.work-ui .operation-memo-date-search .search-actions>.btn{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;box-sizing:border-box;height:44px;min-height:44px;margin:0;padding:0 12px;white-space:nowrap}
@media screen and (max-width:480px){
  body.work-ui .operation-memo-date-search{gap:8px}
  body.work-ui .operation-memo-date-search>.field{flex:1 1 140px;max-width:180px}
}
