/* Aggregated entry file: modularized imports
   Order matters: tokens -> layout -> components -> modals -> worklog -> utilities */

@import url('css/tokens.css');
@import url('css/layout.css');
@import url('css/components.css');
@import url('css/modals.css?v=20260412a');
@import url('css/worklog.css');
@import url('css/utilities.css');

/* Cross-module dark-mode input tokens (inventory/safety/property common baseline) */
body.dark-mode {
    --app-dm-input-bg: rgba(255, 255, 255, 0.06);
    --app-dm-input-border: rgba(148, 163, 184, 0.45);
    --app-dm-input-text: #f8fafc;
    --app-dm-placeholder: #8fa6bf;
    --app-dm-label: #d8e7ff;
    --app-dm-focus: #22d3ee;
    --app-dm-focus-ring: rgba(34, 211, 238, 0.2);
    --app-dm-disabled: #b9c9dd;
}

/* Work Log View Filter Group - Segmented Control Style */
.work-log-filter-group {
    background-color: #f1f3f5; /* Light gray background for container */
    padding: 4px;
    border-radius: 8px;
    display: inline-flex;
    vertical-align: middle;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.05);
}

.work-log-filter-group .btn {
    border: none;
    background: transparent;
    color: #868e96; /* Muted text */
    font-size: 0.9rem;
    padding: 6px 14px;
    border-radius: 6px; /* Slightly smaller radius than container */
    transition: all 0.2s ease-in-out;
    font-weight: 500;
    margin: 0 1px;
    white-space: nowrap; /* Prevent text wrapping */
}

.work-log-filter-group .btn:hover {
    color: #495057;
    background-color: var(--table-row-hover);
}

.work-log-filter-group .btn.active {
    background-color: var(--surface);
    color: var(--accent-color); /* Use primary/accent color */
    box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
    font-weight: 700;
}


/* Responsive Work Log Table - Card View on Mobile */
@media screen and (max-width: 768px) {
    .work-log-table-container {
        background: transparent;
        padding: 0;
    }

    .work-log-table-container table, 
    .work-log-table-container tbody, 
    .work-log-table-container tr, 
    .work-log-table-container td { 
        display: block; 
        width: 100% !important; 
        box-sizing: border-box;
    }

    .work-log-table-container thead { 
        display: none; 
    }

    .work-log-table-container tr {
        background: var(--card-bg);
        margin-bottom: 15px;
        border-radius: 12px;
        box-shadow: var(--card-shadow);
        border: 1px solid var(--card-border);
        padding: 15px;
        position: relative;
    }

    .work-log-table-container td {
        padding: 8px 0;
        text-align: left !important;
        border: none; /* Remove table borders */
    }

    /* --- Labels --- */
    .work-log-table-container td:before {
        content: attr(data-label);
        display: block;
        font-size: 0.8rem;
        color: #868e96;
        font-weight: 600;
        margin-bottom: 4px;
    }

    /* Header Compact Row (Date & Author) */
    .work-log-table-container td[data-label='날짜'],
    .work-log-table-container td[data-label='작성자'] {
        display: inline-block;
        width: auto !important;
        padding-top: 0;
        vertical-align: top;
    }

    .work-log-table-container td[data-label='작성자'] {
        float: right; 
        text-align: right !important;
    }
    
    /* Hide label for Date/Author to make it cleaner, or keep? 
       Let's keep labels but make them inline if needed. 
       Actually, for Date/Author header, it's often better to just show the value.
    */
    .work-log-table-container td[data-label='날짜']:before,
    .work-log-table-container td[data-label='작성자']:before {
        display: none; /* Hide label for cleaner header look */
    }

    /* Style the date and author distinctively */
    .work-log-table-container td[data-label='날짜'] {
        font-size: 0.9rem;
        font-weight: 500;
        color: #495057;
    }
    .work-log-table-container td[data-label='작성자'] {
        font-size: 0.95rem;
        font-weight: bold;
        color: #212529;
    }

    /* --- Content Area --- */
    .work-log-table-container td[data-label='내용'] {
        clear: both; /* Clear floats from header */
        background-color: var(--card-bg);
        border-radius: 8px;
        padding: 12px;
        margin-top: 10px;
        margin-bottom: 10px;
        font-size: 1rem;
        line-height: 1.5;
        border: 1px solid var(--card-border);
    }
    .work-log-table-container td[data-label='내용']:before {
        display: none; /* Hide '����' label as box implies it */
    }

    /* --- Attachments --- */
    .work-log-table-container td[data-label='첨부'] {
        border-top: 1px dotted #dee2e6;
        padding-top: 12px;
    }

    /* --- Management Buttons --- */
    .work-log-table-container td[data-label='관리'] {
        text-align: right !important;
        padding-bottom: 0;
    }
    .work-log-table-container td[data-label='관리']:before {
        display: none;
    }
}


/* Prevent wrapping on table header cells for specific columns if needed */
.work-log-table-container th {
    white-space: nowrap;
}

/* 자산관리 페이지: 컨테이너 수직 스크롤은 유지 (스크롤바는 layout.css 전역 설정에 따라 숨김) */
.container-fluid {
    overflow-y: auto !important; /* 강제 적용 (인라인 스타일보다 우선) */
}

/* Mobile Optimization for Work Log Header */
@media screen and (max-width: 768px) {
    .work-log-header-container {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .work-log-header-container > div {
        width: 100%;
        margin-bottom: 10px;
    }
    .work-log-filter-group {
        display: flex;
        width: 100%;
        overflow-x: auto; /* Allow horizontal scroll if needed */
        justify-content: space-between; /* Space out buttons */
    }
    .work-log-filter-group .btn {
        flex: 1; /* Distribute space evenly */
        text-align: center;
        padding: 8px 4px; /* Adjust padding */
        font-size: 0.85rem;
    }
    
    /* Search Bar Optimization */
    .work-log-search-row {
        flex-wrap: wrap;
        gap: 8px !important;
    }
    .work-log-search-row input[type='date'] {
        flex: 1 1 calc(50% - 20px);
        width: auto !important;
        min-width: 0; /* 브라우저 기본 너비 무시하고 축소 허용 */
    }
    .work-log-search-row span {
        flex: 0 0 auto;
        width: 20px;
        text-align: center;
    }
    .work-log-search-row input[type='text'] {
        flex: 1;
        width: auto !important;
        min-width: 0;
        margin-top: 0;
    }
    .work-log-search-row .btn {
        flex: 0 0 auto;
        width: auto !important;
    }
    .work-log-search-row #btnResetSearchWorkLog {
        width: auto; 
    }
    
    /* Title Font Size Adjustment */
    .work-log-title {
        font-size: 1.3rem !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        width: 100%;
        display: block;
    }
}

/* 모바일에서 페이지 전체가 아닌 .container-fluid만 스크롤되도록 강제
   변경: 세로 스크롤을 전역에서 숨기면 별도 .container 클래스(등록 페이지 등)의 스크롤이 동작하지 않아 제거함 */
@media (max-width: 768px) {
    /* 주소창 숨김 기능을 활성화하기 위해 문서 높이 제한 해제 및 dvh 적용 */
    html, body { height: auto; overflow-x: hidden; }
    .container-fluid { height: auto; min-height: 100dvh; overflow-y: visible !important; -webkit-overflow-scrolling: touch; }
}

/* 모바일에서 섹션 내부 스크롤 제거: 테이블은 줄바꿈, table-responsive는 내부 스크롤 해제 */
@media (max-width: 768px) {
    .table-responsive { overflow: visible !important; max-height: none !important; }
    .table-responsive table, .table-responsive .table { width: 100% !important; table-layout: auto !important; }
    .table-responsive th, .table-responsive td { white-space: normal !important; word-break: break-word !important; }
    .content-section, .content-section .card { overflow: visible !important; max-height: none !important; }
}

/* Custom Gray Shades for Work Log Filter Buttons (Distinct Levels) */
/* Override the generic active style for specific IDs */

/* 1. My Logs (Personal) - Light Cool Gray */
#btnViewMyLogs.active {
    background: var(--btn-primary-hover-gradient); 
    color: var(--white);
    box-shadow: var(--card-shadow);
}

/* 2. Shared Logs (Group) - Medium Gray */
#btnViewSharedLogs.active {
    background: var(--btn-primary-gradient);
    color: var(--white);
    box-shadow: var(--card-shadow);
}

/* 3. All Logs (Global) - Dark Gray */
#btnViewAllLogs.active {
    background: var(--primary-color);
    color: #ffffff;
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
}

/* Optional: Slight tint on hover for better interactivity */
#btnViewMyLogs:hover:not(.active) { background-color: #f8f9fa; }
#btnViewSharedLogs:hover:not(.active) { background-color: #e9ecef; }
#btnViewAllLogs:hover:not(.active) { background-color: #dee2e6; }

/* Badge Checkbox */
.badge-check {
    display: none;
}
.badge-check-label {
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.2s;
    user-select: none;
    background-color: var(--table-row-hover); /* Default gray for off */
    color: #6c757d;
}
.badge-check:checked + .badge-check-label {
    opacity: 1;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    transform: scale(1.05);
    background-color: var(--accent-color); /* Updated to Teal theme */
    color: #1a1a1a;
}

/* Table Hover */
.table-hover tbody tr:hover {
    background-color: var(--table-row-hover);
}
.table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid var(--card-border);
    background: var(--table-header-bg);
    color: var(--secondary-color);
    font-weight: 600;
}
.table td {
    vertical-align: middle;
}

/* Helper */
.outline-none { outline: none !important; }
.overflow-hidden { overflow: hidden !important; }

/* --- End of New Admin Utilities --- */


/* Responsive Column Widths */
/* Responsive Column Widths */

/* Responsive Column Widths */
.col-notice-period { width: 200px !important; }

@media (max-width: 768px) {
    .col-notice-period { width: 130px !important; }
}


/* PDF Export Styles */
.pdf-mode .close-modal,
.pdf-mode button,
.pdf-mode input,
.pdf-mode textarea,
.pdf-mode .btn,
.pdf-mode #replyIndicator {
    display: none !important;
}
.pdf-mode .modal-content {
    box-shadow: none !important;
    border: none !important;
}
