:root{--vc-dark:#17233b;--vc-muted:#6d7788;--vc-soft:#fff7ef;--vc-border:rgba(245,130,32,.18)}*{box-sizing:border-box}.sdasu-vc-body{margin:0;background:linear-gradient(180deg,#f8fafc,#fff7ef);font-family:"BPG Mrgvlovani","Noto Sans Georgian",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--vc-dark);min-height:100vh}.sdasu-vc-shell{max-width:1380px;margin:0 auto;padding:22px 24px 70px}.vc-brand{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.vc-brand>a{display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none}.vc-brand img{width:150px;height:48px;object-fit:contain}.vc-brand span{display:flex;flex-direction:column}.vc-brand strong{font-size:17px}.vc-brand small{color:var(--vc-muted)}.vc-brand button{border:1px solid var(--vc-border);background:rgba(255,255,255,.72);padding:10px 16px;border-radius:13px;color:#b95f07;font-weight:800;cursor:pointer}.vc-login-card{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);align-items:center;gap:48px;min-height:650px;padding:54px;border:1px solid var(--vc-border);border-radius:36px;background:radial-gradient(circle at 5% 5%,rgba(255,181,105,.24),transparent 35%),linear-gradient(135deg,#fff,#fff7ef);box-shadow:0 30px 75px rgba(23,35,59,.1)}.vc-login-aniko svg{display:block;width:100%;max-width:520px;margin:auto;filter:drop-shadow(0 24px 30px rgba(23,35,59,.1))}.vc-eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:#fff0e2;color:#ba6007;font-size:11px;font-weight:900;letter-spacing:.11em}.vc-login-card h1,.vc-page-head h1,.vc-dashboard-hero h1{font-family:"BPG Nino Mtavruli","BPG Mrgvlovani",sans-serif;font-size:clamp(36px,5vw,64px);line-height:1.12;margin:14px 0;color:var(--vc-dark)}.vc-login-card p,.vc-page-head p,.vc-dashboard-hero p{color:var(--vc-muted);font-size:17px;line-height:1.8}.vc-google-btn,.vc-primary-btn,.vc-ghost-btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;border-radius:15px;padding:13px 18px;text-decoration:none;font-weight:900;cursor:pointer;font:inherit}.vc-google-btn,.vc-primary-btn{background:linear-gradient(135deg,var(--vc-accent),#ffad69);color:#fff;border:0;box-shadow:0 14px 26px rgba(245,130,32,.22)}.vc-google-btn b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:#4285f4}.vc-ghost-btn{border:1px solid var(--vc-border);background:rgba(255,255,255,.8);color:#b95f07}.vc-page-head,.vc-dashboard-hero{padding:34px 38px;margin-bottom:22px;border-radius:30px;border:1px solid var(--vc-border);background:linear-gradient(135deg,#fff,#fff7ef);box-shadow:0 16px 40px rgba(23,35,59,.07)}.vc-page-head h1,.vc-dashboard-hero h1{font-size:43px}.vc-form-card{padding:30px;border-radius:28px;background:#fff;border:1px solid #e8ebf0;box-shadow:0 18px 46px rgba(23,35,59,.07);margin-bottom:34px}.vc-form-grid{display:grid;gap:18px}.vc-form-grid.two{grid-template-columns:1fr 1fr}.vc-form-card label{display:block;font-weight:800;color:#424c5c}.vc-form-card label>span{display:block;margin-bottom:8px}.vc-form-card input,.vc-form-card select,.vc-form-card textarea{width:100%;max-width:100%;padding:13px 14px;border:1px solid #dce1e8;border-radius:14px;background:#fff;color:#202936;font:inherit;box-shadow:none}.vc-form-card input:focus,.vc-form-card select:focus,.vc-form-card textarea:focus{outline:none;border-color:var(--vc-accent);box-shadow:0 0 0 3px rgba(245,130,32,.12)}.vc-form-card>.vc-primary-btn{margin-top:20px}.vc-center-card{max-width:760px;margin:80px auto;padding:50px;text-align:center;border-radius:30px;background:#fff;border:1px solid var(--vc-border);box-shadow:0 20px 55px rgba(23,35,59,.08)}.vc-big-icon{font-size:52px}.vc-notice{padding:15px 18px;margin:16px 0;border-radius:15px;font-weight:800}.vc-notice.error{background:#fff0f0;color:#a32f2f}.vc-notice.success{background:#eaf9f0;color:#187744}.vc-dashboard-hero{display:flex;justify-content:space-between;align-items:center}.vc-profile-pill{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:18px;background:#fff;border:1px solid var(--vc-border)}.vc-profile-pill img,.vc-profile-pill b{width:46px;height:46px;border-radius:50%;object-fit:cover}.vc-profile-pill b{display:grid;place-items:center;background:var(--vc-accent);color:#fff}.vc-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:30px 0 17px}.vc-section-head.spaced{margin-top:48px}.vc-section-head h2{margin:7px 0 0;font-size:30px}.vc-section-head>strong{color:#ba6007}.vc-lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.vc-lesson-card{display:flex;flex-direction:column;min-height:360px;padding:25px;border-radius:25px;background:#fff;border:1px solid #e7eaf0;box-shadow:0 16px 42px rgba(23,35,59,.06);transition:.2s ease}.vc-lesson-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(23,35,59,.1);border-color:var(--vc-border)}.vc-lesson-top{display:flex;justify-content:space-between;gap:12px;color:var(--vc-muted);font-size:13px}.vc-lesson-status{padding:6px 10px;border-radius:999px;font-weight:900}.vc-lesson-status.live{background:#e7f8ef;color:#187744}.vc-lesson-status.upcoming{background:#fff0e2;color:#b95f07}.vc-lesson-status.ended{background:#eef1f5;color:#677181}.vc-lesson-card h3{font-size:24px;margin:18px 0 9px}.vc-lesson-card>p{color:var(--vc-muted);line-height:1.7}.vc-lesson-meta{display:grid;gap:10px;margin:15px 0 22px}.vc-lesson-meta span{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px dashed #e3e6eb;color:#586273}.vc-lesson-meta b{color:#202936}.vc-lesson-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}.vc-empty{grid-column:1/-1;padding:50px;text-align:center;border:1px dashed var(--vc-border);border-radius:25px;background:rgba(255,255,255,.7)}.vc-empty>div{font-size:42px;color:var(--vc-accent)}.vc-tabs{display:flex;gap:8px;overflow:auto;padding:8px;margin-bottom:22px;border-radius:18px;background:#fff;border:1px solid #e7eaf0}.vc-tabs a{padding:11px 16px;border-radius:12px;color:#677181;text-decoration:none;font-weight:900;white-space:nowrap}.vc-tabs a.active{background:#fff0e2;color:#b95f07}.vc-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.vc-stat-grid>div{padding:25px;border-radius:23px;background:#fff;border:1px solid #e7eaf0;box-shadow:0 12px 32px rgba(23,35,59,.05)}.vc-stat-grid strong{display:block;font-size:38px;color:#b95f07}.vc-stat-grid span{color:var(--vc-muted)}.vc-audience-box{margin:20px 0;padding:20px;border:1px solid #e6e9ee;border-radius:18px;background:#fafbfc}.vc-checkbox-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.vc-checkbox-grid label,.vc-check-card{display:flex!important;align-items:center;gap:8px}.vc-checkbox-grid input,.vc-check-card input{width:auto!important}.vc-student-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-height:340px;overflow:auto}.vc-student-picker label{display:flex;gap:10px;align-items:flex-start;padding:11px;border-radius:13px;background:#fff;border:1px solid #e8ebf0}.vc-student-picker input{width:auto!important;margin-top:4px}.vc-student-picker small{display:block;color:var(--vc-muted);font-weight:500}.vc-people-list{display:grid;gap:14px}.vc-person-card{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(500px,1.2fr);gap:20px;align-items:center;padding:18px;border-radius:20px;background:#fff;border:1px solid #e7eaf0}.vc-person-main{display:flex;align-items:center;gap:14px}.vc-person-main img,.vc-person-main>b{width:52px;height:52px;border-radius:50%;object-fit:cover}.vc-person-main>b{display:grid;place-items:center;background:var(--vc-accent);color:#fff}.vc-person-main h3{margin:0}.vc-person-main p{margin:4px 0;color:var(--vc-muted)}.vc-person-main span{font-size:13px;color:#8a93a1}.vc-person-form{display:grid;grid-template-columns:1.2fr .8fr 1fr 1fr auto;gap:8px}.vc-person-form input,.vc-person-form select{min-width:0;padding:9px;border:1px solid #dce1e8;border-radius:11px}.vc-person-form .vc-ghost-btn{padding:9px 12px}.vc-form-card [data-audience-programs],.vc-form-card [data-audience-students]{display:none}@media(max-width:1050px){.vc-lesson-grid{grid-template-columns:1fr 1fr}.vc-person-card{grid-template-columns:1fr}.vc-person-form{grid-template-columns:1fr 1fr}.vc-stat-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.sdasu-vc-shell{padding:14px 12px 50px}.vc-brand span{display:none}.vc-login-card{grid-template-columns:1fr;padding:30px 22px}.vc-login-aniko{display:none}.vc-form-grid.two,.vc-lesson-grid,.vc-checkbox-grid,.vc-student-picker{grid-template-columns:1fr}.vc-dashboard-hero{align-items:flex-start;flex-direction:column}.vc-stat-grid{grid-template-columns:1fr 1fr}.vc-person-form{grid-template-columns:1fr}.vc-page-head,.vc-dashboard-hero{padding:26px 22px}.vc-page-head h1,.vc-dashboard-hero h1{font-size:34px}}
.vc-inline-action{display:inline-flex;margin:0}.vc-inline-action button{font:inherit}.vc-danger-btn,.vc-archive-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:15px;padding:13px 16px;text-decoration:none;font-weight:900;cursor:pointer}.vc-danger-btn{border:1px solid rgba(183,43,43,.2);background:#fff2f2;color:#a52b2b}.vc-danger-btn:hover{background:#ffe7e7}.vc-archive-btn{border:1px solid rgba(92,103,120,.2);background:#f1f3f6;color:#505b6a}.vc-archive-btn:hover{background:#e8ebef}.vc-lesson-status.archived{background:#eceff3;color:#596473}.vc-person-controls{display:grid;gap:10px}.vc-person-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.vc-person-actions .vc-danger-btn,.vc-person-actions .vc-archive-btn,.vc-person-actions .vc-ghost-btn{padding:9px 12px}.vc-archive-head{margin-top:4px}.vc-archive-head h1{font-size:42px}@media(max-width:720px){.vc-person-actions{justify-content:flex-start}.vc-inline-action{width:100%}.vc-inline-action button{width:100%}.vc-lesson-actions .vc-inline-action{width:auto}.vc-lesson-actions .vc-inline-action button{width:auto}}
.vc-guide{margin-top:28px;padding:34px;border:1px solid #e7eaf0;border-radius:30px;background:rgba(255,255,255,.88);box-shadow:0 18px 46px rgba(23,35,59,.06)}.vc-guide-head{max-width:900px}.vc-guide-head h2{margin:10px 0 8px;font-size:32px;color:var(--vc-dark)}.vc-guide-head p{margin:0;color:var(--vc-muted);line-height:1.75}.vc-guide-domain{display:flex;align-items:flex-start;gap:14px;margin:24px 0;padding:18px 20px;border-radius:18px;background:#fff7ef;border:1px solid var(--vc-border);color:#5e4b38}.vc-guide-domain strong{flex:0 0 auto;color:#b95f07}.vc-guide-domain span{line-height:1.7}.vc-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.vc-guide-card{border:1px solid #e7eaf0;border-radius:22px;background:#fff;overflow:hidden}.vc-guide-card summary{display:flex;align-items:center;gap:13px;padding:20px;cursor:pointer;list-style:none}.vc-guide-card summary::-webkit-details-marker{display:none}.vc-guide-card summary:after{content:'⌄';margin-left:auto;color:#7c8796;font-size:20px;transition:.2s ease}.vc-guide-card[open] summary:after{transform:rotate(180deg)}.vc-guide-card summary>span:not(.vc-guide-icon){display:flex;flex-direction:column;gap:3px}.vc-guide-card summary strong{font-size:18px;color:var(--vc-dark)}.vc-guide-card summary small{color:var(--vc-muted)}.vc-guide-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#00998c;color:#fff;font-weight:900}.vc-guide-icon.lecturer{background:#0b8fd3}.vc-guide-card ol{margin:0;padding:0 28px 24px 52px;color:#4f5a6a;line-height:1.75}.vc-guide-card li+li{margin-top:10px}.vc-guide-card b{color:#253044}@media(max-width:850px){.vc-guide-grid{grid-template-columns:1fr}}@media(max-width:720px){.vc-guide{padding:24px 18px;border-radius:24px}.vc-guide-head h2{font-size:27px}.vc-guide-domain{flex-direction:column}.vc-guide-card summary{padding:17px}.vc-guide-card ol{padding:0 22px 20px 42px}}
.vc-guide-support{margin-top:26px;padding-top:24px;border-top:1px solid #e7eaf0;text-align:center}.vc-guide-support>strong{display:block;margin-bottom:7px;font-size:19px;color:var(--vc-dark)}.vc-guide-support>p{margin:0;color:var(--vc-muted);line-height:1.7}.vc-guide-support-emails{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}.vc-guide-support-emails>a,.vc-guide-support-emails>div>a{color:#b95f07;font-weight:900;text-decoration:none}.vc-guide-support-emails>a:hover,.vc-guide-support-emails>div>a:hover{text-decoration:underline}.vc-guide-support-emails>span{color:#9aa2ae}.vc-guide-support-emails>div{display:flex;flex-direction:column;align-items:flex-start}.vc-guide-support-emails small{margin-top:2px;color:var(--vc-muted);font-size:12px}.vc-guide-support-subject{display:inline-block!important;margin-top:2px!important;padding:9px 13px;border-radius:12px;background:#fff7ef;color:#5e4b38!important}.vc-guide-support-subject b{color:#b95f07}@media(max-width:720px){.vc-guide-support-emails{flex-direction:column;gap:8px}.vc-guide-support-emails>span{display:none}.vc-guide-support-emails>div{align-items:center}}

/* Support section refinement v1.0.7 */
.vc-guide-support{margin-top:28px;padding:24px 0 2px;border-top:1px solid rgba(245,130,32,.22);text-align:left}.vc-guide-support-title{display:flex;align-items:flex-start;gap:13px}.vc-guide-support-title>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--vc-accent),#ffad69);color:#fff;font-weight:900;font-size:18px;box-shadow:0 8px 18px rgba(245,130,32,.18)}.vc-guide-support-title>div{min-width:0}.vc-guide-support-title strong{display:block;margin:0 0 4px;font-size:18px;color:var(--vc-dark)}.vc-guide-support-title p{margin:0;color:var(--vc-muted);line-height:1.65}.vc-guide-support-emails{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 14px}.vc-guide-support-emails>a,.vc-guide-support-emails>a:visited{display:flex;flex-direction:column;gap:3px;padding:13px 15px;border:1px solid rgba(245,130,32,.22);border-radius:14px;background:linear-gradient(135deg,#fffaf5,#fff);color:var(--vc-dark)!important;text-decoration:none!important;transition:.2s ease}.vc-guide-support-emails>a:hover{transform:translateY(-1px);border-color:rgba(245,130,32,.48);box-shadow:0 8px 20px rgba(23,35,59,.06);color:var(--vc-dark)!important}.vc-guide-support-emails small{font-size:11px;color:#b95f07;font-weight:900;letter-spacing:.02em}.vc-guide-support-emails b{font-size:14px;color:var(--vc-dark)!important;word-break:break-word}.vc-guide-support-subject{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap;margin:0!important;padding:12px 14px!important;border-left:3px solid var(--vc-accent);border-radius:0 12px 12px 0;background:rgba(245,130,32,.07)!important;color:#5e6470!important}.vc-guide-support-subject span{font-size:13px}.vc-guide-support-subject b{display:inline-flex;padding:4px 9px;border-radius:999px;background:#fff;color:#b95f07!important;font-size:13px;border:1px solid rgba(245,130,32,.18)}@media(max-width:720px){.vc-guide-support{padding-top:20px}.vc-guide-support-emails{grid-template-columns:1fr}.vc-guide-support-title p{font-size:14px}.vc-guide-support-subject{align-items:flex-start;flex-direction:column;gap:6px}}
/* Main Admin audit log */
.vc-audit-head{margin-top:4px}.vc-audit-filter{display:grid;grid-template-columns:1.45fr 1.15fr 1fr .8fr .8fr;gap:12px;align-items:end;padding:20px;margin-bottom:26px;border-radius:22px;background:#fff;border:1px solid #e7eaf0;box-shadow:0 12px 32px rgba(23,35,59,.05)}.vc-audit-filter label{display:grid;gap:7px;font-weight:800;color:#424c5c}.vc-audit-filter label>span{font-size:12px;color:var(--vc-muted)}.vc-audit-filter input,.vc-audit-filter select{width:100%;min-width:0;padding:11px 12px;border:1px solid #dce1e8;border-radius:12px;background:#fff;color:#202936;font:inherit}.vc-audit-filter input:focus,.vc-audit-filter select:focus{outline:none;border-color:var(--vc-accent);box-shadow:0 0 0 3px rgba(245,130,32,.12)}.vc-audit-filter-actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end}.vc-audit-filter-actions .vc-primary-btn,.vc-audit-filter-actions .vc-ghost-btn{padding:10px 16px}.vc-audit-list{display:grid;gap:13px}.vc-audit-item{padding:20px 22px;border-radius:20px;background:#fff;border:1px solid #e7eaf0;box-shadow:0 10px 28px rgba(23,35,59,.045)}.vc-audit-top{display:flex;justify-content:space-between;align-items:center;gap:14px}.vc-audit-top>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vc-audit-top time{font-size:12px;color:var(--vc-muted)}.vc-audit-badge,.vc-audit-role{display:inline-flex;align-items:center;min-height:29px;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:900}.vc-audit-badge{background:#fff0e2;color:#b95f07}.vc-audit-role{background:#f2f5f8;color:#566173}.vc-audit-item h3{margin:14px 0 12px;font-size:18px;line-height:1.5}.vc-audit-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.vc-audit-meta span{display:grid;gap:3px;padding:10px 12px;border-radius:12px;background:#fafbfc;color:#465163;min-width:0;word-break:break-word}.vc-audit-meta b{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#8a93a1}.vc-audit-details{margin-top:12px;border-top:1px dashed #e1e5eb;padding-top:10px}.vc-audit-details summary{cursor:pointer;font-weight:900;color:#b95f07}.vc-audit-details>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.vc-audit-details span{display:grid;gap:3px;padding:9px 11px;border-radius:11px;background:#fff9f3;color:#4f5867;word-break:break-word}.vc-audit-details b{font-size:10px;color:#a66a2e}.vc-audit-pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:24px}.vc-audit-pagination span{font-weight:900;color:#667181}
@media(max-width:1100px){.vc-audit-filter{grid-template-columns:1fr 1fr 1fr}.vc-audit-meta{grid-template-columns:1fr 1fr}.vc-audit-details>div{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.vc-audit-filter{grid-template-columns:1fr}.vc-audit-filter-actions{justify-content:stretch;flex-direction:column}.vc-audit-filter-actions .vc-primary-btn,.vc-audit-filter-actions .vc-ghost-btn{width:100%}.vc-audit-top{align-items:flex-start;flex-direction:column}.vc-audit-meta,.vc-audit-details>div{grid-template-columns:1fr}.vc-audit-pagination{flex-wrap:wrap}.vc-audit-pagination .vc-ghost-btn{width:auto}}

/* Authenticated Campus footer; intentionally absent from the login screen. */
.vc-platform-footer{max-width:1380px;margin:0 auto;padding:0 24px 24px;color:#8c755f;font-size:12px}.vc-platform-footer:before{content:'';display:block;height:1px;background:linear-gradient(90deg,rgba(245,130,32,.08),rgba(215,160,56,.75),rgba(245,130,32,.08));margin-bottom:14px}.vc-platform-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.vc-platform-credit{color:#b56518}@media(max-width:720px){.vc-platform-footer{padding:0 12px 18px}.vc-platform-footer-inner{flex-direction:column;align-items:flex-start;gap:7px}}

/* Virtual Campus 1.2.0 — groups and Meet reports */
.vc-muted{color:var(--vc-muted);line-height:1.65}
.vc-group-picker-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:24px 0 12px}
.vc-group-picker-head h3{margin:0 0 5px;font-size:21px}.vc-group-picker-head p{margin:0;color:var(--vc-muted)}
.vc-group-picker-head input{max-width:360px!important}
.vc-group-student-picker{max-height:480px}
.vc-group-form-actions{display:flex;gap:10px;align-items:center;margin-top:20px}
.vc-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vc-group-card{display:flex;flex-direction:column;gap:16px;padding:22px;border-radius:22px;background:#fff;border:1px solid #e7eaf0;box-shadow:0 12px 32px rgba(23,35,59,.05)}
.vc-group-card h3{margin:10px 0 5px;font-size:24px}.vc-group-card p{margin:0;color:var(--vc-muted)}.vc-group-card>strong{font-size:14px;color:#b95f07}
.vc-report-head p{margin:7px 0 0;color:var(--vc-muted)}
.vc-report-filter{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end;padding:20px;margin-bottom:14px;border-radius:22px;background:#fff;border:1px solid #e7eaf0;box-shadow:0 12px 32px rgba(23,35,59,.05)}
.vc-report-filter label{display:grid;gap:7px;font-weight:800;color:#424c5c}.vc-report-filter label>span{font-size:12px;color:var(--vc-muted)}
.vc-report-filter input,.vc-report-filter select{width:100%;min-width:0;padding:11px 12px;border:1px solid #dce1e8;border-radius:12px;background:#fff;color:#202936;font:inherit}
.vc-report-filter-actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end}
.vc-report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 22px}.vc-report-toolbar form{margin:0}
.vc-report-table-wrap{overflow:auto;border:1px solid #e7eaf0;border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(23,35,59,.05)}
.vc-report-table{width:100%;min-width:1080px;border-collapse:collapse}.vc-report-table th,.vc-report-table td{padding:14px 15px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:top}
.vc-report-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#7a8492;background:#fafbfc}.vc-report-table td{font-size:13px;color:#435062}
.vc-report-table td strong{display:block;color:#202936;font-size:14px}.vc-report-table td small{display:block;margin-top:4px;color:#7a8492}.vc-report-table tr:last-child td{border-bottom:0}
.vc-report-pending{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f1f3f6;color:#6b7482;font-size:11px;font-weight:900}
.vc-report-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.vc-report-actions form{margin:0}.vc-report-actions .vc-primary-btn,.vc-report-actions .vc-ghost-btn{padding:9px 11px;font-size:12px}
@media(max-width:1050px){.vc-group-grid{grid-template-columns:1fr 1fr}.vc-report-filter{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:720px){.vc-group-picker-head{align-items:stretch;flex-direction:column}.vc-group-picker-head input{max-width:none!important}.vc-group-grid{grid-template-columns:1fr}.vc-group-form-actions{align-items:stretch;flex-direction:column}.vc-group-form-actions .vc-primary-btn,.vc-group-form-actions .vc-ghost-btn{width:100%}.vc-report-filter{grid-template-columns:1fr}.vc-report-filter-actions{justify-content:stretch;flex-direction:column}.vc-report-filter-actions .vc-primary-btn,.vc-report-filter-actions .vc-ghost-btn{width:100%}.vc-report-toolbar{align-items:stretch;flex-direction:column}.vc-report-toolbar form,.vc-report-toolbar .vc-primary-btn,.vc-report-toolbar .vc-ghost-btn{width:100%}}

/* Pre-registration and pending group members — v1.2.1 */
.vc-prereg-card{margin:0 0 28px;padding:24px;border:1px solid #e7eaf0;border-radius:24px;background:#fff;box-shadow:0 12px 32px rgba(23,35,59,.05)}
.vc-prereg-head h3{margin:7px 0 6px;font-size:23px}.vc-prereg-head p{margin:0;color:var(--vc-muted);line-height:1.65}
.vc-prereg-form{display:grid;grid-template-columns:1.35fr 1.2fr 1.2fr .8fr .8fr auto;gap:10px;align-items:end;margin-top:18px}
.vc-prereg-form label{display:grid;gap:7px;font-weight:800;color:#424c5c}.vc-prereg-form label>span{font-size:12px;color:var(--vc-muted)}
.vc-prereg-form input,.vc-prereg-form select{width:100%;min-width:0;padding:11px 12px;border:1px solid #dce1e8;border-radius:12px;background:#fff;color:#202936;font:inherit}
.vc-prereg-form input:focus,.vc-prereg-form select:focus{outline:none;border-color:var(--vc-accent);box-shadow:0 0 0 3px rgba(245,130,32,.12)}
.vc-prereg-form .vc-primary-btn{min-height:46px;white-space:nowrap}
.vc-prereg-pending{margin-top:20px;padding-top:18px;border-top:1px dashed #e1e5eb}.vc-prereg-pending h4{margin:0 0 12px;font-size:15px;color:#4c5666}
.vc-prereg-list{display:grid;gap:9px}.vc-prereg-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #edf0f4;border-radius:14px;background:#fafbfc}
.vc-prereg-list article>div{min-width:0}.vc-prereg-list b{display:block;word-break:break-word}.vc-prereg-list small{display:block;margin-top:4px;color:var(--vc-muted);line-height:1.5}
.vc-prereg-list .vc-danger-btn{padding:8px 11px;border-radius:11px}
.vc-pending-student{background:#fffaf5!important;border-style:dashed!important}.vc-pending-student small{color:#b56518!important}
@media(max-width:1180px){.vc-prereg-form{grid-template-columns:1fr 1fr 1fr}.vc-prereg-form .vc-primary-btn{width:100%}}
@media(max-width:720px){.vc-prereg-card{padding:18px}.vc-prereg-form{grid-template-columns:1fr}.vc-prereg-list article{align-items:flex-start;flex-direction:column}.vc-prereg-list form,.vc-prereg-list .vc-danger-btn{width:100%}}

/* Virtual Campus 1.2.2 — bulk pre-registration */
.vc-prereg-form-bulk{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.5fr);gap:18px;align-items:stretch}
.vc-prereg-form-bulk .vc-prereg-emails{display:flex;flex-direction:column;min-width:0}
.vc-prereg-form-bulk textarea{width:100%;min-height:168px;resize:vertical;padding:13px 14px;border:1px solid #dce1e8;border-radius:14px;background:#fff;color:#202936;font:inherit;line-height:1.65}
.vc-prereg-form-bulk textarea:focus{outline:none;border-color:var(--vc-accent);box-shadow:0 0 0 3px rgba(245,130,32,.12)}
.vc-prereg-form-bulk .vc-prereg-emails small{margin-top:7px;color:var(--vc-muted);font-weight:500;line-height:1.5}
.vc-prereg-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}
.vc-prereg-fields label{display:grid;gap:7px;font-weight:800;color:#424c5c}
.vc-prereg-fields label>span{font-size:12px;color:var(--vc-muted)}
.vc-prereg-fields input,.vc-prereg-fields select{width:100%;min-width:0;padding:11px 12px;border:1px solid #dce1e8;border-radius:12px;background:#fff;color:#202936;font:inherit}
.vc-prereg-fields .vc-primary-btn{grid-column:1/-1;min-height:46px;width:100%;margin-top:2px}
.vc-lesson-groups{margin:-6px 0 14px;padding:9px 12px;border-radius:12px;background:#fff7ef;border:1px solid var(--vc-border);color:#8b541d;font-size:13px;font-weight:800;line-height:1.5}
@media(max-width:1000px){.vc-prereg-form-bulk{grid-template-columns:1fr}.vc-prereg-fields{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.vc-prereg-fields{grid-template-columns:1fr}.vc-prereg-form-bulk textarea{min-height:145px}}

/* Learning materials — v1.2.3 */
.vc-materials{margin:4px 0 18px;padding:16px;border:1px solid rgba(245,130,32,.18);border-radius:18px;background:linear-gradient(135deg,#fffaf5,#fff)}
.vc-materials-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.vc-materials-head strong{font-size:15px;color:var(--vc-dark)}.vc-materials-head span{font-size:11px;font-weight:900;color:#b95f07;background:#fff0e2;padding:5px 9px;border-radius:999px}
.vc-material-list{display:grid;gap:8px}.vc-material-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:13px;background:#fff;border:1px solid #eceff3}.vc-material-item>div:first-child{min-width:0}.vc-material-item b{display:block;font-size:13px;color:#253044;overflow-wrap:anywhere}.vc-material-item small{display:block;margin-top:3px;color:var(--vc-muted);font-size:10px}.vc-material-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.vc-material-actions .vc-ghost-btn,.vc-material-actions .vc-danger-btn{padding:7px 10px;border-radius:10px;font-size:11px}
.vc-material-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:12px;padding-top:12px;border-top:1px dashed rgba(245,130,32,.22)}.vc-material-upload label{display:grid;gap:6px;font-size:12px;font-weight:900;color:#596473}.vc-material-upload input[type=file]{width:100%;padding:9px;border:1px solid #dfe4ea;border-radius:11px;background:#fff;font:inherit}.vc-material-upload .vc-primary-btn{padding:10px 13px}.vc-material-upload .vc-primary-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.vc-material-warning{grid-column:1/-1;color:#9b661d;line-height:1.5}
@media(max-width:720px){.vc-material-item{align-items:flex-start;flex-direction:column}.vc-material-actions{width:100%;flex-wrap:wrap}.vc-material-upload{grid-template-columns:1fr}.vc-material-upload .vc-primary-btn{width:100%}}


/* Virtual Campus 1.2.4 — processing overlay + AJAX tabs */
.vc-processing-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(248,250,252,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.vc-processing-overlay.is-visible{opacity:1;visibility:visible;pointer-events:all}
.vc-processing-card{min-width:240px;display:flex;flex-direction:column;align-items:center;gap:9px;padding:28px 34px;border:1px solid var(--vc-border);border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(23,35,59,.16);text-align:center}
.vc-processing-card strong{font-size:20px;color:var(--vc-dark)}.vc-processing-card small{color:var(--vc-muted)}
.vc-processing-spinner{width:38px;height:38px;border-radius:50%;border:4px solid rgba(245,130,32,.16);border-top-color:var(--vc-accent);animation:vc-spin .75s linear infinite}
@keyframes vc-spin{to{transform:rotate(360deg)}}
[data-vc-admin-dynamic]{position:relative;transition:opacity .15s ease}
[data-vc-admin-dynamic].is-ajax-loading{opacity:.45;pointer-events:none}
[data-vc-admin-dynamic].is-ajax-loading:after{content:'';position:fixed;top:18px;left:50%;width:24px;height:24px;margin-left:-12px;border-radius:50%;border:3px solid rgba(245,130,32,.18);border-top-color:var(--vc-accent);animation:vc-spin .7s linear infinite;z-index:99998}
@media(prefers-reduced-motion:reduce){.vc-processing-overlay,[data-vc-admin-dynamic]{transition:none}.vc-processing-spinner,[data-vc-admin-dynamic].is-ajax-loading:after{animation-duration:1.5s}}

/* Virtual Campus 1.2.6 — lesson chat, attendance details and global processing */
.vc-chat-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:15px;padding:13px 16px;background:#17233b;color:#fff!important;text-decoration:none;font-weight:900;box-shadow:0 10px 22px rgba(23,35,59,.12)}
.vc-chat-btn:hover{transform:translateY(-1px)}
.vc-chat-page-head{position:relative}.vc-chat-page-head>.vc-ghost-btn{margin-top:8px}
.vc-chat-shell{overflow:hidden;border:1px solid #e5e9ef;border-radius:28px;background:#fff;box-shadow:0 18px 46px rgba(23,35,59,.07)}
.vc-chat-info{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 22px;background:linear-gradient(135deg,#fff8f1,#fff);border-bottom:1px solid rgba(245,130,32,.16)}
.vc-chat-info strong{font-size:18px;color:var(--vc-dark)}.vc-chat-info span{max-width:820px;color:#7a8492;font-size:12px;line-height:1.7}
.vc-chat-messages{height:min(58vh,620px);min-height:390px;overflow:auto;padding:24px;background:linear-gradient(180deg,#f8fafc,#fff)}
.vc-chat-loading,.vc-chat-empty{padding:60px 20px;text-align:center;color:var(--vc-muted)}
.vc-chat-message{display:flex;align-items:flex-start;gap:11px;margin:0 0 18px;max-width:82%}.vc-chat-message.own{margin-left:auto;flex-direction:row-reverse}
.vc-chat-avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#eef2f7;color:#586273;font-weight:900}.vc-chat-avatar.lecturer{background:#e8f4fb;color:#087eb8}.vc-chat-avatar.admin{background:#fff0e2;color:#b95f07}
.vc-chat-bubble{min-width:0;padding:13px 15px;border:1px solid #e5e9ef;border-radius:6px 18px 18px 18px;background:#fff;box-shadow:0 8px 22px rgba(23,35,59,.045)}.vc-chat-message.own .vc-chat-bubble{border-radius:18px 6px 18px 18px;background:#fff7ef;border-color:rgba(245,130,32,.2)}
.vc-chat-message-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px}.vc-chat-message-head b{font-size:13px}.vc-chat-message-head span{color:#8b94a2;font-size:10px}
.vc-chat-text{white-space:normal;overflow-wrap:anywhere;color:#374151;line-height:1.7;font-size:14px}
.vc-chat-quote{display:grid;gap:3px;margin-bottom:9px;padding:8px 10px;border-left:3px solid var(--vc-accent);border-radius:0 9px 9px 0;background:rgba(245,130,32,.07)}.vc-chat-quote b{font-size:11px;color:#b95f07}.vc-chat-quote span{font-size:11px;color:#6e7785}
.vc-chat-message-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:9px}.vc-chat-message-actions>button{padding:0;border:0;background:transparent;color:#858e9b;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.vc-chat-message-actions>button:hover{color:#b95f07}
.vc-chat-reactions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.vc-chat-reaction,.vc-chat-add-reaction{border:1px solid #e2e6ec!important;border-radius:999px!important;padding:3px 7px!important;background:#fff!important;font-size:11px!important;cursor:pointer}.vc-chat-reaction.active{border-color:rgba(245,130,32,.45)!important;background:#fff0e2!important}.vc-chat-add-reaction{opacity:.7}
.vc-chat-replying{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;background:#fff8f1;border-top:1px solid rgba(245,130,32,.18);font-size:12px;color:#7a5a3c}.vc-chat-replying button{border:0;background:transparent;font-size:22px;cursor:pointer;color:#9a6c42}
.vc-chat-compose{padding:18px 20px;border-top:1px solid #e7eaf0;background:#fff}.vc-chat-compose textarea{width:100%;resize:vertical;min-height:78px;max-height:180px;padding:13px 14px;border:1px solid #dce1e8;border-radius:15px;background:#fff;color:#202936;font:inherit;line-height:1.6}.vc-chat-compose textarea:focus{outline:none;border-color:var(--vc-accent);box-shadow:0 0 0 3px rgba(245,130,32,.12)}
.vc-chat-compose-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.vc-chat-emojis{display:flex;gap:5px;flex-wrap:wrap}.vc-chat-emojis button{border:1px solid #e4e8ed;background:#fff;border-radius:9px;padding:6px 8px;cursor:pointer;font-size:16px}
.vc-attendance-mini{margin-top:6px}.vc-attendance-mini summary{cursor:pointer;color:#b95f07;font-size:11px;font-weight:900}.vc-attendance-mini>div{display:grid;gap:6px;margin-top:7px;min-width:210px}.vc-attendance-mini span{display:grid;gap:2px;padding:7px 8px;border-radius:9px;background:#fafbfc}.vc-attendance-mini b{font-size:11px}.vc-attendance-mini small{font-size:9px;color:#7b8492}
@media(max-width:720px){.vc-chat-info{flex-direction:column}.vc-chat-messages{height:55vh;min-height:340px;padding:14px}.vc-chat-message{max-width:94%}.vc-chat-compose{padding:14px}.vc-chat-compose-bottom{align-items:flex-start;flex-direction:column}.vc-chat-compose-bottom>.vc-primary-btn{width:100%}}


/* Virtual Campus 1.2.7 — refined chat UX, unread state */
.vc-chat-brand-title{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 24px;background:linear-gradient(135deg,#fff8f1,#fff);border-bottom:1px solid rgba(245,130,32,.16);text-align:center}
.vc-chat-brand-title>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff0e2;font-size:17px;box-shadow:inset 0 0 0 1px rgba(245,130,32,.16)}
.vc-chat-brand-title strong{font-family:"BPG Nino Mtavruli","BPG Mrgvlovani",sans-serif;font-size:22px;color:var(--vc-dark);font-weight:700}
.vc-chat-messages{padding-left:40px;padding-right:40px}
.vc-chat-btn{position:relative}
.vc-chat-unread-dot{position:absolute;top:-5px;right:-5px;width:12px;height:12px;border-radius:50%;background:#f58220;border:2px solid #fff;box-shadow:0 2px 7px rgba(245,130,32,.35)}
.vc-chat-replying button{position:relative;z-index:2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;line-height:1}
.vc-chat-replying button:hover{background:rgba(245,130,32,.10)}
@media(max-width:720px){.vc-chat-brand-title{padding:15px 16px}.vc-chat-brand-title strong{font-size:19px}.vc-chat-messages{padding-left:20px;padding-right:20px}}


/* Virtual Campus 1.2.8 — polished mobile layout */
.vc-mobile-tabs-toggle{display:none}
@media(max-width:720px){
  html,body{max-width:100%;overflow-x:hidden}
  .sdasu-vc-body{background:linear-gradient(180deg,#f9fafc,#fff8f1)}
  .sdasu-vc-shell{width:100%;padding:12px 10px 42px}
  .vc-brand{justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:18px;text-align:center}
  .vc-brand>a{justify-content:center;width:100%}
  .vc-brand img{width:132px;height:44px}
  .vc-brand>form,.vc-brand>button{margin-inline:auto}
  .vc-brand button{min-width:150px}

  .vc-dashboard-hero,.vc-page-head{padding:23px 17px;border-radius:22px;text-align:center}
  .vc-dashboard-hero{align-items:center!important;justify-content:center!important;gap:17px}
  .vc-dashboard-hero>div:first-child{width:100%}
  .vc-dashboard-hero h1,.vc-page-head h1{font-size:30px!important;line-height:1.22;margin:11px 0}
  .vc-dashboard-hero p,.vc-page-head p{font-size:14px;line-height:1.65;margin-bottom:0}
  .vc-profile-pill{margin-inline:auto;justify-content:center;max-width:100%;padding:9px 12px}
  .vc-eyebrow{font-size:10px}

  .vc-mobile-tabs-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;margin:0 0 9px;padding:13px 15px;border:1px solid rgba(245,130,32,.20);border-radius:16px;background:#fff;box-shadow:0 9px 24px rgba(23,35,59,.055);color:var(--vc-dark);font:inherit;text-align:left;cursor:pointer}
  .vc-mobile-tabs-toggle span{display:flex;min-width:0;flex-direction:column;gap:2px}
  .vc-mobile-tabs-toggle small{font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#b95f07}
  .vc-mobile-tabs-toggle strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
  .vc-mobile-tabs-toggle>b{font-size:20px;color:#b95f07;transition:transform .2s ease}
  .vc-mobile-tabs-toggle[aria-expanded="true"]>b{transform:rotate(180deg)}
  .vc-tabs{display:none;flex-direction:column;gap:5px;overflow:visible;margin-bottom:16px;padding:7px;border-radius:17px;box-shadow:0 12px 30px rgba(23,35,59,.06)}
  .vc-tabs.is-mobile-open{display:flex}
  .vc-tabs a{width:100%;padding:12px 14px;text-align:center;border-radius:11px;white-space:normal;font-size:13px}

  .vc-section-head{align-items:center;justify-content:center;flex-direction:column;gap:7px;text-align:center;margin:24px 0 14px}
  .vc-section-head h2{font-size:25px}
  .vc-section-head>strong{margin-inline:auto}
  .vc-form-card{padding:20px 14px;border-radius:21px;margin-bottom:24px}
  .vc-form-grid,.vc-form-grid.two{grid-template-columns:1fr!important;gap:14px}
  .vc-form-card input,.vc-form-card select,.vc-form-card textarea{font-size:16px;padding:12px}
  .vc-audience-box{padding:14px}
  .vc-checkbox-grid,.vc-student-picker{grid-template-columns:1fr!important}

  .vc-lesson-grid{grid-template-columns:1fr!important;gap:14px}
  .vc-lesson-card{min-height:0;padding:19px 16px;border-radius:20px}
  .vc-lesson-top{align-items:center;flex-wrap:wrap}
  .vc-lesson-card h3{text-align:center;font-size:21px;margin:15px 0 8px}
  .vc-lesson-card>p{text-align:center;font-size:14px}
  .vc-lesson-meta{margin:13px 0 18px}
  .vc-lesson-meta span{align-items:flex-start;font-size:13px}
  .vc-lesson-meta span b{text-align:right}
  .vc-lesson-actions{justify-content:center!important;align-items:center;gap:8px}
  .vc-lesson-actions>a,.vc-lesson-actions>button,.vc-lesson-actions>.vc-inline-action{margin-inline:auto}
  .vc-lesson-actions .vc-primary-btn,.vc-lesson-actions .vc-ghost-btn,.vc-lesson-actions .vc-chat-btn,.vc-lesson-actions .vc-danger-btn,.vc-lesson-actions .vc-archive-btn{justify-content:center;text-align:center}

  .vc-stat-grid{grid-template-columns:1fr 1fr!important;gap:10px}
  .vc-stat-grid>div{padding:18px 12px;text-align:center;border-radius:18px}
  .vc-stat-grid strong{font-size:30px}
  .vc-stat-grid span{font-size:12px}

  .vc-person-card{grid-template-columns:1fr!important;padding:15px;border-radius:18px}
  .vc-person-main{justify-content:center;text-align:center;flex-direction:column}
  .vc-person-form{grid-template-columns:1fr!important;width:100%}
  .vc-person-actions{justify-content:center!important}
  .vc-person-actions .vc-inline-action{width:auto!important}
  .vc-person-actions button,.vc-person-actions a{margin-inline:auto}

  .vc-primary-btn,.vc-ghost-btn,.vc-danger-btn,.vc-archive-btn{max-width:100%}
  .vc-form-card>.vc-primary-btn,.vc-form-card>form>.vc-primary-btn,.vc-center-card .vc-primary-btn,.vc-center-card .vc-ghost-btn{display:flex;width:min(100%,320px);margin-left:auto;margin-right:auto}
  .vc-inline-action{justify-content:center}
  .vc-empty{padding:32px 15px}

  .vc-audit-filter{grid-template-columns:1fr!important;padding:15px}
  .vc-audit-filter-actions{justify-content:center!important}
  .vc-audit-filter-actions .vc-primary-btn,.vc-audit-filter-actions .vc-ghost-btn{width:min(100%,300px)!important}
  .vc-audit-meta,.vc-audit-details>div{grid-template-columns:1fr!important}
  .vc-audit-item{padding:16px}
  .vc-audit-top{align-items:center!important;text-align:center}
  .vc-audit-top>div{justify-content:center}

  .vc-report-table-wrap,.vc-table-wrap,.vc-group-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{max-width:100%}

  .vc-guide{padding:20px 13px;border-radius:21px}
  .vc-guide-head{text-align:center}
  .vc-guide-grid{grid-template-columns:1fr}
  .vc-guide-card summary{padding:15px}

  /* Chat: compact, centered and thumb-friendly */
  .vc-chat-page-head{padding:20px 14px!important}
  .vc-chat-page-head .vc-ghost-btn{display:inline-flex;margin:13px auto 0}
  .vc-chat-shell{border-radius:20px;margin:0;box-shadow:0 12px 30px rgba(23,35,59,.07)}
  .vc-chat-brand-title{padding:13px 12px}
  .vc-chat-brand-title>span{width:32px;height:32px;font-size:15px}
  .vc-chat-brand-title strong{font-size:18px;line-height:1.3}
  .vc-chat-messages{height:52dvh;min-height:310px;padding:14px 10px!important;scroll-padding-bottom:12px}
  .vc-chat-message{max-width:96%;gap:7px;margin-bottom:12px}
  .vc-chat-message.own{margin-left:auto}
  .vc-chat-avatar{width:31px!important;height:31px!important;flex-basis:31px!important;font-size:12px!important}
  .vc-chat-bubble{min-width:0;padding:10px 11px!important;border-radius:16px!important}
  .vc-chat-message-head{align-items:flex-start!important;flex-direction:column!important;gap:1px!important}
  .vc-chat-message-head b{font-size:12px}
  .vc-chat-message-head span{font-size:9px!important}
  .vc-chat-text{font-size:13px;line-height:1.55;overflow-wrap:anywhere}
  .vc-chat-quote{padding:8px 9px!important;margin-bottom:8px!important}
  .vc-chat-quote span{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .vc-chat-message-actions{gap:5px!important;align-items:center;flex-wrap:wrap}
  .vc-chat-message-actions>button{font-size:10px!important;padding:4px 6px!important}
  .vc-chat-reactions{gap:3px!important;max-width:100%;flex-wrap:wrap}
  .vc-chat-reaction,.vc-chat-add-reaction{font-size:10px!important;padding:3px 6px!important}
  .vc-chat-replying{padding:9px 11px;font-size:10px;gap:8px}
  .vc-chat-replying span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .vc-chat-replying button{flex:0 0 28px;width:28px;height:28px}
  .vc-chat-compose{padding:11px 10px 12px}
  .vc-chat-compose textarea{min-height:68px;max-height:130px;font-size:16px;padding:11px 12px}
  .vc-chat-compose-bottom{gap:9px;margin-top:8px}
  .vc-chat-emojis{width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:2px 1px 5px;scrollbar-width:none}
  .vc-chat-emojis::-webkit-scrollbar{display:none}
  .vc-chat-emojis button{flex:0 0 auto;padding:6px 9px}
  .vc-chat-compose-bottom>.vc-primary-btn{width:100%;margin:0;min-height:45px}
  .vc-chat-empty,.vc-chat-loading{text-align:center;font-size:13px;padding:30px 12px}

  .vc-platform-footer{text-align:center;padding:0 10px 16px}
  .vc-platform-footer-inner{align-items:center!important}
}
@media(max-width:390px){
  .vc-stat-grid{grid-template-columns:1fr!important}
  .vc-dashboard-hero h1,.vc-page-head h1{font-size:27px!important}
  .vc-chat-messages{height:50dvh}
}

/* Virtual Campus 1.2.9 — reply visibility, live reactions, prereg bulk selection */
.vc-chat-replying[hidden]{display:none!important}
.vc-prereg-pending-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}
.vc-prereg-pending-head h4{margin:0}
.vc-prereg-select-all{display:inline-flex;align-items:center;gap:7px;color:#6d7788;font-size:12px;font-weight:800;cursor:pointer}
.vc-prereg-select-all input,.vc-prereg-row-check input{accent-color:var(--vc-accent)}
.vc-prereg-list article{grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center}
.vc-prereg-row-check{display:grid!important;place-items:center;width:32px;height:32px;margin:0!important;border-radius:10px;background:#fff;border:1px solid #e5e9ef;cursor:pointer}
.vc-prereg-row-check input{width:16px!important;height:16px!important;margin:0!important}
.vc-prereg-bulk-delete{display:flex;justify-content:flex-end;margin-top:13px}
.vc-prereg-bulk-delete .vc-danger-btn{min-width:210px}
.vc-chat-reaction:disabled,.vc-chat-add-reaction:disabled{opacity:.45;cursor:wait}
@media(max-width:720px){
  .vc-prereg-pending-head{align-items:flex-start;flex-direction:column;gap:8px}
  .vc-prereg-list article{grid-template-columns:auto minmax(0,1fr)!important;gap:10px!important}
  .vc-prereg-list article>form{grid-column:1/-1;width:100%}
  .vc-prereg-list article>form .vc-danger-btn{width:100%}
  .vc-prereg-bulk-delete{justify-content:center}
  .vc-prereg-bulk-delete .vc-danger-btn{width:100%;max-width:360px}
}


/* Virtual Campus 1.2.11 — student/lecturer instruction widget */
.vc-modal-open{overflow:hidden}
.vc-instruction-fab{position:fixed;right:24px;bottom:24px;z-index:9996;display:inline-flex;align-items:center;gap:9px;padding:11px 16px 11px 10px;border:1px solid rgba(245,130,32,.28);border-radius:999px;background:linear-gradient(135deg,#fff,#fff7ef);color:#9f530c;font:inherit;font-weight:900;box-shadow:0 14px 36px rgba(23,35,59,.16);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.vc-instruction-fab:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(23,35,59,.2)}
.vc-instruction-fab>span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:linear-gradient(135deg,var(--vc-accent),#ffad69);color:#fff;font-size:17px;box-shadow:0 7px 16px rgba(245,130,32,.22)}
.vc-instruction-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:22px;opacity:0;transition:opacity .18s ease}
.vc-instruction-modal[hidden]{display:none!important}
.vc-instruction-modal.is-open{opacity:1}
.vc-instruction-backdrop{position:absolute;inset:0;background:rgba(14,23,40,.55);backdrop-filter:blur(7px)}
.vc-instruction-dialog{position:relative;z-index:1;width:min(900px,100%);max-height:min(88vh,900px);overflow:auto;padding:34px;border:1px solid rgba(245,130,32,.2);border-radius:30px;background:linear-gradient(145deg,#fff,#fffaf5);box-shadow:0 30px 90px rgba(14,23,40,.28);transform:translateY(12px) scale(.985);transition:transform .18s ease}
.vc-instruction-modal.is-open .vc-instruction-dialog{transform:none}
.vc-instruction-close{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #e5e9ef;border-radius:50%;background:#fff;color:#667181;font-size:23px;line-height:1;cursor:pointer}
.vc-instruction-head{text-align:center;max-width:720px;margin:0 auto 25px;padding:0 34px}
.vc-instruction-head h2{margin:11px 0 8px;font-size:34px;color:var(--vc-dark)}
.vc-instruction-head p{margin:0;color:var(--vc-muted);line-height:1.7}
.vc-instruction-steps{display:grid;gap:12px}
.vc-instruction-steps article{display:grid;grid-template-columns:44px minmax(0,1fr);gap:15px;padding:17px 18px;border:1px solid #e7eaf0;border-radius:18px;background:#fff}
.vc-instruction-steps article>b{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#fff1e4;color:#b95f07;font-size:17px}
.vc-instruction-steps h3{margin:1px 0 7px;font-size:17px;color:var(--vc-dark)}
.vc-instruction-steps p{margin:0;color:#596575;line-height:1.7;font-size:14px}
.vc-instruction-steps p+p{margin-top:7px}
.vc-instruction-tip{display:flex;align-items:flex-start;gap:10px;margin-top:15px;padding:14px 16px;border-left:3px solid var(--vc-accent);border-radius:0 14px 14px 0;background:rgba(245,130,32,.075);color:#5c6572;font-size:13px;line-height:1.65}
.vc-instruction-tip strong{flex:0 0 auto;color:#b95f07}
.vc-instruction-footer{display:flex;justify-content:center;margin-top:20px}
.vc-instruction-footer .vc-primary-btn{min-width:190px}
@media(max-width:720px){
  .vc-instruction-fab{right:13px;bottom:13px;padding:9px 12px 9px 8px;font-size:12px}
  .vc-instruction-fab>span{width:29px;height:29px}
  .vc-instruction-modal{align-items:end;padding:0}
  .vc-instruction-dialog{width:100%;max-height:92dvh;border-radius:25px 25px 0 0;padding:27px 14px 22px}
  .vc-instruction-close{right:13px;top:12px;width:35px;height:35px}
  .vc-instruction-head{padding:0 34px 0 8px;margin-bottom:19px}
  .vc-instruction-head h2{font-size:27px}
  .vc-instruction-head p{font-size:13px}
  .vc-instruction-steps{gap:10px}
  .vc-instruction-steps article{grid-template-columns:37px minmax(0,1fr);gap:10px;padding:14px 12px;border-radius:16px}
  .vc-instruction-steps article>b{width:35px;height:35px;border-radius:11px;font-size:14px}
  .vc-instruction-steps h3{font-size:14px}
  .vc-instruction-steps p{font-size:12px;line-height:1.65}
  .vc-instruction-tip{font-size:12px;flex-direction:column;gap:3px}
  .vc-instruction-footer .vc-primary-btn{width:100%;max-width:320px}
}


/* v1.3.0 weekly schedule + multi-faculty lecturer */
.vc-weekly-schedule{margin:0 0 16px;border:1px solid #e7eaf0;border-radius:14px;background:#fafbfc;overflow:hidden}.vc-weekly-schedule summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer;font-weight:900;color:#b95f07;list-style:none}.vc-weekly-schedule summary::-webkit-details-marker{display:none}.vc-weekly-schedule summary span{color:var(--vc-muted);font-size:11px}.vc-weekly-schedule ol{margin:0;padding:0 14px 12px;list-style:none;display:grid;gap:6px}.vc-weekly-schedule li{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:#fff;color:#566173;font-size:12px}.vc-weekly-schedule li b{color:#263142}.vc-lecturer-faculty-form{display:grid;gap:9px;padding:12px;border:1px solid #e7eaf0;border-radius:14px;background:#fafbfc;margin:8px 0}.vc-lecturer-faculty-form>strong{font-size:12px;color:#566173}.vc-lecturer-faculty-checks{display:flex;gap:8px;flex-wrap:wrap}.vc-lecturer-faculty-checks label{display:inline-flex!important;align-items:center;gap:6px;padding:7px 9px;border:1px solid #e3e7ed;border-radius:10px;background:#fff;font-size:11px;font-weight:800;color:#566173}.vc-lecturer-faculty-checks input{width:auto!important;margin:0!important;accent-color:var(--vc-accent)}
@media(max-width:720px){.vc-weekly-schedule li{align-items:flex-start;flex-direction:column;gap:2px}.vc-lecturer-faculty-checks{display:grid;grid-template-columns:1fr}.vc-lecturer-faculty-form .vc-ghost-btn{width:100%}}
