/* ============ Header & Layout ============ */
.header-list-wrapper-da {
    display: flex;
    gap: 30px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    padding: 20px 0;
}
.main-task-wrapper{
    display: flex;
    flex-direction: column;
    padding: 20px 0;
    gap: 10px;
    width: 100%;
}
.subheader-wrapper-da{
    display: flex;
    justify-content: space-between;
    padding: 20px 0;
    align-items: flex-start;
}
.daily-activity-page .filter-label{
    font-size: 14px;

}
/* ============ Button (Schedule) ============ */
.btn-addSchedule{
    display: flex;
    border-radius: 8px;
    border: 0px;
    gap: 8px;
    padding: 5px;
    font-size: 18px;
    font-weight: 500;
    background: #5581FA;
    color: #FFFFFF;
    align-items: center;
}

/* ============ Status Summary Boxes (3-up) ============ */
.status-task-wrapper{
    display: flex;
    gap: 10px;
    flex-direction: row; /* keep row always */
    width: 100%;
    flex-wrap: wrap;     /* allow wrap on tighter screens */
}
.task-status-completed-container{
    display: flex;
    align-items: center;
    padding: 10px;
    gap: 10px;
    flex-direction: row;
    border-radius: 12px;
    background: #F4F7FF;
    border: 0.67px solid #5581FA;
}
.task-status-approved-container{
    display: flex;
    align-items: center;
    padding: 10px;
    gap: 10px;
    flex-direction: row;
    border-radius: 12px;
    background: #F8FFFC;
    border: 0.67px solid #25E183;
}
.task-status-rejected-container{
    display: flex;
    align-items: center;
    padding: 10px;
    gap: 10px;
    flex-direction: row;
    border-radius: 12px;
    background: #FFF7F7;
    border: 0.67px solid #FF8282;
}
.task-status{
    display: flex;
    flex-direction: column;
    font-family: Mulish;
}
.task-title{
    font-size: 16px;
    font-weight:400;
}
.task-progression{
    display: flex;
    flex-direction: row;
    gap: 5px;
    align-items: center;
}
.current-progression{
    font-size: 20px;
    font-weight: 900;
}
.total-progression{
    font-size: 16px;
    font-weight: 500;
}
.status-completed{
    font-size: 16px;
    font-weight:400;
}
.span-slash{
    font-family: Montserrat;
    font-size: 18px;
    font-weight: 400;
    line-height: 30px;
}
.image-status{
    height: 30px;
    width: 30px;
}
.img-add{
    height: 25px;
    width: 20px;
}

/* ============ Filters (3-up, stay row) ============ */
.daily-activity-page .filters{
    /* switched from grid to flexible row layout */
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    width: 100%;
    margin-top: 4px;
}
.daily-activity-page .filter label{
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    color: #3a3f58;
    font-weight: 600;
}

/* Status pill (for task cards) */
.daily-activity-page .status-pill {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    padding: 4px 8px;
    border-radius: 6px;
    text-transform: capitalize;
    color: #333;
}
.file-hint{
    font-family: Mulish;
    font-size: 14px;
    font-weight: 500;
    align-self: center;
}
/* thumbnails under Completed */
.daily-activity-page .task-photos{
    display:flex;
    gap:8px;
    margin-top:6px;
    flex-wrap: wrap;
}

/* Clickable thumbnails */
.daily-activity-page .task-photo{
    width:100%;
    height:100px;
    object-fit:cover;
    border-radius:10px;
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 2px 6px rgba(0,0,0,.06);
    cursor:pointer;
}

/* Fullscreen photo modal */
.photo-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.6);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:1000;
}
.photo-modal-dialog{
    background:#fff;
    border-radius:16px;
    padding:16px;
    max-width:92vw;
    max-height:88vh;
    box-shadow:0 10px 30px rgba(0,0,0,.2);
    display:flex;
    flex-direction:column;
    gap:12px;
}
.photo-modal-img{
    max-width:90vw;
    max-height:70vh;
    width:auto;
    height:auto;
    object-fit:contain;
    border-radius:12px;
}
.photo-modal-actions{
    display:flex;
    gap:8px;
    justify-content:flex-end;
}
.photo-modal .btn{
    padding:10px 14px;
    border-radius:10px;
    border:none;
    cursor:pointer;
    font-weight:600;
}
.photo-modal .btn-download{
    background:#eef3ff;
    color:#2f5cff;
    text-decoration:none;
}
.photo-modal .btn-close{
    background:#2f5cff;
    color:#fff;
}

/* Colored backgrounds for each status */
.daily-activity-page .status-neutral { background-color: #e0e0e0; color: #555; }
.daily-activity-page .status-done    { background-color: #E5EDFF; color: #3366FF; }
.daily-activity-page .status-in-progress  { background-color: #E5EDFF; color: #3366FF; }
.daily-activity-page .status-pending { background-color: #FFF6CC; color: #E0A600; }
.daily-activity-page .status-approved{ background-color: #E6F7EE; color: #1B9E63; }
.daily-activity-page .status-rejected{ background-color: #FFE6E6; color: #D93434; }

/* Tom Select look & dropdown */
.daily-activity-page .ts-option.ts-status,
.daily-activity-page .ts-item.ts-status {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    /*padding: 8px;*/
}
.daily-activity-page .ts-dropdown{
    border: 1px solid rgba(0,0,0,0.08);
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    padding: 6px;
}
.daily-activity-page .ts-dropdown,
.daily-activity-page .option{
    border-radius: 10px;
    padding: 10px 12px;
}
.daily-activity-page .ts-dropdown{ background: #fff; }
.daily-activity-page .option:hover{ background: #F3F3F5; }
.daily-activity-page .ts-control,
.daily-activity-page .ts-dropdown{ border-radius: 12px; }
.daily-activity-page .ts-control{
    border: 1px solid rgba(0,0,0,0.08);
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    background: #fff;
    min-height: 57px;
    padding: 8px 10px;
    min-width: 160px;
}
.daily-activity-page .ts-option,
.daily-activity-page .ts-item{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}
/*Custome Staff Dropdown*/
/* Control */
.ms-control{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 12px;
    border:1px solid #E3E6EF;
    border-radius:10px;
    background:#fff;
}
.ms-summary{
    color:#2f3554;
    font-size:14px;
    font-weight:600;
    opacity:.9;
}
.ms-caret{ width:16px; height:16px; opacity:.6 }

/* Panel */
.ms-panel{
    position:relative;
    display:none;
    margin-top:8px;
}
.ms-panel.open{ display:block; }
.ms-head{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
}
.ms-search{
    flex:1;
    padding:10px 12px;
    border:1px solid #E3E6EF;
    border-radius:10px;
    font-size:14px;
}
.ms-close{
    height:38px;
    padding:0 12px;
    border:1px solid #E3E6EF;
    border-radius:10px;
    background:#fff;
}

/* Groups */
.ms-group{ margin-top:8px; }
.ms-group-title{
    font-size:12px;
    font-weight:700;
    color:#637381;
    margin:8px 4px;
    text-transform:uppercase;
}

/* List */
.ms-list{
    max-height:260px;            /* comfortable on mobile */
    overflow:auto;
    border:1px solid #F0F2F7;
    border-radius:10px;
    background:#fff;
}
.ms-item{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    border-bottom:1px solid #F5F6FB;
}
.ms-item:last-child{ border-bottom:none; }
.ms-item:hover{ background:#F8FAFF; }

.ms-item.selected{ background:#EEF2FF; }
.ms-check{
    width:20px;
    height:20px;
    border-radius:4px;
    border:1px solid #C9D2FF;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    color:transparent;            /* not selected */
}
.ms-check.checked,
.ms-item.selected .ms-check{
    background:#5879F0;
    color:#fff;
    border-color:#5879F0;
}
.ms-text{
    flex:1;
    color:#2f3554;
    font-size:14px;
}
.ms-remove{
    width:26px;
    height:26px;
    border:none;
    border-radius:6px;
    background:#fff;
    color:#A1A7C4;
    font-size:16px;
    line-height:1;
}
.ms-remove:hover{ background:#F1F4FF; color:#2f3554; }

.ms-empty{
    text-align:center;
    color:#8A8FA3;
    font-size:13px;
    padding:12px 0;
}

/* Tap safety on mobile */
@media (hover:none){
    .ms-item:hover{ background:#fff; }
    .ms-remove:hover{ background:#fff; color:#A1A7C4; }
}


/* ============ Task List (scrollable) ============ */
.daily-activity-page .task-list-wrapper{
    max-height: 58vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 8px;
    font-family: Mulish;
}
/* Task card */
.daily-activity-page .task-card{
    background: #fff;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.04);
    padding: 14px;
}
/* Header */
.daily-activity-page .task-card-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
.daily-activity-page .shift-and-user{
    display: flex;
    align-items: center;
    gap: 8px;
}
.daily-activity-page .avatar{ width: 18px; height: 18px; opacity: .8; }
.daily-activity-page .title-line{ display: flex; align-items: baseline; gap: 6px; font-weight: 700; }
.daily-activity-page .shift{ font-size: 18px; font-weight: 900; color:#3a3f58; }
.daily-activity-page .dash{ font-size: 19px; opacity:.5; }
.daily-activity-page .name-assigned{ font-size: 18px; font-weight: 500; color:#3a3f58; }

/* Body rows */
.daily-activity-page .task-card-body{
    display: grid;
    gap: 6px;
    margin: 8px 0;
}
.daily-activity-page .task-row{
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
}
.daily-activity-page .task-row .icon{ width: 18px; height: 18px; opacity:.8; }
.daily-activity-page .task-row .text{ font-size: 14px; color: #4b4f68; }
.daily-activity-page .task-row .text-red{ font-size: 14px; color: red; font-weight: 800;}
/* Actions */
.daily-activity-page .task-card-actions{
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 8px;
}
.daily-activity-page .btn-outline-danger{
    background: #fff;
    border: 1.5px solid #ff5a5a;
    color: #ff5a5a;
    border-radius: 10px;
    padding: 10px 16px;
    font-weight: 700;
}
.daily-activity-page .btn-primary{
    background: #5581FA;
    border: 1.5px solid #5581FA;
    color: #fff;
    border-radius: 10px;
    padding: 10px 16px;
    font-weight: 700;
}

/* ============ Modal (Daily Activity) ============ */
.daily-activity-page .da-modal-backdrop{
    position: fixed; inset: 0;
    background: rgba(21, 25, 36, 0.45);
    backdrop-filter: blur(1px);
    z-index: 900;
}
.daily-activity-page .da-modal{
    position: fixed;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    width: min(560px, calc(100vw - 40px));
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 16px 48px rgba(0,0,0,.18);
    z-index: 901;
    display: flex;
    flex-direction: column;
}
.daily-activity-page .da-modal-header{
    display: flex; justify-content: space-between; align-items: center;
    padding: 16px 18px 8px 18px;
}
.daily-activity-page .da-modal-header h4{
    margin: 0; color: #2f3554; font-weight: 800; font-size: 18px;
}
.daily-activity-page .da-modal-close{
    border: 0; background: transparent; font-size: 18px; line-height: 1;
    cursor: pointer; color: #9aa3b2;
}
.daily-activity-page .da-modal-body{ padding: 8px 18px 0 18px; }
.daily-activity-page .da-field-label{
    display: block; font-weight: 700; color: #2f3554; margin-bottom: 8px;
}
.daily-activity-page .da-textarea{
    width: 100%;
    min-height: 140px;
    resize: vertical;
    padding: 14px;
    border-radius: 10px;
    border: 1px dashed #b9c2d3;
    background: #f7f8fb;
    color: #3a3f58;
    font-size: 14px;
    outline: none;
}
.daily-activity-page .da-textarea::placeholder{ color: #a8b0c0; }
.daily-activity-page .da-textarea:focus{
    border-color: #5581FA;
    box-shadow: 0 0 0 3px rgba(85,129,250,0.15);
    background: #fff;
}
.daily-activity-page .da-modal-footer{
    display: flex; justify-content: flex-end; gap: 10px;
    padding: 16px 18px 18px 18px;
}

/* Buttons reused look */
.daily-activity-page .btn-outline{
    background: #fff;
    border: 1.5px solid #d3d8e4;
    color: #3a3f58;
    border-radius: 10px;
    padding: 10px 16px;
    font-weight: 700;
    cursor: pointer;
}
.daily-activity-page .btn-primary{
    background: #5581FA;
    border: 1.5px solid #5581FA;
    color: #fff;
    border-radius: 10px;
    padding: 10px 16px;
    font-weight: 700;
    cursor: pointer;
}

/* ============ Schedule Page (scoped) ============ */
.schedule-page .main-task-wrapper{
    max-width: 420px;
    margin: 0 auto;
}
.schedule-page .schedule-card{
    background: #fff;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.04);
    padding: 14px;
}
.schedule-page .schedule-form{
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
.schedule-page .schedule-form .form-field label{
    display: block;
    font-weight: 700;
    color: #2f3554;
    margin-bottom: 6px;
}
/* Tom Select in schedule */
.schedule-page .schedule-form .ts-control{
    min-height: 50px;
    border: 1px solid rgba(0,0,0,0.08);
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    background: #fff;
    border-radius: 10px;
    padding: 8px 10px;
    align-items: center;
}
.schedule-page .schedule-form .date-input{
    width: 100%;
    min-height: 50px;
    border-radius: 10px;
    border: 1px solid rgba(0,0,0,0.08);
    padding: 10px 12px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    font-size: 14px;
    color: #2f3554;
}
.schedule-page .schedule-actions{
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 4px;
}
.schedule-page .schedule-actions .btn-outline{
    background:#fff;
    border:1.5px solid #d3d8e4;
    color:#3a3f58;
    border-radius:10px;
    padding:10px 16px;
    font-weight:700;
    cursor:pointer;
}
.schedule-page .schedule-actions .btn-primary{
    background:#5581FA;
    border:1.5px solid #5581FA;
    color:#fff;
    border-radius:10px;
    padding:10px 16px;
    font-weight:700;
    cursor:pointer;
}
/* Upload control */
.daily-activity-page .da-upload
{
    border:1px solid #E5E7EB;
    border-radius:10px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    cursor:pointer;
    background:#fff;
}
.daily-activity-page .da-upload img
{
    width:18px;
    height:18px;
    opacity:.8;
}
.daily-activity-page .da-upload input
{
    display:none;
}

/* Success modal body */
.daily-activity-page .da-success .da-success-body
{
    padding:18px;
    text-align:center;
}
.daily-activity-page .da-success h4
{
    margin:0 0 6px 0;
    color:#2f3554;
    font-weight:800;
    font-size:18px;
}
.daily-activity-page .da-success p
{
    color:#667085;
    margin:0 0 10px 0;
}
.daily-activity-page .da-success img
{
    width:160px;
    max-width:70%;
    height:auto;
    display:block;
    margin:8px auto 14px;
}
.daily-activity-page .da-success .btn-primary
{
    width:100%;
}

/* ============ Responsive (mobile) ============ */
@media (max-width: 768px) {
    /* --- Status boxes: keep row, allow wrap --- */
    .status-task-wrapper {
        flex-direction: row !important;
        align-items: stretch;
        gap: 10px;
    }
    .status-task-wrapper > div {
        flex: 1 1 calc(33.333% - 10px); /* try to keep 3-up; wrap as needed */
        min-width: 160px;
        padding: 10px;
    }
    .image-status { width: 24px; height: 24px; }
    .task-title { font-size: 14px; }
    .current-progression { font-size: 18px; }
    .total-progression,
    .status-completed,
    .span-slash { font-size: 14px; }

    /* --- Filters: keep row, allow wrap --- */
    .daily-activity-page .filters {
        display: flex !important;
        flex-wrap: wrap;
        gap: 10px;
    }
    .daily-activity-page .filter {
        flex: 1 1 calc(33.333% - 10px);
        min-width: 160px;
    }

    /* Optional compact card actions on mobile */
    .daily-activity-page .btn-outline-danger{
        width: 100%;
    }
    .daily-activity-page .btn-primary{
        width: 100%;
    }

    .schedule-page .main-task-wrapper{ padding: 10px 0; }
    .schedule-page .schedule-card{ padding: 12px; }
    .schedule-page .schedule-actions{ gap:10px; }
}
@media (max-width: 360px){
    .task-status-completed-container{
        gap: 5px;
    }
    .task-status-approved-container{
        gap: 5px;
    }
    .task-status-rejected-container{
        gap: 5px;
    }
    /* --- Status boxes row (3-up, no scroll) --- */
    .status-task-wrapper{
        flex-direction: row !important;
        flex-wrap: nowrap !important;     /* keep 1 row */
        gap: 6px !important;
    }
    .status-task-wrapper > div{
        flex: 0 1 calc(33.333% - 4px) !important;  /* exactly 3 per row */
        min-width: 0 !important;
        padding: 8px 6px !important;
    }

    /* tighten content inside the box */
    .image-status{ width: 16px !important; height: 16px !important; }
    .task-status{ line-height: 1.1 !important; }
    .task-title{ font-size: 14px !important; }
    .task-progression{ gap: 4px !important; }
    .current-progression{ font-size: 14px !important; font-weight: 800 !important; }
    .total-progression{ font-size: 12px !important; }
    .status-completed{ font-size: 12px !important; }
    .span-slash{ font-size: 12px !important; line-height: 18px !important; }

    /* --- Filters row (3-up, no scroll) --- */
    .daily-activity-page .filters{
        display: flex !important;
        flex-wrap: nowrap !important;            /* keep 1 row */
        gap: 6px !important;
        width: 100%;
    }
    .daily-activity-page .filter{
        flex: 0 1 calc(33.333% - 4px) !important; /* exactly 3 columns */
        min-width: 0 !important;
    }

    /* TomSelect control compact sizing */
    .daily-activity-page .ts-control{
        min-height: 40px !important;
        padding: 6px 8px !important;
        font-size: 12px !important;
        min-width:100px ;
    }
    .daily-activity-page .ts-item,
    .daily-activity-page .ts-option{
        font-size: 12px !important;
    }
    .daily-activity-page .ts-dropdown{
        padding: 4px !important;
    }

    /* Optional: compact Schedule button so header stays tidy */
    .btn-addSchedule{
        padding: 6px 8px !important;
        font-size: 14px !important;
        gap: 6px !important;
    }
    .img-add{ width: 16px !important; height: 18px !important; }
}