@charset "utf-8";


/* ===========================
   NEXAIT UNIVERSAL LIGHT THEME
   =========================== */


:root {
    /* 배경/표면 */
    --bg-body: #f3f4f6;
    --bg-surface: #f9fafb;
    --surface-elevated: #ffffff;
    --surface-muted: #f3f4f6;


    /* 기본 글자색 */
    --fg-main: #111827;
    --fg-sub: #6b7280;


    /* 포인트 컬러 */
    --brand: #0ea5e9;          /* 시안 블루 */
    --brand-strong: #0284c7;
    --brand-soft: rgba(14, 165, 233, 0.12);
    --brand-soft-bg: #e0f2fe;


    --indigo: #6366f1;
    --indigo-deep: #4f46e5;


    --teal: #14b8a6;
    --teal-deep: #0f766e;


    --orange: #fb923c;
    --orange-deep: #ea580c;


    --red: #ef4444;
    --red-deep: #b91c1c;


    --green: #22c55e;
    --green-deep: #16a34a;


    /* 모노톤 */
    --white: #ffffff;
    --dark: #020617;
    --gray-light: #e5e7eb;
    --gray: #9ca3af;
    --gray-deep: #4b5563;
    --gray-dark: #111827;


    /* 테두리/그림자 */
    --border-soft: rgba(148, 163, 184, 0.6);
    --border-strong: rgba(148, 163, 184, 0.9);
    --border-subtle: rgba(209, 213, 219, 0.9);
    --shadow-soft: 0 10px 26px rgba(15, 23, 42, 0.14);


    /* 둥근 정도 */
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-card: 14px;    /* 카드용 */
    --radius-table: 9px;    /* 리스트 테이블 */
    --radius-pill: 999px;   /* 캡슐형 */
}


/* ===========================
   GLOBAL BASE
   =========================== */


html, body {
    background-color: var(--bg-body);
    color: var(--fg-main);
}


body {
    font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    font-size: 14px;
}


/* 링크: 색은 영역에서 지정, 여기선 동작/트랜지션만 */
a,
a:hover {
    color: inherit;
    text-decoration: none;
    transition: color .16s ease, opacity .16s ease;
}


/* 기본 UL 리셋 */
ul {
    list-style: none;
    padding: 0;
    margin: 0;
}


/* float 해제 유틸 */
.clear {
    clear: both;
}
.clear:after {
    content: "";
    display: block;
    clear: both;
}


/* 숨김 유틸 */
.hide {
    display: none !important;
}


/* ===========================
   PAGE HEADER / TITLES
   =========================== */


.page-header-light {
    background: transparent;
    border-bottom: 1px solid var(--gray-light);
    margin-bottom: 1rem;
}
.page-header-light .page-title h4,
.page-header-light .page-title .font-weight-bold {
    font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    font-weight: 800;
    font-size: 18px;
    letter-spacing: 0.02em;
    color: #0f172a;
}


legend {
    font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #0f172a;
}


/* ===========================
   FORM / VALIDATION
   =========================== */


input.error,
input.error:focus {
    border-color: var(--red) !important;
    box-shadow: 0 0 0 1px rgba(248, 113, 113, 0.4);
}


label.error {
    color: var(--red);
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    padding: .25rem .75rem;
    border-radius: var(--radius-pill);
    background: rgba(248, 113, 113, 0.08);
    position: absolute;
    right: 1.5rem;
    top: 4px;
    z-index: 9999;
    font-size: 12px;
}


/* 인풋/셀렉트: 밝은 배경 + 파란 포커스 */
.form-control {
    border-radius: 0.55rem;
    border: 1px solid var(--border-subtle);
    background-color: var(--surface-elevated);
    color: var(--fg-main);
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.form-control:focus {
    border-color: var(--brand-strong);
    box-shadow: 0 0 0 1px rgba(14, 165, 233, 0.4);
    background-color: #f9fafb;
    color: var(--fg-main);
}


/* ===========================
   TOP BUTTON (상단 바로가기)
   =========================== */


.top {
    position: fixed;
    text-align: center;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-pill);
    right: 18px;
    bottom: 52px;
    background:
        radial-gradient(circle at 20% 0%, #e0f2fe 0, #38bdf8 35%, #6366f1 75%, #4f46e5 100%);
    border: 1px solid rgba(148, 163, 184, 0.9);
    color: #0f172a;
    line-height: 42px;
    font-size: 18px;
    display: none;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.25);
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}
.top:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.3);
}


/* 리스트 상단 '00개씩 보기' 셀렉트 위치 */
.view-count-select {
    position: absolute;
    width: 150px;
    right: 20px;
    top: 16px;
}


/* ===========================
   MODAL (NEXAIT LIGHT - 완전 컴팩트)
   =========================== */


/* 백드롭 */
.modal-backdrop.show {
    opacity: .45;
    background: radial-gradient(circle at 20% 0,
        rgba(15, 23, 42, 0.18) 0,
        rgba(15, 23, 42, 0.85) 60%);
}


/* 다이얼로그 */
.modal-dialog {
    max-width: 720px;
    margin: 1.75rem auto;
}


@media (max-width: 768px) {
    .modal-dialog {
        max-width: calc(100% - 1.5rem);
        margin: 1.25rem auto;
    }
}


/* 컨텐츠 - 높이 완전 제거 */
.modal-dialog .modal-content {
    border-radius: var(--radius-card);
    border: 1px solid var(--border-soft);
    background-color: var(--surface-elevated);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
    color: var(--fg-main);
    display: flex !important;
    flex-direction: column !important;
}


/* 헤더 - 최소 패딩 */
.modal-dialog .modal-content .modal-header {
    position: relative;
    padding: .5rem 1rem;
    margin: 0;
    border-bottom: 1px solid rgba(229, 231, 235, 0.95);
    background: linear-gradient(
        90deg,
        var(--brand-soft-bg) 0,
        #f9fafb 46%,
        #ffffff 100%
    );
    flex-shrink: 0 !important;
}


/* 왼쪽 바 */
.modal-dialog .modal-content .modal-header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: -1px;
    width: 3px;
    background: linear-gradient(
        180deg,
        var(--brand) 0,
        var(--indigo-deep) 100%
    );
}


/* 타이틀 */
.modal-dialog .modal-content .modal-header .modal-title {
    font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .03em;
    color: #0f172a;
    line-height: 1.3;
    margin: 0;
}


/* 닫기 버튼 */
.modal-dialog .modal-content .modal-header .close {
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    opacity: .7;
    font-size: 18px;
    color: #6b7280;
    line-height: 1;
    transition: color .15s ease, opacity .15s ease, transform .1s ease;
}
.modal-dialog .modal-content .modal-header .close:hover {
    opacity: 1;
    color: var(--brand-strong);
    transform: translateY(-1px);
}


/* 바디 - 모든 높이/패딩 강제 제거 */
.modal-dialog .modal-content .modal-body {
    font-size: 13px;
    padding: 1rem 1rem !important;
    background-color: var(--surface-elevated);
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.4;
    margin: 0 !important;
    flex-shrink: 0 !important;
}


/* 바디 안 모든 요소 마진 제거 */
.modal-dialog .modal-content .modal-body > *:first-child {
    margin-top: 0 !important;
}
.modal-dialog .modal-content .modal-body > *:last-child {
    margin-bottom: 0 !important;
}


/* 폼 그룹 간격 최소화 */
.modal-dialog .modal-content .modal-body .form-group {
    margin-bottom: .5rem;
}
.modal-dialog .modal-content .modal-body .form-group:last-child {
    margin-bottom: 0 !important;
}


/* 푸터 - 최소 패딩 */
.modal-dialog .modal-content .modal-footer {
    justify-content: flex-end;
    gap: .4rem;
    padding: .5rem 1rem !important;
    border-top: 1px solid rgba(229, 231, 235, 0.95);
    background-color: #f9fafb;
    flex-shrink: 0 !important;
    margin: 0 !important;
}


/* 버튼 */
.modal-dialog .modal-content .modal-footer .btn {
    min-width: 80px;
    font-size: 12px;
    padding: .3rem .85rem;
    margin: 0 !important;
}


/* 작은 모달 */
.modal-sm .modal-dialog {
    max-width: 480px;
}
.modal-sm .modal-content {
    border-radius: var(--radius-lg);
}


/* 큰 모달 */
.modal-lg .modal-dialog {
    max-width: 960px;
}


/* 스크롤 모달 */
.modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 3.5rem);
}
.modal-dialog-scrollable .modal-header,
.modal-dialog-scrollable .modal-footer {
    position: sticky;
    z-index: 2;
}
.modal-dialog-scrollable .modal-header {
    top: 0;
}
.modal-dialog-scrollable .modal-footer {
    bottom: 0;
}


/* ===========================
   TABLE (LIST & DETAIL)
   =========================== */


/* 카드형 공통 테이블 – 그림자 제거, 플랫 */
.table-row,
.table-col {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: var(--radius-table); /* 살짝 둥근 사각 */
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: none;
    overflow: hidden;
}


/* 가로 스크롤용 래퍼 – 플랫 */
.table-over {
    width: 100%;
    overflow: auto;
    border-radius: var(--radius-table);
    background: transparent;
    padding: 0;
    box-shadow: none;
}
.table-over table {
    white-space: nowrap;
    background-color: #ffffff;
    border-radius: var(--radius-table);
}


/* 리스트 헤더 셀: 심플한 밝은 헤더 */
.table-row th {
    background-color: #f9fafb;
    color: #111827;
    padding: .32em .6em;
    border-right: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    text-align: center;
    height: 26px;
    font-size: 11.5px;
    font-weight: 600;
}


/* 헤더 좌우 상단 모서리 */
.table-row thead tr:first-child th:first-child {
    border-top-left-radius: var(--radius-table);
}
.table-row thead tr:first-child th:last-child {
    border-top-right-radius: var(--radius-table);
}


/* 리스트 바디 셀: 플랫 + 가독성 위주 */
.table-row td {
    padding: .3em .6em;
    border-right: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    font-size: 12px;
    line-height: 1.3;
    color: #111827;
    vertical-align: middle;
}


/* 마지막 컬럼 우측 보더 제거 */
.table-row th:last-child,
.table-row td:last-child {
    border-right: 0;
}


/* 리스트 합계/푸터 셀 */
.table-row tfoot td {
    padding-top: .6em;
    border-bottom: 0;
    background-color: #f9fafb;
    font-weight: 600;
    font-size: 12px;
}


/* 행 배경 / 호버 – 눈에 잘 들어오게 */
.table-row tbody tr:nth-child(odd) td {
    background: #ffffff;
}
.table-row tbody tr:nth-child(even) td {
    background: #f9fafb;
}
.table-row tbody tr:hover td {
    background-color: #e5efff;
    color: #0f172a;
    transition: background .12s ease, color .12s ease;
}


/* 컬럼형 상세 테이블 */
.table-col {
    table-layout: fixed;
}


.table-col th {
    background-color: #f9fafb;
    text-align: left;
    padding: .35em .9em;
    border-right: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    font-size: 12px;
    font-weight: 600;
    color: #111827;
}


.table-col td {
    padding: .35em .9em;
    border-bottom: 1px solid #e5e7eb;
    font-size: 12px;
    height: 32px;
    color: #111827;
}


/* ===========================
   CUSTOM CHECKBOX / RADIO
   =========================== */


input[type="checkbox"],
input[type="radio"] {
    position: absolute;
    left: -5000%;
}


/* 텍스트 라벨 공통 */
input[type="checkbox"] + label,
input[type="radio"] + label {
    font-weight: 400;
    margin-right: 1.5em;
    margin-bottom: 0;
    cursor: pointer;
    font-size: 13px;
    color: var(--fg-main);
}


/* 마지막 라벨 마진 제거 */
input[type="checkbox"] + label:last-child,
input[type="radio"] + label:last-child {
    margin-right: 0;
}


/* 기본 박스/동그라미 */
input[type="checkbox"] + label:before,
input[type="radio"] + label:before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 1px solid rgba(148, 163, 184, 0.9);
    position: relative;
    top: 2px;
    margin-right: .45em;
    box-sizing: border-box;
    background-color: #ffffff;
    box-shadow: 0 1px 2px rgba(148, 163, 184, 0.5);
}


/* 각 타입별 모양 */
input[type="checkbox"] + label:before {
    border-radius: 5px;
}
input[type="radio"] + label:before {
    border-radius: 999px;
}


/* margin 없는 버전 */
input[type="checkbox"] + label.no-margin:before,
input[type="radio"] + label.no-margin:before {
    margin-right: 0;
}
input[type="checkbox"] + label.mg-0:before {
    margin: 0;
}


/* 체크 상태 – 이미지 중앙 정렬 */
input[type="checkbox"]:checked + label:before {
    background-color: #ffffff;
    background-image: url("/image/checkbox-checked.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 12px 12px;
    border-color: var(--brand);
    box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.35);
}
input[type="radio"]:checked + label:before {
    background-color: #ffffff;
    background-image: url("/image/radio-checked.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 10px 10px;
    border-color: var(--brand);
    box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.35);
}


/* 비활성 상태 */
input[type=checkbox][disabled] + label:before,
input[type=radio][disabled] + label:before {
    background: #f3f4f6;
    border-color: #cbd5f5;
    cursor: not-allowed;
    box-shadow: none;
}


/* ===========================
   BUTTONS
   =========================== */


.btn {
    border-radius: var(--radius-pill);
    font-weight: 500;
    border-width: 1px;
    padding: .32rem .9rem;
    font-size: 12px;
    transition:
        background .16s ease,
        color .16s ease,
        box-shadow .16s ease,
        border-color .16s ease,
        transform .12s ease;
}


/* Primary: 등록/저장 – 포인트 */
.btn-primary {
    background: linear-gradient(135deg, #4f46e5, #0ea5e9);
    border-color: #4338ca;
    color: #f9fafb;
    box-shadow: 0 12px 26px rgba(79, 70, 229, 0.45);
    padding: .35rem 1.1rem;
    font-size: 12.5px;
    letter-spacing: .02em;
}
.btn-primary:hover {
    background: linear-gradient(135deg, #4338ca, #0284c7);
    border-color: #3730a3;
    box-shadow: 0 16px 30px rgba(79, 70, 229, 0.6);
    transform: translateY(-1px);
}


/* Secondary: 검색 버튼 – 시원한 아웃라인 블루 */
.btn-secondary {
    background-color: #ffffff;
    border-color: var(--brand-strong);
    color: var(--brand-strong);
    box-shadow: 0 4px 12px rgba(56, 189, 248, 0.25);
}
.btn-secondary:hover {
    background-color: var(--brand-soft-bg);
    border-color: var(--brand);
    color: #0f172a;
    box-shadow: 0 8px 18px rgba(56, 189, 248, 0.35);
    transform: translateY(-1px);
}


/* Danger: 삭제 등 */
.btn-danger {
    background: linear-gradient(135deg, var(--red), var(--red-deep));
    border-color: var(--red-deep);
    color: #fef2f2;
    box-shadow: 0 10px 22px rgba(239, 68, 68, 0.35);
}
.btn-danger:hover {
    background: linear-gradient(135deg, #dc2626, #7f1d1d);
    border-color: #7f1d1d;
    box-shadow: 0 14px 30px rgba(239, 68, 68, 0.5);
    transform: translateY(-1px);
}


/* Light/Outline: 취소/닫기 */
.btn-light,
.btn-outline-secondary {
    background-color: #ffffff;
    border-color: var(--border-subtle);
    color: #374151;
    box-shadow: 0 6px 16px rgba(148, 163, 184, 0.25);
}
.btn-light:hover,
.btn-outline-secondary:hover {
    background-color: #f9fafb;
    border-color: #9ca3af;
    color: #111827;
    box-shadow: 0 10px 22px rgba(148, 163, 184, 0.35);
    transform: translateY(-1px);
}


/* Success: 승인/완료 */
.btn-success {
    background: linear-gradient(135deg, var(--green), var(--green-deep));
    border-color: var(--green-deep);
    color: #ecfdf3;
    box-shadow: 0 10px 22px rgba(22, 163, 74, 0.35);
}
.btn-success:hover {
    background: linear-gradient(135deg, #16a34a, #166534);
    border-color: #166534;
    box-shadow: 0 14px 30px rgba(22, 163, 74, 0.5);
    transform: translateY(-1px);
}


/* 리스트에서 쓰는 작은 '수정' 버튼 – 플랫 & 가독성 위주 */
.btn-edit,
.btn-edit:focus {
    font-size: 11px;
    padding: .15em .7em;
    background-color: #ffffff;
    color: #2563eb;
    border: 1px solid #cbd5f5;
    border-radius: var(--radius-pill);
    box-shadow: none;
    line-height: 1.3;
}
.btn-edit:hover {
    background-color: #e0edff;
    color: #1d4ed8;
    border-color: #93c5fd;
    transform: none;
}


/* Reset / 초기화 버튼 – 중립 그레이 톤 */
.btn-reset,
.btn-default {
    background-color: #f3f4f6;
    border-color: #e5e7eb;
    color: #4b5563;
    box-shadow: none;
}
.btn-reset:hover,
.btn-default:hover {
    background-color: #e5e7eb;
    border-color: #d1d5db;
    color: #111827;
}


/* 비활성 버튼 */
button[disabled],
.btn:disabled {
    cursor: not-allowed !important;
    opacity: .55;
    box-shadow: none;
}


/* ===========================
   TABS (Bootstrap nav-tabs + 커스텀 탭)
   =========================== */


/* 위에 덩어리 파란 바 제거 – 최대한 플랫 + 밑줄 액티브만 */
.nav-tabs {
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: .6rem;
    padding: 0;
    background: transparent;
    box-shadow: none;
}
.nav-tabs .nav-item {
    margin-bottom: -1px;
}
.nav-tabs .nav-link {
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    padding: .35rem .9rem;
    font-size: 13px;
    color: #6b7280;
    background-color: transparent;
    white-space: nowrap;
    transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}
.nav-tabs .nav-link:hover {
    color: #111827;
    background-color: #f9fafb;
}
.nav-tabs .nav-link.active {
    color: #111827;
    font-weight: 600;
    border-bottom-color: var(--brand-strong);
    background-color: #ffffff;
}


/* choice-lcr – 테이블/카드랑 어우러지게 조금만 강조 */
.choice-lcr {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: 3px;
    border-radius: var(--radius-pill);
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    margin: .4rem 0 .8rem;
    box-shadow: none;
}
.choice-lcr-li {
    padding: .28rem .9rem;
    font-size: 13px;
    color: #4b5563;
    cursor: pointer;
    border-radius: var(--radius-pill);
    white-space: nowrap;
    transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.choice-lcr-li:hover {
    background-color: #f3f4ff;
    color: #111827;
}
.choice-lcr-li.active,
.choice-lcr-li[data-active="1"] {
    background-color: var(--brand-soft-bg);
    color: #0f172a;
    border: 1px solid var(--brand-strong);
}


/* ===========================
   TOGGLE BUTTON LABELS
   =========================== */


.button-label {
    display: inline-block;
}
.button-label input[type="radio"],
.button-label input[type="checkbox"] {
    display: none;
}
.button-label input[type="radio"] + span,
.button-label input[type="checkbox"] + span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1.3rem;
    border: 1px solid rgba(148, 163, 184, 0.9);
    background-color: #ffffff;
    text-align: center;
    cursor: pointer;
    border-radius: var(--radius-md);
    font-size: 13px;
    min-width: 88px;
    color: #111827;
    box-shadow: 0 8px 18px rgba(148, 163, 184, 0.25);
    transition: background .16s ease, color .16s ease, box-shadow .16s ease, transform .12s ease, border-color .16s ease;
}


.button-label input[type="radio"]:checked + span,
.button-label input[type="checkbox"]:checked + span {
    background: linear-gradient(135deg, var(--brand), var(--indigo));
    color: #ffffff;
    border-color: rgba(37, 99, 235, 0.95);
    box-shadow: 0 12px 26px rgba(37, 99, 235, 0.4);
    transform: translateY(-1px);
}


.button-label input[type="radio"]:disabled + span,
.button-label input[type="checkbox"]:disabled + span {
    background-color: #f3f4f6;
    color: #9ca3af;
    border-color: #d1d5db;
    box-shadow: none;
    cursor: not-allowed;
}


/* 여러 개 나열될 때 */
.button-label-ul {
    display: flex;
    gap: .75em;
    flex-wrap: wrap;
}


/* ===========================
   PAGINATION
   =========================== */


.page-item .page-link {
    border-radius: var(--radius-pill) !important;
    border-color: rgba(209, 213, 219, 0.9);
    background-color: #ffffff;
    color: #6b7280;
    padding: .25rem .65rem;
    font-size: 12px;
}
.page-item .page-link:hover {
    color: #111827;
    border-color: rgba(148, 163, 184, 0.9);
    background-color: #f9fafb;
}


.page-item.active .page-link {
    background: linear-gradient(135deg, var(--brand), var(--indigo));
    border-color: var(--indigo);
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(56, 189, 248, 0.45);
}


/* ===========================
   CARD
   =========================== */


.card {
    border-radius: var(--radius-card);
    border: 1px solid var(--border-subtle);
    background-color: #ffffff;
    box-shadow: var(--shadow-soft);
    overflow: hidden;
    color: var(--fg-main);
}


/* 카드 헤더 – 파란 느낌 줄이고 테이블과 톤 통일 */
.card-header {
    border-bottom: 1px solid rgba(229, 231, 235, 0.9);
    background-color: #f9fafb;
    color: #0f172a;
    font-weight: 600;
    font-size: 12px;
    padding: .35rem .75rem;
    display: flex;
    align-items: center;
    gap: .35rem;
}


.card-body {
    padding: .7rem .85rem .8rem;
    font-size: 12px;
}


.card-footer {
    border-top: 1px solid rgba(229, 231, 235, 0.9);
    background-color: #f9fafb;
    padding: .5rem .85rem;
    font-size: 11.5px;
}


/* ===========================
   MEDIA LIST (헤더 결재 등)
   =========================== */


.media-list li {
    border-bottom: 1px dashed rgba(209, 213, 219, 0.9);
    padding: 8px 0;
}
.media-list li:last-child {
    border-bottom: none;
}
.media-list li a {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 4px 6px;
    border-radius: var(--radius-md);
    transition: background .14s ease, transform .08s ease;
}
.media-list li a:hover {
    background: rgba(219, 234, 254, 0.9);
    transform: translateX(1px);
}


.media-list > li > a > .title {
    flex: 1;
    max-width: 228px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.media-list > li > a > .date {
    flex: none;
    width: 70px;
    text-align: center;
}


/* ===========================
   FAVORITES / INSPECTION ICONS
   =========================== */


.favorite-ul {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.favorite-ul > li {
    font-weight: 700;
}
.favorite-ul > li > ul {
    margin-left: 10px;
}
.favorite-ul > li > ul > li {
    margin-top: 10px;
}
.favorite-ul > li > ul > li > ul {
    margin-left: 20px;
}


/* 검사 아이콘 리스트 */
.inspection-ul {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}
.inspection-ul > li > a {
    display: block;
    width: 96px;
    height: 96px;
    text-align: center;
    border-radius: 18px;
    border: 1px solid rgba(209, 213, 219, 0.9);
    background: radial-gradient(circle at 0 0, #ffffff 0, #ffffff 65%, #f3f4f6 100%);
    box-shadow: 0 10px 22px rgba(148, 163, 184, 0.25);
    transition: background .18s ease, color .18s ease, transform .12s ease, box-shadow .18s ease, border-color .18s ease;
}
.inspection-ul > li > a > p {
    margin: 26px 0 0 0;
    font-size: 13px;
}
.inspection-ul > li > a.active {
    background: linear-gradient(135deg, var(--teal), var(--teal-deep));
    font-weight: 700;
    color: #FFF;
    border: 1px solid var(--teal-deep);
    box-shadow: 0 14px 28px rgba(20, 184, 166, 0.5);
}
.inspection-ul > li > a.non-active {
    background-color: #f3f4f6;
    font-weight: 700;
    color: #9ca3af;
    border: 1px #d1d5db solid;
    pointer-events: none;
}
.inspection-ul > li > a.stop {
    background: linear-gradient(135deg, var(--orange), var(--orange-deep));
    font-weight: 700;
    color: #FFF;
    border: 1px solid var(--orange-deep);
}


/* ===========================
   ETC
   =========================== */


/* 검색 시작일 ~ 표시 */
.search-start-date::after {
    content: '~';
    position: absolute;
    right: -5px;
    top: 5px;
}


/* CKEditor 최대화 시 헤더 높이 확보 */
.cke_maximized {
    padding-top: 103px !important;
}


/* 서명 영역 높이 */
.js-sign {
    height: 36px;
}
