/* ============================================================
   SKYPINE WORKSPACE UI  |  v2026.10.23.24
   Manually editable rules: theme / tables / panels / maintenance
   This file loads after main.css. Bootstrap remains unmodified.
   ============================================================ */
/* 1. Restrained role-based accents (accessible contrast, calm surfaces). */
.area-admin {--workspace-accent:#2f5b84;--workspace-soft:#ebf3fa;--workspace-border:#c7d6e5}
.area-instructor {--workspace-accent:#286978;--workspace-soft:#eaf5f4;--workspace-border:#bed9da}
.area-student {--workspace-accent:#36659b;--workspace-soft:#edf4fc;--workspace-border:#cad9eb}
.area-admin,.area-instructor,.area-student {--workspace-shadow:0 3px 14px rgba(20,50,82,.045)}
:is(.area-admin,.area-instructor,.area-student) .main-content {background:linear-gradient(180deg,#f8fbfd 0%,#f5f8fc 100%)}
:is(.area-admin,.area-instructor,.area-student) .lecture-panel {border-color:var(--workspace-border);box-shadow:var(--workspace-shadow)}
:is(.area-admin,.area-instructor,.area-student) .lecture-toolbar .eyebrow {color:var(--workspace-accent)}
:is(.area-admin,.area-instructor,.area-student) .lecture-panel h2 {color:#183b58}
:is(.area-admin,.area-instructor,.area-student) .nav-link.is-active {box-shadow:inset 3px 0 0 #9bd4d4}
:is(.area-admin,.area-instructor,.area-student) .form-control:focus,
:is(.area-admin,.area-instructor,.area-student) .form-select:focus {border-color:var(--workspace-accent);box-shadow:0 0 0 .16rem rgba(60,107,153,.15)}
/* 2. Dense-but-readable table layouts. No aggressive fixed table width. */
:is(.area-admin,.area-instructor,.area-student) .table-responsive {max-width:100%;overflow-x:auto;border-radius:9px}
:is(.area-admin,.area-instructor,.area-student) .table {font-size:12px;line-height:1.37;--bs-table-border-color:#dee7ef;margin-bottom:.35rem}
:is(.area-admin,.area-instructor,.area-student) .table > :not(caption) > * > * {padding:.42rem .54rem;vertical-align:middle}
:is(.area-admin,.area-instructor,.area-student) .table thead th {font-size:11.5px;letter-spacing:.005em;font-weight:700;color:#36516b;background:#eef3f8;white-space:nowrap}
:is(.area-admin,.area-instructor,.area-student) .table tbody td {overflow-wrap:anywhere}
:is(.area-admin,.area-instructor,.area-student) .table .btn-sm {font-size:11.5px;padding:4px 8px;white-space:nowrap}
@media(max-width:780px){:is(.area-admin,.area-instructor,.area-student) .table{font-size:11.5px}
  :is(.area-admin,.area-instructor,.area-student) .table > :not(caption) > * > * {padding:.38rem .45rem}}
/* 3. Site-wide maintenance strip: above the header, one line only. */
.lms-maintenance-notice {position:sticky;top:0;z-index:1200;display:block;min-height:30px;max-height:34px;width:100%;background:#fff1da;color:#573d15;border:0;border-bottom:1px solid #e1c89d;
 padding:5px clamp(8px,1.8vw,22px);font-size:12px;line-height:20px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.lms-maintenance-notice.lms-maintenance-urgent{background:#fde7dd;color:#7e3028;border-color:#e9b8aa}
body.has-maintenance-warning .topbar {top:30px}
@media(max-width:600px){.lms-maintenance-notice{font-size:11px;padding:5px 7px}}


/* ADMIN SIDEBAR — Two restrained submenus, independent of Bootstrap overrides. */
.area-admin .admin-nav-submenu { min-width: 0; }
.area-admin .admin-nav-submenu-trigger { cursor: pointer; list-style: none; user-select: none; }
.area-admin .admin-nav-submenu-trigger::-webkit-details-marker { display: none; }
.area-admin .admin-nav-submenu-trigger::after { content: '▾'; margin-left: auto; color: #afc3dd; font-size: 11px; transform: rotate(-90deg); transition: transform .15s ease; }
.area-admin .admin-nav-submenu[open] > .admin-nav-submenu-trigger::after { transform: rotate(0); }
.area-admin .admin-nav-submenu-items { display: grid; gap: 2px; margin: 3px 0 4px 19px; padding-left: 10px; border-left: 1px solid #47617f; }
.area-admin .admin-nav-submenu-items a { display: block; border-radius: 6px; padding: 7px 9px; font-size: 12px; line-height: 1.3; color: #cad8ea; }
.area-admin .admin-nav-submenu-items a:hover, .area-admin .admin-nav-submenu-items a:focus-visible { color: #fff; background: #2d4566; }
@media (prefers-reduced-motion: reduce) { .area-admin .admin-nav-submenu-trigger::after { transition: none; } }

/* MASTER / RECENT ERROR LOGS — isolated from all shared tables */
.admin-log-page .admin-log-table {font-size: .79rem; line-height: 1.35;}
.admin-log-page .admin-log-table th, .admin-log-page .admin-log-table td {padding: .48rem .55rem;vertical-align: top;}
.admin-log-page .log-summary {overflow-wrap: anywhere;max-width: 55rem;}
.admin-log-page .log-severity {font-weight: 700; font-size: .72rem;}
.admin-log-page .log-error,.admin-log-page .log-critical,.admin-log-page .log-alert,.admin-log-page .log-emergency {color: #a61e2c;}
.admin-log-page .log-warning {color: #916000;}
