:root {
  --bg: #04111d;
  --bg-2: #071b2d;
  --panel: rgba(7, 27, 45, .86);
  --panel-strong: rgba(8, 34, 56, .96);
  --line: rgba(67, 212, 255, .22);
  --line-strong: rgba(67, 212, 255, .55);
  --text: #edfaff;
  --muted: #8cb1c4;
  --cyan: #35d8ff;
  --blue: #2b83ff;
  --teal: #20e0c2;
  --yellow: #ffbf3f;
  --green: #32e889;
  --red: #ff667a;
  --soft: rgba(53, 216, 255, .08);
  --shadow: 0 18px 60px rgba(0, 0, 0, .32);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

* {
  box-sizing: border-box;
  scrollbar-width: thin;
  scrollbar-color: #1784a7 #041725;
}
*::-webkit-scrollbar { width: 11px; height: 11px; }
*::-webkit-scrollbar-track { background: #041725; border-radius: 999px; }
*::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, #126985, #1ca8c8);
  border: 2px solid #041725;
  border-radius: 999px;
}
*::-webkit-scrollbar-thumb:hover { background: #35d8ff; }
*::-webkit-scrollbar-corner { background: #041725; }
*::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 20% 10%, rgba(0, 146, 255, .16), transparent 32%),
    radial-gradient(circle at 85% 20%, rgba(0, 255, 225, .08), transparent 28%),
    linear-gradient(155deg, #03101b 0%, #071a2c 55%, #04101a 100%);
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(61, 186, 232, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(61, 186, 232, .035) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 92%);
  z-index: -2;
}

button, input, select { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }

.ambient { position: fixed; width: 360px; height: 360px; border-radius: 50%; filter: blur(90px); opacity: .13; z-index: -1; pointer-events: none; }
.ambient-a { background: var(--blue); left: -120px; top: 32%; }
.ambient-b { background: var(--teal); right: -150px; top: 8%; }

.app-shell { width: min(1500px, calc(100% - 28px)); max-width: calc(100vw - 28px); margin: 16px auto 42px; }
.topbar {
  position: sticky;
  top: 10px;
  z-index: 20;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  min-height: 70px;
  padding: 10px 14px;
  margin-bottom: 22px;
  border: 1px solid var(--line);
  background: rgba(3, 16, 27, .84);
  backdrop-filter: blur(18px);
  box-shadow: 0 12px 40px rgba(0,0,0,.2);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
}
.brand { display: flex; align-items: center; gap: 10px; border: 0; background: none; cursor: pointer; text-align: left; }
.brand-mark { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--line-strong); background: linear-gradient(145deg, rgba(53,216,255,.18), rgba(43,131,255,.08)); color: var(--cyan); font-weight: 900; letter-spacing: .08em; box-shadow: inset 0 0 18px rgba(53,216,255,.08); }
.brand b { display: block; font-size: 13px; letter-spacing: .08em; }
.brand small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; letter-spacing: .1em; }
.step-nav { justify-self: center; display: flex; gap: 5px; padding: 4px; border: 1px solid var(--line); background: rgba(1,12,21,.55); border-radius: 999px; }
.nav-step { border: 0; background: transparent; color: var(--muted); border-radius: 999px; padding: 8px 12px; cursor: pointer; font-size: 12px; transition: .2s ease; }
.nav-step span { color: var(--cyan); opacity: .8; margin-right: 5px; font-weight: 800; }
.nav-step:hover, .nav-step.active { color: white; background: rgba(53,216,255,.1); box-shadow: inset 0 0 0 1px rgba(53,216,255,.12); }
.top-status { display: flex; align-items: center; gap: 7px; font-size: 11px; color: var(--muted); white-space: nowrap; }
.signal-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 12px var(--yellow); animation: pulse 1.6s infinite; }
.xlsx-ready .signal-dot { background: var(--green); box-shadow: 0 0 12px var(--green); }
.xlsx-error .signal-dot { background: var(--red); box-shadow: 0 0 12px var(--red); }

.screen { display: none; animation: screenIn .35s ease; }
.screen.active { display: block; }
.glass-card {
  border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(8,31,51,.9), rgba(4,20,34,.8));
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.025);
  backdrop-filter: blur(12px);
  border-radius: 18px;
  position: relative;
  overflow: hidden;
}
.glass-card::before {
  content: "";
  position: absolute;
  height: 1px;
  width: 36%;
  top: 0;
  left: 7%;
  background: linear-gradient(90deg, transparent, var(--cyan), transparent);
  opacity: .55;
}
.eyebrow { margin: 0 0 7px; font-size: 10px; font-weight: 900; letter-spacing: .16em; color: var(--cyan); }
.muted { color: var(--muted); }
.small { font-size: 12px; }
.hidden { display: none !important; }

.home-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, .65fr); gap: 18px; }
.hero-hud { min-height: 440px; display: grid; grid-template-columns: 1.12fr .88fr; align-items: center; padding: clamp(28px, 5vw, 64px); }
.hero-copy { position: relative; z-index: 2; }
.hero-copy h1, .screen-heading h1 { margin: 0; line-height: 1.03; letter-spacing: -.035em; }
.hero-copy h1 { font-size: clamp(38px, 5vw, 68px); max-width: 850px; }
.hero-copy p:not(.eyebrow) { max-width: 720px; color: #a3c2d2; line-height: 1.65; font-size: 16px; }
.hero-actions { display: flex; gap: 10px; margin-top: 26px; }
.btn { border: 1px solid transparent; border-radius: 10px; padding: 11px 16px; font-weight: 800; cursor: pointer; transition: .18s ease; background: transparent; }
.btn:hover:not(:disabled) { transform: translateY(-2px); }
.btn:disabled { opacity: .4; cursor: not-allowed; }
.btn.primary { color: #00131d; background: linear-gradient(135deg, var(--cyan), #6ce8ff); box-shadow: 0 8px 30px rgba(53,216,255,.18); }
.btn.ghost { color: #cbeeff; border-color: var(--line); background: rgba(53,216,255,.04); }
.btn.success { color: #001b11; background: linear-gradient(135deg, var(--green), #82f8b5); }
.btn.danger { color: #ffdbe1; border-color: rgba(255,102,122,.36); background: rgba(255,102,122,.1); }
.btn.wide { width: 100%; }
.btn.glow { position: relative; }
.btn.glow::after { content: ""; position: absolute; inset: -6px; border: 1px solid rgba(53,216,255,.18); border-radius: 14px; animation: glowPulse 2.1s infinite; }

.hud-orbit { width: min(360px, 90%); aspect-ratio: 1; justify-self: center; position: relative; display: grid; place-items: center; }
.orbit { position: absolute; border-radius: 50%; border: 1px solid rgba(53,216,255,.34); }
.orbit-1 { inset: 0; border-style: dashed; animation: spin 18s linear infinite; }
.orbit-2 { inset: 13%; border-color: rgba(32,224,194,.44); border-width: 2px 1px; animation: spinReverse 12s linear infinite; }
.orbit-3 { inset: 28%; border: 8px double rgba(53,216,255,.19); box-shadow: 0 0 40px rgba(53,216,255,.08); animation: breathe 2.8s ease-in-out infinite; }
.hud-orbit::before, .hud-orbit::after { content: ""; position: absolute; width: 54%; height: 54%; border: 2px solid transparent; border-top-color: var(--yellow); border-radius: 50%; animation: spin 8s linear infinite; }
.hud-orbit::after { width: 82%; height: 82%; border-top-color: var(--blue); border-right-color: rgba(43,131,255,.2); animation-duration: 14s; }
.hud-core { width: 120px; height: 120px; border-radius: 50%; display: grid; place-content: center; text-align: center; background: radial-gradient(circle, rgba(53,216,255,.18), rgba(3,17,29,.96) 65%); border: 1px solid rgba(53,216,255,.5); box-shadow: 0 0 44px rgba(53,216,255,.13), inset 0 0 28px rgba(53,216,255,.1); z-index: 2; }
.hud-core strong { font-size: 35px; color: var(--cyan); line-height: 1; }
.hud-core span { font-size: 9px; letter-spacing: .18em; color: var(--muted); margin-top: 7px; }
.satellite { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 16px var(--yellow); }
.s1 { top: 13%; right: 23%; }
.s2 { bottom: 18%; left: 13%; background: var(--teal); box-shadow: 0 0 16px var(--teal); }

.mission-panel { padding: 28px; min-height: 440px; }
.panel-title-row { display: flex; justify-content: space-between; gap: 12px; align-items: start; }
.panel-title-row h2, .section-heading h2 { margin: 0; }
.tiny-chip, .status-chip, .big-chip { border: 1px solid var(--line); background: var(--soft); color: var(--cyan); padding: 6px 9px; border-radius: 999px; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.field-label { display: block; margin: 30px 0 7px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; }
.input, select { width: 100%; border: 1px solid var(--line); color: var(--text); background: rgba(1,13,23,.68); border-radius: 10px; padding: 11px 12px; }
.sci-input { font-size: 18px; color-scheme: dark; }
.mission-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 28px; }
.mission-stats div { padding: 14px 9px; text-align: center; border: 1px solid var(--line); background: rgba(53,216,255,.035); border-radius: 12px; }
.mission-stats strong { display: block; font-size: 27px; color: var(--cyan); }
.mission-stats span { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }

.quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 14px; }
.quick-card { min-height: 96px; display: grid; grid-template-columns: 48px 1fr auto; gap: 12px; align-items: center; text-align: left; border: 1px solid var(--line); background: rgba(7,27,45,.72); color: var(--text); border-radius: 14px; padding: 16px; cursor: pointer; transition: .18s ease; }
.quick-card:hover { transform: translateY(-3px); border-color: var(--line-strong); box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.quick-icon { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--line); background: var(--soft); color: var(--cyan); font-size: 22px; border-radius: 50%; }
.quick-card b { display: block; }
.quick-card small { display: block; margin-top: 4px; color: var(--muted); }
.quick-arrow { color: var(--cyan); font-size: 20px; }

.screen-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 14px 0 18px; }
.screen-heading h1 { font-size: clamp(30px, 4vw, 50px); }
.screen-heading p:not(.eyebrow) { color: var(--muted); margin: 10px 0 0; max-width: 900px; line-height: 1.55; }
.mini-orbit { width: 70px; height: 70px; border-radius: 50%; border: 1px dashed var(--cyan); display: grid; place-items: center; color: var(--cyan); font-weight: 900; animation: spin 10s linear infinite; }
.mini-orbit span { animation: spinReverse 10s linear infinite; }

.upload-panel { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; padding: 18px; }
.drop-zone { min-height: 390px; border: 1px dashed rgba(53,216,255,.48); background: radial-gradient(circle at center, rgba(53,216,255,.08), rgba(2,14,24,.22) 60%); border-radius: 14px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: 7px; cursor: pointer; position: relative; overflow: hidden; transition: .2s ease; }
.drop-zone:hover, .drop-zone.dragging { border-color: var(--cyan); background: rgba(53,216,255,.09); }
.drop-zone input { display: none; }
.drop-icon { font-size: 44px; color: var(--cyan); z-index: 2; }
.drop-zone strong { font-size: 20px; z-index: 2; }
.drop-zone span:not(.drop-icon):not(.drop-pulse), .drop-zone small { color: var(--muted); z-index: 2; }
.drop-pulse { position: absolute; width: 170px; height: 170px; border: 1px solid rgba(53,216,255,.19); border-radius: 50%; animation: dropPulse 2.5s infinite; }
.drop-zone::after { content: ""; position: absolute; width: 280px; height: 280px; border-radius: 50%; border: 1px dashed rgba(53,216,255,.11); animation: spin 26s linear infinite; }
.upload-side { display: flex; flex-direction: column; gap: 12px; padding: 10px; }
.upload-meter { display: flex; align-items: end; justify-content: space-between; padding: 14px; border-bottom: 1px solid var(--line); }
.upload-meter span { font-size: 10px; letter-spacing: .1em; color: var(--muted); }
.upload-meter strong { font-size: 38px; color: var(--cyan); }
.file-list { display: grid; gap: 8px; max-height: 240px; overflow: auto; }
.file-chip { display: flex; justify-content: space-between; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 10px; padding: 11px; background: rgba(53,216,255,.035); }
.file-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-chip small { color: var(--muted); }
.actions { display: flex; gap: 8px; }
.message { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; font-size: 12px; }
.message.ok { color: #b5ffd3; border-color: rgba(50,232,137,.3); background: rgba(50,232,137,.08); }
.message.warn { color: #ffe3a5; border-color: rgba(255,191,63,.3); background: rgba(255,191,63,.08); }
.message.error { color: #ffb8c3; border-color: rgba(255,102,122,.3); background: rgba(255,102,122,.08); }
#uploadPreview { margin-top: 16px; padding: 20px; }
.summary-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.summary-card { border: 1px solid var(--line); background: rgba(53,216,255,.035); border-radius: 12px; padding: 16px; }
.summary-card strong { display: block; color: var(--cyan); font-size: 31px; line-height: 1; }
.summary-card span { display: block; color: var(--muted); margin-top: 7px; font-size: 11px; }

.empty-state { min-height: 340px; display: grid; place-items: center; text-align: center; padding: 50px 20px; }
.empty-state > * { margin-left: auto; margin-right: auto; }
.empty-state h2 { margin-bottom: 6px; }
.empty-state p { color: var(--muted); max-width: 560px; }
.empty-orbit { width: 90px; height: 90px; display: grid; place-items: center; border-radius: 50%; border: 1px dashed var(--cyan); color: var(--cyan); font-size: 36px; animation: spin 9s linear infinite; }

.conference-control-card { max-width: 1360px; margin: 0 auto 16px; overflow: hidden; }
.conference-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 16px; border-bottom: 1px solid var(--line); background: rgba(2,14,24,.68); font-size: 11px; letter-spacing: .08em; }
.conference-mode { display: flex; align-items: center; gap: 9px; }
.ribbon-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); }
.status-chip.pending { color: var(--yellow); border-color: rgba(255,191,63,.25); background: rgba(255,191,63,.08); }
.status-chip.checked { color: var(--green); border-color: rgba(50,232,137,.28); background: rgba(50,232,137,.08); }
.screen, .screen-heading, .screen-heading > *, .conference-dashboard, .conference-control-card, .conference-picker-grid, .conference-workspace, .conference-activity-stage { min-width: 0; }
.screen-heading h1 { overflow-wrap: anywhere; }
.conference-workspace { display: grid; gap: 18px; padding: 18px; align-items: start; }
.conference-top-grid { display: grid; grid-template-columns: minmax(0, 1.95fr) minmax(250px, .62fr); gap: 16px; align-items: stretch; }
.conference-picker-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 0; }
.conference-picker { display: grid; gap: 7px; min-width: 0; }
.conference-picker > span { color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.conference-church-block { padding: 16px; border: 1px solid rgba(53,216,255,.18); border-radius: 16px; background: rgba(5,24,39,.52); }
.conference-select { min-width: 0; min-height: 60px; border-color: rgba(53,216,255,.4); background: rgba(1,17,29,.74); color: var(--text); font-size: clamp(15px, 1.45vw, 19px); font-weight: 800; box-shadow: inset 0 0 0 1px rgba(53,216,255,.08); }
.conference-select option { background: #081d2e; color: white; }
.activity-total-card { display: grid; align-content: center; min-width: 0; min-height: 100%; padding: 18px 20px; border: 1px solid rgba(53,216,255,.22); border-radius: 16px; background: linear-gradient(180deg, rgba(7,30,45,.82), rgba(3,17,28,.7)); }
.activity-total-card > span, .activity-total-card small { display: block; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.activity-total-card strong { display: block; margin: 4px 0; color: var(--cyan); font-size: clamp(44px, 4.2vw, 64px); line-height: 1; }
.conference-activity-stage { padding: 18px; border: 1px solid rgba(53,216,255,.18); border-radius: 18px; background: linear-gradient(180deg, rgba(7,28,42,.68), rgba(2,17,29,.6)); }
.activity-stage-head { display: flex; justify-content: space-between; gap: 16px; align-items: start; margin-bottom: 14px; }
.activity-stage-head h2 { margin: 4px 0 6px; font-size: clamp(24px, 2vw, 38px); letter-spacing: -.03em; }
.activity-stage-head .muted { margin: 0; line-height: 1.45; }
.conference-house-meta { display: none; }
.activity-stage-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .34fr); gap: 16px; align-items: end; margin-bottom: 14px; }
.activity-search-wrap { display: flex; align-items: center; gap: 12px; min-height: 54px; padding: 0 16px; border: 1px solid rgba(53,216,255,.24); border-radius: 14px; background: rgba(1,17,29,.5); }
.activity-search-icon { color: var(--cyan); font-size: 24px; line-height: 1; }
.activity-search-inline { width: 100%; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.activity-search-inline:focus { outline: none; }
.activity-search-inline::placeholder { color: #86aebe; }
.activity-combobox { position: relative; min-width: 0; }
.activity-combobox-toggle { width: 100%; min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid rgba(53,216,255,.34); border-radius: 12px; background: rgba(1,17,29,.74); color: var(--text); padding: 11px 16px; text-align: left; font: inherit; cursor: pointer; }
.activity-combobox-toggle:hover, .activity-combobox-toggle[aria-expanded="true"] { border-color: var(--line-strong); background: rgba(53,216,255,.08); }
.activity-combobox-toggle:disabled { opacity: .55; cursor: default; }
#activityFilterLabel { min-width: 0; font-size: clamp(15px, 1.45vw, 19px); font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.activity-caret { flex: 0 0 auto; color: var(--cyan); font-size: 22px; line-height: 1; transition: transform .18s ease; }
.activity-combobox-toggle[aria-expanded="true"] .activity-caret { transform: rotate(180deg); }
.activity-panel-list { border: 1px solid rgba(53,216,255,.22); border-radius: 16px; background: rgba(2,17,29,.38); padding: 8px; min-height: 280px; }
.activity-option-list { display: grid; gap: 10px; max-height: 430px; overflow-y: auto; overscroll-behavior: contain; padding-right: 2px; }
.activity-option-list-stage { max-height: 470px; }
.activity-option { width: 100%; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 14px; align-items: center; border: 1px solid rgba(53,216,255,.12); border-radius: 14px; background: rgba(4,24,37,.55); color: var(--text); padding: 15px 16px; text-align: left; cursor: pointer; transition: .15s ease; }
.activity-option:hover { border-color: rgba(53,216,255,.28); background: rgba(53,216,255,.08); transform: translateY(-1px); }
.activity-option.active { border-color: rgba(53,216,255,.42); background: linear-gradient(90deg, rgba(53,216,255,.16), rgba(53,216,255,.05)); box-shadow: 0 0 0 1px rgba(53,216,255,.08) inset; }
.activity-option.unknown { color: #ffe3a5; }
.activity-option.disabled { color: #ffb8c3; }
.activity-option-name { min-width: 0; font-size: 16px; font-weight: 850; overflow-wrap: anywhere; }
.activity-option-count { align-self: center; min-width: 42px; border-radius: 999px; background: rgba(53,216,255,.12); color: var(--cyan); padding: 6px 10px; font-size: 13px; font-weight: 900; text-align: center; }
.activity-option-meta { grid-column: 1 / -1; color: var(--muted); font-size: 12px; line-height: 1.4; }
.activity-picker-help { color: var(--muted); font-size: 11px; line-height: 1.45; margin-top: 10px; display: block; }
.activity-empty { color: var(--muted); padding: 18px 12px; text-align: center; font-size: 13px; }
.conference-dashboard { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .45fr); gap: 14px; }
.codes-panel, .confirm-panel, #detailsPanel { padding: 20px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 16px; }
.section-heading.compact { align-items: center; }
.section-heading p:not(.eyebrow) { color: var(--muted); margin: 5px 0 0; }
.big-chip { font-size: 12px; }
.code-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: 9px; }
.code-item { border: 1px solid var(--line); background: rgba(53,216,255,.035); border-radius: 11px; padding: 13px; display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; transition: .15s ease; }
.code-item:hover { border-color: var(--line-strong); transform: translateY(-2px); background: rgba(53,216,255,.075); }
.code-number { min-width: 48px; font-weight: 900; color: var(--cyan); font-size: 16px; }
.code-name { color: var(--muted); font-size: 11px; }
.code-item b { font-size: 23px; }
.confirm-panel { text-align: left; }
.confirm-head { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 14px; align-items: center; }
.confirm-orbit { width: 82px; height: 82px; margin: 0; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--cyan) 0deg, rgba(53,216,255,.08) 0deg); position: relative; }
.confirm-orbit::before { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: #061725; border: 1px solid var(--line); }
.confirm-orbit span { position: relative; z-index: 2; color: var(--cyan); font-weight: 900; font-size: 23px; }
.confirm-panel h2 { margin: 0; font-size: 16px; line-height: 1.3; overflow-wrap: anywhere; }
.confirm-head .eyebrow { margin-bottom: 4px; }
.confirm-head .muted { margin: 7px 0 0; font-size: 12px; line-height: 1.45; }
.confirm-panel small { display: block; margin-top: 10px; min-height: 16px; }
#detailsPanel { margin-top: 14px; }
.search { min-width: min(370px, 100%); }
.table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 10px; }
table { width: 100%; min-width: 1180px; border-collapse: collapse; }
th, td { padding: 10px 11px; border-bottom: 1px solid rgba(255,255,255,.06); text-align: left; vertical-align: top; font-size: 12px; }
th { position: sticky; top: 0; z-index: 1; background: #0a2235; color: #a5c9da; font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
tbody tr:hover { background: rgba(53,216,255,.035); }
.badge { display: inline-block; padding: 4px 7px; border-radius: 7px; background: rgba(53,216,255,.11); color: var(--cyan); font-weight: 900; }
.preview-cell { max-width: 360px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.empty { color: var(--muted); text-align: center; padding: 18px; }

.report-actions { flex-wrap: wrap; justify-content: flex-end; }
.report-hero { min-height: 290px; display: grid; grid-template-columns: 300px 1fr; gap: 28px; align-items: center; padding: 32px; }
.progress-ring { width: 220px; height: 220px; justify-self: center; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--cyan) 0deg, rgba(53,216,255,.08) 0deg); position: relative; box-shadow: 0 0 40px rgba(53,216,255,.09); }
.progress-ring::before { content: ""; position: absolute; inset: 18px; border-radius: 50%; background: #061827; border: 1px solid var(--line); }
.progress-ring > div { position: relative; z-index: 2; text-align: center; }
.progress-ring strong { display: block; font-size: 42px; color: var(--cyan); }
.progress-ring span { color: var(--muted); font-size: 9px; letter-spacing: .16em; }
.report-copy h2 { margin: 0; font-size: clamp(25px, 3vw, 42px); }
.report-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 22px; }
.report-kpis div { padding: 13px; border: 1px solid var(--line); background: rgba(53,216,255,.035); border-radius: 10px; }
.report-kpis span { display: block; font-size: 9px; letter-spacing: .09em; color: var(--muted); }
.report-kpis strong { display: block; font-size: 27px; margin-top: 4px; color: var(--cyan); }
.report-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.report-columns > section { padding: 20px; }
.status-list { display: grid; gap: 8px; }
.status-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; border: 1px solid var(--line); background: rgba(53,216,255,.035); border-radius: 10px; padding: 11px 12px; }
.status-row b { display: block; font-size: 12px; }
.status-row small { display: block; margin-top: 3px; color: var(--muted); }
.status-row .row-value { font-weight: 900; color: var(--cyan); white-space: nowrap; }
.status-row.pending-row .row-value { color: var(--yellow); }
.pending-toggle { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px; border: 0; background: transparent; color: white; padding: 0 0 15px; cursor: pointer; text-align: left; }
.pending-toggle .eyebrow { display: block; }
.pending-toggle b { font-size: 19px; }
#pendingChevron { font-size: 27px; color: var(--cyan); transition: .2s ease; }
#pendingChevron.open { transform: rotate(180deg); }
.report-workload-summary { margin-top: 14px; padding: 20px; }
.report-workload-summary .table-wrap { margin-top: 12px; }
.report-workload-summary .muted { line-height: 1.45; }
.final-actions-card { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin-top: 14px; padding: 20px; }
.final-actions-card h2 { margin: 0 0 5px; }

footer { display: flex; justify-content: space-between; gap: 10px; color: #6f94a8; font-size: 10px; letter-spacing: .04em; margin: 20px 4px 0; }

@keyframes screenIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes spinReverse { to { transform: rotate(-360deg); } }
@keyframes breathe { 50% { transform: scale(.96); opacity: .55; } }
@keyframes pulse { 50% { opacity: .4; } }
@keyframes glowPulse { 50% { opacity: .25; transform: scale(1.025); } }
@keyframes dropPulse { 0% { transform: scale(.5); opacity: 0; } 40% { opacity: .6; } 100% { transform: scale(1.5); opacity: 0; } }

@media (max-width: 1100px) {
  .topbar { grid-template-columns: auto 1fr; }
  .top-status { display: none; }
  .step-nav { justify-self: end; }
  .home-grid, .conference-dashboard, .conference-workspace, .conference-top-grid, .activity-stage-toolbar { grid-template-columns: 1fr; }
  .hero-hud { min-height: auto; }
  .mission-panel { min-height: auto; }
  .upload-panel { grid-template-columns: 1fr; }
  .drop-zone { min-height: 290px; }
  .report-hero { grid-template-columns: 240px 1fr; }
  .progress-ring { width: 190px; height: 190px; }
}

@media (min-width: 1101px) and (max-height: 1000px) {
  .app-shell { margin-top: 8px; margin-bottom: 18px; }
  .topbar { top: 4px; min-height: 58px; padding: 7px 11px; margin-bottom: 12px; }
  .brand-mark { width: 36px; height: 36px; }
  .brand b { font-size: 12px; }
  .brand small { font-size: 9px; }
  .nav-step { padding: 6px 10px; font-size: 11px; }
  .screen-heading { margin: 8px 0 10px; }
  .screen-heading h1 { font-size: clamp(28px, 3vw, 40px); }
  .screen-heading p:not(.eyebrow) { margin-top: 6px; line-height: 1.35; }
  .conference-control-card { margin-bottom: 10px; }
  .conference-toolbar { padding: 8px 13px; }
  .conference-workspace { gap: 10px; padding: 12px; }
  .conference-top-grid { gap: 10px; }
  .conference-church-block, .conference-activity-stage { padding: 11px; border-radius: 14px; }
  .conference-select { min-height: 48px; font-size: 16px; padding: 8px 11px; }
  .activity-total-card { padding: 10px 15px; }
  .activity-total-card strong { font-size: 40px; }
  .activity-stage-head { margin-bottom: 8px; }
  .activity-stage-head h2 { font-size: 26px; margin: 2px 0 3px; }
  .activity-stage-toolbar { gap: 10px; margin-bottom: 8px; }
  .activity-search-wrap, .activity-combobox-toggle { min-height: 44px; }
  .activity-panel-list { min-height: 170px; }
  .activity-option-list, .activity-option-list-stage { max-height: 255px; }
  .activity-option { padding: 10px 12px; }
  .codes-panel, .confirm-panel, #detailsPanel { padding: 14px; }
  .section-heading { margin-bottom: 10px; }
  .code-item { padding: 9px 11px; }
  .confirm-head { grid-template-columns: 68px minmax(0,1fr); gap: 10px; }
  .confirm-orbit { width: 68px; height: 68px; }
  footer { margin-top: 10px; }
}

@media (max-width: 820px) {
  .app-shell { width: min(100% - 14px, 1500px); margin-top: 7px; }
  .topbar { position: static; display: block; clip-path: none; border-radius: 14px; }
  .step-nav { margin-top: 10px; overflow-x: auto; justify-content: flex-start; border-radius: 10px; }
  .nav-step { white-space: nowrap; }
  .hero-hud { grid-template-columns: 1fr; padding: 28px 22px; }
  .hud-orbit { margin-top: 30px; width: 270px; }
  .quick-grid, .summary-grid, .report-columns { grid-template-columns: 1fr; }
  .screen-heading { align-items: flex-start; flex-direction: column; }
  .conference-picker-grid { grid-template-columns: 1fr; }
  .conference-control-card { max-width: 1180px; }
  .conference-workspace { padding: 14px; }
  .conference-activity-stage, .conference-church-block { padding: 16px; }
  .activity-stage-head h2 { font-size: 24px; }
  .conference-activity-total { max-width: none; }
  .report-hero { grid-template-columns: 1fr; padding: 24px 18px; }
  .report-kpis { grid-template-columns: 1fr; }
  .final-actions-card { align-items: stretch; flex-direction: column; }
  footer { flex-direction: column; }
}

@media (max-width: 520px) {
  .hero-copy h1 { font-size: 38px; }
  .hero-actions, .actions, .report-actions { flex-direction: column; }
  .btn { width: 100%; }
  .mission-stats { grid-template-columns: 1fr; }
  .quick-card { grid-template-columns: 42px 1fr; }
  .quick-arrow { display: none; }
  .section-heading { align-items: stretch; flex-direction: column; }
  .search { min-width: 0; }
}

@media print {
  body { background: white !important; color: black !important; }
  body::before, .ambient, .topbar, .screen:not([data-screen="report"]), footer, .report-actions, .pending-toggle, .final-actions-card { display: none !important; }
  .app-shell { width: 100%; margin: 0; }
  .screen[data-screen="report"] { display: block !important; }
  .glass-card { background: white !important; color: black !important; border: 1px solid #cbd5e1 !important; box-shadow: none !important; backdrop-filter: none !important; }
  .glass-card::before { display: none; }
  .muted, .status-row small, .eyebrow { color: #475569 !important; }
  .progress-ring, .confirm-orbit { background: white !important; border: 10px solid #0ea5e9 !important; }
  .progress-ring::before { background: white !important; }
  .progress-ring strong, .report-kpis strong, .row-value { color: #0369a1 !important; }
  .report-columns { grid-template-columns: 1fr 1fr; }
  #pendingList { display: grid !important; }
  .status-row { background: white !important; border-color: #cbd5e1 !important; }
}

/* v0.4: extensões do visual original. */
.top-tools { display:flex; gap:12px; align-items:center; justify-content:flex-end; }
.top-tools .btn { font-size:12px; white-space:nowrap; padding:9px 12px; }
#sessionNotice { margin-bottom:16px; }
.padded { padding:22px; margin-top:16px; margin-bottom:16px; }
.padded h2 { font-size:23px; margin-top:0; }
.config-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.config-grid .padded { margin-top:0; margin-bottom:0; }
.form-stack { display:flex; flex-direction:column; gap:12px; }
.form-stack label { color:var(--muted); font-size:13px; }
.config-actions { flex-wrap:wrap; }
.config-code-row { display:grid; grid-template-columns:70px minmax(170px,1fr) 105px 120px; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line); }
.config-code-row .badge { justify-self:start; }
.activity-edit { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; padding:10px 0; }
.text-button { border:0; color:var(--cyan); background:none; text-align:left; cursor:pointer; padding:8px 0; }
.code-card { border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.code-card .code-item { width:100%; cursor:pointer; border:0; }
.code-card .register-code { margin:0 12px 12px; font-size:12px; }
.code-card.unknown, .unknown-code { border-color:rgba(255,191,63,.5); }
.code-card.disabled { border-color:rgba(255,102,122,.5); }
.status-tag { font-size:11px; color:var(--green); }
.status-tag.unknown { color:var(--yellow); }
.status-tag.disabled { color:var(--red); }
.unknown-code { padding:16px; border:1px solid var(--line); border-radius:10px; margin:10px 0; }
.unknown-code > .actions { align-items:center; justify-content:space-between; }
.unknown-code details { margin-top:10px; }
.compact-table { min-width:0; }
.compact-table td { overflow-wrap:anywhere; }
#reportBreakdown .house-report { border-top:1px solid var(--line); margin-top:20px; padding-top:12px; }
#reportBreakdown h3 { margin-top:25px; }
.report-sources .compact-table, .unknown-code .compact-table { min-width:1000px; }
summary { cursor:pointer; color:var(--cyan); padding:10px 0; font-weight:600; }
.detail-controls { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:14px; color:var(--muted); font-size:12px; }
.detail-controls span { margin-right:auto; }
#detailsPanel .table-wrap { max-height:520px; }
#linkedLocalities { overflow-wrap:anywhere; }
.mapping-row { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px 0; border-top:1px solid var(--line); }
.mapping-row small { display:block; color:var(--muted); margin-top:4px; }
dialog { color:var(--text); background:#081f33; border:1px solid var(--line-strong); border-radius:18px; box-shadow:var(--shadow); padding:26px; max-width:520px; width:calc(100% - 28px); }
dialog::backdrop { background:rgba(0,7,14,.8); backdrop-filter:blur(5px); }
.drop-zone:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
.top-status { font-size:10px; }
@media (max-width:1250px) { .top-status { display:none; } }
@media (min-width:821px) and (max-width:1100px) { .topbar { grid-template-columns:auto 1fr; } .top-tools { grid-column:1 / -1; } }
@media (max-width:820px) { .top-tools { margin-top:12px; justify-content:flex-start; } .config-grid { grid-template-columns:1fr; } .mapping-row { grid-template-columns:1fr; } .config-code-row { grid-template-columns:65px 1fr; } .activity-edit { grid-template-columns:1fr; } .compact-table { min-width:520px; } .summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .file-chip { min-width:0; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print { #sessionNotice, dialog { display:none!important; } .report-sources { display:none!important; } .report-hero { min-height:0; padding:14px; grid-template-columns:160px 1fr; } .progress-ring { width:140px; height:140px; } .report-columns { display:block; } .report-columns>section { margin:12px 0; } .padded { padding:12px; } #reportBreakdown h3,#reportBreakdown h4 { color:#17212b; break-after:avoid; } .table-wrap { overflow:visible; border-color:#a9bdcc; } .compact-table { min-width:0; } th { position:static; background:#eff4f8!important; color:#17212b!important; } th,td { padding:5px; font-size:10px; border:1px solid #bbcbd4; } tr { break-inside:avoid; } .badge { color:#0369a1!important; } .message.warn { color:#452f05!important; background:#fff4dc!important; } @page { size:A4; margin:12mm; } }

.conference-actions { flex-wrap:wrap; justify-content:flex-end; }
.siga-stats { display:grid; gap:7px; margin:15px 0 8px; text-align:left; }
.siga-stats div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:rgba(53,216,255,.035); }
.siga-stats span, .report-total-grid span { color:var(--muted); font-size:9px; letter-spacing:.08em; }
.siga-stats strong { color:var(--cyan); font-size:14px; text-align:right; }
.siga-stats + small { margin:0 0 12px!important; font-size:10px; }
.report-checked, .report-totals { margin-top:14px; padding:20px; }
.report-house-row { display:block; padding:13px 14px; }
.report-house-row small { line-height:1.5; }
.report-total-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.report-total-grid > div { padding:13px; border:1px solid var(--line); background:rgba(53,216,255,.035); border-radius:10px; }
.report-total-grid span { display:block; }
.report-total-grid strong { display:block; margin-top:5px; color:var(--cyan); font-size:clamp(17px,2vw,25px); overflow-wrap:anywhere; }
.report-totals > p { margin:12px 0 0; }
@media (max-width:820px) { .conference-actions { justify-content:flex-start; } .activity-option-list { max-height: 280px; } .activity-stage-head h2 { font-size: 22px; } .conference-workspace { padding: 14px; } .activity-stage-toolbar { gap: 12px; } .activity-panel-list { min-height: 220px; } .report-total-grid { grid-template-columns:1fr; } }
@media print { .conference-actions, #detailsPanel { display:none!important; } .report-checked, .report-totals { margin-top:10px; padding:12px; } .report-total-grid > div { background:white!important; border-color:#cbd5e1!important; } .report-total-grid strong, .siga-stats strong { color:#0369a1!important; } .report-house-row { break-inside:avoid; } }

/* v0.6.0 • Carga horária */
.workload-actions { flex-wrap: wrap; justify-content: flex-end; }
.workload-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.workload-kpi { padding:18px; min-width:0; }
.workload-kpi > span { display:block; color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.11em; }
.workload-kpi strong { display:block; margin:6px 0 4px; color:var(--cyan); font-size:clamp(20px,2vw,31px); overflow-wrap:anywhere; }
.workload-kpi small { color:var(--muted); line-height:1.4; }
.workload-period-scroll { overflow-x:auto; padding-bottom:5px; }
.workload-period-grid { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(225px,1fr); gap:10px; min-width:max-content; }
.workload-period-card { width:225px; border:1px solid var(--line); border-radius:14px; background:rgba(53,216,255,.035); padding:14px; }
.workload-period-card.partial { border-color:rgba(255,191,63,.34); }
.workload-period-card.na { opacity:.68; }
.workload-period-head { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; margin-bottom:12px; }
.workload-period-code { font-size:24px; color:var(--cyan); font-weight:900; }
.workload-period-dates { color:var(--muted); font-size:10px; line-height:1.35; text-align:right; }
.workload-period-stats { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.workload-period-stats div { border:1px solid rgba(53,216,255,.1); border-radius:9px; padding:8px; background:rgba(1,17,29,.45); }
.workload-period-stats span { display:block; color:var(--muted); font-size:8px; letter-spacing:.05em; }
.workload-period-stats strong { display:block; margin-top:3px; font-size:17px; }
.workload-period-pct { margin-top:10px; padding-top:10px; border-top:1px solid var(--line); font-size:11px; color:var(--muted); }
.workload-period-pct b { color:var(--text); }
.legend-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 18px; margin-top:14px; }
.legend-grid p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }
.legend-grid b { color:var(--text); }
.workload-table-head { align-items:flex-start; }
.workload-filter-box { display:grid; gap:8px; min-width:min(420px,100%); }
.check-filter { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; }
.workload-table-wrap { max-height:610px; }
.workload-table { min-width:1100px; }
.workload-table th:first-child, .workload-table td:first-child { position:sticky; left:0; z-index:2; background:#092033; min-width:210px; }
.workload-table th:nth-child(2), .workload-table td:nth-child(2) { min-width:135px; }
.workload-hours-cell { white-space:nowrap; }
.workload-status { display:inline-block; margin-top:3px; border-radius:999px; padding:3px 7px; font-size:9px; font-weight:900; border:1px solid var(--line); }
.workload-status.ok { color:#b5ffd3; border-color:rgba(50,232,137,.25); background:rgba(50,232,137,.08); }
.workload-status.over { color:#ffd29f; border-color:rgba(255,151,64,.3); background:rgba(255,151,64,.08); }
.workload-status.incomplete { color:#ffe3a5; border-color:rgba(255,191,63,.3); background:rgba(255,191,63,.08); }
.workload-status.none { color:var(--muted); }
.workload-period-button { border:0; background:transparent; color:inherit; padding:0; text-align:left; cursor:pointer; font:inherit; }
.workload-period-button:hover { color:var(--cyan); }
.workload-detail-table { min-width:1300px; }
.workload-issue-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:9px; }
.workload-issue-card { border:1px solid var(--line); border-radius:11px; padding:12px; background:rgba(255,191,63,.045); }
.workload-issue-card strong { display:block; color:var(--yellow); font-size:22px; }
.workload-issue-card span { display:block; color:var(--muted); margin-top:4px; font-size:11px; }
.privacy-note { color:#8bb5c6; font-size:11px; line-height:1.55; border-left:3px solid rgba(53,216,255,.35); padding:10px 12px; margin:14px 2px 0; background:rgba(53,216,255,.035); }
@media (max-width:1100px){.workload-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.legend-grid{grid-template-columns:1fr}.workload-table-head{flex-direction:column;align-items:stretch}.workload-filter-box{min-width:0}}
@media (max-width:680px){.workload-kpis{grid-template-columns:1fr}.workload-period-card{width:205px}.workload-actions{justify-content:flex-start}}
.workload-issue-details { margin-top: 14px; }
.workload-issue-details summary { cursor: pointer; color: var(--cyan); font-weight: 800; }
.workload-issue-details .table-wrap { margin-top: 12px; }

/* Conferência Conectada — camada experimental local */
.top-tools { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.conferer-chip { display:flex; align-items:center; gap:7px; border:1px solid var(--line); background:rgba(53,216,255,.06); padding:8px 10px; border-radius:10px; cursor:pointer; max-width:300px; }
.conferer-chip span { color:var(--teal); }
.conferer-chip b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:190px; font-size:11px; }
.conferer-chip small { color:var(--cyan); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.mock-status { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:10px; white-space:nowrap; }
.mock-dot { width:7px; height:7px; border-radius:50%; background:var(--yellow); box-shadow:0 0 9px var(--yellow); }
#confererDialog h2 { margin:.1rem 0 .5rem; }
#confererError:empty { display:none!important; }
@media (max-width: 1100px) { .conferer-chip b { max-width:120px; } .mock-status { width:100%; justify-content:flex-end; } }
