:root {
  --navy: #071f5b;
  --blue: #0d6efd;
  --blue-soft: #eef5ff;
  --green: #10a14a;
  --text: #0d1e4a;
  --muted: #566681;
  --line: #dce4ef;
  --red: #ef3136;
}

* {
  box-sizing: border-box
}

html,
body {
  margin: 0;
  min-height: 100%;
  font-family: Inter, Arial, sans-serif;
  color: var(--text);
  background: #f9fbfe
}

button,
input,
select {
  font: inherit
}

svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round
}

.app-shell {
  display: flex;
  min-height: 100vh
}

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 255px;
  background: #fff;
  border-right: 1px solid var(--line);
  overflow-y: auto;
  z-index: 20;
  padding: 24px 0 22px
}

.brand-wrap {
  padding: 0 29px 22px
}

.brand {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -1.1px;
  line-height: 1
}

.brand span {
  color: var(--navy)
}

.brand strong {
  color: #18a956
}

.tagline {
  font-size: 11.5px;
  color: var(--navy);
  font-weight: 600;
  margin-top: 8px
}

.nav-list {
  padding-top: 1px
}

.nav-item {
  min-height: 55px;
  display: flex;
  align-items: center;
  gap: 17px;
  margin: 0 11px;
  padding: 0 20px;
  border-radius: 8px;
  color: #071a4b;
  text-decoration: none;
  font-size: 14.5px;
  font-weight: 500;
  position: relative
}

.nav-item:hover {
  background: #f6f9fe
}

.nav-item.active {
  background: var(--blue-soft);
  color: #075fe8
}

.nav-item.active::before {
  content: "";
  position: absolute;
  left: -11px;
  top: 0;
  bottom: 0;
  width: 5px;
  background: #156cff;
  border-radius: 0 4px 4px 0
}

.nav-icon {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  flex: 0 0 27px
}

.nav-icon svg {
  width: 22px;
  height: 22px
}

.nav-divider {
  height: 1px;
  background: #dfe6ef;
  margin: 12px 27px
}

.badge {
  margin-left: auto;
  background: var(--red);
  color: #fff;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 700
}

.refer-card {
  margin: 20px 20px 0;
  border: 1px solid #dce5f3;
  border-radius: 10px;
  padding: 18px;
  background: #fff
}

.gift {
  font-size: 31px;
  margin-bottom: 5px
}

.refer-card h3 {
  font-size: 15px;
  margin: 0 0 7px
}

.refer-card p {
  font-size: 12px;
  line-height: 1.55;
  color: #697892;
  margin: 0 0 15px
}

.refer-card button {
  width: 100%;
  border: 0;
  border-radius: 8px;
  padding: 11px;
  background: #f1f6ff;
  color: #075fe8;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: 13px
}

.refer-card button svg {
  width: 16px;
  height: 16px
}

.page {
  margin-left: 255px;
  width: calc(100% - 255px)
}

.topbar {
  height: 87px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 29px;
  position: sticky;
  top: 0;
  z-index: 10
}

.menu-btn,
.chevron {
  border: 0;
  background: transparent;
  color: #081a4a;
  cursor: pointer;
  padding: 0
}

.menu-btn svg {
  width: 30px;
  height: 30px
}

.top-actions {
  display: flex;
  align-items: center;
  gap: 14px
}

.bell-wrap {
  position: relative;
  width: 29px;
  height: 29px
}

.bell-wrap svg {
  width: 27px;
  height: 27px
}

.bell-wrap span {
  position: absolute;
  right: -8px;
  top: -8px;
  background: var(--red);
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  display: grid;
  place-items: center
}

.avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e9effa;
  color: #062d70
}

.avatar svg {
  width: 29px;
  height: 29px
}

.welcome {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 14px
}

.welcome small {
  font-size: 12.5px
}

.chevron svg {
  width: 19px;
  height: 19px
}

.content {
  padding: 21px 25px 18px
}

.title-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
  gap: 24px
}

.page-title {
  display: flex;
  gap: 0;
  align-items: center
}

.doc-icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: #edf4ff;
  border: 1px solid #d4e5ff;
  color: #156cff;
  display: grid;
  place-items: center
}

.doc-icon svg {
  width: 31px;
  height: 31px
}

.page-title h1 {
  font-size: 30px;
  letter-spacing: -.55px;
  margin: 0 0 5px
}

.page-title p {
  font-size: 13px;
  color: var(--muted);
  margin: 0
}

.search-box {
  width: 387px;
  height: 47px;
  background: #fff;
  border: 1px solid #d5deeb;
  border-radius: 7px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0 16px
}

.search-box svg {
  width: 20px;
  height: 20px;
  color: #263a64
}

.search-box input {
  border: 0;
  outline: 0;
  width: 100%;
  font-size: 13.5px;
  color: var(--text)
}

.filter-card {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
  padding: 18px 17px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 42px;
  margin-bottom: 13px;
  box-shadow: 0 1px 2px rgba(16, 37, 80, .03)
}

.filter-card label {
  font-size: 12.5px;
  font-weight: 600;
  display: flex;
  flex-direction: column;
  gap: 9px
}

.filter-card select {
  height: 42px;
  border: 1px solid #d4ddea;
  border-radius: 6px;
  padding: 0 14px;
  color: #111f43;
  background: #fff;
  font-size: 13px;
  outline: none
}

.notes-card {
  background: #fff;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
  overflow-x: auto;
  overflow-y: hidden;
}

.table-head,
.note-row {
  display: grid;
  grid-template-columns: 145px minmax(255px, 1fr) 58px 82px 120px 68px 220px;
  align-items: center;
  min-width: 948px;
}

.table-head {
  min-height: 45px;
  background: linear-gradient(#fbfdff, #f5f8fc);
  border-bottom: 1px solid #dce3ee;
  font-size: 12.5px;
  font-weight: 600;
  padding: 0 15px
}

.note-row {
  min-height: 150px;
  border-bottom: 1px solid #e2e8f1;
  padding: 12px 15px
}

.note-row:last-child {
  border-bottom: 0
}

.preview {
  position: relative;
  width: 132px;
  height: 120px;
  border: 1px solid #d7dfeb;
  border-radius: 4px;
  background: #fff;
  overflow: hidden
}

.preview-badge {
  position: absolute;
  left: -1px;
  top: -3px;
  z-index: 2;
  border-radius: 3px;
  padding: 3px 7px;
  color: #fff;
  font-size: 10px;
  font-weight: 700
}

.preview-badge.new {
  background: #16a34a
}

.preview-badge.pdf {
  background: #e93632
}

.paper {
  position: absolute;
  left: 22px;
  right: 14px;
  top: 16px;
  bottom: 10px;
  background: #fff
}

.paper::before,
.paper::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  background: repeating-linear-gradient(to bottom, #8290a7 0 1px, transparent 1px 6px)
}

.paper::before {
  top: 6px;
  height: 28px
}

.paper::after {
  top: 44px;
  height: 45px
}

.paper .mini-title {
  height: 3px;
  width: 56%;
  background: #405a8c;
  margin: 0 auto 7px
}

.paper .mini-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  margin-top: 35px
}

.paper .mini-grid span {
  height: 24px;
  border-top: 1px solid #8090ab;
  border-bottom: 1px solid #c0c9d8
}

.note-info h3 {
  font-size: 15.5px;
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap
}

.star {
  color: #ffae00;
  font-size: 22px;
  font-weight: 400
}

.tags {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 8px
}

.tag {
  padding: 4px 9px;
  border-radius: 5px;
  font-size: 11.5px;
  font-weight: 500
}

.tag.blue {
  background: #eaf3ff;
  color: #0760e8
}

.tag.green {
  background: #e7f7ea;
  color: #098639
}

.tag.purple {
  background: #eee7ff;
  color: #6517e8
}

.tag.orange {
  background: #fff0e6;
  color: #eb5b00
}

.tag.red {
  background: #ffeaea;
  color: #d51922
}

.desc {
  font-size: 13px;
  line-height: 1.52;
  margin: 0;
  color: #0f1f46;
  max-width: 420px
}

.cell {
  font-size: 13px
}

.updated {
  line-height: 1.65
}

.updated .ago {
  color: #0b9f39
}

.actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  width: 220px;
  min-width: 220px;
  position: sticky;
  right: 0;
  z-index: 3;
  align-self: stretch;
  background: #fff;
  padding: 12px 8px 12px 10px;
  border-left: 1px solid #edf1f7;
  box-shadow: -6px 0 12px rgba(31, 54, 95, .025);
}

.action-stack {
  width: 158px;
  min-width: 158px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.action-btn {
  width: 158px;
  min-width: 158px;
  max-width: 158px;
  height: 39px;
  border-radius: 6px;
  background: #fff;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  overflow: visible;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.action-btn svg {
  width: 17px;
  height: 17px
}

.view-btn {
  border: 1px solid #0d6efd;
  color: #075fe8
}

.download-btn {
  border: 1px solid #15a34a;
  color: #07943b
}

.bookmark {
  width: 42px;
  min-width: 42px;
  height: 44px;
  border: 1px solid #cfd8e6;
  border-radius: 7px;
  background: #fff;
  color: #13244d;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.bookmark svg {
  width: 21px;
  height: 21px
}

.bookmark.saved {
  background: #eef5ff;
  color: #075fe8;
  border-color: #8eb8ff
}

.footer-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding-top: 11px;
  font-size: 12.5px;
  color: #13244d
}

.pagination {
  display: flex;
  align-items: center;
  gap: 8px
}

.page-btn {
  width: 39px;
  height: 39px;
  border: 1px solid #d3dcea;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  font-size: 13px
}

.page-btn.active {
  background: #0d6efd;
  color: #fff;
  border-color: #0d6efd
}

.per-page {
  justify-self: end;
  height: 40px;
  border: 1px solid #d4ddea;
  border-radius: 6px;
  background: #fff;
  padding: 0 15px;
  color: #13244d;
  font-size: 12.5px
}

.toast {
  position: fixed;
  right: 25px;
  bottom: 25px;
  background: #0d1f4f;
  color: #fff;
  padding: 13px 18px;
  border-radius: 8px;
  opacity: 0;
  transform: translateY(15px);
  transition: .25s;
  pointer-events: none;
  z-index: 50;
  font-size: 13px
}

.toast.show {
  opacity: 1;
  transform: translateY(0)
}

@media(max-width:900px) {
  .sidebar {
    transform: translateX(-100%);
    transition: .25s
  }

  .sidebar.open {
    transform: translateX(0)
  }

  .page {
    margin-left: 0;
    width: 100%
  }

  .title-row {
    align-items: flex-start;
    flex-direction: column
  }

  .search-box {
    width: 100%
  }

  .filter-card {
    grid-template-columns: 1fr 1fr
  }

  .footer-row {
    grid-template-columns: 1fr;
    gap: 12px
  }

  .pagination {
    justify-content: center
  }

  .per-page {
    justify-self: start
  }
}

@media(max-width:560px) {
  .content {
    padding: 18px 14px
  }

  .topbar {
    padding: 0 14px
  }

  .welcome {
    display: none
  }

  .page-title h1 {
    font-size: 25px
  }

  .filter-card {
    grid-template-columns: 1fr
  }
}

/* Keeps the complete action buttons visible at the right edge. */
.table-head>div:last-child {
  position: sticky;
  right: 0;
  z-index: 5;
  align-self: stretch;
  display: flex;
  align-items: center;
  background: linear-gradient(#fbfdff, #f5f8fc);
  padding-left: 14px;
  border-left: 1px solid #edf1f7;
  box-shadow: -6px 0 12px rgba(31, 54, 95, .025);
}

@media (min-width:1251px) and (max-width:1450px) {

  .table-head,
  .note-row {
    grid-template-columns: 138px minmax(235px, 1fr) 54px 78px 114px 64px 214px;
    min-width: 900px;
  }

  .actions {
    width: 214px;
    min-width: 214px;
    gap: 12px;
    padding-left: 8px;
  }

  .action-stack,
  .action-btn {
    width: 156px;
    min-width: 156px;
    max-width: 156px;
  }
}

@media(max-width:1250px) {
  .filter-card {
    gap: 14px
  }

  .notes-card {
    overflow-x: auto
  }

  .table-head,
  .note-row {
    grid-template-columns: 138px 260px 55px 82px 120px 68px 214px;
    min-width: 937px;
  }

  .actions {
    width: 214px;
    min-width: 214px;
  }

  .action-stack,
  .action-btn {
    width: 156px;
    min-width: 156px;
    max-width: 156px;
  }
}


/* =========================================================
   SHARED EXAMTIER STUDENT SHELL
   ========================================================= */
.app-shell{display:block;min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:258px;padding:22px 18px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:40;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#b8c2d2 transparent;transition:width .25s,transform .25s}
.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#b8c2d2;border-radius:20px}
.brand{display:flex;align-items:center;min-height:78px;padding:2px 6px 18px;flex:none}.brand a{display:inline-flex;align-items:center}.brand-logo{display:block;width:175px;max-width:100%;height:auto}.brand-mark{display:none}
.sidebar-nav{padding:0;display:flex;flex-direction:column;gap:6px;flex:none}.sidebar-nav a{min-height:0;padding:12px;border-radius:7px;display:flex;align-items:center;gap:15px;color:#071f5b;font-size:14px;font-weight:500;line-height:1.2;position:relative;text-decoration:none}.sidebar-nav a:hover{background:#f5f8fd}.sidebar-nav a>i:first-child{width:19px;text-align:center;font-size:17px}.sidebar-nav a.active{background:#edf5ff;color:#0d57de;font-weight:600}.sidebar-nav a.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:#1467f3}.sidebar-nav hr{width:calc(100% - 16px);border:0;border-top:1px solid var(--border);margin:10px 8px}.sidebar-nav .notify b{position:absolute;right:12px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e92c2c;color:#fff;font-size:11px}
.page{margin-left:258px;width:auto;min-width:0;min-height:100vh;transition:margin-left .25s}
.topbar{position:fixed;top:0;left:258px;right:0;width:auto;height:74px;min-height:74px;margin:0;padding:0 30px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:28px;z-index:30;transition:left .25s}
.menu-btn{width:38px;height:38px;padding:0;border:0;border-radius:50%;background:transparent;color:#071f5b;display:grid;place-items:center;flex:none}.menu-btn:hover{background:#f2f6ff}.menu-btn svg{width:20px;height:20px}
.header-search{margin:auto;width:min(540px,50vw);height:42px;padding:0 14px;border:1px solid #d5deed;border-radius:8px;background:#fff;display:flex;align-items:center;gap:11px}.header-search input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:14px}.header-search svg{width:18px;color:#65718f}
.topbar-actions{margin-left:auto;height:100%;display:flex;align-items:center;gap:14px}.bell-button{position:relative;width:38px;height:38px;padding:0;display:grid;place-items:center;color:#1c2c58}.bell-button b{position:absolute;top:0;right:0;width:18px;height:18px;border-radius:50%;background:#ec2733;color:#fff;font-size:10px;display:grid;place-items:center}
.profile-wrap{position:relative}.profile-trigger{min-height:49px;border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:5px 7px;border-radius:9px;color:#071f5b;text-align:left}.profile-trigger:hover{background:#f2f6ff}.avatar{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#2268f5,#3d8cff);color:#fff;overflow:hidden}.avatar img{display:none;width:100%;height:100%;object-fit:cover}.profile-copy{display:flex;flex-direction:column;gap:3px;min-width:80px}.profile-copy strong{font-size:12px}.profile-copy small{font-size:10px;color:var(--muted)}.profile-chevron{width:14px;transition:transform .2s}.profile-trigger[aria-expanded=true] .profile-chevron{transform:rotate(180deg)}
.profile-menu{display:none;position:absolute;right:0;top:calc(100% + 10px);width:210px;padding:8px;background:#fff;border:1px solid var(--border);border-radius:9px;box-shadow:0 12px 35px rgba(12,31,83,.15);z-index:100}.profile-menu.open{display:block}.profile-menu a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:6px;color:#071f5b;font-size:13px;font-weight:500;text-decoration:none}.profile-menu a:hover{background:#f2f6ff}.profile-menu hr{border:0;border-top:1px solid var(--border);margin:6px 0}.profile-menu .danger{color:#d93035}
.content{width:100%;max-width:none;padding-top:96px}
.sidebar.collapsed{width:78px;padding:12px;overflow:visible}.sidebar.collapsed .brand{justify-content:center;min-height:58px;padding:0 0 12px}.sidebar.collapsed .brand a{display:grid;place-items:center;width:44px;height:44px}.sidebar.collapsed .brand-logo{display:none}.sidebar.collapsed .brand-mark{display:block;width:36px;height:36px}.sidebar.collapsed .sidebar-nav{gap:4px}.sidebar.collapsed .sidebar-nav a{justify-content:center;gap:0;padding:10px}.sidebar.collapsed .sidebar-nav a span,.sidebar.collapsed .notify b{display:none}.sidebar.collapsed .sidebar-nav hr{margin:8px}.sidebar.collapsed .sidebar-nav a::after{content:attr(data-tooltip);position:absolute;left:calc(100% + 13px);top:50%;z-index:200;transform:translate(6px,-50%);padding:8px 11px;border-radius:6px;background:#071f5b;color:#fff;font-size:12px;white-space:nowrap;box-shadow:0 6px 18px rgba(11,31,94,.2);opacity:0;visibility:hidden;pointer-events:none;transition:.15s}.sidebar.collapsed .sidebar-nav a:hover::after,.sidebar.collapsed .sidebar-nav a:focus-visible::after{opacity:1;visibility:visible;transform:translate(0,-50%)}.page.sidebar-collapsed{margin-left:78px}.page.sidebar-collapsed .topbar{left:78px}
.note-row,.filter-card,.notes-card{transition:border-color .18s,box-shadow .18s}.note-row:hover{background:#fbfdff}.action-btn{transition:background .16s,color .16s,border-color .16s,transform .16s}.action-btn:hover{transform:translateY(-1px)}
.notes-card .view-btn:hover{background:#0d6efd;color:#fff;border-color:#0d6efd}
.notes-card .download-btn:hover{background:#10a14a;color:#fff;border-color:#10a14a}
@media(max-width:1024px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:none}.page,.page.sidebar-collapsed{margin-left:0;width:100%}.topbar,.page.sidebar-collapsed .topbar{left:0}.content{padding-top:90px}}
@media(max-width:760px){.topbar{height:72px;min-height:72px;padding:0 14px;gap:10px}.header-search{flex:1;width:auto}.profile-copy,.profile-chevron{display:none}.avatar{width:36px;height:36px}}
@media(max-width:520px){.header-search{display:none}.topbar-actions{margin-left:auto}}

/* Clean sticky Actions divider — prevents the dark vertical band. */
.notes-card .actions,
.notes-card .table-head > div:last-child{
  box-shadow:none !important;
  border-left:0 !important;
}

/* Common professional dropdown component */
.native-select-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.filter-card .custom-select{position:relative;width:100%;height:42px}
.custom-select-trigger{position:relative;width:100%;height:100%;padding:0 38px 0 14px;border:1px solid #d4ddea;border-radius:7px;background:#fff;color:#111f43;text-align:left;font-size:13px;font-weight:600}
.custom-select-trigger::after{content:"";position:absolute;right:15px;top:50%;width:7px;height:7px;border-right:1.5px solid #53617e;border-bottom:1.5px solid #53617e;transform:translateY(-70%) rotate(45deg);transition:transform .16s}
.custom-select.open .custom-select-trigger{border-color:#72a3ff;box-shadow:0 0 0 3px rgba(23,105,255,.09)}
.custom-select.open .custom-select-trigger::after{transform:translateY(-30%) rotate(225deg)}
.custom-select-menu{display:none;position:absolute;top:calc(100% + 7px);left:0;right:0;min-width:100%;padding:6px;border:1px solid #d8e0ed;border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(15,36,95,.15);z-index:250}
.custom-select.open .custom-select-menu{display:block}
.custom-select-menu button{display:block;width:100%;min-height:36px;padding:8px 10px;border:0;border-radius:6px;background:#fff;color:#273858;text-align:left;font-size:12px;white-space:nowrap}
.custom-select-menu button:hover{background:#f1f6ff;color:#1769ff}
.custom-select-menu button.selected{background:#eaf2ff;color:#0d57de;font-weight:600}
.footer-row>.custom-select{position:relative;justify-self:end;width:138px;height:40px}
.footer-row>.custom-select .custom-select-menu{top:auto;bottom:calc(100% + 7px)}
@media(max-width:900px){.footer-row>.custom-select{justify-self:start}}

/* Common professional red PDF file card */
.preview{position:relative;min-height:64px;display:flex;align-items:center;justify-content:center}
.pdf-file-icon{--pdf-color:#ef3340;position:relative;width:54px;height:64px;flex:0 0 54px;padding:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--pdf-color);border:1px solid color-mix(in srgb,var(--pdf-color) 18%,white);border-radius:10px;background:color-mix(in srgb,var(--pdf-color) 8%,white)}
.pdf-file-icon svg{display:block;width:40px;height:51px;overflow:visible}
.pdf-file-icon .pdf-paper{fill:#fff;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.pdf-file-icon .pdf-corner{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.pdf-file-icon .pdf-doc-line{fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;opacity:.62}
.pdf-file-icon .pdf-band{fill:currentColor;stroke:currentColor;stroke-width:.8}
.pdf-file-icon::after{content:"PDF";position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:2;color:#fff;font:800 8px/1 Inter,Arial,sans-serif;letter-spacing:.45px}
.preview .preview-badge.new{top:-5px;left:calc(50% + 14px);z-index:3}
@media(max-width:560px){.pdf-file-icon{width:50px;height:60px;flex-basis:50px;padding:5px}.pdf-file-icon svg{width:38px;height:49px}.pdf-file-icon::after{bottom:9px;font-size:7.5px}}

/* Common student profile avatar */
.profile-avatar,.avatar{width:39px!important;height:39px!important;min-width:39px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#2268f5,#3d8cff)!important;color:#fff!important}
.profile-avatar>img,.avatar>img{width:100%!important;height:100%!important;border-radius:50%;object-fit:cover}
.profile-avatar>i,.avatar>i{font-size:17px;line-height:1;color:#fff}
@media(max-width:760px){.profile-avatar,.avatar{width:36px!important;height:36px!important;min-width:36px}}

/* Shared student profile dropdown standard */
.profile-menu,.dashboard-profile-menu{width:210px!important;padding:8px!important;border:1px solid #dfe6f1!important;border-radius:9px!important;background:#fff!important;box-shadow:0 12px 35px rgba(12,31,83,.15)!important}
.profile-menu a,.dashboard-profile-menu a{display:flex!important;align-items:center!important;gap:12px!important;min-height:42px;padding:10px!important;border-radius:6px!important;color:#071f5b!important;font-size:13px!important;font-weight:500!important;line-height:1.2!important;text-decoration:none!important}
.profile-menu a>svg,.dashboard-profile-menu a>svg{width:22px!important;height:22px!important;min-width:22px!important;flex:0 0 22px!important;color:#071f5b!important;stroke-width:2.2!important}
.profile-menu a:hover,.dashboard-profile-menu a:hover{background:#f2f6ff!important}
.profile-menu hr,.dashboard-profile-menu hr{border:0!important;border-top:1px solid #dfe6f1!important;margin:6px 0!important}
.profile-menu .danger,.dashboard-profile-menu .danger,.profile-menu .danger>svg,.dashboard-profile-menu .danger>svg{color:#d93035!important}
/* Shared header notification control */
.bell,.bell-button,.notification-button,.notification-btn,.bell-btn{position:relative;width:38px;height:38px;padding:8px;border:0;border-radius:8px;background:transparent;color:#0b1f5e;text-decoration:none;display:grid;place-items:center;flex:0 0 38px}
.bell:hover,.bell-button:hover,.notification-button:hover,.notification-btn:hover,.bell-btn:hover{background:#f2f6ff}
.bell>i,.bell-button>i,.notification-button>i,.notification-btn>i,.bell-btn>i{font-size:19px;line-height:1;color:#0b1f5e}
.bell>svg,.bell-button>svg,.notification-button>svg,.notification-btn>svg,.bell-btn>svg{width:19px;height:19px;stroke-width:2}
.bell>b,.bell-button>b,.notification-button>span,.notification-btn>.notification-dot,.notification-btn>.top-badge,.bell-btn>span{position:absolute;right:-2px;top:-2px;width:18px;min-width:18px;height:18px;padding:0;border:2px solid #fff;border-radius:50%;background:#ef3030;color:#fff;font-size:10px;font-weight:700;line-height:14px;display:grid;place-items:center}
/* Shared secondary-page breadcrumb */
.page-breadcrumb{display:flex;align-items:center;gap:9px;margin:0 0 16px;color:#687696;font-size:12px;font-weight:500;line-height:1.2}
.page-breadcrumb a{color:#1769ff;text-decoration:none}
.page-breadcrumb a:hover{text-decoration:underline}
.page-breadcrumb>span:first-of-type{color:#9aa7bd;font-size:16px;line-height:12px}
.page-breadcrumb>span:last-child{color:#687696}

/* Balanced Study Notes table columns */
@media (min-width:1025px){
  .table-head,
  .note-row{
    grid-template-columns:minmax(130px,.9fr) minmax(300px,3fr) minmax(62px,.55fr) minmax(86px,.75fr) minmax(120px,1fr) minmax(68px,.6fr) minmax(220px,1.55fr);
    column-gap:14px;
    min-width:1050px;
  }
  .table-head>div:nth-child(3),
  .table-head>div:nth-child(4),
  .table-head>div:nth-child(6),
  .note-row>div:nth-child(3),
  .note-row>div:nth-child(4),
  .note-row>div:nth-child(6){text-align:center}
  .table-head>div:last-child{padding-left:8px}
}
