body.manager, body.manager-login {
  --bg: #f2f5f3;
  --surface: #fff;
  --card: #fff;
  --border: #dce5df;
  --accent: #087b57;
  --accent2: #3b6d9a;
  --text: #172d24;
  --muted: #52675c;
  --radius: 16px;
  font-family: 'Sora', 'Segoe UI', sans-serif;
  background: var(--bg);
  color: var(--text);
}

.manager :focus-visible, .manager-login :focus-visible {
  outline: 3px solid #239e78;
  outline-offset: 3px;
}
.manager .topbar {
  background: #122e25;
  border: 0;
  box-shadow: none;
  height: 64px;
  padding: 0 20px;
  gap: 12px;
}
.manager .topbar-brand { gap: 12px; color: #fff; text-decoration: none; }
.manager .brand-icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 11px;
  background: #cafa86;
  color: #122e25;
  font-size: 18px;
}
.manager .brand-stack { display: grid; gap: 3px; }
.manager .brand-stack .brand-name { color: #fff; font-size: 16px; white-space: nowrap; }
.manager .brand-stack small { color: #a8c4b7; font-size: 10px; white-space: nowrap; }
.manager .nav-caption { display: none; }
.manager .nav-links { gap: 3px; }
.manager .nav-link { color: #bdd2c7; font-size: 12px; padding: 10px; border: 0; min-height: 40px; }
.manager .nav-link i { width: 17px; text-align: center; }
.manager .nav-link:hover { background: #234337; color: #fff; }
.manager .nav-link.active { background: #294c3e; color: #d0fb99; }
.manager .hamburger { color: #e3f1e9; border-color: #496358; margin-left: auto; min-width: 42px; min-height: 40px; }
.manager .nav-session { margin: 0; }
.manager .nav-exit {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 10px;
  color: #d5e3dc;
  font: inherit;
  font-size: 12px;
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}
.manager .nav-exit:hover { background: #234337; color: white; }
.manager .wrapper { padding: clamp(20px, 3vw, 44px); max-width: 1480px; }
.manager .page-header { margin-bottom: 24px; }
.manager .page-header h1 { font-size: clamp(26px, 3vw, 38px); line-height: 1.18; letter-spacing: -.045em; }
.manager .page-header p { line-height: 1.6; margin-top: 8px; }
.manager .btn-primary { background: #087b57; color: #fff; }
.manager .btn-primary:hover { background: #056647; color: #fff; }
.manager .section-card { min-width: 0; }

.manager .overview { display: grid; gap: 22px; }
.overview-head { display: flex; gap: 12px; flex-wrap: wrap; align-items: end; justify-content: space-between; }
.overview-head .page-header { margin: 0; }
.manager-kicker { font-size: 11px; font-weight: 800; color: #087b57; text-transform: uppercase; letter-spacing: .14em; }
.overview-head .manager-kicker { display: block; margin-bottom: 8px; }
.overview-date { font-size: 12px; color: var(--muted); padding: 9px 13px; border: 1px solid var(--border); border-radius: 999px; background: #fff; }
.overview-date i { margin-right: 5px; }
.publish-hero {
  min-height: 238px;
  display: grid;
  grid-template-columns: 1fr minmax(200px, .75fr);
  gap: 22px;
  align-items: center;
  padding: clamp(23px, 4vw, 43px);
  border-radius: 22px;
  background: radial-gradient(ellipse at 88% 10%, #2b6249 0%, transparent 56%), #133428;
  color: #f4fff8;
  overflow: hidden;
}
.publish-hero .manager-kicker { color: #ccf5a2; }
.publish-hero h2 { max-width: 570px; margin: 9px 0 10px; font-size: clamp(26px, 3.5vw, 45px); line-height: 1.05; letter-spacing: -.055em; }
.publish-hero p { max-width: 460px; color: #c2dcd0; font-size: 14px; line-height: 1.6; }
.hero-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 20px; }
.manager .hero-action { min-height: 40px; background: #cafa86; color: #143528; font-weight: 800; }
.manager .hero-action:hover { background: #e0ffa9; }
.manager .hero-secondary { min-height: 40px; color: #e9f4ed; border: 1px solid #638676; }
.manager .hero-secondary:hover { background: #285040; }
.hero-display { position: relative; width: min(100%, 334px); margin-left: auto; padding: 11px; border: 1px solid #6b927d; border-radius: 17px; background: #0b251d; box-shadow: 0 22px 50px #071f18aa; transform: rotate(-4deg); }
.hero-display-inner { min-height: 139px; padding: 19px; border-radius: 8px; background: linear-gradient(135deg, #e9ffc8, #a8dda5); color: #153a29; }
.hero-display-tag { display: inline-block; padding: 5px 8px; border-radius: 5px; background: #214d37; color: #e5ffd2; font-size: 8px; font-weight: 800; letter-spacing: .11em; }
.hero-display strong { display: block; margin: 11px 0 9px; font-size: clamp(18px, 2.5vw, 31px); letter-spacing: -.06em; line-height: .95; }
.hero-display-line { display: block; width: 65%; height: 5px; border-radius: 9px; background: #57866566; }
.hero-display-line + .hero-display-line { width: 40%; margin-top: 5px; }
.hero-display-live { position: absolute; right: -12px; bottom: 13px; background: #fff; color: #15533d; padding: 8px 10px; border-radius: 8px; font-size: 10px; font-weight: 800; box-shadow: 0 7px 22px #0a281e60; }
.hero-display-live i { margin-right: 4px; font-size: 7px; color: #15805b; }
.overview .stats-grid { margin: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.overview .stat-card { padding: 19px; min-height: 113px; border-radius: 14px; }
.overview .stat-card::before { display: none; }
.overview .stat-label { font-size: 11px; text-transform: none; letter-spacing: 0; }
.overview .stat-card .stat-value { color: #17382a; font: 800 31px/1 'Sora', 'Segoe UI', sans-serif; }
.overview .stat-icon { top: auto; bottom: 15px; transform: none; color: #097956; background: #eaf5ee; border-radius: 10px; display: grid; place-items: center; width: 34px; height: 34px; font-size: 14px; opacity: 1; right: 14px; }
.overview .main-grid { align-items: start; grid-template-columns: minmax(0, 2fr) minmax(235px, 1fr); gap: 16px; }
.overview .section-header { gap: 8px; padding: 16px 18px; }
.overview .section-title { font-size: 14px; }
.overview .tv-grid { padding: 0; display: block; }
.overview a.tv-card { background: #fff; border: 0; border-bottom: 1px solid #ecf0ed; border-radius: 0; display: grid; grid-template-columns: 43px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 13px 18px; text-decoration: none; color: inherit; }
.overview a.tv-card:hover { background: #f3f9f5; transform: none; }
.overview a.tv-card:last-child { border-bottom: 0; }
.overview .tv-icon { display: grid; place-items: center; background: #eef4f0; border-radius: 9px; width: 43px; height: 42px; font-size: 16px; margin: 0; }
.overview .tv-name { color: var(--text); overflow-wrap: anywhere; }
.overview .tv-location { margin: 4px 0 0; overflow-wrap: anywhere; }
.tv-state { display: inline-flex; gap: 6px; align-items: center; font-size: 10px; font-weight: 700; color: #4c6256; padding: 5px 8px; border-radius: 20px; background: #edf3ef; white-space: nowrap; }
.tv-state.online { color: #006441; background: #e0f5e9; }
.tv-state.erro { color: #8c4900; background: #fff1da; }
.tv-state.offline { color: #9b302e; background: #fcecea; }
.overview .status-dot { display: inline-block; width: 6px; height: 6px; box-shadow: none; animation: none; }
.overview .status-inactive { opacity: 1; }
.overview .log-item { padding: 13px 17px; }
.overview .log-text { overflow-wrap: anywhere; }
.overview-empty { padding: 24px 18px; color: var(--muted); font-size: 13px; line-height: 1.6; }

body.manager-login { display: grid; place-items: center; min-height: 100vh; padding: 24px; background: radial-gradient(ellipse at 82% 6%, #376f50 0%, transparent 60%), #122e25; }
.manager-login .card { width: min(100%, 440px); padding: clamp(23px, 5vw, 42px); background: #fff; border: 1px solid #d7e8dc; border-radius: 22px; box-shadow: 0 24px 90px #04150d55; }
.manager-login .logo-icon { background: #cafa86; color: #153829; }
.manager-login .logo-name span { color: #087b57; }
.manager-login h1 { font-size: 27px; margin: 7px 0; letter-spacing: -.04em; }
.manager-login .sub { color: #4f665a; line-height: 1.55; text-align: left; }
.manager-login input { font-family: inherit; }
.manager-login .logo-icon i { color: #153829; }
.manager-login .btn-login { background: #087b57; color: #fff; }
.manager-login .btn-login:hover { background: #056647; }
.login-note { color: var(--muted); font-size: 12px; line-height: 1.6; margin-top: 18px; }

@media (min-width: 1080px) {
  body.manager { padding-left: 213px; }
  .manager .topbar { position: fixed; inset: 0 auto 0 0; width: 213px; height: 100vh; padding: 25px 14px 14px; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 29px; }
  .manager .topbar-brand { padding: 0 4px; }
  .manager .nav-links { display: grid; }
  .manager .nav-link { min-height: 42px; padding: 10px 13px; gap: 11px; }
  .manager .nav-caption { display: block; padding: 0 12px 9px; color: #99b5a6; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
  .manager .nav-session { margin-top: auto; padding-top: 8px; border-top: 1px solid #365447; }
  .manager .nav-exit { width: 100%; padding-left: 13px; }
}
@media (max-width: 830px) {
  .manager .hamburger { display: inline-grid; place-items: center; }
  .manager .nav-links { display: none; }
  .manager .nav-links.open { display: grid; position: absolute; top: 64px; inset-inline: 0; padding: 10px 14px; background: #122e25; border: 0; box-shadow: 0 10px 16px #122e2530; }
  .manager .overview .main-grid { grid-template-columns: 1fr; }
}
@media (max-width: 590px) {
  .manager .topbar { padding-inline: 13px; gap: 7px; }
  .manager .wrapper { padding: 17px 13px 25px; }
  .publish-hero { grid-template-columns: 1fr; gap: 19px; }
  .hero-display { width: min(88%, 255px); margin: 0 auto; transform: rotate(-2deg); }
  .hero-display-inner { min-height: 97px; padding: 13px; }
  .hero-display strong { margin-block: 7px; }
  .overview .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .overview .stat-card { min-height: 94px; padding: 13px; }
  .overview a.tv-card { padding-inline: 12px; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .manager *, .manager-login * { scroll-behavior: auto; }
  .manager .status-dot { animation: none; }
}
