/* GEGTEC — autenticação e administração do site institucional */
html.site-lock body > *:not(#site-auth-root) {
  display: none !important;
}
#site-auth-root, #site-admin-root {
  font-family: Inter, system-ui, sans-serif;
}
#site-auth-root {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  overflow: auto;
  padding: 24px;
  color: #f4f6f8;
  background:
    radial-gradient(900px 520px at 78% 8%, rgba(240,180,41,.16), transparent 62%),
    radial-gradient(700px 460px at 8% 78%, rgba(223,227,232,.07), transparent 62%),
    #0a0d12;
}
#site-auth-root * { box-sizing: border-box; }
.site-auth-card {
  width: min(100%, 440px);
  padding: 34px;
  border: 1px solid rgba(240,180,41,.38);
  border-radius: 22px;
  background: linear-gradient(160deg, #151c27, #0d121a);
  box-shadow: 0 24px 60px -24px rgba(0,0,0,.85);
}
.site-auth-logo {
  display: grid;
  place-items: center;
  margin-bottom: 20px;
}
.site-auth-logo svg { width: 190px; max-height: 140px; }
.site-auth-card h1 {
  margin: 0 0 8px;
  font-family: Sora, Inter, sans-serif;
  font-size: 1.55rem;
  text-align: center;
  color: #fff;
}
.site-auth-intro {
  margin: 0 0 24px;
  color: #9aa5b1;
  text-align: center;
  font-size: .92rem;
}
.site-auth-field { margin: 0 0 16px; }
.site-auth-field label {
  display: block;
  margin-bottom: 7px;
  color: #c4ccd5;
  font-size: .82rem;
  font-weight: 600;
}
.site-auth-field input {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(240,180,41,.22);
  border-radius: 11px;
  outline: 0;
  color: #f4f6f8;
  background: rgba(6,8,12,.72);
  font: inherit;
}
.site-auth-field input:focus {
  border-color: #f0b429;
  box-shadow: 0 0 0 3px rgba(240,180,41,.15);
}
.site-auth-submit {
  width: 100%;
  min-height: 49px;
  margin-top: 5px;
  border: 0;
  border-radius: 11px;
  color: #221503;
  background: linear-gradient(120deg,#ffe08a 0%,#f0b429 48%,#d98a1a 100%);
  font: 700 .95rem Inter, sans-serif;
  cursor: pointer;
}
.site-auth-submit:disabled { opacity: .6; cursor: wait; }
.site-auth-msg {
  min-height: 22px;
  margin-top: 13px;
  color: #ffb4a9;
  text-align: center;
  font-size: .84rem;
}
.site-auth-foot {
  margin-top: 18px;
  color: #77818d;
  text-align: center;
  font-size: .76rem;
}
#site-admin-root { position: relative; z-index: 9998; }
.site-admin-bar {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9998;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(240,180,41,.4);
  border-radius: 14px;
  color: #f4f6f8;
  background: rgba(13,17,24,.96);
  box-shadow: 0 12px 36px rgba(0,0,0,.45);
  backdrop-filter: blur(12px);
}
.site-admin-bar small { display:block; color:#9aa5b1; font-size:.7rem; }
.site-admin-btn {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(240,180,41,.35);
  border-radius: 9px;
  color: #f4f6f8;
  background: rgba(240,180,41,.1);
  font: 600 .8rem Inter, sans-serif;
  cursor: pointer;
}
.site-admin-btn.primary { color:#221503; background:#f0b429; border-color:#f0b429; }
.site-admin-panel {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(4,6,10,.78);
  backdrop-filter: blur(7px);
}
.site-admin-panel.open { display:flex; }
.site-admin-dialog {
  width: min(100%, 780px);
  max-height: min(90vh, 850px);
  overflow: auto;
  padding: 26px;
  border: 1px solid rgba(240,180,41,.38);
  border-radius: 18px;
  color: #f4f6f8;
  background: #10151d;
  box-shadow: 0 24px 60px rgba(0,0,0,.65);
}
.site-admin-dialog h2 {
  margin: 0 0 6px;
  color:#fff;
  font: 800 1.25rem Sora, Inter, sans-serif;
}
.site-admin-dialog p { margin:0 0 18px; color:#9aa5b1; font-size:.86rem; }
.site-admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.site-admin-dialog label { display:block; margin-bottom:6px; color:#c4ccd5; font-size:.8rem; font-weight:600; }
.site-admin-dialog input {
  width:100%; min-height:43px; padding:10px 12px;
  border:1px solid rgba(240,180,41,.2); border-radius:9px;
  color:#f4f6f8; background:#080c12; font: .9rem Inter, sans-serif;
}
.site-admin-dialog button { cursor:pointer; }
.site-admin-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:15px; }
.site-admin-status { min-height:20px; margin-top:10px; color:#9aa5b1; font-size:.82rem; }
.site-staff-list { width:100%; border-collapse:collapse; margin-top:20px; font-size:.82rem; }
.site-staff-list th,.site-staff-list td { padding:10px 8px; border-bottom:1px solid rgba(240,180,41,.14); text-align:left; }
.site-staff-list th { color:#f0b429; font-weight:700; }
.site-staff-list td { color:#cbd2da; }
.site-staff-state { display:inline-block; padding:3px 7px; border-radius:99px; background:rgba(37,211,102,.12); color:#70e59b; }
.site-staff-state.off { background:rgba(255,120,120,.12); color:#ff9b9b; }
@media(max-width:620px) {
  .site-auth-card { padding:25px 20px; }
  .site-admin-bar { right:10px; bottom:10px; left:10px; justify-content:space-between; }
  .site-admin-grid { grid-template-columns:1fr; }
  .site-admin-dialog { padding:20px 16px; }
  .site-staff-list { font-size:.72rem; }
  .site-staff-list th,.site-staff-list td { padding:8px 5px; }
}
