
:root{
  --navy:#071b52;
  --blue:#1769ff;
  --green:#16a34a;
  --bg:#f8fbff;
  --panel:#ffffff;
  --line:#dbe5f1;
  --line-soft:#e7edf5;
  --muted:#405584;
  --soft-blue:#eef5ff;
  --soft-head:#f4f7fc;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;color:var(--navy);background:var(--bg)}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
svg{display:block;width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.app{min-height:100vh;display:grid;grid-template-columns:262px minmax(0,1fr)}
.sidebar{position:relative;background:#fff;border-right:1px solid var(--line);padding:24px 24px 20px;min-height:100vh}
.brand{height:64px}
.brand-name{font-size:28px;line-height:1;font-weight:800;letter-spacing:-1.2px}.brand-name span{color:var(--green)}
.brand-tagline{font-size:12px;font-weight:600;margin-top:8px}
.side-nav{margin-top:27px}
.nav-divider{height:1px;background:var(--line);margin:12px 0}
.nav-item{height:54px;display:flex;align-items:center;gap:18px;padding:0 12px;border-radius:9px;margin-bottom:2px;font-size:14px;font-weight:600;position:relative;color:var(--navy)}
.nav-item .nav-icon{width:24px;height:24px;display:grid;place-items:center;font-size:21px}
.nav-item .badge{margin-left:auto;background:#ef3340;color:#fff;border-radius:999px;min-width:24px;height:24px;padding:0 7px;display:grid;place-items:center;font-size:11px;font-weight:700}
.nav-item.active{color:var(--blue);background:#eef5ff}
.nav-item.active:before{content:"";position:absolute;left:-24px;top:1px;width:5px;height:52px;background:var(--blue);border-radius:0 5px 5px 0}
.side-card{position:absolute;left:25px;right:24px;bottom:22px;text-align:center;border:1px solid var(--line);border-radius:10px;background:#fbfdff;padding:18px 10px 16px}
.side-card-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:#edf5ff;color:var(--blue);font-size:26px}
.side-card strong{font-size:12px}.side-card p{margin:8px 0 12px;font-size:11px;line-height:1.55;color:#2b4276}.side-card button{border:0;border-radius:7px;background:#eaf2ff;color:var(--blue);font-weight:600;font-size:12px;padding:9px 28px}
.main-shell{min-width:0}
.topbar{height:86px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px}
.menu-btn,.icon-btn{border:0;background:transparent;padding:0;color:var(--navy)}
.menu-btn{font-size:31px;width:34px;height:34px;display:grid;place-items:center}
.topbar-right{display:flex;align-items:center;gap:12px}.notification-btn{width:38px;height:40px;display:grid;place-items:center;font-size:24px;position:relative}.notification-dot{position:absolute;right:-1px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef3340;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:700}
.profile-avatar{width:48px;height:48px;border-radius:50%;background:#f0f5ff;color:var(--navy);display:grid;place-items:center;font-size:26px}.profile-copy small,.profile-copy strong{display:block}.profile-copy small{font-size:11px;margin-bottom:2px}.profile-copy strong{font-size:14px}.profile-chevron{font-size:16px;margin-left:3px}
.content{padding:22px 28px 28px}
.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:24px}.title-wrap{display:flex;align-items:center;gap:20px}.title-icon{width:72px;height:64px;border-radius:12px;background:var(--soft-blue);color:var(--blue);display:grid;place-items:center;font-size:39px}.title-wrap h1{font-size:32px;line-height:1.1;letter-spacing:-1px;margin:0 0 6px}.title-wrap p{margin:0;color:var(--muted);font-size:14px}
.search-box{width:420px;height:50px;background:#fff;border:1px solid #cfdbeb;border-radius:8px;display:flex;align-items:center;gap:14px;padding:0 16px;color:var(--navy)}.search-box>span{font-size:20px}.search-box input{border:0;outline:0;width:100%;background:transparent;font-size:14px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;overflow:hidden}
.tabs{height:66px;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.tab{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;font-weight:700;user-select:none}.tab-icon{font-size:23px}.tab-count{background:#f0f4fb;border-radius:999px;min-width:28px;height:26px;padding:0 8px;display:grid;place-items:center;font-size:11px}.tab.active{color:var(--blue)}.tab.active:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:3px;background:var(--blue)}.tab.active .tab-count{background:var(--blue);color:#fff}
.filters{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:34px;padding:26px}
.filter-field{font-size:11px;font-weight:700}.filter-field select,.select-like{margin-top:8px;width:100%;height:45px;border:1px solid #cad8e9;border-radius:7px;background:#fff;padding:0 16px;font-size:13px;font-weight:600;outline:none}.select-like{display:flex;align-items:center;justify-content:space-between}.select-like span:last-child{font-size:18px}.clear-btn{align-self:end;height:45px;border:1px solid #cad8e9;border-radius:7px;background:#fff;color:var(--blue);font-size:13px;font-weight:700;display:flex;gap:9px;align-items:center;justify-content:center}.clear-btn span{font-size:18px}
.table-wrap{padding:0 16px}.thead,.file-row{display:grid;grid-template-columns:3.55fr 1.6fr 1.62fr .78fr 1.9fr;align-items:center}.thead{height:43px;padding:0 20px;background:var(--soft-head);border-radius:6px;font-size:11px;font-weight:700}.downloaded-head{display:flex;align-items:center;gap:5px}.downloaded-head span{font-size:14px}
.file-row{min-height:77px;padding:10px 20px;border-bottom:1px solid #e2e9f3}.file-detail{display:flex;align-items:center;gap:18px;min-width:0}.file-text{min-width:0}.file-text strong{display:block;font-size:13px;margin-bottom:5px;white-space:normal}.file-text p{margin:0;font-size:12px;line-height:1.5;color:var(--navy);max-width:340px}
.pdf-icon{width:36px;height:53px;position:relative;flex:0 0 36px;color:#ff3042}.pdf-icon svg{width:36px;height:53px;stroke-width:1.6}.pdf-icon .pdf-label{position:absolute;left:0;right:0;bottom:0;height:18px;background:currentColor;color:#fff;display:grid;place-items:center;font-size:9px;font-weight:800;border-radius:0 0 2px 2px}.pdf-icon.blue{color:#2870ff}.pdf-icon.green{color:#16a34a}
.source{display:inline-flex;align-items:center;gap:6px;width:max-content;border-radius:5px;padding:7px 10px;font-size:11px;font-weight:600}.source span:first-child{font-size:15px}.source.notes{color:#6d28d9;background:#f2eaff}.source.pyp{color:#07833e;background:#e9f8ee}.source.ca{color:#ef5b00;background:#fff0e7}
.date,.size{font-size:12px}.date{line-height:1.6}.actions{display:flex;align-items:center;gap:20px}.download-again{height:41px;border:1px solid var(--blue);background:#fff;color:var(--blue);border-radius:6px;padding:0 18px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.download-again span{font-size:17px}.bookmark{width:41px;height:41px;border:1px solid #cad8e9;border-radius:7px;background:#fff;color:var(--navy);display:grid;place-items:center;font-size:19px}
.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 14px 18px;font-size:12px}.pages{display:flex;gap:8px}.pages button{width:36px;height:36px;border:1px solid #cfdbeb;border-radius:6px;background:#fff;color:var(--navy);display:grid;place-items:center}.pages button.active{background:var(--blue);color:#fff}.per-page{justify-self:end;display:flex;align-items:center}.per-page select{height:36px;border:1px solid #cfdbeb;border-radius:6px;margin:0 8px;padding:0 12px;background:#fff}
.sidebar.collapsed{display:none}.app.collapsed{grid-template-columns:1fr}
@media (max-width:1100px){.filters{gap:16px}.search-box{width:360px}.file-text p{max-width:260px}.actions{gap:10px}.download-again{padding:0 12px}}
@media (max-width:900px){.app{grid-template-columns:1fr}.sidebar{display:none;position:fixed;z-index:50;left:0;top:0;bottom:0;width:262px;box-shadow:0 15px 40px rgba(7,27,82,.18)}.sidebar.mobile-open{display:block}.topbar{height:70px;padding:0 16px}.content{padding:18px 12px}.title-row{align-items:flex-start;flex-direction:column}.search-box{width:100%}.tabs{display:flex;overflow:auto}.tab{min-width:205px}.filters{grid-template-columns:1fr 1fr;padding:18px}.table-wrap{overflow-x:auto}.thead,.file-row{min-width:930px}.pagination{min-width:930px}.side-card{display:none}}
@media (max-width:560px){.profile-copy{display:none}.profile-avatar{width:42px;height:42px}.content{padding:14px 10px}.title-icon{width:52px;height:52px;font-size:32px}.title-wrap{gap:14px}.title-wrap h1{font-size:26px}.title-wrap p{font-size:12px}.filters{grid-template-columns:1fr}.clear-btn{width:100%}}

/* ===== FINAL CORRECTIONS ===== */
.side-nav a{text-decoration:none}
.nav-item{transition:background-color .18s ease,color .18s ease,transform .18s ease}
.nav-item:not(.active):hover{background:#f5f8fd;color:var(--blue)}
.nav-divider{margin:10px 0 8px}
.sidebar{overflow-y:auto}

/* Full PDF document icon (no clipped/open outline) */
.pdf-icon{
  width:42px;
  height:56px;
  position:relative;
  flex:0 0 42px;
  color:#ff3042;
  background:#fff;
  border:1.8px solid currentColor;
  border-radius:3px;
  overflow:hidden;
}
.pdf-icon svg{display:none}
.pdf-icon.blue{color:#2870ff}
.pdf-icon.green{color:#16a34a}
.pdf-fold{
  position:absolute;
  top:-2px;
  right:-2px;
  width:15px;
  height:15px;
  background:#fff;
  border-left:1.8px solid currentColor;
  border-bottom:1.8px solid currentColor;
  transform:translate(4px,-4px) rotate(45deg);
  transform-origin:center;
}
.pdf-line{position:absolute;left:8px;height:1.5px;background:currentColor;opacity:.72;border-radius:2px}
.pdf-line.line-1{top:24px;width:23px}
.pdf-line.line-2{top:29px;width:18px}
.pdf-icon .pdf-label{
  position:absolute;
  left:-1.8px;
  right:-1.8px;
  bottom:-1.8px;
  height:18px;
  background:currentColor;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:9px;
  line-height:1;
  font-weight:800;
  border-radius:0 0 3px 3px;
  letter-spacing:.2px;
}

/* Button hover = mouse-over feedback */
.download-again{
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.download-again:hover{
  background:var(--blue);
  color:#fff;
  border-color:var(--blue);
  box-shadow:0 5px 14px rgba(23,105,255,.18);
  transform:translateY(-1px);
}
.download-again:active{transform:translateY(0);box-shadow:none}
.download-again.downloaded-state{background:#eef5ff;color:var(--blue);pointer-events:none}
.bookmark{transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.bookmark:hover,.bookmark.saved{background:#eef5ff;color:var(--blue);border-color:#9ec0ff}
.bookmark:hover{transform:translateY(-1px)}
.clear-btn,.pages button,.menu-btn,.icon-btn{transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.clear-btn:hover{background:#f3f7ff;border-color:#9ec0ff}
.pages button:not(.active):hover{background:#f3f7ff;color:var(--blue);border-color:#9ec0ff}
.menu-btn:hover,.icon-btn:hover{color:var(--blue)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(23,105,255,.18);outline-offset:2px}

/* keep rows comfortably tall after larger PDF icon */
.file-row{min-height:82px}

/* profile/logout layout after notifications */
.nav-item[data-nav="Logout"]{margin-top:1px}
.nav-item[data-nav="Profile"]{margin-bottom:1px}

@media (max-width:900px){
  .sidebar{overflow-y:auto}
}
.side-card{display:none!important}


/* =========================================================
   FINAL PDF ICON - MATCHES APPROVED REFERENCE
   Only the file/PDF icon is changed. All other page styling
   remains exactly as in the approved version.
========================================================= */
.pdf-icon,
.pdf-fold,
.pdf-line,
.pdf-label {
  /* legacy icon pieces are no longer used */
}

.pdf-file-icon{
  position:relative;
  --pdf-color:#ff3347;
  width:44px;
  height:58px;
  flex:0 0 44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--pdf-color);
  overflow:visible;
}
.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;
  pointer-events:none;
}

.pdf-file-icon svg{
  width:44px;
  height:58px;
  display:block;
  overflow:visible;
  shape-rendering:geometricPrecision;
}

/* Keep the icon crisp at normal laptop zoom levels */
@media (max-width:560px){
  .pdf-file-icon{
    width:40px;
    height:53px;
    flex-basis:40px;
  }
  .pdf-file-icon svg{
    width:40px;
    height:53px;
  }
}


/* =========================================================
   PROFESSIONAL PDF DOCUMENT ICON - FINAL
========================================================= */
.pdf-file-icon{
  --pdf-color:#EF3340;
  width:48px;
  height:60px;
  flex:0 0 48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--pdf-color);
}
.pdf-file-icon svg{
  width:48px;
  height:60px;
  display:block;
  overflow:visible;
}
.pdf-file-icon .pdf-paper{
  fill:#fff;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linejoin:round;
}
.pdf-file-icon .pdf-corner{
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linejoin:round;
}
.pdf-file-icon .pdf-doc-line{
  fill:none;
  stroke:currentColor;
  stroke-width:1.15;
  stroke-linecap:round;
  opacity:.72;
}
.pdf-file-icon .pdf-band{
  fill:currentColor;
  stroke:currentColor;
  stroke-width:1;
}
.pdf-file-icon .pdf-word{
  fill:#fff;
  font-family:Inter,Arial,sans-serif;
  font-size:9.6px;
  font-weight:800;
  letter-spacing:.3px;
}
@media (max-width:560px){
  .pdf-file-icon{width:43px;height:55px;flex-basis:43px}
  .pdf-file-icon svg{width:43px;height:55px}
}


/* =========================================================
   SHARED EXAMTIER STUDENT SHELL
   ========================================================= */
.app{display:block;min-height:100vh}.sidebar{display:flex!important;flex-direction:column;align-items:stretch;position:fixed;inset:0 auto 0 0;width:258px;min-height:100vh;padding:22px 18px;background:#fff;border-right:1px solid var(--line);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;height:auto;min-height:78px;padding:2px 6px 18px;flex:none}.brand a{display:inline-flex}.brand-logo{display:block;width:175px;max-width:100%;height:auto}.brand-mark{display:none}
.side-nav{margin:0;display:flex;flex-direction:column;gap:6px;flex:none}.side-nav .nav-item{min-height:0;margin:0;padding:12px;border-radius:7px;display:flex;align-items:center;gap:15px;color:var(--navy);font-size:14px;font-weight:500;line-height:1.2;position:relative}.side-nav .nav-item>i:first-child{width:19px;text-align:center;font-size:17px}.side-nav .nav-item:hover{background:#f5f8fd}.side-nav .nav-item.active{background:#edf5ff;color:#0d57de;font-weight:600}.side-nav .nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:#1467f3}.side-nav hr{width:calc(100% - 16px);border:0;border-top:1px solid var(--line);margin:10px 8px}.notification-link .badge{position:absolute;right:12px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e92c2c;color:#fff;font-size:11px}
.main-shell{margin-left:258px;width:auto;min-width:0;transition:margin-left .25s}.topbar{position:fixed;top:0;left:258px;right:0;width:auto;height:74px;min-height:74px;padding:0 30px;gap:28px;justify-content:flex-start;z-index:30;transition:left .25s}.menu-btn{width:38px;height:38px;font-size:20px;flex:none}.header-search{margin:auto;width:min(540px,50vw);height:42px;padding:0 14px;border:1px solid #d7dfed;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-right{height:100%;margin-left:auto;gap:14px}.notification-btn{width:38px;height:38px;text-decoration:none}.notification-dot{top:0;right:0;width:18px;min-width:18px;height:18px;padding:0;font-size:10px}
.profile-wrap{position:relative}.profile-trigger{min-height:49px;padding:5px 7px;border:0;border-radius:9px;background:transparent;display:flex;align-items:center;gap:10px;color:var(--navy);text-align:left}.profile-trigger:hover{background:#f2f6ff}.profile-avatar{width:39px;height:39px;min-width:39px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#2268f5,#3d8cff);color:#fff}.profile-avatar img{display:none;width:100%;height:100%;object-fit:cover}.profile-avatar>i{font-size:17px;color:#fff}.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);margin:0}.profile-chevron{width:14px;font-size: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(--line);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:12px;padding:10px;border-radius:6px;color:var(--navy);font-size:13px;font-weight:500;text-decoration:none}.profile-menu a>svg{width:22px;height:22px;flex:0 0 22px;color:var(--navy);stroke-width:2.2}.profile-menu a:hover{background:#f2f6ff}.profile-menu hr{border:0;border-top:1px solid var(--line);margin:6px 0}.profile-menu .danger{color:#d93035}.profile-menu .danger>svg{color:#d93035}
.content{width:100%;max-width:none;padding:96px 28px 28px}.title-row{margin-bottom:18px}.title-wrap{gap:0}.title-wrap h1{font-size:30px}.panel{border-radius:10px}
.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 .side-nav{gap:4px}.sidebar.collapsed .nav-item{justify-content:center;gap:0;padding:10px}.sidebar.collapsed .nav-item span,.sidebar.collapsed .notification-link .badge{display:none}.sidebar.collapsed .side-nav hr{margin:8px}.sidebar.collapsed .nav-item::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:var(--navy);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 .nav-item:hover::after,.sidebar.collapsed .nav-item:focus-visible::after{opacity:1;visibility:visible;transform:translate(0,-50%)}.main-shell.sidebar-collapsed{margin-left:78px}.main-shell.sidebar-collapsed .topbar{left:78px}
@media(max-width:1024px){.sidebar{display:flex!important;transform:translateX(-100%)}.sidebar.mobile-open{transform:none}.main-shell,.main-shell.sidebar-collapsed{margin-left:0;width:100%}.topbar,.main-shell.sidebar-collapsed .topbar{left:0}.content{padding-top:90px}}
@media(max-width:560px){.profile-copy,.profile-chevron{display:none}.profile-avatar{width:36px;height:36px;min-width:36px}.header-search{display:none}}

/* Common professional dropdowns */
.native-select-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.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}.custom-select-menu button:hover{background:#f1f6ff;color:#1769ff}.custom-select-menu button.selected{background:#eaf2ff;color:#0d57de;font-weight:600}
.per-page .custom-select{display:inline-block;width:72px;height:34px;vertical-align:middle}.per-page .custom-select-menu{top:auto;bottom:calc(100% + 7px)}
.date-select-wrap{position:relative;width:100%}.date-select-wrap .select-like{width:100%;height:42px}.date-select-menu{display:none;position:absolute;top:calc(100% + 7px);left:0;right:0;padding:6px;border:1px solid #d8e0ed;border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(15,36,95,.15);z-index:250}.date-select-menu.open{display:block}.date-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}.date-select-menu button:hover{background:#f1f6ff;color:#1769ff}.date-select-menu button.selected{background:#eaf2ff;color:#0d57de;font-weight:600}

/* Remove remaining legacy Downloads sidebar spacing */
.side-nav .nav-item{
  height:auto !important;
  min-height:41px;
  margin:0 !important;
  padding:12px !important;
}
.side-nav .nav-item.active::before{
  height:auto !important;
  top:8px !important;
  bottom:8px !important;
}
.side-nav .notification-link .badge{
  width:22px;
  min-width:22px;
  height:22px;
  padding:0;
  margin-left:auto;
}

/* Exact common collapsed-sidebar rhythm */
.sidebar.collapsed .side-nav{gap:4px}
.sidebar.collapsed .side-nav .nav-item{
  height:auto !important;
  min-height:0;
  padding:10px !important;
}
.sidebar.collapsed .side-nav hr{margin:8px !important}

/* Refined professional PDF file cards */
.pdf-file-icon{
  width:54px;
  height:64px;
  flex:0 0 54px;
  padding:6px;
  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{
  width:40px;
  height:51px;
}
.pdf-file-icon .pdf-paper,.pdf-file-icon .pdf-corner{stroke-width:1.5}
.pdf-file-icon .pdf-doc-line{stroke-width:1.25;opacity:.62}
.pdf-file-icon .pdf-band{stroke-width:.8}
.pdf-file-icon .pdf-word{font-size:10px;font-weight:800;letter-spacing:.45px}
@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}
}

/* 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}
