.batch-tiles {
	  display: grid;
	  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	  gap: 12px;
      }
      .batch-tile {
	  background: white;
	  padding: 12px;
	  border-radius: 6px;
	  cursor: pointer;
	  text-align: center;
	  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
      }
      .batch-tile:hover {
	  background: #ecf5ff;
      }
      .batch-tile.active {
	  border: 2px solid #3498db;
      }

      
      .stat-card {
          cursor: pointer;
      }

      .stat-card:hover {
          transform: translateY(-2px);
          box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
      }

      .file-label {
          font-size: 14px;
          line-height: 1.2;
          padding: 8px 12px;
          display: inline-flex;
          align-items: center;
          cursor: pointer;
      }

      .field-error {
          border: 2px solid #dc3545 !important;
          background-color: #fff5f5;
      }

      .table-select-all {
          width: 16px;
          height: 16px;
          cursor: pointer;
      }

      /* Faculty listing row readability bump (name/email/etc). */
      #facultyTable td {
          font-size: 16px;
          line-height: 1.5;
      }

      tr.row-selected {
          background: #eef6ff;
      }

      @media (max-width: 900px) {
          .sidebar {
              width: 60px;
          }

          .sidebar button {
              font-size: 0;
          }

          .sidebar button::before {
              font-size: 16px;
              content: "•";
          }
      }

      .controls {
          display: flex;
          align-items: center;
          gap: 10px;
          margin-bottom: 16px;
          flex-wrap: wrap;
      }

      .file-input-wrapper,
      .file-label,
      .controls .btn {
          display: inline-flex;
          align-items: center;
          height: 40px;
      }

      .table-wrapper {
          width: 100%;
          overflow-x: auto;
      }

      * {
          margin: 0;
          padding: 0;
          box-sizing: border-box;
      }
      body {
          font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
          background: #f5f5f5;
          color: #333;
      }

      .login-page {
          display: none;
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
          align-items: center;
          justify-content: center;
          z-index: 2000;
      }
      .login-page.show {
          display: flex;
      }
      html[data-auth-boot="token"] .login-page {
          display: none !important;
      }

      .login-container {
          background: white;
          padding: 40px;
          border-radius: 8px;
          box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
          width: 100%;
          max-width: 400px;
      }
      .login-header {
          text-align: center;
          margin-bottom: 30px;
      }
      .login-header-logo {
          display: grid;
          place-items: center;
          width: 72px;
          height: 72px;
          margin: 0 auto 16px;
          border-radius: 18px;
          box-shadow: 0 16px 36px rgba(15, 23, 42, 0.22);
          background: #ffffff;
          padding: 10px;
      }
      .login-header h1 {
          color: var(--text-strong);
          font-size: 28px;
          margin-bottom: 10px;
      }
      .login-header p {
          color: #7f8c8d;
          font-size: 14px;
      }

      .form-group {
          margin-bottom: 15px;
      }
      .form-group label {
          display: block;
          margin-bottom: 5px;
          font-weight: 500;
          color: #2c3e50;
      }
      .form-group input,
      .form-group select,
      .form-group textarea {
          width: 100%;
          padding: 8px;
          border: 1px solid #bdc3c7;
          border-radius: 4px;
          font-size: 14px;
      }
      .form-context-line {
          border: 1px solid #d8e0ea;
          background: #f7fafc;
          border-radius: 6px;
          color: #41556d;
          font-size: 13px;
          line-height: 1.35;
          margin-bottom: 15px;
          padding: 9px 10px;
      }

      .login-button {
          width: 100%;
          padding: 12px;
          background: #3498db;
          color: white;
          border: none;
          border-radius: 4px;
          font-size: 16px;
          font-weight: 500;
          cursor: pointer;
          transition: background 0.3s;
          margin-top: 10px;
      }
      .login-button:hover:not(:disabled) {
          background: #2980b9;
      }
      .login-button:disabled {
          background: #95a5a6;
          cursor: not-allowed;
      }

      .alert {
          padding: 12px;
          border-radius: 4px;
          margin-bottom: 20px;
          display: none;
      }
      .alert.show {
          display: block;
      }
      .alert-error {
          background: #f8d7da;
          color: #721c24;
          border: 1px solid #f5c6cb;
      }
      .alert-success {
          background: #d4edda;
          color: #155724;
          border: 1px solid #c3e6cb;
      }

      .login-note {
          background: #ecf0f1;
          padding: 15px;
          border-radius: 4px;
          margin-top: 20px;
          font-size: 13px;
          color: #2c3e50;
      }

      .container {
          display: none;
          flex: 1;
          height: 100vh;
      }
      .container.show {
          display: flex;
      }

      .sidebar {
          width: 250px;
          background: #2c3e50;
          color: white;
          padding: 20px;
          overflow-y: auto;
      }
      .sidebar h1 {
          font-size: 18px;
          margin-bottom: 30px;
      }
      .sidebar ul {
          list-style: none;
      }
      .sidebar li {
          margin-bottom: 10px;
      }
      .sidebar button {
          width: 100%;
          padding: 10px;
          background: #34495e;
          color: white;
          border: none;
          border-radius: 4px;
          cursor: pointer;
          text-align: left;
          font-size: 14px;
          transition: background 0.3s;
      }
      .sidebar button:hover,
      .sidebar button.active {
          background: #3498db;
      }

      .main {
          flex: 1;
          overflow-y: auto;
          padding: 30px;
      }
      .page {
          display: none;
      }
      .page.active {
          display: block;
      }

      h2 {
          color: #2c3e50;
          margin-bottom: 20px;
          border-bottom: 2px solid #3498db;
          padding-bottom: 10px;
      }
      .stats {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
          gap: 20px;
          margin-bottom: 30px;
      }
      .stat-card {
          background: white;
          padding: 20px;
          border-radius: 8px;
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
          text-align: center;
      }
      .stat-card h3 {
          color: #7f8c8d;
          font-size: 14px;
          margin-bottom: 10px;
      }
      .stat-card .number {
          font-size: 32px;
          color: #3498db;
          font-weight: bold;
      }

      .controls {
          display: flex;
          align-items: center;
          gap: 10px;
          margin-bottom: 16px;
          flex-wrap: wrap;
      }
      .btn {
          min-height: 40px;
          padding: 9px 14px;
          border: 1px solid transparent;
          border-radius: 10px;
          cursor: pointer;
          font-size: 14px;
          font-weight: 600;
          transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          gap: 6px;
      }
      .btn-primary {
          background: #2f6fa8;
          color: white;
          border-color: #2a6397;
      }
      .btn-primary:hover {
          background: #285f8e;
          border-color: #224f78;
      }
      .btn-secondary {
          background: #f3f8fd;
          color: #2e4a62;
          border-color: #ccd9e8;
      }
      .btn-secondary:hover {
          background: #eaf2fb;
          border-color: #afc2d8;
      }
      .btn-danger {
          background: #cb3c3c;
          color: white;
          border-color: #ba3434;
      }
      .btn-danger:hover {
          background: #b93434;
          border-color: #9c2b2b;
      }
      .btn-sm {
          min-height: 32px;
          padding: 5px 10px;
          font-size: 12px;
          border-radius: 8px;
      }

      .modal {
          display: none;
          position: fixed;
          z-index: 1000;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          background-color: rgba(0, 0, 0, 0.4);
      }
      .modal.active {
          display: flex;
          align-items: center;
          justify-content: center;
      }
      .modal-content {
          background-color: white;
          padding: 30px;
          border-radius: 8px;
          width: 90%;
          max-width: 600px;
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
          max-height: 80vh;
          overflow-y: auto;
      }
      .modal-header h2 {
          margin: 0 0 20px 0;
          border: none;
      }
      .form-row {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          gap: 15px;
      }
      .modal-footer {
          margin-top: 20px;
          display: flex;
          gap: 10px;
          justify-content: flex-end;
      }

      table {
          width: 100%;
          border-collapse: collapse;
          background: white;
          border-radius: 8px;
          overflow: hidden;
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
      }
      thead {
          background: #34495e;
          color: white;
      }
      th {
          padding: 12px;
          text-align: left;
          cursor: pointer;
          user-select: none;
      }
      th:hover {
          background: #2c3e50;
      }
      th::after {
          content: " ⇅";
          font-size: 10px;
      }
      td {
          padding: 12px;
          border-bottom: 1px solid #ecf0f1;
      }
      tbody tr:hover {
          background: #f8f9fa;
      }

      .checkbox-group {
          margin: 15px 0;
      }
      .checkbox-group label {
          display: flex;
          align-items: center;
          gap: 10px;
          margin-bottom: 10px;
          cursor: pointer;
      }
      .checkbox-group input[type="checkbox"] {
          width: 18px;
          height: 18px;
          cursor: pointer;
      }

      .file-input-wrapper {
          position: relative;
          display: inline-block;
      }
      .file-input-wrapper input[type="file"] {
          display: none;
      }
      .file-label {
          min-height: 40px;
          padding: 9px 14px;
          background: #f3f8fd;
          color: #2e4a62;
          border: 1px solid #ccd9e8;
          border-radius: 10px;
          cursor: pointer;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          gap: 6px;
          font-weight: 600;
      }
      .file-label:hover {
          background: #eaf2fb;
          border-color: #afc2d8;
      }

      .page-intro {
          background: white;
          padding: 20px;
          border-radius: 8px;
          margin-bottom: 20px;
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
      }
      .page-title-with-help {
          display: flex;
          align-items: center;
          gap: 8px;
      }
      .page-help-trigger {
          width: 24px;
          height: 24px;
          border-radius: 50%;
          border: 1px solid #a9bfd4;
          background: #eef5fc;
          color: #1c466a;
          font-weight: 700;
          cursor: pointer;
          line-height: 1;
      }
      .page-help-trigger:hover {
          background: #dfeeff;
      }
      #contextualHelpBody {
          max-height: 60vh;
          overflow-y: auto;
          display: grid;
          gap: 10px;
      }
      #importReviewBody {
          max-height: 60vh;
          overflow-y: auto;
          display: grid;
          gap: 10px;
      }
      .import-review-summary {
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
          gap: 8px;
      }
      .import-review-pill {
          background: #f5f8fc;
          border: 1px solid #dbe6f2;
          border-radius: 8px;
          padding: 8px 10px;
          font-size: 12px;
      }
      .import-review-list {
          border: 1px solid #dbe6f2;
          border-radius: 8px;
          overflow: auto;
          max-height: 280px;
      }
      .import-review-list table {
          margin: 0;
      }
      .import-review-list td, .import-review-list th {
          font-size: 12px;
          padding: 8px;
          text-align: left;
      }

      .semantic-note {
          background: #f3f8ff;
          border-left: 4px solid #3498db;
          padding: 14px 16px;
          border-radius: 6px;
          margin-bottom: 14px;
      }

      .semantic-note h4 {
          margin: 0 0 8px 0;
          color: #2c3e50;
      }

      .semantic-note p {
          margin: 0 0 8px 0;
          line-height: 1.45;
      }

      .semantic-note p:last-child {
          margin-bottom: 0;
      }

      .settings-section {
          background: #fff;
          border: 1px solid #e3e7ef;
          border-radius: 8px;
          padding: 16px;
          margin-bottom: 16px;
      }

      #settings {
          width: 100%;
          max-width: none !important;
          margin: 0 !important;
          padding-left: 0;
          padding-right: 0;
      }

      .settings-section h3 {
          margin-top: 0;
      }

      .settings-visibility-grid {
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
          gap: 10px;
          margin: 10px 0 14px;
      }

      .settings-visibility-item {
          display: flex;
          align-items: center;
          gap: 8px;
          padding: 8px 10px;
          border: 1px solid #e0e5ef;
          border-radius: 6px;
          background: #f7f9fc;
      }

      .semantic-list {
          margin: 0;
          padding-left: 18px;
      }

      .semantic-list li {
          margin: 4px 0;
          line-height: 1.35;
      }

      .upload-notice {
          display: none;
          margin-bottom: 16px;
          padding: 10px 12px;
          border-radius: 6px;
          font-size: 14px;
          border: 1px solid transparent;
          align-items: center;
          justify-content: space-between;
          gap: 12px;
      }

      .upload-notice.show {
          display: flex;
      }

      .upload-notice.success {
          background: #eafaf1;
          border-color: #1e9b5c;
          color: #1d6f45;
      }

      .upload-notice.info {
          background: #eef6ff;
          border-color: #4a8ed8;
          color: #214f82;
      }

      .upload-notice.warning {
          background: #fff7e8;
          border-color: #d9a645;
          color: #765218;
      }

      .upload-notice.error {
          background: #fff1f1;
          border-color: #d64545;
          color: #952d2d;
      }

      .upload-notice-text {
          display: inline-block;
          flex: 1;
          min-width: 0;
      }

      .upload-notice-close {
          border: none;
          background: transparent;
          color: inherit;
          font-size: 16px;
          line-height: 1;
          cursor: pointer;
          padding: 0 2px;
      }

      .page-notice {
          margin-top: 4px;
      }

      .sidebar-status-notices {
          display: grid;
          gap: 8px;
          margin-top: 12px;
      }

      .sidebar-page-notice {
          margin-top: 0;
          margin-bottom: 0;
          padding: 9px 10px;
          padding-right: 34px;
          font-size: 12px;
          border-radius: 8px;
          position: relative;
          align-items: flex-start;
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
          overflow-wrap: anywhere;
      }

      .sidebar-page-notice .upload-notice-text {
          line-height: 1.35;
          word-break: break-word;
      }

      #sidebarStatusNoticeHost .sidebar-page-notice .upload-notice-close {
          position: absolute;
          top: 6px;
          right: 6px;
          width: 20px;
          height: 20px;
          min-width: 20px;
          margin: 0;
          padding: 0;
          border: none;
          border-radius: 999px;
          background: transparent;
          color: inherit;
          font-size: 14px;
          line-height: 1;
          text-align: center;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          cursor: pointer;
      }

      #sidebarStatusNoticeHost .sidebar-page-notice .upload-notice-close:hover {
          background: rgba(255, 255, 255, 0.12);
      }

      .location-legend {
          display: flex;
          flex-wrap: wrap;
          gap: 8px;
          margin-top: 12px;
          font-size: 12px;
      }

      .location-legend-item {
          background: #eef3fb;
          border: 1px solid #d4deee;
          border-radius: 12px;
          padding: 4px 10px;
          white-space: nowrap;
      }

      .adjacency-table input {
          width: 64px;
          text-align: center;
      }

      .adjacency-table th {
          cursor: default;
      }

      .adjacency-table th::after {
          content: "";
      }

      .adjacency-axis {
          white-space: normal;
          font-weight: 600;
          min-width: 152px;
          vertical-align: middle;
      }

      .adjacency-col-header {
          min-width: 122px;
      }

      .matrix-helper-text {
          margin: 4px 0 10px;
          color: #5b6f86;
          font-size: 14px;
          line-height: 1.45;
      }

      .axis-label {
          display: flex;
          gap: 6px;
      }

      .axis-label-col {
          flex-direction: column;
          align-items: center;
          justify-content: center;
          gap: 4px;
      }

      .axis-label-row {
          flex-direction: row;
          align-items: center;
          justify-content: flex-start;
      }

      .axis-symbol {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-width: 24px;
          height: 24px;
          border-radius: 999px;
          background: #e8f0ff;
          color: #214a7a;
          font-size: 12px;
          font-weight: 700;
          line-height: 1;
          letter-spacing: 0.02em;
      }

      .axis-name {
          font-size: 11px;
          font-weight: 600;
          color: #4f647e;
          line-height: 1.2;
          max-width: 136px;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
      }

      .axis-label-col .axis-name {
          max-width: 114px;
          text-align: center;
      }

      .workspace-header {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 16px;
          margin-bottom: 8px;
      }
      .workspace-header-actions {
          display: flex;
          align-items: center;
          gap: 10px;
          flex-wrap: wrap;
          justify-content: flex-end;
      }
      .workspace-status-filter {
          height: 36px;
          border-radius: 8px;
          border: 1px solid #cad7e6;
          background: #fff;
          color: #2b3e51;
          padding: 0 10px;
      }
      .workspace-subtitle {
          color: #566270;
          margin-bottom: 20px;
      }
      .workspace-grid {
          display: grid;
          grid-template-columns: repeat(auto-fill, minmax(300px, 360px));
          justify-content: flex-start;
          gap: 20px;
          padding: 12px 4px 20px;
      }
      .workspace-card {
          background: linear-gradient(160deg, var(--workspace-accent-soft, #f4f7ff) 0%, #ffffff 85%);
          border: 1px solid var(--workspace-accent-border, #d9e2f4);
          border-radius: 16px;
          padding: 20px;
          min-height: 220px;
          box-shadow: 0 12px 28px rgba(17, 24, 39, 0.08);
          cursor: pointer;
          transition: transform 0.2s ease, box-shadow 0.2s ease;
          position: relative;
      }
      .workspace-card.selection-mode {
          cursor: default;
      }
      .workspace-card.selected {
          border-color: #8cb3dd;
          box-shadow: 0 0 0 2px rgba(78, 127, 186, 0.2), 0 14px 28px rgba(17, 24, 39, 0.12);
      }
      .workspace-card-head-row {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 8px;
          margin-bottom: 8px;
      }
      .workspace-card-select {
          display: inline-flex;
          gap: 6px;
          align-items: center;
          font-size: 12px;
          color: #385776;
      }
      .workspace-card-select-placeholder {
          width: 1px;
          height: 1px;
          opacity: 0;
      }
      .workspace-card::after {
          content: none;
      }
      .workspace-composition-stripe {
          position: absolute;
          top: 12px;
          right: 0;
          width: 8px;
          height: calc(100% - 24px);
          border-radius: 8px 0 0 8px;
          overflow: hidden;
          display: flex;
          flex-direction: column;
          border-left: 1px solid rgba(49, 72, 98, 0.12);
      }
      .workspace-composition-segment {
          flex: 1 1 0;
          width: 100%;
          min-height: 1px;
      }
      .workspace-card:hover {
          transform: translateY(-2px);
          box-shadow: 0 16px 30px rgba(17, 24, 39, 0.14);
      }
      .workspace-card h3 {
          font-size: 22px;
          color: #162431;
          margin-bottom: 10px;
          line-height: 1.2;
      }
      .workspace-card-metadata {
          display: grid;
          gap: 8px;
          color: #334454;
          font-size: 14px;
      }
      .workspace-card-meta-line {
          display: flex;
          gap: 8px;
      }
      .workspace-card-meta-label {
          min-width: 92px;
          color: #607181;
      }
      .workspace-card-empty {
          background: white;
          border: 1px dashed #c7d2e0;
          color: #647788;
          border-radius: 14px;
          padding: 40px 24px;
          text-align: center;
      }
      .workspace-card-footer {
          margin-top: 14px;
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 8px;
      }
      .workspace-status-badge {
          padding: 7px 13px;
          border-radius: 999px;
          font-size: 12px;
          letter-spacing: 0.04em;
          text-transform: uppercase;
          font-weight: 700;
          border: 1px solid transparent;
      }
      .workspace-status-alpha {
          background: #eef5ff;
          color: #244a82;
          border-color: #cdddf5;
      }
      .workspace-status-beta {
          background: #f4f5f8;
          color: #2f465f;
          border-color: #d8dde8;
      }
      .workspace-status-frozen {
          background: #edf0f4;
          color: #3c4654;
          border-color: #d6dde6;
      }
      .workspace-status-archived {
          background: #f7eceb;
          color: #7c3a35;
          border-color: #e8cecc;
      }
      .workspace-status-published {
          background: #e8f7ee;
          color: #1d6b34;
          border-color: #cbe8d6;
      }
      .workspace-status-deprecated {
          background: #f7f3eb;
          color: #685437;
          border-color: #e4d9c2;
      }

      .card-action-menu-wrap {
          position: relative;
          display: inline-flex;
      }
      .card-action-trigger {
          border: 1px solid #cbd9e7;
          background: #ffffff;
          color: #2d4a63;
          border-radius: 10px;
          width: 34px;
          height: 34px;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          font-size: 17px;
          line-height: 1;
          cursor: pointer;
          transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
      }
      .card-action-trigger:hover {
          background: #edf4fb;
          border-color: #a9c0d9;
      }
      .card-action-trigger:focus-visible {
          outline: none;
          box-shadow: 0 0 0 3px rgba(94, 144, 196, 0.28);
      }

      .app-context-menu {
          position: fixed;
          min-width: 210px;
          max-width: min(320px, calc(100vw - 16px));
          background: #ffffff;
          border: 1px solid #d6e0ec;
          border-radius: 12px;
          box-shadow: 0 14px 28px rgba(22, 35, 50, 0.2);
          padding: 6px;
          z-index: 3200;
          display: none;
      }
      .app-context-menu.open {
          display: block;
      }
      .app-context-menu-item {
          width: 100%;
          border: 0;
          background: transparent;
          text-align: left;
          border-radius: 9px;
          padding: 9px 11px;
          font-size: 13px;
          color: #2e445a;
          cursor: pointer;
      }
      .app-context-menu-item:hover {
          background: #f1f6fb;
      }
      .app-context-menu-item.danger {
          color: #8f2f2f;
      }
      .app-context-menu-divider {
          height: 1px;
          background: #e5ebf2;
          margin: 4px 0;
      }
      .workspace-breadcrumb-row {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 12px;
          margin-bottom: 14px;
      }
      .workspace-focus-controls {
          display: flex;
          align-items: center;
          gap: 10px;
      }
      .workspace-header-btn {
          height: 40px;
          border-radius: 10px;
          padding: 0 14px;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          gap: 6px;
      }
      .workspace-header-btn.btn-secondary {
          border-color: #ccd9e8;
          color: #2b455f;
          background: #f7fafd;
      }
      .workspace-header-btn.btn-secondary:hover {
          background: #ebf3fb;
      }
      .workspace-breadcrumb {
          color: #526172;
          font-size: 14px;
      }
      .workspace-focus-shell {
          background: #ffffff;
          border: 1px solid #dfe7f0;
          border-radius: 16px;
          padding: 22px;
          box-shadow: 0 14px 28px rgba(17, 24, 39, 0.08);
      }
      .workspace-focus-head {
          display: flex;
          align-items: flex-start;
          justify-content: space-between;
          gap: 16px;
          margin-bottom: 18px;
      }
      .workspace-focus-title {
          margin: 0;
          color: #1d3348;
          line-height: 1.25;
      }
      .workspace-focus-period {
          color: #5f7284;
          margin-top: 6px;
      }
      .workspace-inner-tabs {
          display: flex;
          gap: 8px;
          flex-wrap: wrap;
          margin-bottom: 16px;
      }
      .workspace-tab {
          border: 1px solid #d8e2ed;
          background: #f6f9fc;
          color: #2f4252;
          padding: 8px 14px;
          border-radius: 999px;
          cursor: pointer;
          font-size: 13px;
          font-weight: 600;
      }
      .workspace-tab.active {
          background: #d7e9ff;
          border-color: #9ec7f4;
          color: #103f77;
      }
      .workspace-tab-badge {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-width: 18px;
          height: 18px;
          margin-left: 6px;
          padding: 0 5px;
          border-radius: 999px;
          font-size: 11px;
          font-weight: 700;
          line-height: 1;
      }
      .workspace-tab-badge-warning {
          background: #FFF3DF;
          border: 1px solid #F1CF93;
          color: #9C5B00;
      }
      .workspace-inner-content {
          background: #fbfdff;
          border: 1px solid #e5edf6;
          border-radius: 12px;
          min-height: 280px;
          padding: 18px;
      }
      .workspace-section-title {
          font-size: 18px;
          margin-bottom: 12px;
          color: #1f3243;
      }
      .workspace-placeholder {
          color: #516273;
          line-height: 1.6;
      }
      .workspace-school-chip-list {
          display: flex;
          flex-wrap: wrap;
          gap: 8px;
      }
      .workspace-school-chip {
          background: #eef5ff;
          color: #24425f;
          border-radius: 999px;
          padding: 6px 12px;
          font-size: 13px;
          border: 1px solid #c8dbef;
      }
      .workspace-school-chip.removable {
          display: inline-flex;
          align-items: center;
          gap: 8px;
      }
      .workspace-chip-remove {
          border: none;
          background: transparent;
          color: #7d2430;
          cursor: pointer;
          font-weight: 700;
          line-height: 1;
          padding: 0 2px;
      }
      .ontology-token {
          cursor: help;
          text-decoration: underline;
          text-decoration-style: dotted;
          text-underline-offset: 3px;
      }
      .workspace-meta-grid {
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
          gap: 12px;
          margin-bottom: 18px;
      }
      .workspace-meta-card {
          background: #ffffff;
          border: 1px solid #dce6f1;
          border-radius: 10px;
          padding: 12px;
      }
      .workspace-meta-card-label {
          color: #607181;
          font-size: 12px;
          text-transform: uppercase;
          letter-spacing: 0.04em;
      }
      .workspace-meta-card-value {
          color: #1f3345;
          margin-top: 4px;
          font-weight: 600;
      }
      .workspace-school-picker {
          display: grid;
          gap: 8px;
          max-height: 180px;
          overflow-y: auto;
          border: 1px solid #d8e3ed;
          background: #f9fbfd;
          border-radius: 8px;
          padding: 10px;
      }
      .workspace-school-option {
          display: flex;
          align-items: center;
          gap: 10px;
          color: #284055;
      }
      .workspace-school-option input[type="checkbox"] {
          width: 16px;
          height: 16px;
      }
      .workspace-summary-strip {
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
          gap: 10px;
          margin-bottom: 14px;
      }
      .workspace-summary-card {
          background: #ffffff;
          border: 1px solid #dbe7f3;
          border-radius: 10px;
          padding: 10px 12px;
      }
      .workspace-summary-label {
          color: #5c7185;
          font-size: 11px;
          text-transform: uppercase;
          letter-spacing: 0.05em;
      }
      .workspace-summary-value {
          margin-top: 4px;
          color: #1f3448;
          font-size: 18px;
          font-weight: 700;
      }
      .workspace-coursemap-controls {
          display: grid;
          grid-template-columns: minmax(260px, 1fr) auto;
          align-items: center;
          gap: 10px;
          margin-bottom: 14px;
      }
      .workspace-coursemap-search-wrap {
          position: relative;
          min-width: 260px;
      }
      .workspace-coursemap-search {
          width: 100%;
          height: 40px;
          border: 1px solid #cddced;
          border-radius: 10px;
          padding: 0 36px 0 12px;
          font-size: 14px;
          color: #1f3448;
          background: #ffffff;
          transition: border-color 0.2s ease, box-shadow 0.2s ease;
      }
      .workspace-coursemap-search::placeholder {
          color: #7a8d9f;
      }
      .workspace-coursemap-search:focus {
          outline: none;
          border-color: #7faee0;
          box-shadow: 0 0 0 3px rgba(123, 171, 218, 0.2);
      }
      .workspace-coursemap-search-clear {
          position: absolute;
          right: 8px;
          top: 50%;
          transform: translateY(-50%);
          width: 24px;
          height: 24px;
          border: none;
          border-radius: 999px;
          background: transparent;
          color: #5e7184;
          font-size: 16px;
          cursor: pointer;
          display: none;
      }
      .workspace-coursemap-search-clear.visible {
          display: inline-flex;
          align-items: center;
          justify-content: center;
      }
      .workspace-coursemap-search-clear:hover {
          background: #edf3fa;
      }
      .workspace-coursemap-upload-mode {
          min-width: 170px;
          height: 40px;
      }
      .workspace-coursemap-right {
          display: flex;
          align-items: center;
          justify-content: flex-end;
          gap: 8px;
          flex-wrap: wrap;
      }
      .workspace-coursemap-right input[type="file"] {
          max-width: 220px;
          height: 40px;
          padding: 7px 8px;
          border: 1px solid #d0ddec;
          border-radius: 10px;
          background: #ffffff;
      }
      .workspace-coursemap-right .btn {
          height: 40px;
      }
      .workspace-coursemap-class-actions {
          display: flex;
          justify-content: flex-end;
          margin: 10px 0 14px;
      }
      .workspace-coursemap-layout {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 12px;
      }
      .workspace-panel {
          background: #ffffff;
          border: 1px solid #dce8f3;
          border-radius: 10px;
          padding: 12px;
          min-width: 0;
      }
      .workspace-panel h4 {
          margin: 0 0 10px 0;
          color: #20374b;
          font-size: 14px;
      }
      .workspace-panel .table-wrapper {
          max-height: 360px;
      }
      .workspace-panel table {
          box-shadow: none;
          border: 1px solid #e4edf6;
      }
      .workspace-panel th {
          background: #2f485f;
          color: #f4f8fc;
          cursor: default;
          font-size: 13px;
          white-space: nowrap;
      }
      .workspace-panel th::after {
          content: "";
      }
      .workspace-panel td {
          font-size: 13px;
          line-height: 1.4;
          vertical-align: top;
      }
      .workspace-row-actions {
          display: flex;
          gap: 6px;
      }
      .workspace-class-tree {
          display: grid;
          gap: 12px;
      }
      .workspace-coursemap-school-card {
          padding: 14px;
      }
      .workspace-coursemap-school-head {
          display: flex;
          align-items: flex-start;
          justify-content: space-between;
          gap: 12px;
          margin-bottom: 12px;
      }
      .workspace-coursemap-school-stats {
          flex: 1 1 auto;
          margin-bottom: 0;
      }
      .workspace-coursemap-school-actions {
          display: flex;
          justify-content: flex-end;
          gap: 8px;
          flex-wrap: wrap;
      }
      .workspace-coursemap-school-tree {
          margin-top: 2px;
      }
      .workspace-class-card {
          background: #ffffff;
          border: 1px solid #dce8f3;
          border-radius: 10px;
          padding: 12px;
      }
      .workspace-class-head {
          display: flex;
          justify-content: space-between;
          gap: 12px;
          align-items: flex-start;
      }
      .workspace-class-title {
          color: #1f3448;
          font-weight: 700;
          line-height: 1.35;
      }
      .workspace-class-meta {
          color: #607181;
          font-size: 13px;
          line-height: 1.45;
          margin-top: 4px;
      }
      .workspace-derive-marker {
          margin: 10px 0 6px;
      }
      .workspace-derive-toggle {
          border: none;
          background: transparent;
          color: #2c5f91;
          padding: 0;
          font-size: 12px;
          font-weight: 700;
          cursor: pointer;
      }
      .workspace-blob-chain {
          display: grid;
          gap: 6px;
          margin-left: 16px;
          border-left: 2px solid #cddded;
          padding-left: 12px;
          max-height: 0;
          opacity: 0;
          overflow: hidden;
          transition: max-height 0.2s ease, opacity 0.2s ease;
      }
      .workspace-blob-chain.expanded {
          max-height: 640px;
          opacity: 1;
      }
      .workspace-blob-node {
          display: flex;
          justify-content: space-between;
          gap: 10px;
          border: 1px solid #e2ebf4;
          background: #f8fbfe;
          border-radius: 6px;
          padding: 7px 9px;
          color: #33495d;
          font-size: 12px;
      }
      .workspace-class-school-lock {
          margin-bottom: 12px;
          color: #425a70;
          font-size: 12px;
      }
      .workspace-typeahead-wrap {
          position: relative;
      }
      .workspace-typeahead-menu {
          position: absolute;
          left: 0;
          right: 0;
          top: calc(100% + 4px);
          z-index: 1200;
          border: 1px solid #d6e2ee;
          background: #ffffff;
          border-radius: 8px;
          box-shadow: 0 8px 18px rgba(22, 50, 77, 0.12);
          max-height: 180px;
          overflow-y: auto;
      }
      .workspace-typeahead-menu[data-floating="true"] {
          position: fixed;
          left: 0;
          right: auto;
          top: 0;
          z-index: 1600;
      }
      .workspace-typeahead-item {
          padding: 8px 10px;
          font-size: 12px;
          color: #304860;
          cursor: pointer;
          transition: background-color 0.15s ease, color 0.15s ease;
      }
      .workspace-typeahead-item:hover,
      .workspace-typeahead-item.active {
          background: #eef5fd;
          color: #123f66;
      }
      .workspace-typeahead-item.disabled {
          cursor: not-allowed;
          color: #8091a3;
          background: #f7f9fb;
      }
      .workspace-typeahead-item.disabled:hover {
          background: #f7f9fb;
          color: #8091a3;
      }
      .workspace-cohort-chipbox {
          display: flex;
          flex-wrap: wrap;
          gap: 6px;
          border: 1px solid #d3deea;
          border-radius: 8px;
          padding: 6px;
          min-height: 40px;
          background: #ffffff;
      }
      .workspace-cohort-chip {
          display: inline-flex;
          align-items: center;
          gap: 6px;
          border-radius: 999px;
          border: 1px solid #c7dbee;
          background: #edf5ff;
          color: #1f415f;
          padding: 4px 8px;
          font-size: 12px;
      }
      .workspace-cohort-chip button {
          border: none;
          background: transparent;
          color: #7d2430;
          cursor: pointer;
          padding: 0;
          line-height: 1;
      }
      .workspace-cohort-chip-input {
          border: none;
          outline: none;
          font-size: 12px;
          min-width: 120px;
          flex: 1 1 140px;
          background: transparent;
      }
      .workspace-inner-content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
      .workspace-inner-content select,
      .workspace-inner-content textarea {
          border: 1px solid #cedceb;
          border-radius: 10px;
          background: #ffffff;
          color: #1f3448;
          transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
      }
      .workspace-inner-content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
      .workspace-inner-content select:focus,
      .workspace-inner-content textarea:focus {
          outline: none;
          border-color: #7faee0;
          box-shadow: 0 0 0 3px rgba(123, 171, 218, 0.18);
      }
      .workspace-inner-content input:disabled,
      .workspace-inner-content select:disabled,
      .workspace-inner-content textarea:disabled {
          background: #f1f5f9;
          color: #8a9aab;
          cursor: not-allowed;
      }
      .workspace-inline-controls {
          display: flex;
          align-items: center;
          gap: 8px;
          flex-wrap: wrap;
          margin-top: 12px;
      }
      @media (max-width: 980px) {
          .workspace-temporal-days {
              grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
          }
          .workspace-coursemap-controls {
              grid-template-columns: 1fr;
          }
          .workspace-coursemap-right {
              justify-content: flex-start;
          }
          .workspace-coursemap-class-actions {
              justify-content: flex-start;
          }
          .workspace-coursemap-school-head {
              flex-direction: column;
          }
          .workspace-coursemap-school-actions {
              justify-content: flex-start;
          }
      }
      .workspace-status-dot {
          display: inline-flex;
          align-items: center;
          gap: 6px;
          font-size: 12px;
          color: #516273;
      }
      .workspace-status-dot::before {
          content: "";
          width: 8px;
          height: 8px;
          border-radius: 999px;
          background: #91a3b6;
      }
      .workspace-status-dot.assigned::before {
          background: #2e9a54;
      }
      .workspace-status-dot.unassigned::before {
          background: #c47e2f;
      }
      .workspace-constraint-grid {
          display: grid;
          gap: 12px;
      }
      .workspace-constraint-section {
          background: #ffffff;
          border: 1px solid #dbe7f3;
          border-radius: 12px;
          padding: 14px;
      }
      .workspace-constraint-section h4 {
          margin: 0 0 10px 0;
          color: #1e3348;
      }
      .workspace-constraint-section p {
          margin: 0 0 10px 0;
          color: #52667b;
          font-size: 13px;
      }
      .workspace-constraint-list {
          display: grid;
          gap: 8px;
      }
      .workspace-constraint-item {
          border: 1px solid #dbe6f1;
          border-radius: 10px;
          background: #fafdff;
          padding: 10px 12px;
      }
      .workspace-constraint-header {
          display: flex;
          justify-content: space-between;
          gap: 8px;
          align-items: center;
          margin-bottom: 4px;
      }
      .workspace-constraint-type {
          font-weight: 700;
          color: #20364b;
          font-size: 13px;
      }
      .workspace-constraint-meta {
          font-size: 12px;
          color: #5c7287;
      }
      .workspace-constraint-actions {
          margin-top: 8px;
          display: flex;
          gap: 8px;
      }
      .workspace-tight-form {
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
          gap: 8px;
          margin-top: 10px;
      }
      .workspace-tight-form input,
      .workspace-tight-form select,
      .workspace-tight-form textarea {
          width: 100%;
          padding: 7px 8px;
          border: 1px solid #c9d8e6;
          border-radius: 6px;
          font-size: 13px;
      }
      .workspace-tight-form textarea {
          min-height: 68px;
          resize: vertical;
      }
      .workspace-slot-school-card {
          border: 1px solid #dde8f3;
          border-radius: 10px;
          padding: 10px;
          margin-top: 8px;
          background: #fbfdff;
      }
      .workspace-temporal-grid {
          display: grid;
          gap: 12px;
      }
      .workspace-temporal-school-card,
      .workspace-school-section-card {
          border: 1px solid var(--school-border, #ccdeef);
          border-left: 5px solid var(--school-accent, #315D9E);
          border-radius: 12px;
          background: #ffffff;
          box-shadow: 0 1px 4px rgba(27, 56, 84, 0.08);
          padding: 14px;
      }
      .workspace-temporal-school-summary,
      .workspace-school-section-summary {
          width: 100%;
          display: grid;
          grid-template-columns: auto minmax(0, 1fr);
          align-items: center;
          gap: 12px;
          border: 1px solid var(--school-border, #ccdeef);
          border-radius: 10px;
          background: #ffffff;
          color: #1f3448;
          text-align: left;
          padding: 10px 12px;
          min-height: 48px;
          cursor: pointer;
      }
      .workspace-school-section-heading {
          min-width: 0;
          display: grid;
          gap: 4px;
          align-content: center;
      }
      .workspace-temporal-school-summary:hover,
      .workspace-school-section-summary:hover {
          background: #f8fbff;
      }
      .workspace-temporal-school-chevron,
      .workspace-school-section-chevron {
          font-size: 14px;
          color: #2a4a63;
          width: 16px;
      }
      .workspace-temporal-school-summary-title,
      .workspace-school-section-summary-title {
          display: inline-flex;
          align-items: center;
          min-width: 0;
      }
      .workspace-temporal-school-summary-meta,
      .workspace-school-section-summary-meta {
          font-size: 12px;
          color: #4f6579;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
      }
      .workspace-temporal-collapsible-body {
          max-height: 5000px;
          opacity: 1;
          overflow: hidden;
          margin-top: 10px;
          transition: max-height 0.22s ease, opacity 0.18s ease, margin-top 0.18s ease;
      }
      .workspace-temporal-school-card.collapsed .workspace-temporal-collapsible-body,
      .workspace-school-section-card.collapsed .workspace-temporal-collapsible-body {
          max-height: 0;
          opacity: 0;
          margin-top: 0;
          pointer-events: none;
      }
      .workspace-temporal-school-head {
          display: grid;
          gap: 12px;
          margin-bottom: 10px;
      }
      .workspace-temporal-head-row {
          display: flex;
          align-items: flex-start;
          justify-content: space-between;
          gap: 12px 16px;
          width: 100%;
      }
      .workspace-temporal-head-main {
          min-width: 0;
          flex: 1 1 360px;
          display: grid;
          gap: 4px;
      }
      .workspace-temporal-head-main h4 {
          margin: 0;
      }
      .workspace-temporal-school-meta {
          color: #5e7286;
          font-size: 12px;
      }
      .workspace-temporal-actions {
          display: flex;
          flex-wrap: wrap;
          gap: 8px;
      }
      .workspace-temporal-toolbar {
          display: flex;
          flex-wrap: wrap;
          justify-content: flex-end;
          gap: 8px 12px;
          min-width: 0;
      }
      .workspace-temporal-toolbar-row {
          display: flex;
          flex-wrap: wrap;
          gap: 8px;
          align-items: center;
      }
      .workspace-temporal-toolbar-scope {
          flex: 1 1 520px;
      }
      .workspace-temporal-toolbar-edit {
          flex: 1 1 420px;
          justify-content: flex-start;
      }
      .workspace-temporal-toolbar-dayops {
          flex: 1 1 420px;
      }
      .workspace-temporal-toolbar-dayops .workspace-temporal-toolbar-row,
      .workspace-temporal-toolbar-scope .workspace-temporal-toolbar-row {
          justify-content: flex-end;
      }
      .workspace-temporal-toolbar-meta {
          font-size: 12px;
          color: #5e7286;
      }
      .workspace-temporal-days {
          display: grid;
          grid-template-columns: repeat(var(--workspace-day-columns, 5), minmax(0, 1fr));
          gap: 10px;
          margin-top: 8px;
      }
      .workspace-temporal-day {
          border: 1px solid #e2ebf4;
          border-radius: 10px;
          background: linear-gradient(180deg, #fbfdff 0%, #f7fbff 100%);
          padding: 12px;
          min-height: 220px;
      }
      .workspace-temporal-day h5 {
          margin: 0 0 10px 0;
          color: #1f3448;
          font-size: 14px;
      }
      .workspace-timeline {
          display: grid;
          gap: 8px;
      }
      .workspace-timeline-empty {
          font-size: 12px;
          color: #6f8091;
      }
      .workspace-timeline-bar {
          box-sizing: border-box;
          width: 100%;
          min-width: 0;
          border-radius: 8px;
          border: 1px solid #d7e4ef;
          background: #eef5fd;
          color: #24445f;
          padding: 8px 10px;
          font-size: 12px;
          line-height: 1.4;
          display: block;
          gap: 8px;
          overflow: hidden;
      }
      .workspace-timeline-bar .workspace-timeline-left {
          display: grid;
          gap: 4px;
          min-width: 0;
      }
      .workspace-timeline-bar-compact {
          padding: 4px 8px;
          line-height: 1.2;
      }
      .workspace-timeline-bar-compact .workspace-timeline-left {
          gap: 1px;
      }
      .workspace-timeline-bar-compact strong {
          font-size: 11px;
      }
      .workspace-timeline-bar-compact .workspace-constraint-meta {
          font-size: 10px;
      }
      .workspace-timeline-bar-break {
          width: fit-content !important;
          max-width: calc(100% - 12px) !important;
          justify-self: start !important;
          padding: 4px 10px !important;
          line-height: 1.15 !important;
      }
      .workspace-timeline-bar-break .workspace-timeline-left {
          gap: 0 !important;
      }
      .workspace-timeline-bar-break strong {
          font-size: 11px !important;
          font-weight: 700 !important;
      }
      .workspace-timeline-right {
          display: grid;
          gap: 6px;
          justify-items: end;
          align-content: center;
          min-width: 0;
      }
      .workspace-time-pill {
          display: inline-flex;
          width: fit-content;
          border-radius: 999px;
          border: 1px solid #cfe0ee;
          background: #ffffff;
          color: #2a4a63;
          padding: 2px 8px;
          font-size: 11px;
          font-weight: 700;
      }
      .workspace-slot-type-lunch {
          background: linear-gradient(180deg, #fff4dc 0%, #ffefc8 100%);
          border-color: #efcf8d;
          color: #7a5208;
      }
      .workspace-slot-type-blocked,
      .workspace-slot-type-admin_reserved {
          background: #ffe7e7;
          border-color: #ebb1b1;
          color: #672f2f;
      }
      .workspace-slot-type-lab {
          background: #e8f0ff;
          border-color: #b9cffb;
          color: #224684;
      }
      .workspace-slot-badge {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          max-width: 100%;
          font-size: 12px;
          border-radius: 999px;
          border: 1px solid #c9dae9;
          padding: 2px 8px;
          text-transform: uppercase;
          letter-spacing: 0.03em;
          background: #ffffff;
          white-space: nowrap;
          width: fit-content;
      }
      .workspace-lunch-selector-box {
          display: grid;
          gap: 8px;
      }
      .workspace-lunch-selector-options {
          display: grid;
          gap: 6px;
          max-height: 220px;
          overflow-y: auto;
          padding: 2px;
      }
      .workspace-lunch-selector-option {
          width: 100%;
          display: grid;
          gap: 2px;
          text-align: left;
          border: 1px solid #d3deea;
          border-radius: 10px;
          padding: 8px 10px;
          background: #ffffff;
          color: #1f3448;
          cursor: pointer;
      }
      .workspace-lunch-selector-option.selected {
          border-color: #bfd7ea;
          background: #eef5fd;
      }
      .workspace-lunch-selector-option:disabled {
          opacity: 0.58;
          cursor: not-allowed;
          background: #f4f6f8;
      }
      .workspace-lunch-selector-option-label {
          font-size: 12px;
          font-weight: 700;
      }
      .workspace-lunch-selector-option-helper {
          font-size: 11px;
          color: #60758b;
      }
      .workspace-temporal-rules {
          margin-top: 8px;
          display: grid;
          gap: 10px;
      }
      .workspace-temporal-rules-shell {
          margin-top: 12px;
          border: 1px solid var(--school-border, #d1dfed);
          border-radius: 10px;
          background: linear-gradient(180deg, #f9fcff 0%, #f2f8ff 100%);
          padding: 10px;
      }
      .workspace-temporal-rules-shell h5 {
          margin: 0 0 8px 0;
          color: #1f3448;
          font-size: 14px;
      }
      .workspace-temporal-rule-list {
          margin: 0;
          padding-left: 18px;
          display: grid;
          gap: 8px;
      }
      .workspace-temporal-rule-compact-row {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 10px;
          border: 1px solid #d7e5f2;
          border-radius: 10px;
          background: #ffffff;
          padding: 8px 10px;
      }
      .workspace-temporal-rule-compact-main {
          min-width: 0;
          display: flex;
          align-items: center;
          gap: 8px;
          flex-wrap: wrap;
          color: #28455e;
          font-size: 13px;
      }
      .workspace-temporal-rule-compact-title {
          color: #1f3448;
          font-weight: 700;
      }
      .workspace-temporal-rule-compact-sep {
          color: #6d8194;
      }
      .workspace-temporal-rule-compact-summary {
          color: #28455e;
      }
      .workspace-temporal-rule-source-badge {
          display: inline-flex;
          align-items: center;
          border-radius: 999px;
          padding: 2px 8px;
          font-size: 11px;
          font-weight: 700;
          letter-spacing: 0.02em;
          border: 1px solid #cfe0ef;
          background: #f6fbff;
          color: #27507a;
      }
      .workspace-temporal-rule-source-badge.generated {
          border-color: #e6d49f;
          background: #fff8e7;
          color: #8a5a00;
      }
      .workspace-temporal-rule-source-badge.manual {
          border-color: #cfe0ef;
          background: #f4f9ff;
          color: #27507a;
      }
      .workspace-temporal-rule-status {
          display: inline-flex;
          align-items: center;
          gap: 6px;
          font-size: 12px;
          border-radius: 999px;
          padding: 2px 8px;
          border: 1px solid #bfd7ea;
          background: #eef7ff;
          color: #1e4d73;
      }
      .workspace-temporal-rule-status.inactive {
          border-color: #d7dde3;
          background: #f1f4f7;
          color: #5f707f;
      }
      .workspace-temporal-rule-text {
          color: #2a455d;
          font-size: 12px;
      }
      .workspace-temporal-rule-actions {
          display: flex;
          gap: 8px;
          flex: 0 0 auto;
      }
      .workspace-slot-rule-restricted {
          background: #f0f3f6 !important;
          border-color: #c5ced8 !important;
          color: #56697b !important;
          opacity: 0.82;
      }
      .workspace-slot-rule-break {
          box-shadow: inset 0 0 0 1px #dcb66d;
      }
      .workspace-slot-rule-elective {
          box-shadow: inset 0 0 0 1px #8ab6f0;
          background: linear-gradient(180deg, rgba(223, 238, 255, 0.78) 0%, rgba(243, 249, 255, 0.92) 100%);
      }
      .workspace-slot-rule-lunch {
          background: linear-gradient(180deg, #fff4dc 0%, #ffefc8 100%) !important;
          border-color: #efcf8d !important;
          color: #7a5208 !important;
          box-shadow: inset 0 0 0 1px #efcf8d;
      }
      .workspace-temporal-day-rule-note {
          margin-bottom: 8px;
          font-size: 11px;
          color: #5a6f83;
          display: flex;
          flex-wrap: wrap;
          gap: 6px;
      }
      .workspace-temporal-day.disabled-by-rule {
          border-color: #d4dce4;
          background: repeating-linear-gradient(135deg, #f1f4f7 0px, #f1f4f7 10px, #e8edf2 10px, #e8edf2 20px);
      }
      .workspace-temporal-day.disabled-by-rule .workspace-timeline {
          opacity: 0.75;
      }
      .workspace-temporal-day-disabled-note {
          display: inline-flex;
          align-items: center;
          gap: 6px;
          border-radius: 999px;
          border: 1px solid #cfd8e1;
          background: #f0f3f6;
          color: #526575;
          padding: 2px 8px;
          font-size: 11px;
          font-weight: 700;
      }
      .workspace-temporal-rule-legend {
          display: flex;
          flex-wrap: wrap;
          gap: 8px;
      }
      .workspace-temporal-rule-legend span {
          font-size: 11px;
          border-radius: 999px;
          border: 1px solid #d4e2ef;
          background: #ffffff;
          color: #3a566f;
          padding: 3px 8px;
      }
      .workspace-btn-inline {
          border: 1px solid #cfe0ef;
          background: #ffffff;
          color: #24455f;
          border-radius: 8px;
          font-size: 12px;
          line-height: 1;
          padding: 6px 8px;
          cursor: pointer;
      }
      .workspace-btn-inline:hover {
          background: #edf4fb;
      }
      .workspace-mutating-action-btn {
          border-width: 1px !important;
          font-weight: 700 !important;
          text-decoration: none !important;
          box-shadow: inset 0 0 0 1px rgba(31, 56, 84, 0.08);
      }
      .workspace-temporal-day.inactive {
          opacity: 0.52;
      }
      .workspace-temporal-day.inactive .workspace-timeline {
          filter: grayscale(0.25);
      }
      .workspace-temporal-day-tools {
          display: flex;
          justify-content: space-between;
          align-items: center;
          gap: 6px;
          margin-bottom: 10px;
      }
      .workspace-temporal-day-tools .workspace-row-actions {
          display: none;
      }
      .workspace-day-toggle {
          display: inline-flex;
          align-items: center;
          gap: 6px;
          font-size: 12px;
          color: #3c556e;
      }
      .workspace-temporal-ops {
          display: flex;
          flex-wrap: wrap;
          gap: 8px;
          margin-top: 10px;
      }
      .workspace-temporal-rule-guidance {
          font-size: 13px;
          color: #556b80;
          margin-top: 2px;
      }
      .workspace-modal-checklist {
          display: flex;
          flex-wrap: wrap;
          gap: 8px;
      }
      .workspace-modal-checklist label {
          display: inline-flex;
          align-items: center;
          gap: 8px;
          font-size: 13px;
      }
      .workspace-weekday-chip {
          min-height: 36px;
          padding: 0 12px;
          border: 1px solid #d6dfed;
          border-radius: 999px;
          background: #f8fbff;
          color: #25314d;
          font-weight: 600;
          cursor: pointer;
          transition: border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
      }
      .workspace-weekday-chip:hover {
          border-color: #9cb7e5;
          background: #edf4ff;
      }
      .workspace-weekday-chip input[type="checkbox"] {
          margin: 0;
      }
      .workspace-weekday-chip input[type="checkbox"]:checked + span {
          color: #183b73;
      }
      .workspace-weekday-chip:has(input[type="checkbox"]:checked) {
          border-color: #6f97d8;
          background: linear-gradient(180deg, #eef5ff 0%, #dfeeff 100%);
          box-shadow: inset 0 0 0 1px rgba(58, 103, 175, 0.1);
      }
      .workspace-temporal-rule-fields {
          display: grid;
          gap: 8px;
      }
      .workspace-constraints-shell {
          display: grid;
          gap: 12px;
      }
      .workspace-constraints-topbar {
          display: grid;
          grid-template-columns: 1fr auto;
          gap: 10px;
          align-items: center;
      }
      .workspace-constraints-search {
          width: 100%;
          height: 38px;
          border: 1px solid #ccdae9;
          border-radius: 10px;
          padding: 0 12px;
          background: #ffffff;
      }
      .workspace-constraints-subtabs {
          display: flex;
          flex-wrap: wrap;
          gap: 8px;
      }
      .workspace-constraint-subtab {
          border: 1px solid #d4e1ee;
          border-radius: 999px;
          background: #f4f8fc;
          color: #2a465e;
          padding: 6px 12px;
          font-size: 12px;
          font-weight: 600;
          cursor: pointer;
      }
      .workspace-constraint-subtab.active {
          background: #dfeeff;
          border-color: #9ec5ef;
          color: #153f67;
      }
      .workspace-constraint-card {
          border: 1px solid #dbe7f3;
          border-radius: 12px;
          background: #ffffff;
          padding: 12px;
      }
      .workspace-constraint-card.global {
          border-color: #b9c9d9;
          background: #f4f8fc;
      }
      .workspace-constraint-card.admin {
          border-color: #e8d5bd;
          background: #fff8ef;
      }
      .workspace-constraint-card.faculty {
          border-color: #d8e8d6;
          background: #f6fcf5;
      }
      .workspace-constraint-card-head {
          display: flex;
          justify-content: space-between;
          align-items: flex-start;
          gap: 10px;
          margin-bottom: 8px;
      }
      .workspace-constraint-serial {
          font-weight: 800;
          font-size: 13px;
          color: #2a455d;
      }
      .workspace-constraint-type-human {
          color: #1f3448;
          font-weight: 700;
          font-size: 14px;
      }
      .workspace-constraint-pill {
          display: inline-flex;
          border: 1px solid #cfdeec;
          border-radius: 999px;
          padding: 2px 8px;
          font-size: 12px;
          color: #2f4d65;
          background: #ffffff;
      }
      .workspace-constraint-pill.locked {
          border-color: #b1bfd0;
          background: #eaf1f8;
      }
      .workspace-school-panels {
          display: grid;
          gap: 10px;
      }
      .workspace-school-panel {
          border: 1px solid #d8e6f2;
          border-radius: 12px;
          overflow: hidden;
          background: #ffffff;
      }
      .workspace-school-panel-head {
          display: flex;
          justify-content: space-between;
          align-items: center;
          gap: 8px;
          padding: 10px 12px;
          background: #f4f9ff;
          border-bottom: 1px solid #e0ebf7;
      }
      .workspace-school-panel-body {
          padding: 12px;
          display: grid;
          gap: 12px;
      }
      .workspace-school-subsection {
          border: 1px solid #dfebf6;
          border-radius: 10px;
          background: #fbfdff;
          padding: 10px;
      }
      .workspace-school-subsection h5 {
          margin: 0 0 8px 0;
          color: #20374b;
      }
      .workspace-timeline-mini {
          display: grid;
          gap: 6px;
      }
      .workspace-timeline-mini-row {
          display: grid;
          grid-template-columns: 44px 1fr;
          gap: 8px;
          align-items: start;
      }
      .workspace-timeline-mini-bars {
          display: grid;
          gap: 4px;
      }
      .workspace-mini-bar {
          border: 1px solid #dbe6f2;
          border-radius: 7px;
          padding: 4px 7px;
          font-size: 12px;
          display: flex;
          justify-content: space-between;
          gap: 8px;
          background: #f4f9ff;
      }
      .workspace-mini-bar.lunch {
          background: #fff8e8;
          border-color: #e6d5b4;
      }
      .workspace-mini-bar.blocked,
      .workspace-mini-bar.admin_reserved {
          background: #f7efff;
          border-color: #ddcdee;
      }
      .workspace-advanced-json {
          margin-top: 8px;
          background: #0f1720;
          color: #d7e4ef;
          border-radius: 8px;
          padding: 8px;
          font-size: 12px;
          overflow-x: auto;
      }
      .workspace-diagnostics {
          margin-top: 10px;
          border: 1px solid #d8e5f3;
          border-radius: 8px;
          background: #f7fbff;
          padding: 10px 12px;
          color: #2c4d6a;
          font-size: 13px;
      }
      .workspace-diagnostics.success {
          border-color: #bde5cd;
          background: #effaf4;
          color: #226742;
      }
      .workspace-diagnostics.warning {
          border-color: #e5d09a;
          background: #fff9ea;
          color: #6d531d;
      }
      .workspace-diagnostics.error {
          border-color: #f1c7c7;
          background: #fff6f6;
          color: #8f2f2f;
      }
      .workspace-diagnostics ul {
          margin: 6px 0 0 16px;
      }
      .workspace-diagnostics li {
          margin: 3px 0;
      }
      .field-error {
          border: 2px solid #dc3545 !important;
          background-color: #fff5f5 !important;
      }
      .field-error-message {
          margin-top: 4px;
          font-size: 12px;
          color: #a12626;
      }
      .wizard-section {
          border: 1px solid #dfe5ef;
          border-radius: 10px;
          padding: 12px;
          margin: 10px 0;
          background: linear-gradient(145deg, #fbfdff 0%, #f3f8ff 100%);
      }
      .wizard-section h4 {
          margin: 0 0 8px 0;
          font-size: 14px;
          color: #25314d;
      }
      .wizard-section .workspace-temporal-rule-guidance {
          margin: 6px 0 0 0;
      }
      .wizard-rows {
          display: flex;
          flex-direction: column;
          gap: 8px;
      }
      .wizard-row-grid {
          display: grid;
          grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
          gap: 8px;
          align-items: end;
      }
      .wizard-row-grid.grouped {
          grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) auto;
      }
      .wizard-summary {
          border: 1px solid #d6dfed;
          border-radius: 10px;
          background: linear-gradient(140deg, #f2f7ff 0%, #eaf2ff 100%);
          padding: 10px;
          font-size: 13px;
          color: #2a3551;
      }
      .wizard-summary-line {
          margin: 4px 0;
      }
      .workspace-temporal-utils {
          position: relative;
      }
      .workspace-temporal-utils-popover {
          position: absolute;
          right: 0;
          top: calc(100% + 6px);
          border: 1px solid #dbe2ee;
          border-radius: 8px;
          background: #ffffff;
          box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
          min-width: 180px;
          z-index: 6;
          display: none;
          padding: 6px;
      }
      .workspace-temporal-utils-popover.open {
          display: grid;
          gap: 4px;
      }
      #workspaceTemporalGeneratorModal .modal-content {
          width: min(96vw, 1120px);
          max-width: 1120px;
          max-height: min(88vh, 960px);
          display: flex;
          flex-direction: column;
          overflow: hidden;
      }
      #workspaceTemporalGeneratorModal .modal-header,
      #workspaceTemporalGeneratorModal .modal-footer {
          flex: 0 0 auto;
      }
      #workspaceTemporalGeneratorModal .modal-footer {
          margin-top: 0;
          padding-top: 16px;
          border-top: 1px solid #e2e8f0;
          background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, #ffffff 100%);
      }
      .workspace-temporal-generator-body {
          flex: 1 1 auto;
          min-height: 0;
          overflow-y: auto;
          padding-right: 6px;
          overscroll-behavior: contain;
      }
      #workspaceTemporalCloneSchoolModal .modal-content {
          width: min(92vw, 720px);
          max-width: 720px;
      }

      @media (max-width: 700px) {
          .workspace-temporal-head-row {
              flex-direction: column;
              align-items: stretch;
          }
          .workspace-temporal-toolbar,
          .workspace-temporal-toolbar-edit,
          .workspace-temporal-toolbar-dayops,
          .workspace-temporal-toolbar-scope {
              justify-content: flex-start;
              flex-basis: auto;
          }
          .workspace-temporal-toolbar-dayops .workspace-temporal-toolbar-row,
          .workspace-temporal-toolbar-scope .workspace-temporal-toolbar-row {
              justify-content: flex-start;
          }
          .workspace-header {
              flex-direction: column;
              align-items: flex-start;
          }
          .workspace-grid {
              grid-template-columns: minmax(0, 1fr);
              justify-content: stretch;
          }
          .workspace-card {
              min-height: 0;
          }
          .workspace-coursemap-layout {
              grid-template-columns: 1fr;
          }
          .wizard-row-grid,
          .wizard-row-grid.grouped {
              grid-template-columns: 1fr;
          }
      }

      .axis-label-row .axis-name {
          max-width: 150px;
      }

      .axis-name-primary {
          font-size: 11px;
          font-weight: 700;
          color: #3e5570;
          line-height: 1.15;
      }

      .axis-name-secondary {
          margin-top: 2px;
          font-size: 10px;
          font-weight: 500;
          color: #6b7f95;
          line-height: 1.15;
          max-width: 152px;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
      }

      .campus-map-box {
          background: #fbfdff;
          border: 1px solid #dbe6f5;
          border-radius: 8px;
          padding: 14px;
          overflow: hidden;
      }

      #dashboardCampusMap {
          width: 100%;
          height: 700px;
          min-height: 700px;
          border-radius: 6px;
          border: 1px solid #d6e0ec;
          overflow: hidden;
      }

      @media (max-width: 760px) {
          #dashboardCampusMap {
              height: 560px;
              min-height: 560px;
          }
      }

      .campus-map-footnote {
          margin-top: 8px;
          font-size: 12px;
          color: #5c6f85;
          line-height: 1.4;
      }

      .campus-popup-title {
          font-weight: 700;
          color: #22384f;
          margin-bottom: 6px;
      }

      .campus-popup-line {
          color: #44566d;
          line-height: 1.35;
      }

      .campus-map-fallback-svg {
          display: block;
          width: 100%;
          height: 100%;
      }

      .campus-map-fallback-surface {
          fill: #eef4fb;
      }

      .campus-map-fallback-grid line {
          stroke: rgba(100, 116, 139, 0.16);
          stroke-width: 2;
          stroke-dasharray: 8 12;
      }

      .campus-map-fallback-boundary {
          fill: rgba(99, 102, 241, 0.12);
          stroke: rgba(79, 70, 229, 0.38);
          stroke-width: 3;
      }

      .campus-map-fallback-edge {
          stroke: rgba(79, 116, 150, 0.34);
          stroke-width: 3;
      }

      .campus-map-fallback-edge.manual {
          stroke: #2f79bd;
          stroke-width: 5;
      }

      .campus-map-fallback-marker circle {
          fill: #ffffff;
          stroke: #2f79bd;
          stroke-width: 4;
      }

      .campus-map-fallback-symbol {
          fill: #123d61;
          font-size: 20px;
          font-weight: 800;
          text-anchor: middle;
          dominant-baseline: middle;
      }

      .campus-map-advanced-marker {
          width: 28px;
          height: 28px;
          border-radius: 999px;
          border: 3px solid #3b82f6;
          background: #ffffff;
          color: #163c67;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 14px;
          font-weight: 800;
          box-shadow: 0 8px 18px rgba(15, 23, 42, 0.16);
      }

      .location-legend-note {
          display: inline-flex;
          align-items: center;
          padding: 6px 12px;
          border-radius: 999px;
          background: rgba(99, 102, 241, 0.1);
          color: var(--accent-strong);
          font-size: 12px;
          font-weight: 700;
      }

      .edge-label {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-width: 22px;
          height: 18px;
          padding: 0 5px;
          border-radius: 999px;
          background: rgba(255, 255, 255, 0.92);
          border: 1px solid rgba(90, 126, 160, 0.34);
          color: #2e4a66;
          font-size: 11px;
          font-weight: 700;
          line-height: 1;
          pointer-events: none;
          box-shadow: 0 1px 2px rgba(20, 45, 66, 0.16);
      }

      .map-empty-state {
          padding: 24px;
          background: #fbfdff;
          border: 1px dashed #b8c7d8;
          border-radius: 6px;
          color: #607086;
          line-height: 1.45;
      }

      .adjacency-auto {
          color: #5b6f86;
          background: #f8fbff;
      }

      .adjacency-manual {
          color: #1d4f78;
          background: #eef7ff;
          border-color: #79aeda;
          font-weight: 700;
      }

      .students-master-detail {
          display: grid;
          grid-template-columns: minmax(420px, 500px) minmax(0, 1fr);
          align-items: start;
          gap: 22px;
          width: 100%;
          min-width: 0;
      }

      .students-school-grid {
          display: flex;
          flex-direction: column;
          gap: 16px;
          align-items: stretch;
          width: 100%;
          min-width: 0;
      }

      .students-school-detail-panel {
          min-width: 0;
      }

      .school-card {
          background: linear-gradient(160deg, var(--school-bg, #f2f7ff) 0%, #ffffff 85%);
          border: 1px solid var(--school-border, #d7e3f3);
          border-radius: 14px;
          box-shadow: 0 4px 12px rgba(33, 53, 77, 0.08);
          overflow: hidden;
          display: flex;
          flex-direction: column;
          width: 100%;
          min-height: 132px;
          transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
      }
      .school-card.selection-mode {
          cursor: default;
      }
      .school-card.expanded {
          border-color: var(--school-accent, #6f97c2);
          box-shadow: 0 0 0 2px rgba(71, 120, 178, 0.12), 0 10px 22px rgba(33, 53, 77, 0.12);
      }
      .school-card.selected {
          border-color: #7ea8d4;
          box-shadow: 0 0 0 2px rgba(71, 120, 178, 0.18), 0 8px 18px rgba(33, 53, 77, 0.11);
      }

      .school-card:hover {
          box-shadow: 0 8px 18px rgba(33, 53, 77, 0.11);
          transform: translateY(-1px);
      }

      .school-card-header {
          display: flex;
          justify-content: space-between;
          align-items: flex-start;
          gap: 12px;
          padding: 16px 18px 14px;
          background: transparent;
          border: 0;
          cursor: pointer;
      }

      .school-card-summary {
          min-width: 0;
          flex: 1 1 auto;
      }

      .school-card-title {
          margin: 0;
          color: #213a57;
          font-size: 17px;
      }

      .school-card-meta {
          margin-top: 6px;
          font-size: 12px;
          color: #516983;
      }

      .school-card-subtitle {
          margin-top: 5px;
          color: #4f6781;
          font-size: 12px;
      }

      .school-card-last-updated {
          margin-top: 4px;
          font-size: 11px;
          color: #6d7f91;
      }

      .school-card-actions {
          display: flex;
          flex-wrap: wrap;
          gap: 6px;
          justify-content: flex-end;
          align-items: flex-start;
          flex: 0 0 auto;
          opacity: 0;
          pointer-events: none;
          transition: opacity 0.16s ease;
      }
      .school-card-select {
          display: inline-flex;
          align-items: center;
          gap: 6px;
          font-size: 12px;
          color: #395a78;
      }

      .school-card.expanded .school-card-actions,
      .school-card.selection-mode .school-card-actions {
          opacity: 1;
          pointer-events: auto;
      }

      .students-school-body-scroll {
          max-height: min(72vh, 920px);
          min-height: 0;
          overflow-y: auto;
          overscroll-behavior: contain;
          padding: 0 0 10px;
      }

      .students-school-detail-shell {
          background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, #ffffff 100%);
          border: 1px solid var(--school-border, #d7e3f3);
          border-radius: 16px;
          box-shadow: 0 12px 28px rgba(33, 53, 77, 0.1);
          display: flex;
          flex-direction: column;
          min-height: 132px;
          max-height: min(78vh, 980px);
          overflow: hidden;
      }

      .students-school-detail-empty-panel {
          justify-content: center;
      }

      .students-school-detail-header {
          display: flex;
          justify-content: space-between;
          align-items: flex-start;
          gap: 16px;
          padding: 18px 20px 16px;
          border-bottom: 1px solid rgba(215, 227, 243, 0.9);
          background: linear-gradient(180deg, rgba(244, 248, 255, 0.95) 0%, rgba(255, 255, 255, 0.98) 100%);
      }

      .students-school-detail-heading {
          min-width: 0;
          flex: 1 1 auto;
      }

      .students-detail-eyebrow {
          font-size: 11px;
          font-weight: 700;
          letter-spacing: 0.08em;
          text-transform: uppercase;
          color: var(--school-accent, #4f7096);
          margin-bottom: 6px;
      }

      .students-school-detail-title {
          margin: 0;
          font-size: 24px;
          color: #213a57;
      }

      .students-school-detail-subtitle {
          margin-top: 6px;
          font-size: 13px;
          color: #4f6781;
      }

      .students-school-detail-meta {
          margin-top: 8px;
          font-size: 12px;
          color: #5e7289;
      }

      .students-school-detail-actions {
          display: flex;
          flex-wrap: wrap;
          justify-content: flex-end;
          gap: 8px;
          flex: 0 0 auto;
      }

      .students-year-actions {
          justify-content: flex-end;
          margin-bottom: 6px;
      }

      .students-year-section {
          border-top: 1px solid #eef3f9;
      }

      .students-year-section:first-child {
          border-top: 0;
      }

      .students-year-toggle {
          width: 100%;
          border: none;
          background: #fff;
          text-align: left;
          display: flex;
          justify-content: space-between;
          align-items: center;
          gap: 10px;
          padding: 12px 18px;
          cursor: pointer;
          color: #2f4965;
          font-weight: 600;
      }

      .students-year-title {
          font-size: 14px;
      }

      .students-year-toggle:hover {
          background: #f9fbff;
      }

      .students-year-meta {
          display: flex;
          align-items: center;
          gap: 10px;
          font-size: 12px;
          color: #5e7289;
      }

      .students-year-body {
          padding: 0 18px 14px;
      }

      .students-cohort-list {
          list-style: none;
          margin: 0;
          padding: 0;
      }

      .students-cohort-item {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 10px;
          border: 1px solid #e9eef6;
          background: #fbfdff;
          border-radius: 8px;
          padding: 9px 12px;
          margin-top: 8px;
      }

      .students-cohort-label {
          display: inline-flex;
          align-items: center;
          flex-wrap: wrap;
          gap: 8px;
          font-weight: 500;
          color: #344b63;
          font-size: 13px;
          line-height: 1.35;
          min-width: 0;
      }

      .students-cohort-code {
          word-break: break-word;
          font-size: 13px;
          font-weight: 600;
          color: #2b4258;
      }

      .students-cohort-description {
          font-size: 11px;
          color: #61758c;
      }

      .students-cohort-actions {
          display: flex;
          gap: 6px;
      }

      .students-empty {
          background: white;
          border: 1px dashed #c4d2e3;
          border-radius: 8px;
          padding: 16px;
          color: #607086;
      }

      .students-detail-empty {
          margin: 12px 16px;
      }

      .school-toggle-glyph {
          width: 24px;
          height: 24px;
          border-radius: 999px;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          font-size: 13px;
          color: #385371;
          background: rgba(255, 255, 255, 0.66);
          border: 1px solid rgba(90, 123, 158, 0.3);
      }

      .students-cohort-count {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          border-radius: 999px;
          padding: 1px 8px;
          font-size: 10px;
          font-weight: 600;
          border: 1px solid #cbdae9;
          color: #32506f;
          background: #f3f8ff;
      }

      .students-select-all-wrap {
          display: inline-flex;
          align-items: center;
          gap: 8px;
          font-size: 13px;
          color: #2e4c6a;
      }

      .students-selected-count {
          font-size: 13px;
          color: #526a84;
      }

      /* Modern UI refresh overrides for legacy inline rules. */
      body {
          font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
          font-size: 17px;
          line-height: 1.6;
          color: var(--text-default);
          background: var(--app-bg);
      }

      .main {
          padding: 32px 48px;
          max-width: 1440px;
          margin: 0 auto;
      }

      .btn,
      .file-label,
      .batch-tile,
      .page-intro,
      .settings-section,
      .workspace-card,
      .workspace-meta-card,
      .workspace-summary-card,
      .workspace-panel,
      .workspace-class-card,
      .workspace-coursemap-school-card,
      .workspace-constraint-card,
      .workspace-school-panel,
      .workspace-temporal-school-card,
      .school-card,
      .students-school-detail-panel,
      .students-empty {
          border-radius: var(--radius-md);
      }

      .btn {
          min-height: 44px;
          padding: 12px 24px;
          border: 1px solid transparent;
          box-shadow: none;
          font-size: 14px;
          font-weight: 700;
      }

      .btn:hover {
          transform: translateY(-1px);
      }

      .btn-primary,
      .login-button {
          background: var(--accent-button);
          color: #ffffff;
          border-color: transparent;
          box-shadow: var(--shadow-sm);
      }

      .btn-primary:hover,
      .login-button:hover:not(:disabled) {
          background: var(--accent-button-hover);
          border-color: transparent;
      }

      .btn-secondary,
      .file-label {
          background: #ffffff;
          color: #334155;
          border: 1px solid #e2e8f0;
      }

      .btn-secondary:hover,
      .file-label:hover {
          background: #f1f5f9;
          color: var(--text-strong);
          border-color: #cbd5e1;
      }

      .btn-danger {
          border-color: transparent;
          box-shadow: var(--shadow-sm);
      }

      .btn-sm {
          min-height: 36px;
          padding: 8px 14px;
          border-radius: var(--radius-sm);
      }

      .batch-tiles {
          gap: 16px;
      }

      .batch-tile {
          padding: 16px 18px;
          border: 1px solid var(--line-soft);
          background: var(--panel-bg);
          color: var(--text-strong);
          box-shadow: var(--shadow-sm);
          transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
      }

      .batch-tile:hover {
          background: #ffffff;
          border-color: rgba(37, 99, 235, 0.35);
          box-shadow: var(--shadow-md);
      }

      .batch-tile.active {
          border: 1px solid rgba(37, 99, 235, 0.55);
          background: var(--accent-soft);
          color: var(--accent-strong);
          box-shadow: var(--shadow-md);
      }

      .campus-map-box,
      .location-map-container,
      .map-panel-wrapper {
          background: var(--panel-bg);
          border: 1px solid var(--line-soft);
          border-radius: var(--radius-lg);
          box-shadow: var(--shadow-sm);
          padding: 12px;
          overflow: hidden;
          transition: box-shadow 0.2s ease, transform 0.2s ease;
      }

      .campus-map-box:hover,
      .location-map-container:hover,
      .map-panel-wrapper:hover {
          box-shadow: var(--shadow-md);
      }

      #dashboardCampusMap,
      .location-map-container iframe,
      .map-panel-wrapper iframe {
          border: none !important;
          border-radius: calc(var(--radius-lg) - 4px);
          overflow: hidden;
          filter: grayscale(10%) contrast(95%);
          transition: filter 0.3s ease;
      }

      .campus-map-box:hover #dashboardCampusMap,
      .location-map-container iframe:hover,
      .map-panel-wrapper iframe:hover {
          filter: grayscale(0%) contrast(100%);
      }

      .stat-card,
      .page-intro,
      .settings-section,
      .workspace-card,
      .workspace-meta-card,
      .workspace-summary-card,
      .workspace-panel,
      .workspace-class-card,
      .workspace-coursemap-school-card,
      .workspace-constraint-card,
      .workspace-school-panel,
      .workspace-temporal-school-card,
      .school-card,
      .students-school-detail-panel,
      .students-empty {
          border: 1px solid var(--line-soft);
          background: var(--panel-bg);
          box-shadow: var(--shadow-sm);
      }

      .page-intro,
      .settings-section,
      .workspace-panel,
      .workspace-school-panel,
      .workspace-temporal-school-card {
          padding: 24px;
      }

      .workspace-temporal-school-card,
      .workspace-constraint-card,
      .workspace-school-panel {
          background: var(--panel-bg) !important;
          border: 1px solid var(--line-soft) !important;
          border-radius: var(--radius-md) !important;
          box-shadow: var(--shadow-xs) !important;
          padding: 20px !important;
          transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
      }

      .workspace-temporal-school-card:hover,
      .workspace-constraint-card:hover {
          transform: translateY(-2px);
          box-shadow: var(--shadow-md) !important;
          border-color: var(--accent) !important;
      }

      .workspace-constraint-meta,
      .workspace-temporal-school-meta,
      .workspace-card-meta-label {
          display: inline-flex;
          align-items: center;
          gap: 6px;
          background: var(--panel-bg-soft);
          color: var(--text-muted);
          padding: 4px 10px;
          border-radius: var(--radius-sm);
          font-weight: 500;
          font-size: 12px !important;
      }

      .form-group input,
      .form-group select,
      .form-group textarea,
      .workspace-inner-content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
      .workspace-inner-content select,
      .workspace-inner-content textarea,
      .workspace-tight-form input,
      .workspace-tight-form select,
      .workspace-tight-form textarea {
          min-height: 44px;
          padding: 10px 14px;
          border: 1px solid #dbe3ee;
          border-radius: var(--radius-sm);
          background: #ffffff;
          color: var(--text-default);
      }

      .form-group textarea,
      .workspace-inner-content textarea,
      .workspace-tight-form textarea {
          min-height: 120px;
      }

      .form-group input:focus-visible,
      .form-group select:focus-visible,
      .form-group textarea:focus-visible,
      .workspace-inner-content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus-visible,
      .workspace-inner-content select:focus-visible,
      .workspace-inner-content textarea:focus-visible,
      .btn:focus-visible,
      .file-label:focus-visible,
      .batch-tile:focus-visible {
          outline: none;
          border-color: rgba(37, 99, 235, 0.45);
          box-shadow: var(--focus-ring);
      }

      table {
          border: 1px solid var(--line-soft);
          border-radius: var(--radius-md);
          box-shadow: var(--shadow-sm);
      }

      thead {
          background: #f8fafc;
          color: var(--text-muted);
      }

      th,
      td,
      .import-review-list td,
      .import-review-list th,
      .workspace-panel th,
      .workspace-panel td {
          padding: 16px 20px;
      }

      th,
      .workspace-panel th,
      .adjacency-table th {
          color: var(--text-muted);
          font-size: 12px;
          font-weight: 700;
          text-transform: uppercase;
          letter-spacing: 0.05em;
          background: #f8fafc;
      }

      th:hover,
      .workspace-panel th:hover {
          background: #f1f5f9;
      }

      td {
          color: var(--text-default);
          border-bottom: 1px solid #edf2f7;
      }

      tbody tr:hover {
          background: #f8fafc;
      }

      .students-cohort-count {
          padding: 4px 12px;
          border-radius: 999px;
          background: var(--accent-soft);
          color: var(--accent-strong);
          border: none;
          font-size: 11px;
          font-weight: 700;
      }

      @media (max-width: 1120px) {
          .main {
              padding: 24px;
          }
      }

      @media (max-width: 980px) {
          .students-master-detail {
              grid-template-columns: minmax(0, 1fr);
          }

          .students-school-detail-shell {
              max-height: none;
          }

          .students-school-body-scroll {
              max-height: none;
          }
      }

      @media (max-width: 640px) {
          .school-card-header,
          .students-school-detail-header {
              padding: 14px 14px 12px;
          }

          .students-school-detail-header {
              flex-direction: column;
          }

          .students-school-detail-actions {
              width: 100%;
              justify-content: flex-start;
          }
      }

      /* ==========================================================================
         Unified Dashboard & Workspace Overhaul
         ========================================================================== */
      body {
          font-family: "Inter", system-ui, -apple-system, sans-serif !important;
          font-size: 14px !important;
          line-height: 1.6 !important;
          color: var(--text-default) !important;
          background-color: var(--app-bg) !important;
      }

      h1, h2, h3, h4, h5 {
          color: var(--text-strong) !important;
          letter-spacing: -0.01em !important;
      }

      th {
          font-size: 12px !important;
          text-transform: uppercase !important;
          letter-spacing: 0.06em !important;
          color: var(--text-muted) !important;
          font-weight: 700 !important;
      }

      @media (min-width: 1024px) {
          .dashboard-page:not(.active) {
              display: none !important;
          }

          .dashboard-page.active {
              display: grid !important;
              grid-template-columns: 320px 1fr !important;
              gap: 28px !important;
              align-items: start !important;
          }

          .dashboard-page h2,
          .dashboard-page > .page-intro:first-of-type {
              grid-column: 1 / -1 !important;
          }
      }

      .dashboard-page .stats {
          display: flex !important;
          flex-direction: column !important;
          gap: 16px !important;
          width: 100% !important;
      }

      @media (max-width: 1023px) {
          .dashboard-page .stats {
              display: grid !important;
              grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
          }

          .campus-map-box {
              height: min(56vh, 560px) !important;
          }
      }

      .stat-card {
          background: var(--panel-bg) !important;
          border: 1px solid var(--line-soft) !important;
          border-radius: var(--radius-md) !important;
          padding: 20px !important;
          box-shadow: var(--shadow-xs) !important;
          display: flex !important;
          flex-direction: column-reverse !important;
          gap: 6px !important;
          position: relative !important;
          overflow: hidden !important;
          transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
      }

      .stat-card:hover {
          transform: translateY(-2px) !important;
          box-shadow: var(--shadow-sm) !important;
          border-color: var(--accent) !important;
      }

      .stat-card::before {
          content: "" !important;
          position: absolute !important;
          top: 0 !important;
          left: 0 !important;
          width: 4px !important;
          height: 100% !important;
          background: var(--accent) !important;
      }

      .stat-card h3 {
          font-size: 13px !important;
          text-transform: uppercase !important;
          letter-spacing: 0.05em !important;
          color: var(--text-muted) !important;
          margin: 0 !important;
          font-weight: 600 !important;
      }

      .stat-card .number {
          font-size: 34px !important;
          font-weight: 800 !important;
          color: var(--text-strong) !important;
          line-height: 1 !important;
      }

      #dashboardCampusMapSection {
          background: var(--panel-bg) !important;
          border: 1px solid var(--line-soft) !important;
          border-radius: var(--radius-lg) !important;
          box-shadow: var(--shadow-sm) !important;
          padding: 24px !important;
          display: flex !important;
          flex-direction: column !important;
          gap: 16px !important;
          align-self: start !important;
      }

      .campus-map-box {
          border-radius: var(--radius-md) !important;
          border: 1px solid var(--line-soft) !important;
          overflow: hidden !important;
          height: clamp(420px, calc(100vh - 320px), 700px) !important;
          background: var(--panel-bg-soft) !important;
          position: relative !important;
          padding: 0 !important;
      }

      #dashboardCampusMap,
      #dashboardCampusMap iframe,
      .location-map-container iframe {
          width: 100% !important;
          height: 100% !important;
          border: none !important;
          filter: grayscale(20%) contrast(96%) brightness(99%) !important;
          transition: filter 0.3s ease !important;
      }

      #dashboardCampusMap:hover,
      .location-map-container iframe:hover {
          filter: grayscale(0%) contrast(100%) brightness(100%) !important;
      }

      .campus-map-footnote {
          font-size: 12px !important;
          color: var(--text-muted) !important;
          line-height: 1.5 !important;
          margin: 0 !important;
          padding-top: 14px !important;
          border-top: 1px solid var(--line-soft) !important;
      }

      .workspace-temporal-school-card,
      .workspace-constraint-card,
      .workspace-school-panel,
      .batch-tile {
          background: var(--panel-bg) !important;
          border: 1px solid var(--line-soft) !important;
          border-radius: var(--radius-md) !important;
          box-shadow: var(--shadow-xs) !important;
          padding: 18px 22px !important;
          transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
      }

      .workspace-temporal-school-card:hover,
      .workspace-constraint-card:hover,
      .batch-tile:hover {
          transform: translateY(-2px) !important;
          box-shadow: var(--shadow-md) !important;
          border-color: var(--accent) !important;
      }

      .workspace-constraint-meta,
      .workspace-temporal-school-meta,
      .workspace-card-meta-label,
      .students-cohort-count {
          display: inline-flex !important;
          align-items: center !important;
          gap: 6px !important;
          background: var(--accent-soft) !important;
          color: var(--accent-text) !important;
          padding: 4px 12px !important;
          border-radius: 999px !important;
          font-weight: 600 !important;
          font-size: 12px !important;
          border: none !important;
      }

      .semantic-note {
          background: var(--panel-bg-soft) !important;
          border-left: 4px solid var(--accent) !important;
          padding: 14px 18px !important;
          border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important;
      }

      td, th {
          padding: 16px 20px !important;
      }

      tr {
          border-bottom: 1px solid var(--line-soft) !important;
      }

      tr:last-child {
          border-bottom: none !important;
      }

      /* ==========================================================================
         Temporal Plan Action Hierarchy Refresh
         ========================================================================== */
      .workspace-focus-header,
      .workspace-school-panel-header,
      .workspace-temporal-head-row-primary {
          display: flex !important;
          justify-content: space-between !important;
          align-items: center !important;
          margin-bottom: 24px !important;
          padding-bottom: 16px !important;
          border-bottom: 1px solid var(--line-soft) !important;
      }

      .workspace-header-actions,
      .workspace-temporal-actions {
          display: flex !important;
          gap: 12px !important;
          align-items: center !important;
          flex-wrap: wrap !important;
      }

      .workspace-temporal-controls-row,
      .workspace-temporal-toolbar-row {
          display: flex !important;
          justify-content: space-between !important;
          align-items: center !important;
          flex-wrap: wrap !important;
          gap: 16px !important;
          padding: 12px 16px !important;
          background: var(--panel-bg-soft) !important;
          border-radius: var(--radius-md) !important;
          margin-bottom: 20px !important;
      }

      .workspace-temporal-toolbar-row > * {
          margin: 0 !important;
      }

      .workspace-day-pill-group,
      .workspace-temporal-ops {
          display: inline-flex !important;
          align-items: center !important;
          flex-wrap: wrap !important;
          background: #E2E8F0 !important;
          padding: 4px !important;
          border-radius: 10px !important;
          gap: 2px !important;
      }

      .workspace-day-pill-group button,
      .workspace-temporal-day-toggle,
      .workspace-temporal-ops .workspace-day-toggle {
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          background: transparent !important;
          border: none !important;
          color: var(--text-default) !important;
          padding: 6px 14px !important;
          font-size: 13px !important;
          font-weight: 600 !important;
          border-radius: 6px !important;
          transition: all 0.15s ease !important;
          cursor: pointer !important;
          box-shadow: none !important;
          margin: 0 !important;
      }

      .workspace-temporal-ops .workspace-day-toggle input[type="checkbox"] {
          position: absolute !important;
          opacity: 0 !important;
          pointer-events: none !important;
      }

      .workspace-day-pill-group button.active,
      .workspace-temporal-day-toggle.active,
      .workspace-temporal-ops .workspace-day-toggle:has(input[type="checkbox"]:checked) {
          background: var(--panel-bg) !important;
          color: var(--accent-text) !important;
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06) !important;
      }

      .btn-destructive-secondary {
          background: transparent !important;
          border: 1px solid #FCA5A5 !important;
          color: #DC2626 !important;
          font-size: 13px !important;
          padding: 6px 14px !important;
          border-radius: var(--radius-sm) !important;
          font-weight: 500 !important;
          box-shadow: none !important;
      }

      .btn-destructive-secondary:hover {
          background: #FEF2F2 !important;
          border-color: #EF4444 !important;
          color: #B91C1C !important;
      }

      .btn-primary {
          background: var(--accent-button) !important;
          color: #FFFFFF !important;
          font-size: 13.5px !important;
          font-weight: 600 !important;
          padding: 8px 16px !important;
          border-radius: var(--radius-sm) !important;
          border: none !important;
          box-shadow: 0 2px 4px rgba(37, 99, 235, 0.1) !important;
          transition: background 0.2s ease !important;
      }

      .btn-primary:hover {
          background: var(--accent-button-hover) !important;
      }

      .login-brand-title {
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          gap: 7px !important;
          margin: 0 0 8px 0 !important;
          font-family: "Cabinet Grotesk", "Inter", system-ui, sans-serif !important;
          font-size: 30px !important;
          font-weight: 900 !important;
          letter-spacing: -0.03em !important;
          line-height: 1 !important;
          color: #ffffff !important;
      }

      .login-brand-title .sidebar-brand-letter {
          color: #ffffff !important;
      }

      .login-brand-title .sidebar-brand-hash-left {
          color: #fbbf24 !important;
          text-shadow: 0 0 14px rgba(251, 191, 36, 0.35);
          transform: rotate(-14deg) translateY(-1px);
      }

      .login-brand-title .sidebar-brand-hash-right {
          color: #fb7185 !important;
          text-shadow: 0 0 14px rgba(251, 113, 133, 0.32);
          transform: rotate(16deg) translateY(1px);
      }

      .login-brand-subtitle {
          color: #ffffff !important;
          font-size: 13px !important;
          font-weight: 600 !important;
          letter-spacing: 0.08em !important;
          text-transform: uppercase !important;
          margin: 0 !important;
      }


      
