
:root{
  --navy:#07153A;
  --navy2:#06112F;
  --blue:#103E56;
  --yellow:#FFD23F;
  --cyan:#36B2A2;
  --green:#4CFF9B;
  --light:#F5F8FC;
  --dark:#101828;
  --muted:#667085;
  --border:#E5E7EB;
  --danger:#E5484D;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--light);color:var(--dark)}
a{text-decoration:none;color:inherit}
.logo-img{width:auto!important;max-width:190px!important;max-height:58px!important;object-fit:contain!important;display:block!important}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top right,#13425d,#07153A 65%);padding:18px}
.login-card{background:#fff;width:430px;max-width:96%;border-radius:28px;padding:34px;box-shadow:0 25px 70px rgba(0,0,0,.28)}
.brand{display:flex;align-items:center;gap:13px;margin-bottom:24px}
.brand h1{font-size:23px;margin:0;color:var(--navy)}
.brand p{margin:4px 0 0;color:var(--muted);font-size:13px}
.brand-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--yellow),var(--cyan));display:grid;place-items:center;font-weight:900;color:var(--navy)}
label{display:block;font-weight:800;font-size:13px;margin-bottom:7px;color:#344054}
input,select,textarea{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:13px;font-size:14px;background:#fff;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(54,178,162,.15)}
textarea{min-height:90px;resize:vertical}
.form-group{margin-bottom:14px}
button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:13px;padding:11px 16px;font-weight:900;cursor:pointer;background:var(--navy);color:#fff}
.btn-light{background:#fff;color:var(--navy);border:1px solid var(--border)}
.btn-yellow{background:var(--yellow);color:var(--navy)}
.btn-green{background:#12B76A}
.btn-danger{background:var(--danger)}
.alert{padding:12px 14px;border-radius:13px;margin:12px 0;font-weight:800;font-size:14px}
.alert.success{background:#E9FFF3;color:#067647}
.alert.error{background:#FFEAEA;color:#B42318}
.alert.warn{background:#FFF8DB;color:#854D0E}
.layout{display:flex;min-height:100vh}
.sidebar{width:285px;background:linear-gradient(180deg,#07153A,#050D26);color:#fff;padding:22px;position:fixed;left:0;top:0;bottom:0;overflow:auto;border-right:1px solid rgba(255,255,255,.08)}
.sidebar .logo{display:flex;align-items:center;gap:10px;margin-bottom:22px;overflow:hidden}
.sidebar .logo h2{font-size:18px;margin:0}.sidebar small{color:#B8C4D6}
.nav a{display:block;padding:12px 14px;border-radius:13px;color:#E8EEF8;margin-bottom:7px;font-weight:800}
.nav a:hover,.nav a.active{background:rgba(255,255,255,.13)}
.main{margin-left:285px;width:calc(100% - 285px);padding:24px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;background:#fff;border:1px solid var(--border);border-radius:24px;padding:18px 20px;box-shadow:0 10px 28px rgba(16,24,40,.05)}
.topbar h1{margin:0;color:var(--navy);font-size:28px}
.dashboard-banner{background:linear-gradient(135deg,#07153A,#103E56);color:#fff;border-radius:28px;padding:26px;margin-bottom:18px;position:relative;overflow:hidden}
.dashboard-banner:after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:rgba(255,210,63,.18)}
.dashboard-banner h2{margin:0 0 8px;color:var(--yellow)}
.dashboard-banner p{margin:0;color:#EAF0FA}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:20px;box-shadow:0 10px 28px rgba(16,24,40,.06);margin-bottom:18px;overflow:hidden}
.stat h3{margin:0;font-size:31px;color:var(--navy)}
.stat p{margin:6px 0 0;color:var(--muted);font-weight:800}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.full{grid-column:1/-1}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:12px;border-bottom:1px solid var(--border);text-align:left;font-size:14px;vertical-align:top}
th{background:#F8FAFC;color:#344054;font-size:12px;text-transform:uppercase}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px;background:#EEF4FF;color:#3538CD}
.badge.green{background:#E9FFF3;color:#067647}
.badge.red{background:#FFEAEA;color:#B42318}
.badge.yellow{background:#FFF8DB;color:#854D0E}
.badge.gray{background:#F2F4F7;color:#344054}
.profile{display:flex;gap:16px;align-items:center}
.profile img{width:84px;height:84px;object-fit:cover;border-radius:18px;background:#eee}
.progress{height:10px;background:#EAECF0;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--green))}
.student-row{display:grid;grid-template-columns:1.1fr .7fr 1.2fr;gap:10px;align-items:start;padding:16px;border:1px solid #dbe3ef;border-radius:18px;margin-bottom:12px;background:#fff;box-shadow:0 6px 18px rgba(16,24,40,.04)}
.student-row:hover{border-color:var(--cyan)}
.batch-student-list{background:#F8FAFC;border:1px solid #DCE6F2;border-radius:16px;padding:14px;line-height:1.7}
.ww-chip{display:inline-block;padding:7px 12px;background:#FFF7D6;color:#07153A;border:1px solid #FFE68A;border-radius:999px;font-weight:900;font-size:12px}
.tnc-box{max-height:360px;overflow:auto;background:#F8FAFC;border:1px solid var(--border);border-radius:18px;padding:18px;line-height:1.65}
.course-custom{display:none}
.verify-page{min-height:100vh;background:#F7FAFF;padding:40px 16px}.verify-box{max-width:850px;margin:0 auto}.hero-card{background:linear-gradient(135deg,var(--navy),#103E56);color:#fff;border-radius:28px;padding:30px;margin-bottom:20px}.hero-card h1{margin:0 0 8px;font-size:34px}.hero-card p{margin:0;color:#DDE7F5}
@media(max-width:1000px){.grid,.grid-5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{position:static;width:100%;height:auto}.layout{display:block}.main{margin-left:0;width:100%;padding:16px}.form-grid{grid-template-columns:1fr}.student-row{grid-template-columns:1fr}}
@media(max-width:560px){.grid,.grid-5{grid-template-columns:1fr}.topbar{display:block}.brand{display:block}.brand img{margin-bottom:12px}}


/* ===== V4 LOGO SIZE FIX - Strict containment ===== */
.logo-img,
.sidebar .logo img,
.brand img,
.login-card .brand img{
    width: auto !important;
    height: auto !important;
    max-width: 118px !important;
    max-height: 42px !important;
    object-fit: contain !important;
    display: block !important;
    flex-shrink: 0 !important;
}

.sidebar .logo{
    min-height: 58px !important;
    max-height: 72px !important;
    padding: 10px 12px !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.sidebar .logo > div{
    min-width: 0 !important;
}

.sidebar .logo h2{
    font-size: 15px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    color: #ffffff !important;
}

.sidebar .logo small{
    font-size: 11px !important;
    line-height: 1.2 !important;
    color: #FFD23F !important;
}

.login-card .brand{
    background: #07153A !important;
    border-radius: 18px !important;
    padding: 14px !important;
    overflow: hidden !important;
    align-items: center !important;
}

.login-card .brand img{
    max-width: 132px !important;
    max-height: 44px !important;
}

.login-card .brand h1{
    color: #07153A !important;
}

.login-card .brand p{
    color: #667085 !important;
}

/* In login pages logo is white, so keep logo inside dark badge only */
.login-card .brand img + div{
    background: #fff !important;
    border-radius: 12px !important;
    padding: 8px 10px !important;
}

.home-hero .logo-img,
.home-wrap .logo-img{
    max-width: 130px !important;
    max-height: 46px !important;
}

/* Prevent any white logo from overflowing content boxes */
img[src*="logo"]{
    object-fit: contain !important;
}

/* ===== FINAL V5 BRAND / LOGO FIX ===== */

/* Hide full image logo inside sidebars and login cards to avoid overflow.
   We use a compact WW badge + text for clean UI. */
.sidebar .logo img.logo-img,
.sidebar .logo img,
.login-card .brand img.logo-img,
.login-card .brand img{
    display:none !important;
}

/* Consistent sidebar brand block */
.sidebar .logo{
    min-height:72px !important;
    max-height:80px !important;
    padding:12px !important;
    background:linear-gradient(135deg,rgba(255,210,63,.16),rgba(54,178,162,.10)) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:18px !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
}

.sidebar .logo:before{
    content:"WW";
    min-width:44px;
    width:44px;
    height:44px;
    border-radius:15px;
    display:grid;
    place-items:center;
    background:#FFD23F;
    color:#07153A;
    font-weight:900;
    font-size:15px;
    box-shadow:0 8px 18px rgba(255,210,63,.25);
}

.sidebar .logo h2{
    font-size:16px !important;
    line-height:1.1 !important;
    margin:0 !important;
    color:#ffffff !important;
    white-space:nowrap !important;
}

.sidebar .logo small{
    display:block !important;
    font-size:11px !important;
    line-height:1.2 !important;
    color:#FFD23F !important;
    white-space:nowrap !important;
}

/* Login brand with compact badge, not full logo */
.login-card .brand{
    background:#07153A !important;
    padding:14px !important;
    border-radius:18px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    overflow:hidden !important;
}

.login-card .brand:before{
    content:"WW";
    min-width:46px;
    width:46px;
    height:46px;
    border-radius:16px;
    display:grid;
    place-items:center;
    background:#FFD23F;
    color:#07153A;
    font-weight:900;
    font-size:15px;
}

.login-card .brand h1{
    color:#ffffff !important;
    font-size:20px !important;
    margin:0 !important;
    line-height:1.15 !important;
}

.login-card .brand p{
    color:#FFD23F !important;
    margin:4px 0 0 !important;
    font-size:12px !important;
    line-height:1.2 !important;
}

/* Home overview brand safe */
.home-hero{
    overflow:hidden !important;
}

/* Batch student list final */
.batch-student-list{
    max-height:220px;
    overflow:auto;
}

.batch-student-item{
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:8px 0;
    border-bottom:1px dashed #d9e2ef;
}

.batch-student-item:last-child{
    border-bottom:0;
}

.batch-student-name{
    font-weight:800;
    color:#07153A;
}

.batch-student-date{
    color:#667085;
    font-size:12px;
    white-space:nowrap;
}

/* Prevent accidental huge image overflow globally */
img{
    max-width:100%;
}

/* ===== FINAL V6 UI POLISH ===== */

.email-brand-title{
    color:#fff;
}

/* Batch list student compact inline */
.batch-inline-students{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    max-width:520px;
}

.batch-student-pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border-radius:999px;
    background:#EEF4FF;
    color:#07153A;
    font-weight:800;
    font-size:13px;
    border:1px solid #D9E5FF;
}

.batch-student-pill:nth-child(2n){
    background:#E9FFF3;
    border-color:#B7F7D1;
}

.batch-student-pill:nth-child(3n){
    background:#FFF8DB;
    border-color:#FFE68A;
}

.batch-student-pill .join-date{
    color:#667085;
    font-size:11px;
    font-weight:800;
}

/* Trainer attendance table style */
.attendance-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0 10px;
}

.attendance-table th{
    background:#07153A;
    color:#fff;
    padding:12px;
    font-size:12px;
}

.attendance-table td{
    background:#fff;
    border-top:1px solid #E5E7EB;
    border-bottom:1px solid #E5E7EB;
    padding:12px;
    vertical-align:middle;
}

.attendance-table td:first-child{
    border-left:1px solid #E5E7EB;
    border-radius:14px 0 0 14px;
}

.attendance-table td:last-child{
    border-right:1px solid #E5E7EB;
    border-radius:0 14px 14px 0;
}

.student-mini-id{
    color:#07153A;
    font-weight:900;
}

.student-mini-name{
    color:#667085;
    font-weight:700;
    margin-top:3px;
}

.action-mini{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.btn-small{
    padding:8px 12px;
    font-size:12px;
    border-radius:10px;
}

/* Filter bar */
.filter-card{
    background:linear-gradient(135deg,#ffffff,#F8FAFC);
    border:1px solid #E5E7EB;
}

/* Email preview style in portal if rendered */
.mail-preview-pro{
    max-width:720px;
    margin:20px auto;
    border-radius:24px;
    overflow:hidden;
    border:1px solid #E5E7EB;
    box-shadow:0 20px 50px rgba(16,24,40,.10);
}

/* Delete button visibility */
.btn-delete{
    background:#FFEAEA;
    color:#B42318;
    border:1px solid #FFB4B4;
}

@media(max-width:780px){
    .attendance-table thead{display:none;}
    .attendance-table, .attendance-table tbody, .attendance-table tr, .attendance-table td{
        display:block;
        width:100%;
    }
    .attendance-table tr{
        margin-bottom:14px;
        background:#fff;
        border:1px solid #E5E7EB;
        border-radius:16px;
        padding:10px;
    }
    .attendance-table td{
        border:0!important;
        border-radius:0!important;
        padding:8px;
    }
}

/* ===== FINAL V7 REPORT + ACTION UPDATE ===== */
.report-print-wrap{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:24px;
    padding:24px;
    margin-bottom:18px;
}
.report-head{
    display:flex;
    justify-content:space-between;
    gap:16px;
    border-bottom:3px solid #07153A;
    padding-bottom:14px;
    margin-bottom:18px;
}
.report-head h2{
    margin:0;
    color:#07153A;
}
.report-company{
    font-size:13px;
    color:#344054;
    line-height:1.6;
}
.report-table{
    width:100%;
    border-collapse:collapse;
}
.report-table th{
    background:#07153A !important;
    color:#fff !important;
    border:1px solid #07153A;
    padding:10px;
}
.report-table td{
    border:1px solid #D0D5DD;
    padding:10px;
}
.report-summary{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin:16px 0;
}
.report-summary div{
    background:#F8FAFC;
    border:1px solid #E5E7EB;
    border-radius:16px;
    padding:14px;
    font-weight:900;
    color:#07153A;
}
.action-mini{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
@media print{
    body{background:#fff!important;}
    .sidebar,.topbar,.filter-card,.no-print,.nav,.btn,button{display:none!important;}
    .main{margin:0!important;width:100%!important;padding:0!important;}
    .report-print-wrap{border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;}
    .card{box-shadow:none!important;border:0!important;}
}

/* ===== FINAL V8 REPORT UI + LATE STATUS ===== */
.report-v2-shell{
    background:#ffffff;
    border:1px solid #E5E7EB;
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 18px 50px rgba(16,24,40,.08);
}
.report-v2-header{
    background:linear-gradient(135deg,#07153A,#103E56);
    color:#fff;
    padding:24px;
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
}
.report-v2-header h2{
    margin:0 0 6px;
    color:#FFD23F;
    font-size:24px;
}
.report-v2-header p{margin:3px 0;color:#EAF0FA}
.report-meta{
    text-align:right;
    font-size:13px;
    line-height:1.6;
    color:#EAF0FA;
}
.report-summary-v2{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:12px;
    padding:18px 24px;
    background:#F8FAFC;
    border-bottom:1px solid #E5E7EB;
}
.summary-pill{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:18px;
    padding:14px;
}
.summary-pill b{
    display:block;
    font-size:24px;
    color:#07153A;
}
.summary-pill span{
    font-weight:900;
    color:#667085;
    font-size:12px;
}
.summary-present{border-color:#B7F7D1;background:#F0FFF6}
.summary-absent{border-color:#FFB4B4;background:#FFF1F1}
.summary-late{border-color:#FFD38A;background:#FFF8E8}
.summary-leave{border-color:#FFE68A;background:#FFFBEA}
.report-table-wrap{padding:20px 24px}
.report-table-v2{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    overflow:hidden;
    border:1px solid #E5E7EB;
    border-radius:18px;
}
.report-table-v2 th{
    background:#07153A!important;
    color:#fff!important;
    padding:13px 12px;
    font-size:12px;
}
.report-table-v2 td{
    padding:13px 12px;
    border-bottom:1px solid #E5E7EB;
}
.report-table-v2 tr:nth-child(even) td{background:#F8FAFC}
.report-table-v2 tr:last-child td{border-bottom:0}
.att-present{background:#E9FFF3!important;color:#067647!important}
.att-absent{background:#FFEAEA!important;color:#B42318!important}
.att-late{background:#FFF2D6!important;color:#B54708!important}
.att-leave{background:#FFF8DB!important;color:#854D0E!important}
.att-holiday{background:#EEF4FF!important;color:#3538CD!important}
.filter-compact{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:24px;
    padding:18px;
    margin-bottom:18px;
}
.report-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
.btn-print{background:#FFD23F;color:#07153A}
.btn-mail{background:#12B76A;color:#fff}
.btn-delete-row{
    background:#FFEAEA;
    color:#B42318;
    border:1px solid #FFB4B4;
    padding:7px 10px;
    border-radius:10px;
    font-size:12px;
}
@media(max-width:980px){
    .report-summary-v2{grid-template-columns:repeat(2,1fr)}
    .report-v2-header{display:block}
    .report-meta{text-align:left;margin-top:12px}
}
@media print{
    body{background:#fff!important}
    .sidebar,.topbar,.filter-compact,.no-print,.report-actions,button,.btn,.btn-delete-row{display:none!important}
    .main{margin:0!important;width:100%!important;padding:0!important}
    .report-v2-shell{box-shadow:none!important;border:0!important;border-radius:0!important}
    .report-v2-header{background:#07153A!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
    .report-summary-v2{grid-template-columns:repeat(5,1fr)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
    .report-table-v2 th{background:#07153A!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
    @page{size:A4 landscape;margin:10mm}
}

/* ===== FINAL V9 MOBILE RESPONSIVE + INTERNSHIP UI ===== */
.mobile-header{display:none;position:sticky;top:0;z-index:1000;background:#07153A;color:#fff;padding:12px 16px;align-items:center;justify-content:space-between;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.mobile-brand{display:flex;align-items:center;gap:10px;font-weight:900}
.mobile-brand:before{content:"WW";width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#FFD23F;color:#07153A;font-size:13px}
.menu-toggle{background:#FFD23F!important;color:#07153A!important;border:0;padding:10px 12px;border-radius:12px;font-weight:900}
.sidebar-overlay{display:none}.mobile-close{display:none}
.mobile-grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.chat-thread{background:#F8FAFC;border:1px solid #E5E7EB;border-radius:18px;padding:14px;max-height:320px;overflow:auto}
.chat-msg{margin-bottom:12px;display:flex}.chat-msg.admin{justify-content:flex-start}.chat-msg.intern{justify-content:flex-end}
.chat-bubble{max-width:78%;padding:11px 13px;border-radius:16px;line-height:1.45;font-size:14px}
.chat-msg.admin .chat-bubble{background:#EEF4FF;color:#07153A;border-bottom-left-radius:4px}
.chat-msg.intern .chat-bubble{background:#07153A;color:#fff;border-bottom-right-radius:4px}
.chat-meta{display:block;font-size:11px;opacity:.75;margin-top:5px}
.submission-card{border:1px solid #E5E7EB;background:#fff;border-radius:18px;padding:14px;margin-bottom:12px}
.file-link{display:inline-flex;padding:8px 12px;background:#FFF8DB;color:#07153A;font-weight:900;border-radius:999px;margin-top:6px}
@media(max-width:900px){
    body{background:#F5F8FC}
    .mobile-header{display:flex}
    .layout{display:block!important}
    .sidebar{position:fixed!important;top:0!important;left:-290px!important;width:285px!important;height:100vh!important;z-index:1200!important;transition:left .25s ease!important;border-radius:0!important}
    body.menu-open .sidebar{left:0!important}
    .sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1100}
    body.menu-open .sidebar-overlay{display:block}
    .mobile-close{display:block;width:100%;margin:0 0 12px;background:#FFD23F!important;color:#07153A!important}
    .main{margin-left:0!important;width:100%!important;padding:16px!important}
    .topbar{border-radius:18px!important;padding:16px!important}.topbar h1{font-size:24px!important}
    .profile{align-items:flex-start!important;text-align:left!important}.profile img{width:72px!important;height:72px!important}
    .grid,.grid-5,.report-summary-v2{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
    .card{border-radius:20px!important;padding:16px!important}.stat h3{font-size:26px!important}
    .form-grid{grid-template-columns:1fr!important}
    .table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
    table{min-width:720px}
    .report-v2-header{display:block!important;padding:18px!important}
    .report-meta{text-align:left!important;margin-top:12px!important}
    .report-table-wrap{padding:14px!important}
}
@media(max-width:520px){
    .grid,.grid-5,.report-summary-v2{grid-template-columns:1fr!important}
    .profile{display:grid!important;grid-template-columns:72px 1fr;gap:14px!important}
    .profile h2{font-size:22px;margin-top:0}.profile p{font-size:14px;line-height:1.35}
    .chat-bubble{max-width:92%}
}

/* ===== FINAL V10 DRAFT + EXPORT + URL ONLY ===== */
.draft-badge{background:#FFF8DB!important;color:#854D0E!important}
.sent-badge{background:#E9FFF3!important;color:#067647!important}
.preview-panel{border:2px dashed #FFD23F;background:#FFFDF0;border-radius:22px;padding:18px;margin:16px 0}
.confirm-box{background:#07153A;color:#fff;border-radius:20px;padding:18px;margin-top:16px}
.confirm-box label{color:#FFD23F}
.export-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.edit-form-card{max-width:900px;margin:auto}
.url-only-note{background:#EEF4FF;color:#07153A;border:1px solid #D9E5FF;border-radius:16px;padding:12px;font-weight:800}

/* ===== FINAL V11 DUPLICATE + DRAFT CONTROL ===== */
.draft-control-bar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    background:#07153A;
    color:#fff;
    padding:14px;
    border-radius:16px;
    margin-bottom:14px;
}
.draft-control-bar strong{color:#FFD23F}
.password-rule{
    background:#EEF4FF;
    color:#07153A;
    border:1px solid #D9E5FF;
    border-radius:14px;
    padding:12px;
    font-size:13px;
    font-weight:800;
}
.disabled-note{
    background:#FFEAEA;
    color:#B42318;
    border:1px solid #FFB4B4;
    border-radius:14px;
    padding:12px;
    font-weight:900;
}

/* ===== FINAL V12 PREMIUM UI + TIME PICKER ===== */
body{
    background:
      radial-gradient(circle at top right, rgba(54,178,162,.10), transparent 35%),
      linear-gradient(180deg,#F7FAFF 0%,#EEF3FA 100%) !important;
}
.card{
    border:1px solid rgba(16,24,40,.08)!important;
    box-shadow:0 14px 36px rgba(16,24,40,.08)!important;
}
.topbar{
    background:linear-gradient(135deg,#ffffff,#F8FAFC)!important;
    border:1px solid rgba(16,24,40,.08)!important;
}
button,.btn{
    box-shadow:0 8px 18px rgba(7,21,58,.12);
    transition:.2s ease;
}
button:hover,.btn:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 24px rgba(7,21,58,.16);
}
input[type="time"]{
    appearance:auto;
    background:#fff;
    cursor:pointer;
}
input[type="time"]::-webkit-calendar-picker-indicator{
    cursor:pointer;
    filter:invert(19%) sepia(89%) saturate(1046%) hue-rotate(193deg) brightness(86%) contrast(95%);
}
.username-warning{
    background:#FFF8DB;
    color:#854D0E;
    border:1px solid #FFE68A;
    padding:12px 14px;
    border-radius:14px;
    font-weight:900;
    margin-bottom:14px;
}
.form-hint{
    font-size:12px;
    color:#667085;
    margin-top:6px;
    font-weight:700;
}
.premium-section-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    border-bottom:1px solid #E5E7EB;
    padding-bottom:12px;
    margin-bottom:16px;
}
.premium-section-title h2{
    margin:0;
    color:#07153A;
}
.status-soft{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 11px;
    border-radius:999px;
    background:#EEF4FF;
    color:#07153A;
    font-size:12px;
    font-weight:900;
}
.sidebar{
    box-shadow:12px 0 36px rgba(7,21,58,.20);
}
.nav a.active{
    background:linear-gradient(135deg,rgba(255,210,63,.22),rgba(255,255,255,.10))!important;
    color:#fff!important;
}
.table-wrap table tr:hover td{
    background:#F8FBFF;
}

/* ===== FINAL V13 GROUP REPORT + INTERNSHIP BOARD ===== */
.group-card{
    border:1px solid #E5E7EB;
    border-radius:22px;
    background:#fff;
    margin-bottom:14px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(16,24,40,.05);
}
.group-head{
    width:100%;
    border:0;
    background:linear-gradient(135deg,#07153A,#103E56);
    color:#fff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:16px 18px;
    cursor:pointer;
    text-align:left;
}
.group-head h3{
    margin:0;
    color:#FFD23F;
    font-size:17px;
}
.group-meta{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.group-meta span{
    background:rgba(255,255,255,.12);
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
}
.group-body{
    display:none;
    padding:16px;
}
.group-card.open .group-body{
    display:block;
}
.group-arrow{
    font-weight:900;
    color:#FFD23F;
}
.intern-board{
    display:grid;
    grid-template-columns:320px 1fr;
    gap:18px;
}
.intern-list{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:24px;
    padding:14px;
    max-height:calc(100vh - 160px);
    overflow:auto;
}
.intern-list a{
    display:block;
    padding:13px;
    border-radius:16px;
    border:1px solid #EEF2F7;
    margin-bottom:10px;
    background:#F8FAFC;
}
.intern-list a.active{
    background:#07153A;
    color:#fff;
    border-color:#07153A;
}
.intern-list small{
    display:block;
    color:#667085;
    margin-top:4px;
}
.intern-list a.active small{color:#FFD23F}
.intern-workspace{
    min-width:0;
}
.task-kanban{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}
.task-column{
    background:#F8FAFC;
    border:1px solid #E5E7EB;
    border-radius:20px;
    padding:14px;
    min-height:180px;
}
.task-column h3{
    margin-top:0;
    color:#07153A;
}
.task-card{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:18px;
    padding:14px;
    margin-bottom:12px;
    box-shadow:0 8px 18px rgba(16,24,40,.04);
}
.task-card h4{
    margin:0 0 8px;
    color:#07153A;
}
.submission-link-card{
    border:1px solid #D9E5FF;
    background:#F8FBFF;
    border-radius:16px;
    padding:12px;
    margin-top:10px;
}
.timeline{
    border-left:3px solid #FFD23F;
    padding-left:14px;
}
.timeline-item{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:16px;
    padding:12px;
    margin-bottom:12px;
}
.time24-note{
    font-size:12px;
    color:#667085;
    font-weight:800;
    margin-top:6px;
}
@media(max-width:1000px){
    .intern-board{grid-template-columns:1fr}
    .intern-list{max-height:none}
    .task-kanban{grid-template-columns:1fr}
}

/* ===== FINAL MINOR UPDATE UI ===== */

/* Report dropdown title */
.group-card{
    border:1px solid #DCE6F2!important;
    border-radius:22px!important;
    background:#fff!important;
    margin-bottom:14px!important;
    overflow:hidden!important;
    box-shadow:0 12px 32px rgba(16,24,40,.06)!important;
}
.group-head{
    width:100%!important;
    border:0!important;
    background:linear-gradient(135deg,#07153A,#103E56)!important;
    color:#fff!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:12px!important;
    padding:18px 20px!important;
    cursor:pointer!important;
    text-align:left!important;
}
.group-head h3{
    margin:0 0 8px!important;
    color:#FFD23F!important;
    font-size:18px!important;
}
.group-meta{
    display:flex!important;
    gap:8px!important;
    flex-wrap:wrap!important;
}
.group-meta span{
    background:rgba(255,255,255,.14)!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    font-size:12px!important;
    font-weight:900!important;
}
.group-arrow{
    background:#FFD23F!important;
    color:#07153A!important;
    padding:9px 13px!important;
    border-radius:999px!important;
    font-weight:900!important;
    white-space:nowrap!important;
}
.group-body{
    display:none!important;
    padding:0!important;
}
.group-card.open .group-body{
    display:block!important;
    padding:14px!important;
}
.group-card:not(.open) .group-body{
    display:none!important;
}

/* Intern portal - left chat / center task */
.intern-v2-layout{
    display:grid;
    grid-template-columns:330px 1fr;
    gap:18px;
}
.intern-chat-panel{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:24px;
    padding:16px;
    position:sticky;
    top:18px;
    height:calc(100vh - 120px);
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.intern-chat-panel h2{
    margin:0 0 12px;
    color:#07153A;
}
.intern-task-panel{
    min-width:0;
}
.intern-legend{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-bottom:16px;
}
.legend-card{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:18px;
    padding:14px;
    box-shadow:0 8px 18px rgba(16,24,40,.04);
}
.legend-card b{
    display:block;
    color:#07153A;
    font-size:22px;
}
.legend-card span{
    color:#667085;
    font-weight:900;
    font-size:12px;
}
.task-focus-card{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:24px;
    padding:20px;
    margin-bottom:16px;
    box-shadow:0 12px 28px rgba(16,24,40,.06);
}
.task-focus-card h2{
    margin-top:0;
    color:#07153A;
}
.deadline-pill{
    display:inline-flex;
    padding:7px 12px;
    border-radius:999px;
    font-weight:900;
    background:#FFF8DB;
    color:#854D0E;
}
.status-pending{background:#FFF8DB!important;color:#854D0E!important}
.status-completed{background:#E9FFF3!important;color:#067647!important}
.status-submitted{background:#EEF4FF!important;color:#3538CD!important}
.chat-thread{
    flex:1;
    overflow:auto;
}
.chat-send-box{
    margin-top:12px;
}
@media(max-width:1000px){
    .intern-v2-layout{grid-template-columns:1fr}
    .intern-chat-panel{
        position:relative;
        top:0;
        height:auto;
        max-height:440px;
    }
    .intern-legend{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:540px){
    .intern-legend{grid-template-columns:1fr}
    .group-head{display:block!important}
    .group-arrow{display:inline-block;margin-top:10px}
}

/* ===== FINAL V16 TRAINER-INTERN GROUP CHAT ===== */
.wa-chat-shell{
    background:#f0f2f5;
    border-radius:24px;
    border:1px solid #dfe5ec;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-height:520px;
}
.wa-chat-header{
    background:#075E54;
    color:#fff;
    padding:14px 16px;
    display:flex;
    align-items:center;
    gap:12px;
}
.wa-avatar{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#25D366;
    color:#073B34;
    display:grid;
    place-items:center;
    font-weight:900;
}
.wa-chat-title{
    flex:1;
}
.wa-chat-title h3{
    margin:0;
    font-size:16px;
    color:#fff;
}
.wa-chat-title small{
    color:#d7fff0;
}
.wa-chat-body{
    flex:1;
    padding:16px;
    overflow:auto;
    background:
      radial-gradient(circle at top left, rgba(37,211,102,.10), transparent 30%),
      #efeae2;
    max-height:520px;
}
.wa-msg{
    display:flex;
    margin-bottom:10px;
}
.wa-msg.self{justify-content:flex-end}
.wa-msg.other{justify-content:flex-start}
.wa-bubble{
    max-width:78%;
    padding:9px 11px 7px;
    border-radius:12px;
    font-size:14px;
    line-height:1.45;
    box-shadow:0 1px 1px rgba(0,0,0,.08);
}
.wa-msg.self .wa-bubble{
    background:#DCF8C6;
    border-top-right-radius:4px;
}
.wa-msg.other .wa-bubble{
    background:#fff;
    border-top-left-radius:4px;
}
.wa-name{
    display:block;
    color:#075E54;
    font-weight:900;
    font-size:12px;
    margin-bottom:3px;
}
.wa-meta{
    display:flex;
    justify-content:flex-end;
    gap:4px;
    align-items:center;
    margin-top:4px;
    color:#667781;
    font-size:11px;
}
.wa-tick.seen{color:#34B7F1;font-weight:900}
.wa-input{
    background:#f0f2f5;
    padding:12px;
    border-top:1px solid #dfe5ec;
}
.wa-input textarea{
    min-height:48px;
    border-radius:18px;
}
.wa-input button{
    margin-top:8px;
    width:100%;
    background:#25D366;
    color:#073B34;
}
.intern-allocation-card{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:22px;
    padding:16px;
    margin-bottom:16px;
}
.trainer-chip{
    display:inline-flex;
    padding:7px 11px;
    border-radius:999px;
    background:#EEF4FF;
    color:#3538CD;
    font-size:12px;
    font-weight:900;
}
.board-top-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}
@media(max-width:1000px){
    .board-top-grid{grid-template-columns:1fr}
    .wa-bubble{max-width:90%}
}

/* ===== V17 PRO UI FIX: REPORT DROPDOWN + PREMIUM INTERN CHAT ===== */

/* Native dropdown reports */
.pro-report-group{
    border:1px solid #DDE7F3;
    border-radius:22px;
    background:#fff;
    margin:16px 0;
    overflow:hidden;
    box-shadow:0 14px 34px rgba(16,24,40,.07);
}
.pro-report-group > summary{
    list-style:none;
    cursor:pointer;
    background:linear-gradient(135deg,#07153A,#103E56);
    color:#fff;
    padding:18px 20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
}
.pro-report-group > summary::-webkit-details-marker{display:none}
.pro-report-title h3{
    margin:0 0 9px;
    color:#FFD23F;
    font-size:18px;
}
.pro-report-stats{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.pro-report-stats span{
    background:rgba(255,255,255,.13);
    color:#fff;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    padding:6px 10px;
    font-size:12px;
    font-weight:900;
}
.pro-report-toggle{
    background:#FFD23F;
    color:#07153A;
    border-radius:999px;
    padding:9px 13px;
    font-weight:900;
    white-space:nowrap;
}
.pro-report-group[open] .pro-report-toggle::after{content:" ▲"}
.pro-report-group:not([open]) .pro-report-toggle::after{content:" ▼"}
.pro-report-body{
    padding:16px;
    background:#fff;
}
.pro-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    overflow:hidden;
    border-radius:16px;
    border:1px solid #E5E7EB;
}
.pro-table th{
    background:#F8FAFC;
    color:#07153A;
    font-size:12px;
    text-transform:uppercase;
    padding:13px;
    border-bottom:1px solid #E5E7EB;
}
.pro-table td{
    padding:13px;
    border-bottom:1px solid #E5E7EB;
    vertical-align:middle;
}
.pro-table tr:last-child td{border-bottom:0}
.pro-table tr:hover td{background:#F8FBFF}

/* Internship Pro Board */
.pro-board{
    display:grid;
    grid-template-columns:330px minmax(0,1fr);
    gap:20px;
}
.pro-side{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:26px;
    padding:16px;
    box-shadow:0 14px 34px rgba(16,24,40,.07);
    height:max-content;
    position:sticky;
    top:18px;
}
.pro-side-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}
.pro-side-head h2{margin:0;color:#07153A;font-size:20px}
.pro-intern-select{
    width:100%;
    margin-bottom:14px;
    border:2px solid #DDE7F3;
    font-weight:800;
}
.pro-intern-list{
    display:grid;
    gap:10px;
}
.pro-intern-card{
    display:block;
    padding:13px;
    border-radius:18px;
    border:1px solid #E5E7EB;
    background:#F8FAFC;
    color:#07153A;
    transition:.2s ease;
}
.pro-intern-card:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(16,24,40,.08)}
.pro-intern-card.active{
    background:linear-gradient(135deg,#07153A,#103E56);
    color:#fff;
    border-color:#07153A;
}
.pro-intern-card b{display:block;margin-bottom:5px}
.pro-intern-card small{display:block;color:#667085;line-height:1.45}
.pro-intern-card.active small{color:#FFD23F}
.pro-main{min-width:0}
.pro-hero{
    background:linear-gradient(135deg,#07153A,#103E56);
    border-radius:28px;
    color:#fff;
    padding:24px;
    margin-bottom:18px;
    position:relative;
    overflow:hidden;
}
.pro-hero:after{
    content:"";
    position:absolute;
    right:-60px;
    top:-60px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:rgba(255,210,63,.18);
}
.pro-hero h1,.pro-hero h2{margin:0 0 8px;color:#FFD23F}
.pro-hero p{margin:0;color:#EAF0FA}
.pro-metrics{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-bottom:18px;
}
.pro-metric{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:20px;
    padding:16px;
    box-shadow:0 10px 24px rgba(16,24,40,.05);
}
.pro-metric b{display:block;color:#07153A;font-size:26px}
.pro-metric span{color:#667085;font-size:12px;font-weight:900}
.pro-card{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:26px;
    padding:18px;
    box-shadow:0 14px 34px rgba(16,24,40,.07);
    margin-bottom:18px;
}
.pro-card h2,.pro-card h3{color:#07153A;margin-top:0}
.pro-task-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.pro-task{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:22px;
    padding:16px;
    box-shadow:0 10px 24px rgba(16,24,40,.05);
}
.pro-task h3{margin:0 0 8px;color:#07153A}
.pro-task-meta{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:10px 0;
}
.pro-pill{
    display:inline-flex;
    border-radius:999px;
    padding:7px 10px;
    font-size:12px;
    font-weight:900;
    background:#EEF4FF;
    color:#3538CD;
}
.pro-pill.yellow{background:#FFF8DB;color:#854D0E}
.pro-pill.green{background:#E9FFF3;color:#067647}
.pro-pill.red{background:#FFEAEA;color:#B42318}
.pro-submission{
    background:#F8FBFF;
    border:1px solid #D9E5FF;
    border-radius:16px;
    padding:12px;
    margin:10px 0;
    word-break:break-word;
}

/* WhatsApp-like Chat */
.pro-chat{
    background:#F0F2F5;
    border:1px solid #DDE7F3;
    border-radius:24px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-height:520px;
}
.pro-chat-head{
    background:#075E54;
    color:#fff;
    padding:14px 16px;
    display:flex;
    align-items:center;
    gap:12px;
}
.pro-avatar{
    width:44px;
    height:44px;
    border-radius:50%;
    background:#25D366;
    color:#073B34;
    display:grid;
    place-items:center;
    font-weight:900;
    flex-shrink:0;
}
.pro-chat-name{flex:1;min-width:0}
.pro-chat-name h3{margin:0;color:#fff;font-size:16px}
.pro-chat-name small{color:#D7FFF0}
.pro-chat-body{
    flex:1;
    max-height:520px;
    overflow:auto;
    padding:18px;
    background:
      radial-gradient(circle at top left, rgba(37,211,102,.12), transparent 28%),
      #efeae2;
}
.pro-msg{
    display:flex;
    margin-bottom:11px;
}
.pro-msg.self{justify-content:flex-end}
.pro-msg.other{justify-content:flex-start}
.pro-bubble{
    max-width:78%;
    padding:10px 12px 7px;
    border-radius:14px;
    box-shadow:0 1px 2px rgba(0,0,0,.12);
    font-size:14px;
    line-height:1.45;
}
.pro-msg.self .pro-bubble{background:#DCF8C6;border-top-right-radius:4px}
.pro-msg.other .pro-bubble{background:#fff;border-top-left-radius:4px}
.pro-sender{
    display:block;
    color:#075E54;
    font-size:12px;
    font-weight:900;
    margin-bottom:3px;
}
.pro-time{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:4px;
    margin-top:5px;
    font-size:11px;
    color:#667781;
}
.pro-tick{color:#34B7F1;font-weight:900}
.pro-chat-form{
    background:#F0F2F5;
    padding:12px;
    border-top:1px solid #DDE7F3;
}
.pro-chat-form textarea{
    min-height:50px;
    border-radius:18px;
    background:#fff;
}
.pro-chat-form button{
    width:100%;
    margin-top:8px;
    background:#25D366;
    color:#073B34;
}
.pro-empty{
    background:#F8FAFC;
    border:1px dashed #D0D5DD;
    border-radius:18px;
    padding:18px;
    color:#667085;
    font-weight:800;
}
@media(max-width:1100px){
    .pro-board{grid-template-columns:1fr}
    .pro-side{position:relative;top:0}
}
@media(max-width:760px){
    .pro-metrics{grid-template-columns:repeat(2,1fr)}
    .pro-task-grid{grid-template-columns:1fr}
    .pro-bubble{max-width:92%}
    .pro-report-group > summary{display:block}
    .pro-report-toggle{display:inline-block;margin-top:12px}
}
@media(max-width:520px){
    .pro-metrics{grid-template-columns:1fr}
}

/* ===== V19 BATCH > DATE > STUDENT REPORT UI ===== */
.report-tree{
  display:grid;
  gap:18px;
  margin-top:20px;
}
.batch-node{
  background:#fff;
  border:1px solid #DDE6F1;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(16,24,40,.08);
}
.batch-node > summary{
  list-style:none;
  cursor:pointer;
  background:linear-gradient(135deg,#07153A,#103E56);
  color:#fff;
  padding:22px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.batch-node > summary::-webkit-details-marker{display:none}
.batch-title h3{
  margin:0 0 10px;
  color:#FFD23F;
  font-size:21px;
}
.batch-summary{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.batch-summary span{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  font-weight:900;
}
.batch-toggle{
  background:#FFD23F;
  color:#07153A;
  border-radius:999px;
  padding:10px 15px;
  font-weight:900;
  white-space:nowrap;
}
.batch-node[open] .batch-toggle::before{content:"Close Batch "}
.batch-node:not([open]) .batch-toggle::before{content:"Open Batch "}
.batch-node[open] .batch-toggle::after{content:" ▲"}
.batch-node:not([open]) .batch-toggle::after{content:" ▼"}
.batch-body{
  padding:18px;
  background:#F8FAFC;
}
.date-node{
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:20px;
  margin-bottom:14px;
  overflow:hidden;
}
.date-node > summary{
  list-style:none;
  cursor:pointer;
  padding:16px 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  background:#ffffff;
}
.date-node > summary::-webkit-details-marker{display:none}
.date-title{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.date-title b{
  color:#07153A;
  font-size:16px;
}
.date-stats{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.date-stats span{
  background:#EEF4FF;
  color:#3538CD;
  border-radius:999px;
  padding:6px 9px;
  font-size:11px;
  font-weight:900;
}
.date-toggle{
  background:#07153A;
  color:#fff;
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.date-node[open] .date-toggle::before{content:"Hide Students "}
.date-node:not([open]) .date-toggle::before{content:"View Students "}
.date-node[open] .date-toggle::after{content:" ▲"}
.date-node:not([open]) .date-toggle::after{content:" ▼"}
.student-report-body{
  padding:0 16px 16px;
}
.allocation-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:#E9FFF3;
  color:#067647;
  border:1px solid #B7F7D1;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}
.allocation-badge.no{
  background:#FFF8DB;
  color:#854D0E;
  border-color:#FFE68A;
}
@media(max-width:760px){
  .batch-node > summary,.date-node > summary{display:block}
  .batch-toggle,.date-toggle{display:inline-block;margin-top:12px}
}

/* ===== V20 PREMIUM REPORT GRID + 3-PANEL INTERN WORKSPACE ===== */

/* Report batch cards in grid */
.report-tree{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr))!important;
  gap:18px!important;
  align-items:start!important;
}
.batch-node{
  border:0!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:0 18px 45px rgba(16,24,40,.09)!important;
  overflow:hidden!important;
}
.batch-node > summary{
  min-height:154px!important;
  padding:22px!important;
  background:
    radial-gradient(circle at top right,rgba(255,210,63,.25),transparent 32%),
    linear-gradient(135deg,#07153A,#103E56)!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
}
.batch-title h3{
  font-size:22px!important;
  line-height:1.2!important;
  margin-bottom:14px!important;
}
.batch-summary{
  display:grid!important;
  grid-template-columns:repeat(2,max-content)!important;
  gap:8px!important;
}
.batch-summary span{
  padding:8px 11px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.12)!important;
}
.batch-toggle{
  background:#FFD23F!important;
  color:#07153A!important;
  border-radius:16px!important;
  padding:10px 13px!important;
}
.batch-body{
  background:#F8FAFC!important;
  padding:16px!important;
}
.date-node{
  border:1px solid #E5E7EB!important;
  border-radius:18px!important;
  background:#fff!important;
  margin-bottom:12px!important;
  box-shadow:0 8px 20px rgba(16,24,40,.04)!important;
}
.date-node > summary{
  padding:15px!important;
}
.date-title b{
  font-size:15px!important;
}
.date-stats span{
  background:#F2F4F7!important;
  color:#344054!important;
}

/* Page content can use full width better */
.main{
  overflow-x:hidden!important;
}

/* 3 panel internship workspace */
.intern-studio{
  display:grid!important;
  grid-template-columns:300px minmax(420px,1fr) 420px!important;
  gap:20px!important;
  align-items:start!important;
}
.studio-panel{
  background:#fff!important;
  border:1px solid #E5E7EB!important;
  border-radius:28px!important;
  box-shadow:0 18px 45px rgba(16,24,40,.08)!important;
  overflow:hidden!important;
}
.studio-head{
  padding:18px 20px!important;
  border-bottom:1px solid #E5E7EB!important;
  background:linear-gradient(180deg,#fff,#F8FAFC)!important;
}
.studio-head h2,.studio-head h3{
  margin:0!important;
  color:#07153A!important;
}
.studio-head p{
  margin:6px 0 0!important;
  color:#667085!important;
  font-size:13px!important;
  font-weight:700!important;
}
.studio-body{
  padding:18px!important;
}
.task-list-card{
  display:block!important;
  padding:14px!important;
  border-radius:18px!important;
  border:1px solid #E5E7EB!important;
  background:#F8FAFC!important;
  margin-bottom:10px!important;
  transition:.2s ease!important;
}
.task-list-card.active{
  background:linear-gradient(135deg,#07153A,#103E56)!important;
  color:#fff!important;
  border-color:#07153A!important;
}
.task-list-card b{
  display:block!important;
  margin-bottom:8px!important;
}
.task-list-card small{
  display:flex!important;
  gap:6px!important;
  flex-wrap:wrap!important;
  color:#667085!important;
  font-weight:800!important;
}
.task-list-card.active small{color:#FFD23F!important}
.task-detail-hero{
  background:
    radial-gradient(circle at top right,rgba(255,210,63,.22),transparent 34%),
    linear-gradient(135deg,#07153A,#103E56)!important;
  color:#fff!important;
  border-radius:24px!important;
  padding:24px!important;
  margin-bottom:16px!important;
}
.task-detail-hero h2{
  margin:0 0 8px!important;
  color:#FFD23F!important;
  font-size:26px!important;
}
.task-detail-hero p{
  color:#EAF0FA!important;
  margin:0!important;
}
.task-info-grid{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:12px!important;
  margin-bottom:16px!important;
}
.task-info{
  background:#F8FAFC!important;
  border:1px solid #E5E7EB!important;
  border-radius:18px!important;
  padding:14px!important;
}
.task-info b{
  display:block!important;
  color:#07153A!important;
  font-size:20px!important;
  margin-bottom:4px!important;
}
.task-info span{
  color:#667085!important;
  font-size:12px!important;
  font-weight:900!important;
}
.submit-box{
  background:#F8FBFF!important;
  border:1px solid #D9E5FF!important;
  border-radius:22px!important;
  padding:16px!important;
}
.submitted-work{
  background:#F0FFF6!important;
  border:1px solid #B7F7D1!important;
  border-radius:18px!important;
  padding:12px!important;
  margin:10px 0!important;
  word-break:break-word!important;
}

/* Reference-like chat */
.ref-chat{
  height:calc(100vh - 145px)!important;
  min-height:620px!important;
  display:flex!important;
  flex-direction:column!important;
  background:#fff!important;
}
.ref-chat-head{
  padding:16px 18px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  border-bottom:1px solid #EEF2F7!important;
  background:#fff!important;
}
.ref-avatar{
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,#FFD23F,#22C58E)!important;
  color:#07153A!important;
  display:grid!important;
  place-items:center!important;
  font-weight:900!important;
  flex-shrink:0!important;
}
.ref-chat-title{
  flex:1!important;
  min-width:0!important;
}
.ref-chat-title h3{
  margin:0!important;
  color:#07153A!important;
  font-size:17px!important;
}
.ref-chat-title p{
  margin:3px 0 0!important;
  color:#667085!important;
  font-size:12px!important;
  font-weight:800!important;
}
.ref-chat-body{
  flex:1!important;
  padding:22px!important;
  overflow:auto!important;
  background:
    radial-gradient(circle at top left,rgba(76,255,155,.12),transparent 25%),
    #FAFBFC!important;
}
.ref-msg{
  display:flex!important;
  align-items:flex-end!important;
  gap:10px!important;
  margin-bottom:18px!important;
}
.ref-msg.self{
  justify-content:flex-end!important;
}
.ref-msg.other{
  justify-content:flex-start!important;
}
.ref-photo{
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:#E5E7EB!important;
  color:#07153A!important;
  display:grid!important;
  place-items:center!important;
  font-weight:900!important;
  flex-shrink:0!important;
}
.ref-bubble{
  max-width:78%!important;
  padding:13px 16px!important;
  border-radius:15px!important;
  box-shadow:0 8px 20px rgba(16,24,40,.08)!important;
  font-size:14px!important;
  line-height:1.45!important;
  position:relative!important;
}
.ref-msg.self .ref-bubble{
  background:#48D88A!important;
  color:#fff!important;
  border-bottom-right-radius:5px!important;
}
.ref-msg.other .ref-bubble{
  background:#fff!important;
  color:#344054!important;
  border-bottom-left-radius:5px!important;
}
.ref-name{
  display:block!important;
  font-weight:900!important;
  font-size:12px!important;
  margin-bottom:4px!important;
}
.ref-msg.self .ref-name{color:#EFFFF6!important}
.ref-msg.other .ref-name{color:#07153A!important}
.ref-time{
  display:block!important;
  text-align:right!important;
  font-size:11px!important;
  margin-top:6px!important;
  opacity:.75!important;
}
.ref-seen{
  color:#1E88E5!important;
  font-weight:900!important;
}
.ref-chat-form{
  padding:14px!important;
  border-top:1px solid #EEF2F7!important;
  background:#fff!important;
}
.ref-input-row{
  display:flex!important;
  gap:10px!important;
  align-items:flex-end!important;
}
.ref-input-row textarea{
  min-height:50px!important;
  max-height:120px!important;
  border-radius:18px!important;
  resize:vertical!important;
}
.ref-input-row button{
  width:54px!important;
  height:50px!important;
  border-radius:18px!important;
  padding:0!important;
  background:#48D88A!important;
  color:#fff!important;
  flex-shrink:0!important;
}
@media(max-width:1350px){
  .intern-studio{grid-template-columns:280px minmax(360px,1fr)!important}
  .intern-studio .chat-panel{grid-column:1 / -1!important}
  .ref-chat{height:auto!important;min-height:560px!important}
}
@media(max-width:920px){
  .report-tree{grid-template-columns:1fr!important}
  .intern-studio{grid-template-columns:1fr!important}
  .task-info-grid{grid-template-columns:1fr!important}
  .batch-node > summary{display:block!important}
  .batch-toggle{display:inline-block!important;margin-top:14px!important}
}

/* ===== V21 TASK-WISE TRAINER + DATE DETAILS ===== */
.date-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:12px 0 16px;
}
.date-box{
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:16px;
  padding:12px;
}
.date-box b{
  display:block;
  color:#07153A;
  font-size:15px;
}
.date-box span{
  display:block;
  color:#667085;
  font-size:12px;
  font-weight:900;
  margin-top:4px;
}
.task-trainer-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 11px;
  border-radius:999px;
  background:#EEF4FF;
  color:#3538CD;
  font-size:12px;
  font-weight:900;
}
.task-trainer-tag.no{
  background:#FFF8DB;
  color:#854D0E;
}
.delete-task-zone{
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  background:#FFF5F5;
  border:1px solid #FFB4B4;
}
@media(max-width:720px){
  .date-row{grid-template-columns:1fr}
}

/* ===== OPS FINAL - ADMIN CREDENTIAL MANAGER ===== */
.credential-grid{
  display:grid;
  grid-template-columns: 360px minmax(0,1fr);
  gap:20px;
  align-items:start;
}
.user-filter-card{
  position:sticky;
  top:22px;
}
.user-list{
  display:grid;
  gap:10px;
  max-height:620px;
  overflow:auto;
  padding-right:4px;
}
.user-pick{
  display:block;
  background:#F8FAFC;
  border:1px solid #E5E7EB;
  border-radius:18px;
  padding:14px;
  color:#07153A;
  transition:.2s ease;
}
.user-pick:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(16,24,40,.08);
}
.user-pick.active{
  background:linear-gradient(135deg,#07153A,#103E56);
  color:#fff;
  border-color:#07153A;
}
.user-pick b{display:block;margin-bottom:5px}
.user-pick small{display:block;color:#667085;line-height:1.45;font-weight:800}
.user-pick.active small{color:#FFD23F}
.role-badge{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#EEF4FF;
  color:#3538CD;
  font-size:12px;
  font-weight:900;
  text-transform:capitalize;
}
.credential-hero{
  background:linear-gradient(135deg,#07153A,#103E56);
  color:#fff;
  border-radius:28px;
  padding:24px;
  margin-bottom:18px;
}
.credential-hero h2{margin:0 0 8px;color:#FFD23F}
.credential-hero p{margin:0;color:#EAF0FA}
.password-preview{
  background:#FFF8DB;
  border:1px solid #FFE68A;
  color:#854D0E;
  padding:12px 14px;
  border-radius:16px;
  font-weight:900;
  margin-top:10px;
}
@media(max-width:1000px){
  .credential-grid{grid-template-columns:1fr}
  .user-filter-card{position:relative;top:0}
}

/* ===== V26 BRANDING + NOTIFICATION + AUTO CREDENTIALS ===== */
.generated-box{
  background:#F8FBFF;border:1px solid #D9E5FF;border-radius:18px;padding:14px;margin:12px 0;font-weight:900;color:#07153A
}
.generated-box span{display:inline-flex;background:#07153A;color:#FFD23F;border-radius:999px;padding:7px 12px;margin:5px 5px 0 0}
.brand-preview{
  display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #E5E7EB;border-radius:22px;padding:16px;margin-bottom:18px
}
.brand-preview img{max-width:120px;max-height:70px;object-fit:contain;background:#07153A;border-radius:14px;padding:8px}
.notification-card{
  border:1px solid #E5E7EB;background:#fff;border-radius:22px;padding:16px;margin-bottom:12px;box-shadow:0 10px 24px rgba(16,24,40,.05)
}
.notification-card h3{margin:0 0 8px;color:#07153A}
.notification-meta{color:#667085;font-size:12px;font-weight:800;margin-top:8px}
.notify-popup{
  position:fixed;right:22px;bottom:22px;width:min(420px,calc(100% - 44px));z-index:2000;background:#fff;border:1px solid #DDE6F1;border-radius:24px;box-shadow:0 24px 70px rgba(16,24,40,.18);overflow:hidden
}
.notify-popup-head{background:linear-gradient(135deg,#07153A,#103E56);color:#fff;padding:16px 18px}
.notify-popup-head h3{margin:0;color:#FFD23F}
.notify-popup-body{padding:16px;max-height:320px;overflow:auto}
.notify-item{background:#F8FAFC;border:1px solid #E5E7EB;border-radius:16px;padding:12px;margin-bottom:10px}
.notify-item b{display:block;color:#07153A;margin-bottom:5px}
.notify-actions{padding:12px 16px;background:#F8FAFC;border-top:1px solid #E5E7EB;text-align:right}
@media(max-width:700px){.brand-preview{display:block}.brand-preview img{margin-bottom:12px}}
