/* ACOH shared production announcement renderer.
   Admin V1.0.92 and Delegate V1.0.116 use this exact byte-identical file. */

.acoh-announcement-modal{
  position:fixed;
  inset:0;
  z-index:10050;
  display:grid;
  place-items:center;
  padding:18px
}

.acoh-announcement-modal.hidden{
  display:none!important
}

.acoh-announcement-backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,4,4,.74);
  backdrop-filter:blur(7px)
}

.acoh-announcement-card{
  position:relative;
  z-index:1;
  width:min(590px,100%);
  max-height:min(790px,92vh);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:28px;
  background:linear-gradient(145deg,#fffefb,#fff2ca);
  border:2px solid #dfa500;
  box-shadow:0 30px 90px rgba(0,0,0,.42);
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif
}

.acoh-announcement-card:before{
  content:"";
  height:8px;
  flex:0 0 auto;
  background:linear-gradient(
    90deg,
    #080808 0 27%,
    #c81f2a 27% 38%,
    #f2b300 38% 72%,
    #080808 72% 78%,
    #f2b300 78%
  )
}

.acoh-announcement-card[data-priority="critical"]{
  background:linear-gradient(145deg,#fff,#ffe4e7);
  border-color:#c81f2a
}

.acoh-announcement-card[data-priority="important"]{
  background:linear-gradient(145deg,#fffefb,#ffefb7)
}

.acoh-announcement-header{
  padding:24px 25px 8px
}

.acoh-announcement-header-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px
}

.acoh-announcement-ribbons{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  min-width:0
}

.acoh-announcement-logo{
  flex:0 0 auto;
  width:82px;
  max-height:48px;
  object-fit:contain;
  object-position:right top;
  display:block;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.06))
}

.acoh-announcement-ribbon{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:#080808;
  color:#fff;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase
}

.acoh-announcement-ribbon.test{
  background:#155f9b;
  box-shadow:inset 0 -3px 0 #75bcff
}

.acoh-announcement-ribbon.important{
  background:#8a5700
}

.acoh-announcement-ribbon.critical{
  background:#c81f2a
}

.acoh-announcement-ribbon.hidden{
  display:none!important
}

.acoh-announcement-title{
  width:100%;
  max-width:none;
  margin:15px 0 0;
  font-size:35px;
  line-height:1.06;
  letter-spacing:-.045em;
  overflow-wrap:anywhere
}

.acoh-announcement-title.title-fit-overflow{
  outline:2px dashed #d62534;
  outline-offset:5px
}

.acoh-announcement-audience{
  display:block;
  margin:5px 25px 0;
  color:#745a2e;
  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em
}

.acoh-announcement-details{
  display:none;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  padding:14px 25px 0
}

.acoh-announcement-details.show{
  display:grid
}

.acoh-announcement-details>div{
  padding:11px 12px;
  border:1px solid #e3c887;
  border-radius:15px;
  background:rgba(255,255,255,.76)
}

.acoh-announcement-details small,
.acoh-announcement-details strong{
  display:block
}

.acoh-announcement-details small{
  font-size:8px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#745a2e
}

.acoh-announcement-details strong{
  margin-top:4px;
  font-size:12px;
  line-height:1.35;
  color:#2f2415
}

.acoh-announcement-body{
  overflow:auto;
  padding:15px 25px 10px;
  color:#4f3b19;
  font-size:16px;
  line-height:1.66;
  flex:1;
  scrollbar-width:thin;
  scrollbar-color:#c9972d transparent
}

.acoh-announcement-body p{
  margin:0 0 16px
}

.acoh-announcement-body ul,
.acoh-announcement-body ol{
  margin:9px 0 17px;
  padding-left:24px
}

.acoh-announcement-body li{
  margin:7px 0
}

.acoh-announcement-body a{
  color:#075fa5;
  font-weight:850;
  text-decoration-thickness:2px;
  text-underline-offset:2px
}

.acoh-announcement-body strong{
  font-weight:950
}

.acoh-announcement-body .txt-xs{
  font-size:.78em
}

.acoh-announcement-body .txt-sm{
  font-size:.9em
}

.acoh-announcement-body .txt-lg{
  font-size:1.2em;
  line-height:1.48
}

.acoh-announcement-body .txt-xl{
  font-size:1.48em;
  line-height:1.3;
  font-weight:850
}

.acoh-announcement-body .txt-display{
  font-size:1.82em;
  line-height:1.16;
  font-weight:1000;
  letter-spacing:-.035em
}

.acoh-announcement-body .txt-label{
  display:inline-block;
  padding:.25em .62em;
  border-radius:999px;
  background:#090909;
  color:#fff;
  font-size:.72em;
  font-weight:1000;
  letter-spacing:.07em;
  text-transform:uppercase
}

.acoh-announcement-body .txt-heading{
  font-size:1.38em;
  line-height:1.28;
  font-weight:950;
  letter-spacing:-.025em
}

.acoh-announcement-card.body-small .acoh-announcement-body{
  font-size:14px
}

.acoh-announcement-card.body-large .acoh-announcement-body{
  font-size:18px
}

.acoh-announcement-card.body-xlarge .acoh-announcement-body{
  font-size:20px
}

.acoh-announcement-card.spacing-compact .acoh-announcement-body{
  line-height:1.43
}

.acoh-announcement-card.spacing-relaxed .acoh-announcement-body,
.acoh-announcement-card.spacing-spacious .acoh-announcement-body{
  line-height:1.84
}

.acoh-announcement-card.spacing-spacious .acoh-announcement-body p{
  margin-bottom:22px
}

.acoh-announcement-card.spacing-spacious .acoh-announcement-body li{
  margin:10px 0
}

.acoh-announcement-card.align-center .acoh-announcement-body{
  text-align:center;
  margin-inline:auto;
  max-width:56ch
}

.acoh-announcement-inline-instruction{
  background:#fff1ac;
  border-radius:5px;
  padding:0 .22em;
  font-weight:800
}

.acoh-announcement-instruction{
  display:block;
  margin:15px 0;
  padding:14px 15px;
  border-left:5px solid #f2ad00;
  border-radius:12px;
  background:#fff5cf;
  line-height:1.55
}

.acoh-announcement-instruction> :last-child{
  margin-bottom:0!important
}

.acoh-announcement-instruction ul,
.acoh-announcement-instruction ol{
  margin-top:6px;
  margin-bottom:4px
}

.acoh-announcement-instruction .txt-sm{
  font-size:.9em
}

.acoh-announcement-instruction .txt-lg{
  font-size:1.2em;
  line-height:1.48
}

.acoh-announcement-instruction .txt-heading{
  font-size:1.38em;
  line-height:1.28;
  font-weight:950;
  letter-spacing:-.025em
}

.acoh-announcement-card[data-priority="critical"] .acoh-announcement-instruction{
  background:#ffeaea;
  border:1px solid #db5a5a
}

.acoh-announcement-card[data-priority="critical"] .acoh-announcement-inline-instruction{
  background:#ffd7d9
}

.acoh-announcement-schedule{
  display:block;
  margin:0 25px;
  padding:13px 0;
  border-top:1px solid #e2c783;
  color:#755e35;
  font-weight:850;
  font-size:10px
}

.acoh-announcement-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  padding:14px 25px calc(17px + env(safe-area-inset-bottom));
  border-top:1px solid #e2c783;
  background:linear-gradient(180deg,rgba(255,253,248,.76),#fffdf8 35%);
  box-shadow:0 -10px 30px rgba(40,25,0,.08)
}

.acoh-announcement-actions .primary-btn,
.acoh-announcement-actions .secondary-btn{
  min-width:0;
  text-align:center
}

.acoh-announcement-status{
  min-height:0;
  color:#a31620;
  font-weight:850;
  font-size:12px;
  padding:0 25px
}

.acoh-announcement-status:not(:empty){
  padding-bottom:12px
}

.acoh-announcement-open{
  overflow:hidden
}

.acoh-announcement-preview-host{
  width:390px;
  height:700px;
  display:flex;
  align-items:stretch;
  background:#111;
  border-radius:30px;
  padding:10px;
  box-shadow:0 20px 50px rgba(0,0,0,.3);
  overflow:hidden
}

.acoh-announcement-preview-host[data-platform="iphone"]{
  width:393px;
  border-radius:42px
}

.acoh-announcement-preview-host .acoh-announcement-card{
  width:100%;
  max-height:none;
  height:100%;
  border-radius:24px;
  box-shadow:none
}

.acoh-announcement-preview-host[data-platform="iphone"] .acoh-announcement-card{
  border-radius:31px
}

.acoh-announcement-card.is-preview .acoh-announcement-actions button{
  pointer-events:none
}

@media(max-width:620px){
  .acoh-announcement-modal{
    padding:10px
  }

  .acoh-announcement-card{
    border-radius:24px;
    max-height:calc(100vh - 20px)
  }

  .acoh-announcement-header{
    padding:20px 18px 7px
  }

  .acoh-announcement-header-row{
    gap:12px
  }

  .acoh-announcement-logo{
    width:74px;
    max-height:44px
  }

  .acoh-announcement-title{
    margin-top:13px
  }

  .acoh-announcement-audience{
    margin-inline:18px
  }

  .acoh-announcement-details{
    grid-template-columns:1fr;
    padding:12px 18px 0
  }

  .acoh-announcement-body{
    padding:13px 18px 8px;
    font-size:15.5px
  }

  .acoh-announcement-schedule{
    margin-inline:18px
  }

  .acoh-announcement-actions{
    grid-template-columns:1fr;
    padding:12px 18px calc(14px + env(safe-area-inset-bottom))
  }

  .acoh-announcement-status{
    padding-inline:18px
  }
}


/* Shared renderer V1.3.0 — poster auto-fit card/panel and legacy compact/cover guard. */
.acoh-announcement-scroll{
  flex:1;
  min-height:0;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:#c9972d transparent;
  overscroll-behavior:contain
}

.acoh-announcement-message-group{
  display:block
}

.acoh-announcement-scroll .acoh-announcement-body{
  overflow:visible;
  flex:none
}

.acoh-announcement-hero,
.acoh-announcement-poster,
.acoh-announcement-gallery{
  margin:14px 25px 4px
}

.acoh-announcement-hero{
  border:1px solid #e0c17b;
  border-radius:17px;
  overflow:hidden;
  background:#f5ead2
}

.acoh-announcement-media-open,
.acoh-announcement-poster-image-button,
.acoh-announcement-gallery-image-button{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:inherit
}

.acoh-announcement-hero-image{
  display:block;
  width:100%;
  height:190px;
  background:#eee7d7
}

.acoh-announcement-hero figcaption{
  padding:8px 11px;
  color:#6e5429;
  font-size:10px;
  font-weight:850;
  line-height:1.4;
  background:rgba(255,255,255,.82)
}

.acoh-announcement-poster{
  padding:9px;
  border:1px solid #e0c17b;
  border-radius:17px;
  background:rgba(255,255,255,.84)
}

.acoh-announcement-poster-image-button{
  overflow:hidden;
  border-radius:11px;
  background:#f4f0e7
}

.acoh-announcement-poster-image{
  display:block;
  width:100%;
  border-radius:11px;
  background:#f4f0e7
}

.acoh-announcement-poster.mode-auto .acoh-announcement-poster-image-button{
  height:auto;
  padding:0;
  background:transparent
}

.acoh-announcement-poster.mode-auto .acoh-announcement-poster-image{
  height:auto;
  object-fit:contain
}

.acoh-announcement-poster.mode-compact .acoh-announcement-poster-image-button,
.acoh-announcement-poster.mode-cover .acoh-announcement-poster-image-button{
  height:min(430px,52vh)
}

.acoh-announcement-poster.mode-compact .acoh-announcement-poster-image{
  height:100%;
  object-fit:contain
}

.acoh-announcement-poster.mode-cover .acoh-announcement-poster-image{
  height:100%;
  object-fit:cover
}

.acoh-announcement-poster-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 2px 1px
}

.acoh-announcement-poster-meta>div{
  min-width:0
}

.acoh-announcement-poster-meta b,
.acoh-announcement-poster-meta span{
  display:block
}

.acoh-announcement-poster-meta b{
  color:#302313;
  font-size:12px
}

.acoh-announcement-poster-meta span{
  margin-top:3px;
  color:#73572e;
  font-size:9px;
  font-weight:780;
  line-height:1.35
}

.acoh-announcement-view-poster{
  flex:0 0 auto;
  min-height:36px;
  padding:8px 11px;
  border:1px solid #080808;
  border-radius:10px;
  background:#080808;
  color:#fff;
  font-size:10px;
  font-weight:950;
  box-shadow:inset 0 -3px 0 #f2ad00
}

.acoh-announcement-gallery-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px
}

.acoh-announcement-gallery-head b{
  color:#302313;
  font-size:12px
}

.acoh-announcement-gallery-head span{
  color:#72582f;
  font-size:9px;
  font-weight:900
}

.acoh-announcement-gallery-stage{
  position:relative;
  height:245px;
  overflow:hidden;
  border:1px solid #e0c17b;
  border-radius:16px;
  background:#eee8da;
  touch-action:pan-y
}

.acoh-announcement-gallery-image-button,
.acoh-announcement-gallery-image-button img{
  width:100%;
  height:100%
}

.acoh-announcement-gallery-image-button img{
  display:block;
  background:#eee8da
}

.acoh-announcement-gallery-nav{
  position:absolute;
  top:50%;
  z-index:2;
  width:38px;
  height:38px;
  transform:translateY(-50%);
  border:0;
  border-radius:50%;
  background:rgba(0,0,0,.76);
  color:#fff;
  font-size:24px;
  font-weight:1000;
  line-height:1
}

.acoh-announcement-gallery-nav.previous{
  left:9px
}

.acoh-announcement-gallery-nav.next{
  right:9px
}

.acoh-announcement-gallery-caption{
  min-height:18px;
  margin:8px 1px 0;
  color:#62491f;
  font-size:10px;
  font-weight:800;
  line-height:1.4
}

.acoh-announcement-gallery-dots{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:8px
}

.acoh-announcement-gallery-dots button{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#d4bd87
}

.acoh-announcement-gallery-dots button.active{
  background:#080808
}

.acoh-announcement-media-viewer{
  position:fixed;
  inset:0;
  z-index:10150;
  display:grid;
  place-items:center;
  padding:18px
}

.acoh-announcement-media-viewer.hidden{
  display:none!important
}

.acoh-announcement-viewer-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.9);
  backdrop-filter:blur(8px)
}

.acoh-announcement-viewer-card{
  position:relative;
  z-index:1;
  width:min(980px,100%);
  max-height:94vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #5d513a;
  border-radius:20px;
  background:#111;
  color:#fff;
  box-shadow:0 35px 110px rgba(0,0,0,.7)
}

.acoh-announcement-viewer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid #3a352d
}

.acoh-announcement-viewer-head b,
.acoh-announcement-viewer-head span{
  display:block
}

.acoh-announcement-viewer-head b{
  font-size:14px
}

.acoh-announcement-viewer-head span{
  margin-top:2px;
  color:#d8c79d;
  font-size:10px;
  font-weight:800
}

.acoh-announcement-viewer-head button{
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#111;
  font-size:23px;
  font-weight:1000
}

.acoh-announcement-viewer-stage{
  position:relative;
  min-height:0;
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  background:#090909
}

.acoh-announcement-viewer-stage img{
  display:block;
  max-width:100%;
  max-height:calc(94vh - 125px);
  object-fit:contain;
  border-radius:7px;
  background:#fff
}

.acoh-announcement-viewer-nav{
  position:absolute;
  top:50%;
  z-index:2;
  width:44px;
  height:44px;
  transform:translateY(-50%);
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:#111;
  font-size:28px;
  font-weight:1000
}

.acoh-announcement-viewer-nav.previous{
  left:14px
}

.acoh-announcement-viewer-nav.next{
  right:14px
}

.acoh-announcement-viewer-nav.hidden{
  display:none
}

.acoh-announcement-viewer-card>p{
  min-height:38px;
  margin:0;
  padding:10px 15px 13px;
  color:#e5d8bb;
  font-size:11px;
  font-weight:780;
  line-height:1.45
}

.acoh-announcement-viewer-open{
  overflow:hidden
}

@media(max-width:620px){
  .acoh-announcement-hero,
  .acoh-announcement-poster,
  .acoh-announcement-gallery{
    margin-inline:18px
  }

  .acoh-announcement-hero-image{
    height:165px
  }

  .acoh-announcement-poster.mode-compact .acoh-announcement-poster-image-button,
  .acoh-announcement-poster.mode-cover .acoh-announcement-poster-image-button{
    height:min(360px,48vh)
  }

  .acoh-announcement-poster-meta{
    align-items:stretch;
    flex-direction:column
  }

  .acoh-announcement-view-poster{
    width:100%
  }

  .acoh-announcement-gallery-stage{
    height:215px
  }

  .acoh-announcement-media-viewer{
    padding:8px
  }

  .acoh-announcement-viewer-card{
    max-height:calc(100vh - 16px);
    border-radius:16px
  }

  .acoh-announcement-viewer-stage img{
    max-height:calc(100vh - 132px)
  }

  .acoh-announcement-viewer-nav{
    width:38px;
    height:38px
  }

  .acoh-announcement-viewer-nav.previous{
    left:8px
  }

  .acoh-announcement-viewer-nav.next{
    right:8px
  }
}
