.auth-card,.sidebar,.stat-grid article,.card,.resource-card,.chat-box,.community-message,.community-compose,.profile-card,.admin-card,.admin-stats article{background:rgba(255,253,248,.56)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.role-label{display:inline-block;margin-left:5px;color:var(--blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.upload-help{display:block!important;text-align:left!important;margin-top:0!important}.admin-identity-chooser{margin-top:14px}.admin-identity-chooser small{display:block!important;text-align:left!important;margin:0 0 8px!important}.admin-identity-chooser div{display:flex;gap:8px}.admin-identity-chooser button{background:rgba(255,255,255,.42);border:1px solid rgba(113,137,152,.25);border-radius:4px;color:var(--blue);font-size:11px;font-weight:800;padding:8px 9px}.email-picker{display:grid;grid-template-columns:1fr 132px;gap:8px}.email-picker input{margin-top:7px!important}.email-picker select{margin-top:7px!important;padding:10px 4px!important}.custom-domain{margin-top:7px!important}.notepad-layout{max-width:1100px;display:grid;grid-template-columns:225px 1fr;gap:15px;align-items:start}.notes-sidebar{background:rgba(255,253,248,.56);border:1px solid rgba(255,255,255,.72);border-radius:9px;padding:14px;backdrop-filter:blur(16px)}.notes-sidebar .wide{margin-top:0}.note-list-item{display:block;width:100%;text-align:left;background:transparent;border-bottom:1px solid rgba(113,137,152,.16);padding:12px 6px;color:var(--ink)}.note-list-item b,.note-list-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-list-item b{font-size:12px}.note-list-item small{color:var(--muted);font-size:10px;margin-top:4px}.note-list-item.active{color:var(--blue);background:rgba(224,216,202,.45)}.notes-empty{font-size:12px;color:var(--muted);padding:10px 5px}.note-title{border:0!important;border-bottom:1px solid rgba(113,137,152,.22)!important;background:transparent!important;font-family:'Prata',serif!important;font-size:20px!important;padding:3px 0 8px!important;margin:0!important;width:100%!important;outline:none}.notepad-card .danger-button{margin-right:8px}.notepad-card button:disabled{opacity:.5}@media(max-width:800px){.notepad-layout{grid-template-columns:1fr}.email-picker{grid-template-columns:1fr 115px}}.role-form{display:flex;gap:8px;margin-top:8px;max-width:360px}.role-form input{flex:1;padding:8px 10px;border:1px solid rgba(113,137,152,.25);border-radius:4px;background:rgba(255,255,255,.6);font-size:12px}.role-form button{white-space:nowrap}.admin-rule-row{display:block}.rule-edit-form{width:100%;display:flex;flex-direction:column;gap:8px}.rule-edit-form input{padding:9px 10px;border:1px solid rgba(113,137,152,.25);border-radius:4px;background:rgba(255,255,255,.6);font-family:'Prata',serif;font-size:15px}.rule-edit-form textarea{padding:9px 10px;border:1px solid rgba(113,137,152,.25);border-radius:4px;background:rgba(255,255,255,.6);font-size:13px;min-height:70px;resize:vertical}.rule-row-actions{display:flex;gap:8px;justify-content:flex-end}
@media(max-width:800px){
  .sidebar{position:fixed;left:0;right:0;top:auto;bottom:0;z-index:30;min-height:auto;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:rgba(250,246,237,.94);border-right:0;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(50,40,20,.12)}
  .sidebar nav,.side-footer{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:2px;margin:0;padding:0;border:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .sidebar nav::-webkit-scrollbar,.side-footer::-webkit-scrollbar{display:none}
  .side-footer{margin:0}
  .nav-link{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;font-weight:700;padding:7px 14px;border-radius:10px}
  .nav-link span{font-size:19px;width:auto;display:block}
  main{padding:20px 16px calc(94px + env(safe-area-inset-bottom))}
  header{flex-wrap:wrap;gap:12px}
  header h1{font-size:22px}
  .user-chip{font-size:12px}
}
@media(max-width:420px){
  .nav-link{padding:7px 10px;font-size:9px}
  .nav-link span{font-size:17px}
}
.nav-account{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.profile-actions{max-width:820px;margin-top:16px;display:flex;justify-content:flex-end}
@media(max-width:800px){
  .nav-account{margin-top:0;padding-top:7px;border-top:0}
  .profile-actions{justify-content:stretch}
  .profile-actions .danger-button{width:100%;text-align:center;padding:12px}
}

/* Study-material viewer and Copilot-style MUN Assistant */
.resource-open-button {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  text-align: left;
}

.resource-viewer {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background: rgba(22, 24, 29, 0.94);
  color: #25231f;
}

.resource-viewer.hidden {
  display: none;
}

.resource-viewer-shell {
  position: absolute;
  inset: 16px;
  overflow: hidden;
  border-radius: 22px;
  background: #eee6d3;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
  display: flex;
  flex-direction: column;
}

.resource-viewer-header {
  min-height: 76px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: rgba(255, 252, 244, 0.96);
  border-bottom: 1px solid rgba(90, 78, 55, 0.14);
}

.resource-viewer-heading {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.resource-viewer-heading h2 {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.resource-viewer-heading p {
  margin: 2px 0;
}

#resourceViewerStatus {
  display: block;
  opacity: 0.65;
}

.resource-viewer-close,
.material-ai-close {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}

.resource-viewer-close {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #e9dfca;
}

.material-ai-toggle {
  border: 0;
  border-radius: 999px;
  padding: 11px 16px;
  background: #24262b;
  color: #fff;
  cursor: pointer;
  font-weight: 700;
  white-space: nowrap;
}

.resource-viewer-body {
  min-height: 0;
  flex: 1;
  position: relative;
  display: flex;
}

.resource-pdf-reader {
  min-width: 0;
  flex: 1;
  overflow: auto;
  padding: 28px 18px 60px;
  background: #e7ddc8;
}

.resource-pages {
  width: min(920px, 100%);
  margin: 0 auto;
}

.study-pdf-page {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 24px;
  padding: 14px;
  border-radius: 10px;
  background: #f0e7d4;
  box-shadow: 0 8px 24px rgba(64, 52, 30, 0.14);
}

.study-pdf-page canvas {
  display: block;
  max-width: 100%;
  height: auto;
  filter: sepia(0.12) brightness(0.985) saturate(0.92);
  border-radius: 4px;
}

.material-ai-panel {
  width: 350px;
  flex: 0 0 350px;
  display: flex;
  flex-direction: column;
  background: #fffdf8;
  border-left: 1px solid rgba(60, 52, 38, 0.12);
  box-shadow: -8px 0 28px rgba(40, 34, 25, 0.08);
}

.material-ai-head {
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(60, 52, 38, 0.1);
}

.material-ai-head > div:first-child {
  display: flex;
  align-items: center;
  gap: 10px;
}

.material-ai-head b,
.material-ai-head small {
  display: block;
}

.material-ai-head small {
  opacity: 0.62;
  margin-top: 2px;
}

.material-ai-history {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 14px;
}

.material-ai-message {
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: #f0eadc;
}

.material-ai-message.user {
  background: #e7edf8;
}

.material-ai-message b {
  font-size: 12px;
}

.material-ai-message p {
  margin: 5px 0 0;
  line-height: 1.45;
}

.material-ai-empty {
  margin: 12px;
  padding: 14px;
  border-radius: 14px;
  background: #f4efe5;
  opacity: 0.75;
  font-size: 14px;
}

.material-ai-form {
  padding: 12px;
  display: flex;
  gap: 8px;
  border-top: 1px solid rgba(60, 52, 38, 0.1);
}

.material-ai-form input {
  min-width: 0;
  flex: 1;
}

@media (max-width: 850px) {
  .resource-viewer-shell {
    inset: 0;
    border-radius: 0;
  }

  .resource-viewer-header {
    min-height: 68px;
    padding: 10px 12px;
  }

  .resource-viewer-heading h2 {
    font-size: 16px;
  }

  .material-ai-toggle {
    padding: 9px 12px;
    font-size: 13px;
  }

  .resource-pdf-reader {
    padding: 18px 8px 42px;
  }

  .study-pdf-page {
    padding: 7px;
    margin-bottom: 14px;
  }

  .material-ai-panel {
    position: absolute;
    right: 12px;
    bottom: 12px;
    width: min(350px, calc(100% - 24px));
    height: min(560px, calc(100% - 90px));
    border: 1px solid rgba(60, 52, 38, 0.14);
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.24);
    transform: translateY(calc(100% + 30px));
    transition: transform 0.2s ease;
  }

  .material-ai-panel.open {
    transform: translateY(0);
  }
}

@media (min-width: 851px) {
  .material-ai-panel {
    transform: none;
  }

  .material-ai-close {
    display: none;
  }
}

.resource-group-label,
.admin-rule-group {
  display: inline-block;
  margin: 0.25rem 0 0.55rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.72;
}

.admin-rule-group {
  margin: 0 0 0.4rem;
}


.resource-open-button {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
}

.study-file-frame {
  width: 100%;
  min-height: 78vh;
  border: 0;
  border-radius: 14px;
  background: #fff;
}


/* Final readability and viewer-scroll fixes */
.ai-message.user,
.material-ai-message.user {
  color: #27384a !important;
}

.material-ai-message.assistant {
  color: #27384a !important;
}

.resource-viewer-body {
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
}

.resource-pdf-reader {
  min-height: 0 !important;
  height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}

.resource-pages {
  min-height: 100%;
  padding-bottom: 20px;
}

.study-file-frame {
  display: block;
  height: 100% !important;
  min-height: 0 !important;
  flex: 1 1 auto;
}

#messages {
  color: #27384a;
}

.resource-viewer-tools { display:flex; align-items:center; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.viewer-tool-button { border:1px solid rgba(60,52,38,.16); background:#fffdf8; color:#24262b; border-radius:10px; min-height:38px; padding:8px 11px; font-weight:800; text-decoration:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.viewer-download { background:#24262b; color:#fff; }
#pdfZoomLabel { min-width:48px; text-align:center; font-size:12px; font-weight:800; color:#24262b; }
.resource-viewer-body { min-height:0; overflow:hidden; }
.resource-pdf-reader { min-height:0; overflow:auto; overscroll-behavior:contain; }
.resource-pages { min-height:100%; }
#messages { overflow-y:auto; scroll-behavior:smooth; }
.chat-box .message.user { color:#1e2a3a; background:#dce7f7; }
.chat-box .message.bot { color:#25231f; background:#f0eadc; }
.chat-box .message p { color:inherit; }
@media(max-width:850px){ .resource-viewer-tools { gap:4px; } .viewer-tool-button { min-height:34px; padding:7px 9px; } .resource-viewer-tools .material-ai-toggle { padding:9px 10px; } }

/* WhatsApp-style student message composer */
.community-layout{max-width:900px;display:flex;flex-direction:column;min-height:calc(100vh - 190px)}
.community-feed{order:1;display:flex;flex-direction:column;gap:12px;overflow:visible}
.community-message{animation:messageIn .18s ease-out}
@keyframes messageIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.community-compose{order:2;position:sticky;bottom:12px;margin-top:auto;padding:10px 12px 8px!important;border-radius:16px!important;z-index:4;box-shadow:0 14px 35px rgba(55,68,78,.18)!important}
.whatsapp-composer{display:flex;align-items:flex-end;gap:8px;background:rgba(255,255,255,.68);border:1px solid rgba(113,137,152,.2);border-radius:24px;padding:6px 8px 6px 6px}
.whatsapp-composer textarea{flex:1;min-height:38px;max-height:120px;resize:none;border:0!important;border-radius:18px!important;padding:9px 8px!important;background:transparent!important;outline:none;font-size:13px;line-height:1.4}
.composer-tool{height:34px;min-width:34px;border-radius:50%;background:transparent;color:var(--blue);font-weight:800;font-size:18px;display:grid;place-items:center;padding:0}
#gifButton{font-size:10px;border-radius:7px;width:34px;min-width:34px}
.composer-tool:hover{background:rgba(84,122,152,.1)}
.send-button{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#547a98,#365f80);color:#fff;font-size:17px;display:grid;place-items:center;padding:0}
.composer-hint{display:block;text-align:center;color:var(--muted);font-size:10px;margin:6px 0 0}
.community-typing{min-height:17px;color:var(--blue);font-size:11px;font-weight:700;padding:0 8px 4px;font-style:italic}
.emoji-picker{display:flex;flex-wrap:wrap;gap:4px;padding:8px;margin:7px 0 2px;background:rgba(255,255,255,.55);border:1px solid rgba(113,137,152,.18);border-radius:10px}
.emoji-picker button{background:transparent;font-size:20px;padding:4px 6px;border-radius:6px}
.emoji-picker button:hover{background:rgba(84,122,152,.12)}
@media(max-width:800px){.community-layout{min-height:calc(100vh - 170px)}.community-compose{bottom:76px}.composer-hint{font-size:9px}}
