/* Porteiro IA V5.7 - correção objetiva de BI e Login */

/* ==================== BI ==================== */
.bi-filter-v55 { overflow: visible !important; }
.bi-filter-v55 form {
  display: grid !important;
  grid-template-columns: minmax(520px, 1fr) auto minmax(190px, 240px) 120px 120px !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  overflow: visible !important;
}
.bi-condo-select,
.bi-condo-select > button,
.bi-apply,
.bi-today { min-width: 0 !important; width: 100% !important; }
.bi-condo-select > button,
.bi-apply,
.bi-today { height: 40px !important; }

/* Dropdown real: removido do fluxo do painel e posicionado pelo JS */
#biCondoDrop.bi-drop-portal {
  display: none !important;
  position: absolute !important;
  z-index: 2147483000 !important;
  width: 360px !important;
  max-width: calc(100vw - 32px) !important;
  max-height: 360px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  margin: 0 !important;
  padding: 10px !important;
  color: #e9f2ff !important;
  background: linear-gradient(180deg, #111d30 0%, #091422 100%) !important;
  border: 1px solid #2b4667 !important;
  border-radius: 14px !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.035) !important;
}
#biCondoDrop.bi-drop-portal.open { display: block !important; }
#biCondoDrop.bi-drop-portal label {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  color: #d9e8fb !important;
  background: transparent !important;
  text-align: left !important;
  white-space: normal !important;
  line-height: 1.25 !important;
}
#biCondoDrop.bi-drop-portal label:hover {
  color: #fff !important;
  background: #172a45 !important;
}
#biCondoDrop.bi-drop-portal input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  accent-color: #2f7df4 !important;
}

@media (max-width: 1450px) {
  .bi-filter-v55 form {
    grid-template-columns: minmax(480px,1fr) auto minmax(180px,220px) 105px 105px !important;
    gap: 9px !important;
  }
}
@media (max-width: 1180px) {
  .bi-filter-v55 { overflow-x: auto !important; }
  .bi-filter-v55 form { min-width: 1030px !important; }
}
@media (max-width: 760px) {
  .bi-filter-v55 { overflow: visible !important; }
  .bi-filter-v55 form {
    min-width: 0 !important;
    grid-template-columns: 1fr 1fr !important;
  }
  .bi-period-group,.bi-date-group,.bi-condo-select { grid-column: 1 / -1 !important; }
}

/* ==================== LOGIN ==================== */
.login-v57-body {
  margin: 0;
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1.72fr) minmax(380px, .72fr);
  overflow: hidden;
  color: #f6f9ff;
  background: #050c16;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.login-v57-visual {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(2,9,18,.12) 0%, rgba(2,9,18,.18) 52%, rgba(2,9,18,.64) 100%),
    url('/static/img/login-central-robots.webp?v=5.7') center center / cover no-repeat;
}
.login-v57-visual::before {
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 60% 42%, rgba(0,215,255,.16), transparent 33%),
    linear-gradient(180deg, rgba(3,10,18,.08), rgba(3,10,18,.44));
  pointer-events:none;
}
.login-v57-screen {
  position:absolute;
  left:5.2%;
  top:8%;
  width:min(520px,43vw);
  padding:16px 18px 18px;
  border-radius:16px;
  color:#dff7ff;
  background:linear-gradient(180deg,rgba(4,18,34,.88),rgba(3,13,26,.82));
  border:1px solid rgba(64,173,255,.42);
  box-shadow:0 24px 80px rgba(0,0,0,.4), inset 0 0 35px rgba(0,169,255,.08);
  backdrop-filter:blur(8px);
}
.login-v57-screen-top { display:flex; align-items:center; gap:9px; font-size:11px; letter-spacing:.09em; color:#9ebcde; }
.login-v57-screen-top i { width:8px;height:8px;border-radius:50%;background:#18ef8b;box-shadow:0 0 16px #18ef8b; }
.login-v57-screen-top b { flex:1; }
.login-v57-screen-top span { color:#5cf0a6; }
.login-v57-status { margin-top:18px; display:flex; align-items:center; gap:10px; font-size:clamp(18px,1.6vw,26px); font-weight:900; letter-spacing:.02em; }
.login-v57-status i { width:12px;height:12px;border-radius:50%;background:#25ed85;box-shadow:0 0 0 0 rgba(37,237,133,.55);animation:v57Pulse 1.6s infinite; }
.login-v57-wave { height:58px; margin:12px 0; display:flex; align-items:center; gap:6px; }
.login-v57-wave span { width:5px;height:24%;border-radius:5px;background:linear-gradient(#00ecff,#157cff);box-shadow:0 0 11px rgba(0,225,255,.65);animation:v57Wave 1.1s ease-in-out infinite; }
.login-v57-wave span:nth-child(2n){animation-delay:-.2s}.login-v57-wave span:nth-child(3n){animation-delay:-.45s}.login-v57-wave span:nth-child(4n){animation-delay:-.7s}
.login-v57-meta { display:grid;grid-template-columns:auto 1fr auto 1fr;gap:7px 11px;font-size:11px;color:#85a3c7; }
.login-v57-meta strong{color:#eef8ff;}
.login-v57-caption {
  position:absolute;
  left:4.5%; bottom:5.2%;
  display:flex; align-items:center; gap:12px;
  padding:12px 16px;
  border-radius:12px;
  font-weight:800;
  font-size:clamp(13px,1vw,17px);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#e8f8ff;
  background:rgba(5,18,34,.56);
  border:1px solid rgba(75,181,255,.28);
  backdrop-filter:blur(8px);
  box-shadow:0 16px 50px rgba(0,0,0,.24);
}
.login-v57-caption::before { content:"";width:34px;height:3px;border-radius:3px;background:linear-gradient(90deg,#00eaff,#167cff);box-shadow:0 0 16px #00dfff; }
.login-v57-panel {
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px;
  background:linear-gradient(180deg,#07111f 0%,#050b14 100%);
  border-left:1px solid rgba(80,139,201,.18);
}
.login-v57-card {
  width:min(100%,390px);
  padding:36px 32px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(12,27,47,.98),rgba(7,17,31,.98));
  border:1px solid rgba(88,145,205,.36);
  box-shadow:0 28px 100px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.035);
}
.login-v57-card h1 { margin:18px 0 8px;font-size:30px;line-height:1.05; }
.login-v57-card label { display:block;margin:18px 0 7px;font-size:13px;font-weight:800;color:#dce9f8; }
.login-v57-logo { width:210px;max-width:100%;display:block; }
.login-v57-kicker { margin:24px 0 0;font-size:11px;font-weight:900;letter-spacing:.16em;color:#28dff5; }
.login-v57-copy { margin:0;color:#9bb0ca;line-height:1.55;font-size:14px; }
.login-v57-input {
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  align-items:center;
  height:54px;
  overflow:hidden;
  border:1px solid #2a4668;
  border-radius:13px;
  background:#09172a;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
}
.login-v57-input:focus-within { border-color:#2b8dff;box-shadow:0 0 0 3px rgba(43,141,255,.13); }
.login-v57-input svg { width:20px;height:20px;justify-self:center;fill:none;stroke:#25d8ff;stroke-width:1.8; }
.login-v57-input input,
.login-v57-input input:-webkit-autofill,
.login-v57-input input:-webkit-autofill:hover,
.login-v57-input input:-webkit-autofill:focus,
.login-v57-input input:-webkit-autofill:active {
  width:100% !important;
  height:100% !important;
  box-sizing:border-box !important;
  padding:0 15px !important;
  border:0 !important;
  outline:0 !important;
  border-radius:0 !important;
  color:#f4f8ff !important;
  caret-color:#fff !important;
  background:#0c1c31 !important;
  -webkit-text-fill-color:#f4f8ff !important;
  -webkit-box-shadow:0 0 0 1000px #0c1c31 inset !important;
  box-shadow:0 0 0 1000px #0c1c31 inset !important;
  transition:background-color 99999s ease-out 0s !important;
  font:600 15px/1 Inter,system-ui,sans-serif !important;
}
.login-v57-input input::placeholder { color:#758ca9 !important; }
.login-v57-button { width:100%;height:54px;margin-top:24px;border:0;border-radius:13px;color:#fff;background:linear-gradient(90deg,#1478ff,#1a65e8);font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 14px 35px rgba(20,120,255,.24); }
.login-v57-secure { margin-top:18px;display:flex;align-items:center;justify-content:center;gap:8px;color:#7f96b4;font-size:12px; }
.login-v57-secure span { width:8px;height:8px;border-radius:50%;background:#21e989;box-shadow:0 0 12px #21e989; }
@keyframes v57Wave { 0%,100%{height:20%}50%{height:92%} }
@keyframes v57Pulse { 70%{box-shadow:0 0 0 13px rgba(37,237,133,0)}100%{box-shadow:0 0 0 0 rgba(37,237,133,0)} }
@media(max-width:980px){.login-v57-body{grid-template-columns:1fr}.login-v57-visual{min-height:47vh}.login-v57-panel{min-height:53vh}.login-v57-screen{width:min(78vw,520px)}.login-v57-caption{bottom:4%}}
@media(max-width:620px){.login-v57-screen{left:5%;right:5%;width:auto}.login-v57-panel{padding:20px}.login-v57-card{padding:28px 22px}.login-v57-caption{left:5%;right:5%;font-size:11px}.login-v57-meta{grid-template-columns:auto 1fr}}

/* ==================== LOGIN V5.8 — IMAGEM REALISTA + EFEITOS ==================== */
.login-v58-visual {
  background:
    linear-gradient(90deg, rgba(1,6,14,.05) 0%, rgba(1,6,14,.08) 58%, rgba(1,6,14,.42) 100%),
    url('/static/img/login-central-robots-v58.webp?v=5.8') center center / cover no-repeat !important;
  isolation:isolate;
}
.login-v58-visual::before {
  z-index:1;
  background:
    radial-gradient(circle at 50% 36%, rgba(0,185,255,.12), transparent 24%),
    radial-gradient(circle at 16% 66%, rgba(0,132,255,.09), transparent 22%),
    radial-gradient(circle at 84% 66%, rgba(0,132,255,.09), transparent 22%),
    linear-gradient(180deg, rgba(2,8,17,.02), rgba(2,8,17,.34)) !important;
}
.login-v58-visual::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background-image:linear-gradient(rgba(98,187,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(98,187,255,.018) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,transparent 12%,#000 45%,transparent 100%);
  animation:v58GridDrift 20s linear infinite;
}
.login-v57-screen { display:none !important; }
.login-v58-ambient {
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 42%,rgba(0,190,255,.12),transparent 38%);
  animation:v58Breathe 7s ease-in-out infinite;
}
.login-v58-scan {
  position:absolute;left:0;right:0;top:-16%;height:18%;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(69,204,255,.07),rgba(123,224,255,.12),transparent);
  filter:blur(1px);
  animation:v58Scan 8.5s linear infinite;
}
.login-v58-screenfx {
  position:absolute;z-index:4;pointer-events:none;overflow:hidden;
  border-radius:4px;mix-blend-mode:screen;opacity:.55;
}
.login-v58-screenfx-main { left:32.4%; top:18.6%; width:34.9%; height:28.3%; }
.login-v58-screenfx-left { left:0.4%; top:14.7%; width:30.8%; height:33.1%; opacity:.24; }
.login-v58-screenfx-right { right:.4%; top:14.7%; width:30.8%; height:33.1%; opacity:.24; }
.login-v58-screenfx::before {
  content:"";position:absolute;inset:-25%;
  background:conic-gradient(from 0deg,transparent 0 18%,rgba(0,217,255,.18) 22%,transparent 27% 54%,rgba(38,127,255,.12) 58%,transparent 64%);
  animation:v58Radar 16s linear infinite;
}
.login-v58-screenfx i {
  position:absolute;bottom:12%;width:2px;border-radius:3px;
  background:linear-gradient(#5ff7ff,#2584ff);box-shadow:0 0 8px rgba(55,209,255,.9);
  animation:v58Telemetry 1.35s ease-in-out infinite alternate;
}
.login-v58-screenfx i:nth-child(1){left:19%;height:18%;animation-delay:-.2s}
.login-v58-screenfx i:nth-child(2){left:23%;height:35%;animation-delay:-.7s}
.login-v58-screenfx i:nth-child(3){left:27%;height:24%;animation-delay:-1.05s}
.login-v58-data {
  position:absolute;left:4.2%;bottom:4.2%;z-index:5;
  display:flex;align-items:center;gap:10px;padding:9px 13px;
  border:1px solid rgba(75,185,255,.28);border-radius:10px;
  color:#cceaff;background:rgba(3,14,27,.58);backdrop-filter:blur(8px);
  font-size:10px;letter-spacing:.08em;box-shadow:0 12px 40px rgba(0,0,0,.24);
}
.login-v58-data span{color:#7da5ca}.login-v58-data b{color:#e8f8ff}.login-v58-data em{font-style:normal;color:#42f0a0;text-shadow:0 0 10px rgba(66,240,160,.65)}
.login-v57-caption {
  left:auto !important;right:4.2% !important;bottom:4.2% !important;z-index:5 !important;
  background:linear-gradient(90deg,rgba(4,19,36,.76),rgba(5,27,48,.62)) !important;
  border-color:rgba(64,197,255,.42) !important;
  box-shadow:0 18px 60px rgba(0,0,0,.32),0 0 28px rgba(0,173,255,.08) !important;
  text-shadow:0 0 18px rgba(87,203,255,.22);
}
.login-v57-caption::after {
  content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,#24dfff,transparent);
  animation:v58GlowLine 3.8s ease-in-out infinite;
}
@keyframes v58Breathe{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes v58Scan{0%{transform:translateY(-20vh)}100%{transform:translateY(125vh)}}
@keyframes v58Radar{to{transform:rotate(360deg)}}
@keyframes v58Telemetry{from{transform:scaleY(.45);opacity:.45}to{transform:scaleY(1.3);opacity:1}}
@keyframes v58GridDrift{to{background-position:44px 44px}}
@keyframes v58GlowLine{0%,100%{opacity:.25;transform:scaleX(.35)}50%{opacity:1;transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.login-v58-ambient,.login-v58-scan,.login-v58-screenfx::before,.login-v58-screenfx i,.login-v57-caption::after,.login-v58-visual::after{animation:none!important}}
@media(max-width:980px){
  .login-v58-screenfx-main{left:32.4%;top:18.6%;width:34.9%;height:28.3%}
  .login-v58-data{display:none}
  .login-v57-caption{right:5%!important;left:5%!important;justify-content:center}
}
@media(max-width:620px){
  .login-v58-visual{background-position:center top!important;min-height:43vh!important}
  .login-v58-screenfx-left,.login-v58-screenfx-right{display:none}
  .login-v57-caption{bottom:3%!important;padding:9px 12px!important;letter-spacing:.055em!important}
}
