
.planning-hidden{
  display:none !important;
}


.planning-shell{
  display:grid;
  gap:18px;
}


.planning-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
}


.planning-head h2{
  margin:5px 0 6px;
}


.planning-head p{
  margin:0;
  color:#8798b3;
  font-size:13px;
}


.planning-total{
  padding:10px 14px;

  border:
    1px solid
    rgba(34,211,238,.28);

  border-radius:12px;

  background:
    rgba(34,211,238,.05);

  color:#67e8f9;

  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}


.planning-filters{
  display:flex;
  flex-wrap:wrap;
  gap:12px;

  padding:14px;

  border:
    1px solid
    rgba(255,255,255,.08);

  border-radius:15px;

  background:
    rgba(255,255,255,.018);
}


.planning-filters label{
  display:grid;
  gap:6px;
}


.planning-filters label > span{
  color:#8294af;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
}


.planning-filters select,
.planning-filters input{
  min-height:40px;

  padding:0 12px;

  border:
    1px solid
    rgba(255,255,255,.12);

  border-radius:10px;

  background:#09172a;
  color:#f3f6fb;

  font:inherit;
}


.planning-list{
  display:grid;
  gap:16px;
}


.planning-day{
  overflow:hidden;

  border:
    1px solid
    rgba(255,255,255,.09);

  border-radius:17px;

  background:
    rgba(255,255,255,.015);
}


.planning-day-header{
  display:flex;
  justify-content:space-between;
  gap:18px;

  padding:18px 20px;

  border-bottom:
    1px solid
    rgba(255,255,255,.07);
}


.planning-date{
  color:#67e8f9;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}


.planning-day-header h3{
  margin:6px 0;
  color:#f5f7fb;
  font-size:18px;
}


.planning-day-header small{
  color:#7f91aa;
  font-size:11px;
}


.planning-count{
  text-align:right;
}


.planning-count strong{
  display:block;
  color:#67e8f9;
  font-size:23px;
}


.planning-count span{
  color:#8294ae;
  font-size:9px;
  text-transform:uppercase;
}


.planning-stories{
  display:grid;
}


.planning-story{
  display:grid;

  grid-template-columns:
    82px
    minmax(0,1fr);

  gap:16px;

  padding:16px 20px;

  border-bottom:
    1px solid
    rgba(255,255,255,.055);
}


.planning-story:last-child{
  border-bottom:0;
}


.planning-preview{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;

  min-height:112px;

  border:
    1px dashed
    rgba(34,211,238,.28);

  border-radius:12px;

  background:
    rgba(34,211,238,.035);

  color:#67e8f9;
}


.planning-preview strong{
  font-size:17px;
}


.planning-preview span{
  margin-top:5px;
  color:#72849f;
  font-size:8px;
  text-transform:uppercase;
}


.planning-story-content{
  min-width:0;
}


.planning-story-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}


.planning-story-top > div:first-child > strong{
  display:block;

  color:#f2f5fa;

  font-size:13px;
  line-height:1.35;
}


.planning-story-top small{
  display:block;

  margin-top:4px;

  color:#7f91ab;
  font-size:10px;
}


.planning-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:5px;
}


.planning-badge{
  display:inline-flex;
  align-items:center;

  min-height:24px;

  padding:0 8px;

  border-radius:999px;

  font-size:8px;
  font-weight:900;
  white-space:nowrap;
  text-transform:uppercase;
}


.planning-badge.excel{
  background:
    rgba(73,135,229,.09);

  color:#8db8f4;
}


.planning-badge.extra{
  background:
    rgba(34,211,238,.10);

  color:#67e8f9;
}


.planning-badge.published{
  background:
    rgba(53,203,151,.10);

  color:#53d6a7;
}


.planning-badge.pending{
  background:
    rgba(255,255,255,.05);

  color:#98a8bd;
}


.planning-copy{
  margin:11px 0 0;

  color:#c5cfdd;

  font-size:12px;
  line-height:1.55;
}


.planning-meta{
  display:grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap:8px;

  margin-top:12px;
}


.planning-meta > div{
  padding:8px 9px;

  border-radius:9px;

  background:
    rgba(0,0,0,.13);
}


.planning-meta span{
  display:block;

  margin-bottom:3px;

  color:#71839d;
  font-size:8px;
  text-transform:uppercase;
}


.planning-meta strong{
  color:#bfcbd9;

  font-size:10px;
  line-height:1.4;
}


.planning-message,
.planning-empty{
  padding:22px;

  border:
    1px dashed
    rgba(255,255,255,.11);

  border-radius:14px;

  color:#8294ae;

  text-align:center;
  font-size:12px;
}


@media(max-width:700px){

  .planning-head{
    flex-direction:column;
  }


  .planning-story{
    grid-template-columns:
      60px
      minmax(0,1fr);

    padding:14px;
  }


  .planning-preview{
    min-height:90px;
  }


  .planning-story-top{
    flex-direction:column;
  }


  .planning-badges{
    justify-content:flex-start;
  }


  .planning-meta{
    grid-template-columns:1fr;
  }

}



/* ============================================================
   D1B — LAYOUT FINAL
============================================================ */


.planning-toolbar-button{
  white-space:nowrap;
}


.planning-toolbar-button.planning-active{
  border-color:
    rgba(34,211,238,.65);

  background:
    rgba(34,211,238,.14);

  color:#67e8f9;
}


/* ------------------------------------------------------------
   PAINEL
------------------------------------------------------------ */

#tab-planning{
  width:100%;
}


#tab-planning .planning-shell{
  width:100%;

  margin:
    26px
    0
    12px;

  padding:
    0
    0
    24px;
}


/* ------------------------------------------------------------
   CABEÇALHO
------------------------------------------------------------ */

#tab-planning .planning-head{
  align-items:flex-end;

  margin-bottom:16px;
}


#tab-planning .planning-head h2{
  margin:
    5px
    0
    4px;

  font-size:22px;
}


#tab-planning .planning-head p{
  max-width:620px;

  font-size:12px;

  line-height:1.5;
}


#tab-planning .planning-total{
  padding:
    8px
    12px;

  font-size:11px;
}


/* ------------------------------------------------------------
   FILTROS
------------------------------------------------------------ */

#tab-planning .planning-toolbar{
  margin-bottom:15px;

  padding:12px;

  border:
    1px solid
    rgba(255,255,255,.08);

  border-radius:14px;

  background:
    rgba(255,255,255,.018);
}


#tab-planning .planning-filters{
  display:flex;

  align-items:flex-end;

  flex-wrap:wrap;

  gap:10px;

  padding:0;

  border:0;

  background:transparent;
}


#tab-planning .planning-filters select,
#tab-planning .planning-filters input{
  min-height:38px;

  border-radius:9px;
}


/* ------------------------------------------------------------
   DIAS
------------------------------------------------------------ */

#tab-planning .planning-list{
  gap:12px;
}


#tab-planning .planning-day{
  border-radius:14px;

  background:
    rgba(255,255,255,.014);
}


#tab-planning .planning-day-header{
  align-items:center;

  padding:
    14px
    16px;
}


#tab-planning .planning-day-header h3{
  margin:
    4px
    0;

  font-size:15px;
}


#tab-planning .planning-date{
  font-size:9px;
}


#tab-planning .planning-count strong{
  font-size:19px;
}


/* ------------------------------------------------------------
   STORY
------------------------------------------------------------ */

#tab-planning .planning-story{
  grid-template-columns:
    62px
    minmax(0,1fr);

  gap:13px;

  padding:
    12px
    16px;
}


#tab-planning .planning-preview{
  min-height:82px;

  border-radius:9px;
}


#tab-planning .planning-preview strong{
  font-size:14px;
}


#tab-planning .planning-story-top{
  align-items:center;
}


#tab-planning
.planning-story-top
> div:first-child
> strong{
  font-size:11px;
}


#tab-planning .planning-story-top small{
  font-size:9px;
}


#tab-planning .planning-copy{
  max-width:1100px;

  margin-top:7px;

  font-size:10px;

  line-height:1.5;
}


/* ------------------------------------------------------------
   METADADOS
------------------------------------------------------------ */

#tab-planning .planning-meta{
  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap:6px;

  margin-top:8px;
}


#tab-planning .planning-meta > div{
  padding:
    6px
    8px;
}


#tab-planning .planning-meta span{
  font-size:7px;
}


#tab-planning .planning-meta strong{
  font-size:9px;
}


/* ------------------------------------------------------------
   BADGES
------------------------------------------------------------ */

#tab-planning .planning-badge{
  min-height:20px;

  padding:
    0
    7px;

  font-size:7px;
}


/* ------------------------------------------------------------
   RESPONSIVE
------------------------------------------------------------ */

@media(max-width:900px){

  #tab-planning .planning-shell{
    margin-top:20px;
  }

}


@media(max-width:700px){

  #tab-planning .planning-head{
    align-items:flex-start;
  }


  #tab-planning .planning-story{
    grid-template-columns:
      52px
      minmax(0,1fr);

    padding:11px;
  }


  #tab-planning .planning-preview{
    min-height:74px;
  }


  #tab-planning .planning-meta{
    grid-template-columns:1fr;
  }

}



/* ============================================================
   D1C — FILTROS GLOBAIS
============================================================ */

#tab-planning .planning-head{
  margin-bottom:14px;
}


#tab-planning .planning-list{
  margin-top:0;
}


#tab-planning .planning-total{
  cursor:help;
}



/* ============================================================
   D2H3 — SHAREPOINT PREVIEWS
============================================================ */

#tab-planning .planning-preview{
  position:relative;

  overflow:hidden;

  aspect-ratio:9 / 16;

  min-height:0;
}


#tab-planning .planning-preview img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;

  border-radius:inherit;
}


#tab-planning .planning-preview-missing{
  opacity:.60;
}


#tab-planning .planning-preview-missing strong{
  color:#8393aa;
}


@media(min-width:901px){

  #tab-planning .planning-story{
    grid-template-columns:
      72px
      minmax(0,1fr);
  }

}



/* ============================================================
   D2H4 — PREVIEW AMPLIADO
============================================================ */

#tab-planning .planning-preview:has(img){
  cursor:zoom-in;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}


#tab-planning .planning-preview:has(img):hover{
  transform:scale(1.045);

  border-color:
    rgba(34,211,238,.58);

  box-shadow:
    0 10px 26px
    rgba(0,0,0,.34),
    0 0 0 1px
    rgba(34,211,238,.08);
}


body.planning-media-modal-open{
  overflow:hidden;
}


.planning-media-modal{
  position:fixed;
  inset:0;

  z-index:10050;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:28px;
}


.planning-media-modal-hidden{
  display:none !important;
}


.planning-media-modal-backdrop{
  position:absolute;
  inset:0;

  background:
    rgba(2,8,20,.88);

  backdrop-filter:
    blur(8px);

  cursor:zoom-out;
}


.planning-media-modal-dialog{
  position:relative;
  z-index:1;

  display:flex;
  flex-direction:column;

  max-width:
    min(
      520px,
      calc(100vw - 40px)
    );

  max-height:
    calc(100vh - 40px);

  border:
    1px solid
    rgba(34,211,238,.26);

  border-radius:18px;

  background:#0b0d14;

  box-shadow:
    0 30px 100px
    rgba(0,0,0,.58);

  overflow:hidden;
}


.planning-media-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:18px;

  min-height:50px;

  padding:
    0
    12px
    0
    16px;

  border-bottom:
    1px solid
    rgba(255,255,255,.07);
}


.planning-media-modal-head strong{
  color:#67e8f9;

  font-size:12px;
  font-weight:850;
}


.planning-media-modal-close{
  width:34px;
  height:34px;

  padding:0;

  border:
    1px solid
    rgba(255,255,255,.10);

  border-radius:10px;

  background:
    rgba(255,255,255,.04);

  color:#fff;

  font-size:24px;
  line-height:1;
}


.planning-media-modal-close:hover{
  border-color:
    rgba(34,211,238,.38);

  background:
    rgba(34,211,238,.10);

  color:#67e8f9;
}


.planning-media-modal-body{
  display:flex;
  align-items:center;
  justify-content:center;

  min-height:0;

  padding:14px;

  background:
    rgba(0,0,0,.16);
}


.planning-media-modal-body img{
  display:block;

  width:auto;
  height:auto;

  max-width:100%;
  max-height:
    calc(100vh - 110px);

  aspect-ratio:9 / 16;

  object-fit:contain;

  border-radius:10px;

  box-shadow:
    0 15px 50px
    rgba(0,0,0,.40);
}


@media(max-width:700px){

  .planning-media-modal{
    padding:12px;
  }


  .planning-media-modal-dialog{
    max-width:
      calc(100vw - 24px);

    max-height:
      calc(100vh - 24px);
  }


  .planning-media-modal-body{
    padding:10px;
  }


  .planning-media-modal-body img{
    max-height:
      calc(100vh - 90px);
  }

}



/* ============================================================
   D3F — GALERIA NO MODAL DE STORIES
============================================================ */

.planning-media-modal-head{
  gap:10px;
}


.planning-media-modal-head
#planning-media-modal-title{
  flex:1;
  min-width:0;
}


.planning-media-gallery-counter{
  flex:none;

  padding:
    5px
    9px;

  border:
    1px solid
    rgba(34,211,238,.18);

  border-radius:8px;

  background:
    rgba(34,211,238,.06);

  color:#aebcd0;

  font-size:10px;
  font-weight:800;
}


.planning-media-modal-body{
  position:relative;
}


.planning-media-gallery-arrow{
  position:absolute;

  top:50%;

  z-index:5;

  display:flex;
  align-items:center;
  justify-content:center;

  width:46px;
  height:58px;

  padding:0;

  border:
    1px solid
    rgba(255,255,255,.15);

  border-radius:13px;

  background:
    rgba(3,10,24,.78);

  color:#ffffff;

  font-family:
    Arial,
    sans-serif;

  font-size:42px;
  font-weight:300;
  line-height:1;

  cursor:pointer;

  transform:
    translateY(-50%);

  backdrop-filter:
    blur(6px);

  transition:
    background .15s ease,
    border-color .15s ease,
    opacity .15s ease,
    transform .15s ease;
}


.planning-media-gallery-prev{
  left:22px;
}


.planning-media-gallery-next{
  right:22px;
}


.planning-media-gallery-arrow:hover:not(:disabled){
  background:
    rgba(34,211,238,.16);

  border-color:
    rgba(34,211,238,.58);

  color:#67e8f9;

  transform:
    translateY(-50%)
    scale(1.05);
}


.planning-media-gallery-arrow:disabled,
.planning-media-gallery-arrow.disabled{
  opacity:.20;

  cursor:default;
}


@media(max-width:700px){

  .planning-media-gallery-arrow{
    width:40px;
    height:52px;

    font-size:36px;
  }


  .planning-media-gallery-prev{
    left:8px;
  }


  .planning-media-gallery-next{
    right:8px;
  }


  .planning-media-gallery-counter{
    padding:
      4px
      7px;

    font-size:9px;
  }

}



/* ------------------------------------------------------------
   PROMPT DA IMAGEM (js/planning.js · promptBlock)
------------------------------------------------------------ */

#tab-planning .planning-prompt{
  margin-top:8px;
}


#tab-planning .planning-prompt summary{
  cursor:pointer;

  color:#71839d;

  font-size:8px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}


#tab-planning .planning-prompt summary:hover{
  color:var(--gold);
}


#tab-planning .planning-prompt-text{
  max-height:260px;
  overflow:auto;

  margin:6px 0 0;
  padding:8px 9px;

  border-radius:9px;
  background:rgba(0,0,0,.18);

  color:#c5cfdd;

  font-family:inherit;
  font-size:9px;
  line-height:1.5;

  white-space:pre-wrap;
  overflow-wrap:anywhere;
}


#tab-planning .planning-prompt-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;

  margin-top:8px;
}


#tab-planning .planning-prompt-button{
  min-height:26px;
  padding:0 10px;

  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(255,255,255,.04);

  color:#bfcbd9;

  font:inherit;
  font-size:9px;
  font-weight:800;

  cursor:pointer;
}


#tab-planning .planning-prompt-button:hover{
  border-color:var(--gold);
}


#tab-planning .planning-prompt-status{
  color:#71839d;
  font-size:9px;
}


#tab-planning .planning-prompt-status[data-type="ok"]{
  color:var(--positive);
}


#tab-planning .planning-prompt-status[data-type="error"]{
  color:var(--danger);
}

