.announcements-page{
      color: white;
}

.announcements-menu{
      position: sticky;
      top: 80px;
}

.ann-header{
      display: flex;
      align-items: center;
      gap: 16px;
      margin-bottom: 18px;
      padding-bottom: 18px;
      border-bottom: 1px solid rgba(255,255,255,0.18);
}

.ann-header h1{
      margin: 0;
      color: white;
      font-size: 34px;
      line-height: 1.25em;
      font-weight: 600;
}

.ann-filter{
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 18px;
}

.ann-filter a{
      display: inline-flex;
      align-items: center;
      min-height: 36px;
      padding: 7px 12px;
      border: 1px solid rgba(129,216,251,0.35);
      border-radius: 8px;
      color: white;
      background: rgba(255,255,255,0.045);
}

.ann-filter a.active,
.ann-filter a:hover{
      color: #81d8fb;
      background: rgba(1,130,179,0.18);
}

.ann-list{
      display: flex;
      flex-direction: column;
      gap: 12px;
}

.ann-card{
      border: 1px solid rgba(255,255,255,0.13);
      border-radius: 8px;
      background: rgba(255,255,255,0.055);
      overflow: hidden;
}

.ann-card summary,
.ann-link-card{
      display: grid;
      grid-template-columns: 120px 100px 1fr;
      gap: 12px;
      align-items: center;
      padding: 14px 16px;
      cursor: pointer;
}

.ann-card summary::-webkit-details-marker{
      display: none;
}

.ann-date{
      color: rgba(255,255,255,0.68);
      font-size: 14px;
}

.ann-tag{
      color: #81d8fb;
      font-size: 14px;
}

.ann-title{
      color: white;
      font-size: 17px;
      line-height: 1.5em;
      overflow-wrap: anywhere;
}

.ann-card[open] summary{
      background: rgba(1,130,179,0.14);
}

.ann-detail{
      padding: 16px;
      border-top: 1px solid rgba(255,255,255,0.1);
}

.ann-meta,
.ann-files{
      display: flex;
      gap: 10px;
      margin-bottom: 10px;
      color: rgba(255,255,255,0.86);
      line-height: 1.6em;
}

.ann-meta span,
.ann-files span{
      flex: 0 0 6em;
      color: #81d8fb;
}

.ann-rich{
      margin: 14px 0;
      color: rgba(255,255,255,0.9);
      line-height: 1.75em;
      overflow-wrap: anywhere;
}

.ann-rich img,
.ann-rich figure img{
      max-width: 100%;
      height: auto;
}

.ann-rich table{
      max-width: 100%;
      color: white;
}

.ann-files{
      flex-wrap: wrap;
}

.ann-files a{
      color: #81d8fb;
      margin-right: 10px;
      overflow-wrap: anywhere;
}

.ann-link-card{
      grid-template-columns: 120px 1fr 24px;
      color: white;
      text-decoration: none;
}

.ann-link-card:hover .ann-title{
      color: #81d8fb;
}

.ann-note{
      margin-bottom: 18px;
      padding: 14px 16px;
      border: 1px solid rgba(129,216,251,0.28);
      border-radius: 8px;
      color: rgba(255,255,255,0.9);
      line-height: 1.7em;
      background: rgba(1,130,179,0.1);
}

.ann-year-control{
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 18px;
}

.ann-year-label{
      color: rgba(255,255,255,0.72);
      font-size: 15px;
}

.ann-year-select{
      position: relative;
      min-width: 132px;
}

.ann-year-select summary{
      min-height: 40px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 8px 12px;
      border: 1px solid rgba(129,216,251,0.38);
      border-radius: 8px;
      color: white;
      background: rgba(255,255,255,0.055);
      cursor: pointer;
      list-style: none;
}

.ann-year-select summary::-webkit-details-marker{
      display: none;
}

.ann-year-select summary::after{
      content: "\f107";
      font-family: "Font Awesome 5 Pro";
      color: #81d8fb;
      transition: transform 0.2s ease;
}

.ann-year-select[open] summary{
      border-color: rgba(129,216,251,0.72);
      background: rgba(1,130,179,0.18);
}

.ann-year-select[open] summary::after{
      transform: rotate(180deg);
}

.ann-year-options{
      position: absolute;
      z-index: 20;
      top: calc(100% + 8px);
      left: 0;
      right: 0;
      max-height: 260px;
      overflow: auto;
      padding: 6px;
      border: 1px solid rgba(129,216,251,0.38);
      border-radius: 8px;
      background: rgba(8,18,28,0.98);
      box-shadow: 0 18px 38px rgba(0,0,0,0.34);
}

.ann-year-options a{
      display: block;
      padding: 8px 10px;
      border-radius: 6px;
      color: white;
}

.ann-year-options a.active,
.ann-year-options a:hover{
      color: #81d8fb;
      background: rgba(1,130,179,0.2);
}

.ann-section-title{
      margin: 22px 0 12px;
      color: #ffd894;
      font-size: 22px;
      line-height: 1.4em;
      font-weight: 600;
}

.ann-award-table{
      display: flex;
      flex-direction: column;
      margin-bottom: 18px;
      border: 1px solid rgba(255,255,255,0.13);
      border-radius: 8px;
      overflow: hidden;
      background: rgba(255,255,255,0.045);
}

.ann-award-head,
.ann-award-row{
      display: grid;
      grid-template-columns: 90px 110px 130px 1fr;
      gap: 12px;
      padding: 12px 14px;
      border-bottom: 1px solid rgba(255,255,255,0.1);
}

.ann-outstanding-table .ann-award-head,
.ann-outstanding-table .ann-award-row{
      grid-template-columns: 100px 1fr 1fr 120px;
}

.ann-award-head{
      color: #81d8fb;
      font-weight: 600;
      background: rgba(1,130,179,0.16);
}

.ann-award-row:last-child{
      border-bottom: 0;
}

.ann-award-row span{
      min-width: 0;
      overflow-wrap: anywhere;
      line-height: 1.55em;
}

@media( max-width:768px ){
      .ann-header{
            display: none;
      }

      .ann-header h1{
            font-size: 28px;
      }

      .ann-card summary,
      .ann-link-card{
            grid-template-columns: 1fr;
            gap: 6px;
            padding: 14px;
      }

      .ann-meta,
      .ann-files{
            display: block;
      }

      .ann-meta span,
      .ann-files span{
            display: block;
            margin-bottom: 2px;
      }

      .ann-filter a{
            flex: 1 1 auto;
            justify-content: center;
      }

      .ann-year-control{
            display: flex;
            align-items: stretch;
            flex-direction: column;
            gap: 6px;
      }

      .ann-year-select{
            width: 100%;
      }

      .ann-award-head{
            display: none;
      }

      .ann-award-row,
      .ann-outstanding-table .ann-award-row{
            grid-template-columns: 1fr;
            gap: 6px;
            padding: 14px;
      }
}
