/* Day/night shell themes — paridad legacy/index.html (pgLogin, pgFbo, pgDept, dayNightBtn) */

/* ── Toggle ── */
#dayNightBtn {
  position: fixed;
  top: 12px;
  right: calc(28px + env(safe-area-inset-right, 0px));
  z-index: 9999;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  transition: all .3s;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .15);
}

#dayNightBtn.vis { display: flex; }

#dayNightBtn.is-day {
  background: rgba(255, 255, 255, .7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, .8);
}

#dayNightBtn.is-night {
  background: rgba(255, 255, 255, .1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, .15);
}

#dayNightBtn svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke .3s;
}

#dayNightBtn.is-day svg { stroke: #3A7CB5; }
#dayNightBtn.is-night svg { stroke: #8FC1EC; }
#dayNightBtn:active { transform: scale(.9); }

/* ── Login orbs ── */
.pg-login .lorb {
  position: absolute;
  border-radius: 50%;
  transition: all .8s;
  pointer-events: none;
}

.pg-login .lorb1 { width: 260px; height: 260px; top: -80px; right: -60px; }
.pg-login .lorb2 { width: 200px; height: 200px; bottom: -60px; left: -50px; }
.pg-login .lorb3 { width: 140px; height: 140px; top: 35%; left: 12%; }

.pg-login.login-day .lorb1 { background: rgba(91, 155, 213, .14); filter: blur(50px); }
.pg-login.login-day .lorb2 { background: rgba(143, 193, 236, .22); filter: blur(50px); }
.pg-login.login-day .lorb3 { background: rgba(107, 168, 220, .1); filter: blur(35px); }

.pg-login.login-night .lorb1 { background: rgba(91, 155, 213, .12); filter: blur(60px); }
.pg-login.login-night .lorb2 { background: rgba(46, 108, 164, .18); filter: blur(55px); }
.pg-login.login-night .lorb3 { background: rgba(27, 79, 124, .15); filter: blur(40px); }

.pg-login.login-day .lbox {
  background: rgba(255, 255, 255, .72);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  border: 1px solid rgba(255, 255, 255, .85);
  box-shadow: 0 20px 60px rgba(91, 155, 213, .14), 0 2px 8px rgba(91, 155, 213, .06);
}

.pg-login.login-day .lname { color: #3A7CB5; }
.pg-login.login-day .lsub { color: #8892A4; }
.pg-login.login-day .llbl { color: #5A6478; }
.pg-login.login-day .lsel { border: 1.5px solid #CADEF0; color: #0A0A0F; background-color: rgba(248, 249, 252, .85); }
.pg-login.login-day .lwelcome { color: #12A05C; }
.pg-login.login-day .lbtn { background: linear-gradient(180deg, #6BA8DC, #5B9BD5); box-shadow: 0 6px 22px rgba(91, 155, 213, .3); }
.pg-login.login-day .login-logo-svg .lr-outer { stroke: #5B9BD5; stroke-opacity: .3; }
.pg-login.login-day .login-logo-svg .lr-mid { stroke: #5B9BD5; stroke-opacity: .55; }
.pg-login.login-day .login-logo-svg .lr-inner { stroke: #3A7CB5; }
.pg-login.login-day .login-logo-svg .lr-dot { fill: #3A7CB5; }
.pg-login.login-day .login-logo-svg .lr-plane { fill: #3A7CB5; }
.pg-login.login-day .pin-input { border-color: #CADEF0; background: rgba(248, 249, 252, .85); color: #0A0A0F; }
.pg-login.login-day .deptcrumb b { color: #2E6CA4; background: #EAF3FB; }
.pg-login.login-day .deptcrumb button { color: #8892A4; }

.pg-login.login-night .lbox {
  background: rgba(255, 255, 255, .06);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .4), 0 2px 10px rgba(0, 0, 0, .2);
}

.pg-login.login-night .lname { color: #fff; }
.pg-login.login-night .lsub { color: rgba(255, 255, 255, .4); }
.pg-login.login-night .llbl { color: rgba(255, 255, 255, .35); }
.pg-login.login-night .lsel {
  border: 1px solid rgba(255, 255, 255, .12);
  color: #fff;
  background-color: rgba(255, 255, 255, .06);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23FFFFFF' stroke-opacity='0.55' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");
}
.pg-login.login-night .lsel option { color: #000; background: #fff; }
.pg-login.login-night .lwelcome { color: #5B9BD5; }
.pg-login.login-night .lbtn { background: #2E6CA4; box-shadow: 0 8px 28px rgba(46, 108, 164, .45); }
.pg-login.login-night .login-logo-svg .lr-outer { stroke: #fff; stroke-opacity: .2; }
.pg-login.login-night .login-logo-svg .lr-mid { stroke: #5B9BD5; stroke-opacity: .6; }
.pg-login.login-night .login-logo-svg .lr-inner { stroke: #fff; }
.pg-login.login-night .login-logo-svg .lr-dot { fill: #5B9BD5; }
.pg-login.login-night .login-logo-svg .lr-plane { fill: #fff; }
.pg-login.login-night .pin-input { border-color: rgba(255, 255, 255, .12); background: rgba(255, 255, 255, .06); color: #fff; }
.pg-login.login-night .pin-err { color: #FF8888; }
.pg-login.login-night .deptcrumb b { color: #8FC1EC; background: rgba(91, 155, 213, .15); }
.pg-login.login-night .deptcrumb button { color: rgba(255, 255, 255, .4); }

/* ── FBO ── */
.pg-fbo {
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: background .6s;
  position: relative;
}

.pg-fbo .lorb {
  position: absolute;
  border-radius: 50%;
  transition: all .8s;
  pointer-events: none;
}

.pg-fbo.fbo-day .lorb:nth-child(1) {
  width: 260px; height: 260px; top: -80px; right: -60px;
  background: rgba(91, 155, 213, .14); filter: blur(50px);
}

.pg-fbo.fbo-day .lorb:nth-child(2) {
  width: 200px; height: 200px; bottom: -60px; left: -50px;
  background: rgba(143, 193, 236, .22); filter: blur(50px);
}

.pg-fbo.fbo-day .fbobrand { color: #3A7CB5; }
.pg-fbo.fbo-day .fbobrand span { color: #5B9BD5; }
.pg-fbo.fbo-day .fbowelcome { color: #5A6B7F; }
.pg-fbo.fbo-day .fbocard {
  background: rgba(255, 255, 255, .72);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  border: 1px solid rgba(255, 255, 255, .85);
  box-shadow: 0 10px 34px rgba(91, 155, 213, .12);
}
.pg-fbo.fbo-day .fbotitle { color: #0E1A2B; }
.pg-fbo.fbo-day .fbosub { color: #5A6B7F; }
.pg-fbo.fbo-day .fbolabel { color: #6B7C93; }
.pg-fbo.fbo-day .fbosel { border: 1.5px solid #CADEF0; color: #0E1A2B; background: rgba(248, 251, 254, .85); }
.pg-fbo.fbo-day .fbo-logo-svg .lr-outer { stroke: #5B9BD5; stroke-opacity: .3; }
.pg-fbo.fbo-day .fbo-logo-svg .lr-mid { stroke: #5B9BD5; stroke-opacity: .55; }
.pg-fbo.fbo-day .fbo-logo-svg .lr-inner { stroke: #3A7CB5; }
.pg-fbo.fbo-day .fbo-logo-svg .lr-dot { fill: #3A7CB5; }
.pg-fbo.fbo-day .fbo-logo-svg .lr-plane { fill: #3A7CB5; }

.pg-fbo.fbo-night .lorb:nth-child(1) {
  width: 260px; height: 260px; top: -80px; right: -60px;
  background: rgba(91, 155, 213, .12); filter: blur(60px);
}

.pg-fbo.fbo-night .lorb:nth-child(2) {
  width: 200px; height: 200px; bottom: -60px; left: -50px;
  background: rgba(46, 108, 164, .18); filter: blur(55px);
}

.pg-fbo.fbo-night .fbobrand { color: #fff; }
.pg-fbo.fbo-night .fbobrand span { color: rgba(255, 255, 255, .5); }
.pg-fbo.fbo-night .fbowelcome { color: rgba(255, 255, 255, .4); }
.pg-fbo.fbo-night .fbocard {
  background: rgba(255, 255, 255, .06);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .4);
}
.pg-fbo.fbo-night .fbotitle { color: #fff; }
.pg-fbo.fbo-night .fbosub { color: rgba(255, 255, 255, .45); }
.pg-fbo.fbo-night .fbolabel { color: rgba(255, 255, 255, .35); }
.pg-fbo.fbo-night .fbosel { border: 1px solid rgba(255, 255, 255, .12); color: #fff; background: rgba(255, 255, 255, .06); }
.pg-fbo.fbo-night .fbosel option { color: #000; background: #fff; }
.pg-fbo.fbo-night .fbo-logo-svg .lr-outer { stroke: #fff; stroke-opacity: .2; }
.pg-fbo.fbo-night .fbo-logo-svg .lr-mid { stroke: #5B9BD5; stroke-opacity: .6; }
.pg-fbo.fbo-night .fbo-logo-svg .lr-inner { stroke: #fff; }
.pg-fbo.fbo-night .fbo-logo-svg .lr-dot { fill: #5B9BD5; }
.pg-fbo.fbo-night .fbo-logo-svg .lr-plane { fill: #fff; }

.pg-fbo .fbobrand,
.pg-fbo .fbobrand span,
.pg-fbo .fbowelcome,
.pg-fbo .fbotitle,
.pg-fbo .fbosub,
.pg-fbo .fbolabel,
.pg-fbo .fbosel,
.pg-fbo .fbocard {
  transition: color .4s, background .6s, border-color .4s, box-shadow .6s;
}

/* ── Dept ── */
.pg-dept {
  min-height: 100vh;
  overflow: auto;
  transition: background .6s;
}

.pg-dept .dpwrap {
  position: relative;
  z-index: 1;
}

.pg-dept .dphdr {
  text-align: center;
  margin-bottom: 30px;
}

.pg-dept .dpbrand {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -.01em;
  transition: color .4s;
}

.pg-dept .dpbrand span {
  font-size: .6em;
  transition: color .4s;
}

.pg-dept .dptag {
  font-size: 12.5px;
  margin-top: 3px;
  transition: color .4s;
}

.pg-dept.dept-day .dpbrand { color: #3A7CB5; }
.pg-dept.dept-day .dpbrand span { color: #5B9BD5; }
.pg-dept.dept-day .dptag { color: #5A6B7F; }
.pg-dept.dept-day .dept-logo-svg .lr-outer { stroke: #5B9BD5; stroke-opacity: .3; }
.pg-dept.dept-day .dept-logo-svg .lr-mid { stroke: #5B9BD5; stroke-opacity: .55; }
.pg-dept.dept-day .dept-logo-svg .lr-inner { stroke: #3A7CB5; }
.pg-dept.dept-day .dept-logo-svg .lr-dot { fill: #3A7CB5; }
.pg-dept.dept-day .dept-logo-svg .lr-plane { fill: #3A7CB5; }

.pg-dept.dept-night .dpbrand { color: #fff; }
.pg-dept.dept-night .dpbrand span { color: rgba(255, 255, 255, .5); }
.pg-dept.dept-night .dptag { color: rgba(255, 255, 255, .4); }
.pg-dept.dept-night h1 { color: #fff !important; }
.pg-dept.dept-night .dpsub { color: rgba(255, 255, 255, .45) !important; }
.pg-dept.dept-night .dept-logo-svg .lr-outer { stroke: #fff; stroke-opacity: .2; }
.pg-dept.dept-night .dept-logo-svg .lr-mid { stroke: #5B9BD5; stroke-opacity: .6; }
.pg-dept.dept-night .dept-logo-svg .lr-inner { stroke: #fff; }
.pg-dept.dept-night .dept-logo-svg .lr-dot { fill: #5B9BD5; }
.pg-dept.dept-night .dept-logo-svg .lr-plane { fill: #fff; }

.pg-dept h1 {
  font-size: 22px;
  font-weight: 800;
  color: #1A3A5C;
  margin: 26px 0 5px;
  text-align: center;
}

.pg-dept .dpsub {
  font-size: 13px;
  color: #6B7C93;
  text-align: center;
  margin-bottom: 14px;
}

.pg-dept .dpgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
}

.pg-dept .dp-depts-msg {
  text-align: center;
  color: #5A6B7F;
  font-size: 14px;
  padding: 28px 16px;
  max-width: 520px;
  margin: 0 auto;
}

.pg-dept.dept-night .dp-depts-msg {
  color: rgba(255, 255, 255, .5);
}

.pg-dept .dep {
  background: rgba(255, 255, 255, .55);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 20px;
  padding: 0 !important;
  cursor: pointer;
  transition: all .25s;
  position: relative;
  overflow: hidden;
  text-align: left;
  aspect-ratio: auto;
  display: block;
}

.pg-dept .dep:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(91, 155, 213, .2);
}

.pg-dept .dep:active { transform: scale(.985); }

.pg-dept .dep-accent { height: 4px; width: 100%; }
.pg-dept .dep-accent.a-blue { background: linear-gradient(90deg, #5B9BD5, #8FC1EC); }
.pg-dept .dep-accent.a-green { background: linear-gradient(90deg, #2AAA6A, #5CC89A); }
.pg-dept .dep-accent.a-coral { background: linear-gradient(90deg, #E87C5D, #F2A68A); }
.pg-dept .dep-accent.a-purple { background: linear-gradient(90deg, #7B68CD, #A599E6); }
.pg-dept .dep-accent.a-teal { background: linear-gradient(90deg, #1E9E96, #4CC5BE); }
.pg-dept .dep-accent.a-graphite { background: linear-gradient(90deg, #5A6B7F, #8D9AAD); }
.pg-dept .dep-accent.a-sky { background: linear-gradient(90deg, #3A7CB5, #5B9BD5); }

.pg-dept .dep-body { padding: 22px 20px 20px; }

.pg-dept .dep .ic {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  position: relative;
}

.pg-dept .dep .ic::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 18px;
  opacity: .35;
  filter: blur(8px);
  z-index: 0;
}

.pg-dept .dep .ic svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  position: relative;
  z-index: 1;
}

.pg-dept .ic.desp { background: rgba(91, 155, 213, .12); }
.pg-dept .ic.desp::after { background: rgba(91, 155, 213, .3); }
.pg-dept .ic.desp svg { stroke: #4A8BC8; }
.pg-dept .ic.ramp { background: rgba(42, 170, 106, .1); }
.pg-dept .ic.ramp::after { background: rgba(42, 170, 106, .25); }
.pg-dept .ic.ramp svg { stroke: #2AAA6A; }
.pg-dept .ic.recep { background: rgba(232, 124, 93, .1); }
.pg-dept .ic.recep::after { background: rgba(232, 124, 93, .25); }
.pg-dept .ic.recep svg { stroke: #D0684A; }
.pg-dept .ic.fuel { background: rgba(123, 104, 205, .1); }
.pg-dept .ic.fuel::after { background: rgba(123, 104, 205, .25); }
.pg-dept .ic.fuel svg { stroke: #6B5ABD; }
.pg-dept .ic.maint { background: rgba(30, 158, 150, .1); }
.pg-dept .ic.maint::after { background: rgba(30, 158, 150, .25); }
.pg-dept .ic.maint svg { stroke: #1E9E96; }
.pg-dept .ic.dir { background: rgba(90, 107, 127, .1); }
.pg-dept .ic.dir::after { background: rgba(90, 107, 127, .2); }
.pg-dept .ic.dir svg { stroke: #5A6B7F; }
.pg-dept .ic.lounge { background: rgba(58, 124, 181, .1); }
.pg-dept .ic.lounge::after { background: rgba(58, 124, 181, .25); }
.pg-dept .ic.lounge svg { stroke: #3A7CB5; }

.pg-dept .dep h3 {
  font-size: 15.5px;
  font-weight: 700;
  color: #0E1A2B;
  margin: 0 0 6px;
}

.pg-dept .dep p {
  font-size: 12px;
  color: #5A6B7F;
  line-height: 1.55;
  margin: 0;
  min-height: 38px;
  flex: none;
}

.pg-dept .dep-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(202, 222, 240, .5);
}

.pg-dept .role {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  display: inline-block;
  margin-top: 0;
}

.pg-dept .role.cap { background: rgba(91, 155, 213, .1); color: #3A7CB5; }
.pg-dept .role.view { background: rgba(42, 170, 106, .08); color: #1D7A4D; }
.pg-dept .role.price { background: rgba(232, 124, 93, .1); color: #A85030; }

.pg-dept .dep-arrow {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(91, 155, 213, .08);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
}

.pg-dept .dep:hover .dep-arrow { background: rgba(91, 155, 213, .18); }

.pg-dept .dep-arrow svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: #5B9BD5;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pg-dept.dept-night .dep {
  background: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .12) !important;
}

.pg-dept.dept-night .dep:hover {
  border-color: rgba(91, 155, 213, .5) !important;
  box-shadow: 0 16px 40px rgba(91, 155, 213, .15) !important;
}

.pg-dept.dept-night .dep h3 { color: #fff !important; }
.pg-dept.dept-night .dep p { color: rgba(255, 255, 255, .45) !important; }
.pg-dept.dept-night .dep-foot { border-top-color: rgba(255, 255, 255, .08) !important; }
.pg-dept.dept-night .dep-arrow { background: rgba(255, 255, 255, .08) !important; }

.pg-dept.dept-day .dp-change-fbo {
  background: rgba(255, 255, 255, .58);
  border-color: rgba(91, 155, 213, .28);
  color: #3A7CB5;
}

.pg-dept.dept-day .dp-change-fbo:hover {
  background: rgba(255, 255, 255, .88);
  border-color: rgba(91, 155, 213, .5);
  color: #2E6CA4;
}

.pg-dept.dept-night .dp-change-fbo {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .16);
  color: rgba(255, 255, 255, .82);
  box-shadow: 0 4px 18px rgba(0, 0, 0, .22);
}

.pg-dept.dept-night .dp-change-fbo:hover {
  background: rgba(255, 255, 255, .14);
  border-color: rgba(91, 155, 213, .45);
  color: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .28);
}

@media (max-width: 1000px) {
  .pg-dept .dpgrid { max-width: 720px; }
}

@media (max-width: 700px) {
  .pg-dept .dpgrid {
    grid-template-columns: repeat(2, 1fr);
    max-width: 480px;
  }
}

@media (max-width: 450px) {
  .pg-dept .dpgrid {
    grid-template-columns: 1fr;
    max-width: 360px;
  }
}
