/* =========================================================
   REPAGINAÇÃO CONGHUB
   Login em tela dividida, menu em grupos, banner de boas-vindas
   e acabamento dos cartões. Carregado depois do tema.
========================================================= */
[hidden]{ display: none !important; }

/* ---------- Login ---------- */
.login-screen{
  min-height: 100vh; padding: 0;
  display: flex; align-items: stretch; justify-content: stretch;
  background: var(--paper-raised);
}
.login-brand{
  flex: 1.1; position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  padding: 48px;
  color: #fff;
  background:
    radial-gradient(circle at 72% 88%, rgba(255, 170, 90, .22), transparent 42%),
    radial-gradient(circle at 20% 12%, rgba(23, 134, 252, .30), transparent 48%),
    linear-gradient(160deg, #0B2A63 0%, #031B4B 100%);
}
.login-brand::after{
  content: ''; position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px);
  background-size: 22px 22px;
  pointer-events: none;
}
.login-brand-inner{ position: relative; z-index: 1; max-width: 440px; }
.login-brand-logo{ width: 112px; height: 112px; border-radius: 26px; display: block; margin-bottom: 30px; box-shadow: 0 18px 40px rgba(0, 0, 0, .35); }
.login-brand-title{ font-size: 30px; line-height: 1.25; font-weight: 700; letter-spacing: -0.015em; margin: 0 0 24px; }
.login-brand-list{ list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.login-brand-list li{ display: flex; align-items: center; gap: 12px; font-size: 16px; color: rgba(255, 255, 255, .88); }
.login-brand-list li::before{
  content: '✓'; flex-shrink: 0;
  width: 26px; height: 26px; border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(23, 134, 252, .28); color: #fff; font-size: 13px; font-weight: 700;
}
.login-panel{ flex: 1; display: flex; align-items: center; justify-content: center; padding: 48px 32px; }
.login-screen .login-card{ max-width: 400px; width: 100%; padding: 0; border: none; box-shadow: none; border-radius: 0; background: transparent; }
.login-screen .login-logo{ display: none; }
.login-title{ font-size: 30px; margin: 0 0 8px; }
.login-sub{ font-size: 15px; margin: 0 0 26px; }
.login-card label{ font-size: 14px; color: var(--ink); margin: 16px 0 6px; }
.login-card input{ min-height: 50px; font-size: 17px; letter-spacing: .08em; border-radius: 12px; background: var(--paper); border-color: var(--line); }
.login-card input:focus{ background: #fff; }
.login-submit{ width: 100%; min-height: 52px; margin-top: 22px; font-size: 16px; border-radius: 12px; }
.login-error{ font-size: 14px; font-weight: 700; }
.login-demo{ text-align: left; background: var(--paper); border-radius: 12px; padding: 12px 14px; font-size: 13px; line-height: 1.6; }
.login-alt{ margin-top: 18px; font-size: 14px; }
.login-alt a{ color: var(--brand-accent); font-weight: 700; text-decoration: none; }
.login-alt a:hover{ text-decoration: underline; }

@media (max-width: 900px){
  .login-screen{ flex-direction: column; background: linear-gradient(180deg, #0B2A63 0, #031B4B 240px, var(--paper) 240px); }
  .login-brand{ display: none; }
  .login-panel{ padding: 76px 16px 32px; align-items: flex-start; }
  .login-screen .login-card{ background: #fff; border-radius: 22px; padding: 28px 22px; box-shadow: var(--shadow-float); }
  .login-screen .login-logo{ display: block; width: 76px; height: 76px; border-radius: 18px; margin: -66px 0 16px; box-shadow: 0 10px 24px rgba(0, 0, 0, .25); }
  .login-title{ font-size: 26px; }
}

/* ---------- Menu em grupos ---------- */
.nav-section{ display: flex; flex-direction: column; gap: 2px; margin-bottom: 16px; }
.nav-label{ margin: 0; padding: 4px 12px 6px; font-size: 12.5px; font-weight: 700; color: var(--text-muted); }
#appRoot .tab-btn{ transition: background-color .18s ease, color .18s ease, box-shadow .18s ease; }
@media (min-width: 1100px){
  #appRoot .tab-btn.active{ box-shadow: inset 3px 0 0 var(--brand-accent); }
}
@media (max-width: 1099px){
  .nav-section{ display: contents; }
  .nav-label{ display: none; }
}

/* ---------- Cabeçalhos ---------- */
.booklet-title{ font-size: 27px; }
.section-title{ display: flex; align-items: center; gap: 10px; }
.section-title::before{ content: ''; width: 4px; height: 18px; border-radius: 4px; background: var(--brand-accent); flex-shrink: 0; }

/* Banner de boas-vindas no Início */
#panel-home > .toolbar{
  position: relative; overflow: hidden;
  padding: 26px 28px; margin-bottom: 20px;
  border-radius: var(--radius-lg);
  color: #fff;
  background:
    radial-gradient(circle at 88% 120%, rgba(255, 170, 90, .28), transparent 45%),
    linear-gradient(135deg, #0B2A63 0%, #133C86 100%);
}
#panel-home > .toolbar .booklet-title{ color: #fff; font-size: 28px; }
#panel-home > .toolbar .booklet-range{ color: rgba(255, 255, 255, .8); }

/* ---------- Cartões e itens ---------- */
.report-card, .publication, .activity-block, .info-block{ border-color: var(--line); }
.mydesig-item, .member-card, .territory-card, .fs-group-card{ transition: border-color .18s ease, box-shadow .18s ease; }
.mydesig-item:hover, .member-card:hover, .territory-card:hover, .fs-group-card:hover{ border-color: var(--line-strong); box-shadow: 0 4px 14px rgba(28, 36, 48, .06); }
.pcard-row, .dropdown-item, .notif-item, .sheet tbody tr{ transition: background-color .15s ease; }
.sheet tbody tr:hover td{ background: #FAFBFC; }
.stat-card .stat-value{ color: var(--brand); }
.btn{ transition: background-color .15s ease, border-color .15s ease, transform .12s ease, box-shadow .15s ease; }
.btn-primary{ box-shadow: 0 1px 2px rgba(11, 42, 99, .25); }
.btn-primary:hover{ box-shadow: 0 4px 12px rgba(11, 42, 99, .25); }
.btn:active{ transform: scale(.97); }

/* ---------- Relatório do mês: enviado ---------- */
.report-sent{ display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; background: var(--ok-bg); }
.report-sent-icon{ width: 38px; height: 38px; border-radius: 50%; background: var(--ok); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 18px; flex-shrink: 0; }
.report-sent-title{ margin: 0 0 2px; font-weight: 700; font-size: 16px; color: var(--ok); }
.report-sent-meta{ margin: 0 0 6px; font-size: 14px; color: var(--ink-soft); }
.report-sent .link-btn{ padding-left: 0; }
.report-status-line{ display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 12px 16px; margin-bottom: 16px; border-radius: var(--radius); font-size: 14.5px; font-weight: 700; }
.report-status-line.ok{ background: var(--ok-bg); color: var(--ok); }
.report-status-line.pending{ background: var(--highlight-bg); color: var(--highlight-ink); }
.report-status-line .btn{ margin-left: auto; }
.rsl-icon{ width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-size: 13px; background: currentColor; }
.report-status-line.ok .rsl-icon{ background: var(--ok); }
.report-status-line.pending .rsl-icon{ background: var(--amber); }

/* ---------- Resumo do secretário ---------- */
.sec-summary{ border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; margin-bottom: 14px; background: linear-gradient(180deg, var(--brand-soft), #fff 70%); }
.sec-summary-head{ display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; font-size: 15px; }
.sum-grid{ display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.sum-tile{ background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; }
.sum-value{ display: block; font-size: 22px; font-weight: 700; color: var(--brand); letter-spacing: -0.01em; }
.sum-label{ display: block; font-size: 12.5px; color: var(--text-muted); }
@media (max-width: 1099px){ .sum-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px){
  .sum-grid{ grid-template-columns: repeat(2, 1fr); }
  #panel-home > .toolbar{ padding: 20px 18px; }
  #panel-home > .toolbar .booklet-title{ font-size: 24px; }
  .report-status-line .btn{ margin-left: 0; width: 100%; }
}

/* ---------- Impressão do relatório geral ---------- */
@media print{
  @page geral{ size: A4 portrait; margin: 14mm; }
  .print-portrait{ page: geral; }
  .print-head{ display: flex; align-items: center; gap: 12pt; margin-bottom: 8pt; }
  .print-head img{ width: 44pt; height: 44pt; border-radius: 10pt; }
  .print-head .print-meta{ margin: 0; }
  .print-sheet h2{ font-size: 12pt; margin: 14pt 0 6pt; }
  .print-sheet table.kv td:last-child{ width: 30%; font-weight: 700; }
  .print-sheet tr.total td{ font-weight: 700; background: #f2f2f2; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .print-list{ font-size: 10pt; line-height: 1.5; margin: 0; }
}


/* ---------- Estados pendentes e destaques no azul da marca ---------- */
.pet-pendente, .pub-fill-status.incomplete, .ab-count.warn, .status-teste{ background: var(--highlight-bg); color: var(--highlight-ink); }
.vote-wait{ color: var(--amber); }
.mydesig-item.now{ border-color: var(--highlight-line); }

/* =========================================================
   LOGIN DA CONGREGAÇÃO: apresentação do sistema
   Computador: explicação à esquerda (rola), formulário fixo à direita.
   Celular: capa com ícones flutuantes, formulário, depois a explicação.
========================================================= */
#loginScreen{ min-height: 100vh; display: flex; align-items: stretch; background: var(--paper-raised); }
#loginScreen .login-brand{
  flex: 1.25; display: block; padding: 0; overflow-y: auto; max-height: 100vh;
  align-items: initial; justify-content: initial;
}
#loginScreen .login-brand::after{ position: fixed; width: 55%; }
#loginScreen .login-panel{ flex: 1; position: sticky; top: 0; height: 100vh; }
.login-hero{ position: relative; z-index: 1; padding: 64px 56px 28px; overflow: hidden; }
.login-hero-text{ position: relative; z-index: 2; max-width: 430px; }
.login-brand-text{ font-size: 17px; line-height: 1.6; color: rgba(255, 255, 255, .82); margin: 0; max-width: 500px; }
.login-more{ position: relative; z-index: 1; padding: 12px 56px 56px; color: #fff; }
.login-more-title{ font-size: 18px; margin: 28px 0 14px; color: #fff; }

/* Passos */
.steps{ list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; max-width: 560px; }
.steps li{
  display: flex; gap: 14px; align-items: flex-start;
  padding: 14px 16px; border-radius: 16px;
  background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.step-num{
  flex-shrink: 0; width: 34px; height: 34px; border-radius: 11px;
  display: grid; place-items: center; font-weight: 700;
  background: linear-gradient(145deg, #3A9BFF, #1463D6); color: #fff;
  box-shadow: 0 6px 14px rgba(20, 99, 214, .45), inset 0 1px 0 rgba(255, 255, 255, .4);
}
.steps b, .feature b{ display: block; font-size: 15.5px; margin-bottom: 2px; }
.steps p, .feature p{ margin: 0; font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, .75); }

/* Recursos com ícones 3D */
.feature-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 640px; }
.feature{
  display: flex; gap: 14px; align-items: flex-start;
  padding: 16px; border-radius: 16px;
  background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1);
  transition: transform .25s ease, background-color .25s ease;
}
.feature:hover{ transform: translateY(-3px); background: rgba(255, 255, 255, .1); }
.icon3d{
  flex-shrink: 0; width: 48px; height: 48px; border-radius: 15px;
  display: grid; place-items: center; font-size: 24px;
  transform: perspective(300px) rotateX(10deg) rotateY(-12deg);
  box-shadow: 0 10px 20px rgba(0, 0, 0, .35), inset 0 2px 0 rgba(255, 255, 255, .45), inset 0 -3px 0 rgba(0, 0, 0, .18);
  transition: transform .3s ease;
}
.feature:hover .icon3d{ transform: perspective(300px) rotateX(0) rotateY(0) scale(1.06); }
.icon3d-blue{ background: linear-gradient(145deg, #5AAEFF, #1463D6); }
.icon3d-green{ background: linear-gradient(145deg, #5FD39A, #1F8A57); }
.icon3d-teal{ background: linear-gradient(145deg, #5CC8D6, #1F7A8C); }
.icon3d-violet{ background: linear-gradient(145deg, #A78BFA, #5B3FD0); }
.icon3d-rose{ background: linear-gradient(145deg, #F59AB5, #C23B6A); }
.icon3d-navy{ background: linear-gradient(145deg, #6C8FD8, #1B3A7A); }

/* Ícones flutuantes (vidro em 3D) */
.float-icons{ position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.f3d{
  position: absolute; width: 64px; height: 64px; border-radius: 20px;
  display: grid; place-items: center; font-size: 30px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .32), rgba(255, 255, 255, .06));
  border: 1px solid rgba(255, 255, 255, .28);
  box-shadow: 0 22px 40px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .45);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  animation: ch-float 7s ease-in-out infinite;
}
.f3d-1{ top: 44px; right: 7%; --r: -12deg; }
.f3d-2{ top: 150px; right: 18%; --r: 10deg; width: 54px; height: 54px; font-size: 25px; animation-delay: -1.5s; }
.f3d-3{ top: 250px; right: 6%; --r: 14deg; animation-delay: -3s; }
.f3d-4{ top: 36px; right: 25%; --r: -8deg; width: 48px; height: 48px; font-size: 22px; animation-delay: -4.5s; opacity: .85; }
.f3d-5{ top: 350px; right: 17%; --r: -14deg; width: 52px; height: 52px; font-size: 24px; animation-delay: -2.2s; }
.f3d-6{ top: 232px; right: 21%; --r: 8deg; width: 44px; height: 44px; font-size: 20px; animation-delay: -5.5s; opacity: .7; }
@keyframes ch-float{
  0%, 100%{ transform: perspective(500px) translateY(0) rotate(var(--r)) rotateX(12deg); }
  50%{ transform: perspective(500px) translateY(-16px) rotate(calc(var(--r) * -0.6)) rotateX(-6deg); }
}
.login-hero-text > *{ animation: ch-rise .6s cubic-bezier(.2, .7, .2, 1) both; }
.login-hero-text > :nth-child(2){ animation-delay: .08s; }
.login-hero-text > :nth-child(3){ animation-delay: .16s; }
.steps li, .feature{ animation: ch-rise .6s cubic-bezier(.2, .7, .2, 1) both; }
.steps li:nth-child(2), .feature:nth-child(2){ animation-delay: .06s; }
.steps li:nth-child(3), .feature:nth-child(3){ animation-delay: .12s; }
.feature:nth-child(4){ animation-delay: .18s; }
.feature:nth-child(5){ animation-delay: .24s; }
.feature:nth-child(6){ animation-delay: .3s; }

@media (max-width: 1180px) and (min-width: 901px){
  .feature-grid{ grid-template-columns: 1fr; }
  /* Tela média: ícones só na faixa de cima, longe do texto */
  .f3d-2, .f3d-4, .f3d-5, .f3d-6{ display: none; }
  .f3d-1{ top: 34px; right: 7%; }
  .f3d-3{ top: 70px; right: 24%; }
}

/* Celular e tablet: capa, formulário e explicação em sequência */
@media (max-width: 900px){
  #loginScreen{ flex-direction: column; background: var(--paper); }
  #loginScreen .login-brand{ display: contents; }
  #loginScreen .login-brand::after{ display: none; }
  .login-hero{
    order: 1; padding: 40px 22px 96px;
    color: #fff;
    background:
      radial-gradient(circle at 80% 100%, rgba(255, 170, 90, .22), transparent 45%),
      radial-gradient(circle at 15% 10%, rgba(23, 134, 252, .3), transparent 50%),
      linear-gradient(160deg, #0B2A63 0%, #031B4B 100%);
  }
  .login-hero-text{ max-width: 70%; }
  .login-brand-logo{ width: 72px; height: 72px; border-radius: 18px; margin-bottom: 18px; }
  .login-brand-title{ font-size: 23px; margin-bottom: 10px; }
  .login-brand-text{ font-size: 15px; }
  .f3d{ width: 50px; height: 50px; font-size: 24px; border-radius: 16px; }
  .f3d-4, .f3d-6{ display: none; }
  .feature-grid{ grid-template-columns: 1fr; }
  .f3d-1{ top: 28px; right: 16px; }
  .f3d-2{ top: 120px; right: 58px; width: 42px; height: 42px; font-size: 20px; }
  .f3d-3{ top: 210px; right: 12px; }
  .f3d-5{ top: 300px; right: 54px; width: 42px; height: 42px; font-size: 20px; }
  #loginScreen .login-panel{ order: 2; position: static; height: auto; padding: 0 16px; margin-top: -72px; z-index: 2; align-items: flex-start; }
  #loginScreen .login-card{ background: #fff; border-radius: 22px; padding: 26px 22px; box-shadow: var(--shadow-float); }
  #loginScreen .login-logo{ display: none; }
  .login-more{ order: 3; padding: 8px 18px 48px; color: var(--ink); }
  .login-more-title{ color: var(--ink); font-size: 18px; }
  .steps li, .feature{ background: #fff; border-color: var(--line); backdrop-filter: none; }
  .steps p, .feature p{ color: var(--ink-soft); }
  .feature:hover{ background: #fff; }
}

/* =========================================================
   NOTIFICAÇÕES
========================================================= */
.notif-panel{ width: 380px; padding: 0; overflow: hidden; border: 1px solid var(--line); }
.notif-panel-header{
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 14px 16px; border-bottom: 1px solid var(--line); background: #fff;
  font-family: var(--font-ui); font-weight: 400; font-size: 15px;
}
.notif-panel-header > div{ display: flex; align-items: center; gap: 8px; }
.notif-panel-header b{ font-size: 16px; }
.notif-count{ white-space: nowrap; font-size: 12px; font-weight: 700; padding: 2px 9px; border-radius: 999px; background: var(--highlight-bg); color: var(--highlight-ink); }
.notif-panel-header .link-btn{ font-size: 13px; color: var(--brand-accent-strong); white-space: nowrap; padding: 4px 6px; }
.notif-list{ max-height: min(60vh, 460px); overflow-y: auto; padding-bottom: 6px; }
.notif-group{ margin: 0; padding: 12px 16px 4px; font-size: 12.5px; font-weight: 700; color: var(--text-muted); }
.notif-item{
  position: relative; display: flex; gap: 12px; align-items: flex-start;
  margin: 4px 8px; padding: 12px 12px; border: none; border-radius: 12px; cursor: pointer;
}
.notif-item:hover{ background: var(--paper); }
.notif-item.unread{ background: var(--highlight-bg); }
.notif-item.unread:hover{ background: #DDEBFF; }
.notif-icon{
  flex-shrink: 0; width: 40px; height: 40px; border-radius: 13px;
  display: grid; place-items: center; font-size: 19px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 4px 10px rgba(28, 36, 48, .12);
}
.notif-assignment{ background: linear-gradient(145deg, #DCEBFF, #B9D5FF); }
.notif-report{ background: linear-gradient(145deg, #DDF5E8, #B4E6CB); }
.notif-petition{ background: linear-gradient(145deg, #FBE0EA, #F4BBD0); }
.notif-event{ background: linear-gradient(145deg, #E7E1FF, #CDBFFF); }
.notif-absence{ background: linear-gradient(145deg, #DDF3F6, #B2E1E8); }
.notif-info{ background: linear-gradient(145deg, #EEF1F5, #D8DEE6); }
.notif-body{ flex: 1; min-width: 0; }
.notif-item-text{ margin: 0 0 4px; font-size: 14px; line-height: 1.45; color: var(--ink); }
.notif-item.unread .notif-item-text{ font-weight: 700; }
.notif-item-date{ font-size: 12.5px; color: var(--text-muted); }
.notif-dot{ position: absolute; top: 16px; right: 12px; width: 9px; height: 9px; border-radius: 50%; background: var(--brand-accent); box-shadow: 0 0 0 3px rgba(23, 134, 252, .2); }
.notif-empty{ display: grid; justify-items: center; gap: 8px; padding: 32px 16px; }
.notif-empty-icon{ font-size: 30px; opacity: .6; }

/* Aviso deslizante no topo */
.notif-banner{
  position: fixed; z-index: 400; left: 50%; top: calc(12px + env(safe-area-inset-top, 0px));
  width: min(440px, calc(100vw - 24px));
  display: flex; gap: 12px; align-items: flex-start;
  padding: 14px 14px 14px 14px; border-radius: 18px;
  background: rgba(255, 255, 255, .96); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 18px 40px rgba(28, 36, 48, .22), 0 2px 6px rgba(28, 36, 48, .08);
  border: 1px solid rgba(255, 255, 255, .8);
  transform: translate(-50%, -140%); opacity: 0; cursor: pointer;
  transition: transform .45s cubic-bezier(.2, .9, .25, 1.15), opacity .3s ease;
}
.notif-banner.show{ transform: translate(-50%, 0); opacity: 1; }
.notif-banner b{ display: block; font-size: 13px; color: var(--brand-accent-strong); margin-bottom: 2px; }
.notif-banner p{ margin: 0; font-size: 14px; line-height: 1.45; color: var(--ink); }
.notif-banner-close{ background: none; border: none; color: var(--text-muted); font-size: 14px; cursor: pointer; padding: 2px 4px; }

@media (max-width: 720px){
  .notif-panel{ width: auto; border-radius: 18px; }
  .notif-list{ max-height: 62vh; }
}

/* =========================================================
   LISTA DE DESIGNAÇÃO: sugestões inteligentes
========================================================= */
.dropdown-item.suggested{ background: linear-gradient(90deg, var(--highlight-bg), transparent 85%); }
.dd-main{ display: flex; flex-direction: column; min-width: 0; }
.dd-sub{ font-size: 12px; color: var(--text-muted); }
.dd-suggest{
  margin-left: auto; flex-shrink: 0;
  font-size: 11.5px; font-weight: 700; padding: 2px 9px; border-radius: 999px;
  background: var(--amber); color: #fff;
}
@media (max-width: 420px){
  .notif-panel-header{ flex-wrap: wrap; }
}

/* ---------- Modo banco de dados ---------- */
.db-only{ display: none; }
.save-status{
  font-size: 12.5px; font-weight: 700; color: var(--ok);
  opacity: 0; transform: translateY(-4px); transition: opacity .25s ease, transform .25s ease;
  white-space: nowrap;
}
.save-status.show{ opacity: 1; transform: none; }
.save-status.error{ color: var(--red-flag); }
.login-submit:disabled{ opacity: .75; cursor: progress; }
@media (max-width: 720px){ .save-status{ display: none; } }

/* ---------- Programação do fim de semana (coordenador) ---------- */
.weekend-program{ border-bottom: 1px solid var(--line); }
.wp-body{ padding: 16px 24px 18px; display: flex; flex-direction: column; gap: 12px; }
.wp-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wp-field label{ display: block; font-size: 13px; font-weight: 700; color: var(--ink-soft); margin-bottom: 5px; }
.wp-field input{ width: 100%; border: 1px solid var(--line-strong); border-radius: 10px; padding: 9px 11px; font-size: 15px; font-family: var(--font-ui); min-height: 42px; }
.wp-field input:focus{ outline: none; border-color: var(--brand); box-shadow: var(--focus); }
.wp-sub{ margin: 8px 0 0; font-weight: 700; font-size: 15px; }
.wp-hint{ margin: 0; font-size: 12.5px; color: var(--text-muted); line-height: 1.5; }
.away-row{ display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; align-items: center; margin-bottom: 8px; }
.away-row input{ border: 1px solid var(--line-strong); border-radius: 10px; padding: 9px 11px; font-size: 14px; font-family: var(--font-ui); min-height: 42px; }
.visitor-speaker{ border: 1px dashed var(--line-strong); border-radius: 10px; padding: 7px 10px; font-size: 13.5px; }
.ro-note{ margin: 0; padding: 12px 24px; background: var(--weekend-bg); color: var(--weekend); font-size: 13.5px; font-weight: 600; }
@media (max-width: 720px){
  .wp-body{ padding: 14px 16px 16px; }
  .wp-grid, .away-row{ grid-template-columns: 1fr; }
}

