:root{
  --bg:#08111f;
  --panel:rgba(19,31,51,.84);
  --line:#294363;
  --accent:#4ea6ff;
  --text:#edf4ff;
  --muted:#9ab2cc;
  --danger:#f87171;
}
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:Segoe UI,Arial,sans-serif
}
body{
  min-height:100vh;
  background:radial-gradient(circle at top,#13253f,#08111f 60%);
  color:var(--text)
}
.login-page{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px
}
.login-card{
  width:min(460px,100%);
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:22px;
  padding:42px;
  box-shadow:0 25px 70px rgba(0,0,0,.35)
}
.brand-mark{
  display:inline-block;
  padding:6px 10px;
  margin-bottom:18px;
  border:1px solid var(--accent);
  border-radius:8px;
  color:#9dd3ff;
  font-weight:700;
  letter-spacing:1px
}
.login-card h1{
  font-size:32px;
  margin-bottom:12px
}
.login-card p{
  color:var(--muted);
  margin-bottom:30px
}
.login-card label{
  display:block;
  margin:16px 0 7px;
  color:#c7d9ed
}
.login-card input{
  width:100%;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#0d1b30;
  color:#fff;
  font-size:16px
}
.login-card input:focus{
  outline:2px solid var(--accent);
  border-color:transparent
}
button{
  background:linear-gradient(135deg,#2563eb,#0ea5e9);
  border:none;
  color:#fff;
  padding:9px 14px;
  border-radius:9px;
  cursor:pointer;
  font-size:14px
}
button:disabled{
  opacity:.65;
  cursor:wait
}
.login-card button{
  width:100%;
  margin-top:22px
}
.login-hint{
  margin-top:10px;
  color:var(--muted);
  font-size:14px;
  line-height:1.45
}
.login-card .secondary-login-button{
  margin-top:10px;
  border:1px solid var(--line);
  background:transparent;
  color:var(--muted)
}
.login-card .secondary-login-button:hover{
  border-color:var(--accent);
  color:var(--text)
}
.api-state{
  text-align:center;
  margin-top:18px;
  color:var(--muted);
  font-size:14px
}
.api-state.online{color:#79ffb1}
.api-state.offline{color:var(--danger)}
.message{min-height:22px;margin-top:12px}
.error-message{color:var(--danger)}
.visible{
  padding:10px;
  border:1px solid rgba(248,113,113,.45);
  border-radius:10px
}

/* Górny pasek */
.top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:58px;
  padding:10px 26px;
  background:rgba(9,18,33,.94);
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:10
}
.top h1{
  font-size:23px;
  line-height:1;
  letter-spacing:.2px
}
.top span{color:var(--muted)}
.right{
  display:flex;
  align-items:center;
  gap:13px
}
.status{
  display:flex;
  align-items:center;
  gap:7px;
  color:#79ffb1;
  font-size:13px
}
.dot{
  width:8px;
  height:8px;
  background:#35e37a;
  border-radius:50%;
  box-shadow:0 0 9px #35e37a
}
.identity{
  display:flex;
  flex-direction:column;
  line-height:1.15
}
.identity strong{font-size:14px}
.identity span{font-size:11px}
.logout-button{
  background:linear-gradient(135deg,#dc2626,#ef4444);
  padding:8px 12px
}

/* Cały dashboard bardziej zwarty */
main{
  max-width:1320px;
  margin:auto;
  padding:14px 24px 18px
}
h2{
  margin:13px 0 8px;
  color:#9dd3ff;
  letter-spacing:1.5px;
  font-size:15px;
  line-height:1.1
}
.g2,.g3{
  display:grid;
  gap:10px
}
.g2{
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.g3{
  grid-template-columns:repeat(3,minmax(0,1fr))
}

/* Dużo mniejsze kafle */
.card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:12px;
  padding:11px 14px;
  min-height:58px;
  transition:.18s
}
.card:hover{
  transform:translateY(-2px);
  border-color:var(--accent);
  box-shadow:0 7px 18px rgba(78,166,255,.16)
}
.dashboard-card{
  display:flex;
  align-items:center;
  min-height:58px
}
.dashboard-card h3{
  font-size:15px;
  line-height:1.15;
  font-weight:600
}
.muted,.placeholder{color:var(--muted)}
.placeholder{
  display:flex;
  align-items:center;
  font-size:13px
}

/* AIQ również znacznie niższe */
.ai{
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:76px;
  padding:12px 15px
}
.ai h3{
  font-size:16px
}
.ai p{
  font-size:13px;
  color:var(--muted)
}
.ai input{
  width:42%;
  padding:9px 12px;
  border-radius:9px;
  border:1px solid var(--line);
  background:#0d1b30;
  color:#fff;
  font-size:13px
}
.aiq-card{
  display:grid;
  grid-template-columns:minmax(210px,auto) minmax(320px,1fr);
  gap:10px 22px
}
.aiq-brand{align-self:center}
.aiq-memory{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
  line-height:1.3
}
.aiq-memory.growing{color:#79ffb1}
.aiq-form{min-width:0}
.aiq-controls{
  display:flex;
  gap:8px
}
.aiq-controls input{
  width:100%;
  min-width:0
}
.aiq-controls button{
  flex:0 0 auto;
  min-width:88px
}
.aiq-status{
  min-height:16px;
  margin-top:5px;
  color:var(--muted);
  font-size:11px
}
.aiq-answer{
  grid-column:1/-1;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  max-height:330px;
  overflow:auto;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#0d1b30;
  color:#e8f2ff;
  font-size:13px;
  line-height:1.55
}
[hidden]{display:none!important}

@media(max-width:900px){
  .g2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ai input{width:48%}
}

/* GATLIK_COMMAND_CENTER_TEST_V20 */
:root{
  --panel:rgba(13,25,43,.94);
  --line:rgba(105,145,191,.24);
  --muted:#9fb2ca;
}
body{
  background:
    radial-gradient(circle at 18% -10%,rgba(30,78,133,.22),transparent 32%),
    linear-gradient(180deg,#07111e 0%,#081321 48%,#07101d 100%);
}
.top{
  min-height:72px;
  padding:12px 26px;
  background:rgba(5,14,26,.94);
  backdrop-filter:blur(18px);
}
.top h1{font-size:25px}
.top > div:first-child > span{display:block;margin-top:5px;font-size:13px}
.status{
  padding:8px 11px;
  border:1px solid rgba(53,227,122,.28);
  border-radius:9px;
  background:rgba(22,101,52,.1);
  color:#74efa8;
  font-weight:700;
}
main{max-width:1500px;padding:14px 24px 24px}
h2{
  margin:12px 0 8px;
  color:#d7e6fa;
  font-size:15px;
  letter-spacing:.06em;
}
.card{
  background:
    linear-gradient(145deg,rgba(22,37,59,.96),rgba(12,25,43,.96));
  border-color:var(--line);
  box-shadow:0 12px 28px rgba(0,0,0,.14);
}
.card:hover{
  border-color:rgba(78,166,255,.55);
  box-shadow:0 14px 30px rgba(0,0,0,.22),0 0 0 1px rgba(78,166,255,.08);
}
@media(min-width:901px){
  main{
    grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
    column-gap:14px;
  }
  #locationsGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  #iceRinksGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  #locationsGrid .dashboard-card,
  #iceRinksGrid .dashboard-card{
    justify-content:flex-start;
    min-height:112px;
    padding:14px;
    text-align:left;
  }
}

/* GATLIK_EQUAL_VERTICAL_GAPS_V24 */
#aiqSection,
#accountSecuritySection{
  margin-top:4px
}
#aiqSection + #accountSecuritySection{
  margin-top:4px
}
.dashboard-entity-card{
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  overflow:hidden;
}
.dashboard-entity-card::after{
  position:absolute;
  inset:auto -35px -55px auto;
  width:120px;
  height:120px;
  border-radius:50%;
  background:var(--entity-glow,rgba(14,165,233,.08));
  content:"";
  filter:blur(8px);
  pointer-events:none;
}
.entity-icon{
  display:grid;
  width:54px;
  height:54px;
  place-items:center;
  border:1px solid var(--entity-border,rgba(56,189,248,.3));
  border-radius:50%;
  background:var(--entity-bg,rgba(14,165,233,.14));
  color:var(--entity-color,#38bdf8);
  font-size:27px;
  box-shadow:inset 0 0 24px rgba(255,255,255,.025);
}
.theme-nowogrod{
  --entity-bg:rgba(34,197,94,.15);
  --entity-border:rgba(74,222,128,.28);
  --entity-color:#4ade80;
  --entity-glow:rgba(34,197,94,.08);
}
.theme-myslenice{
  --entity-bg:rgba(249,115,22,.15);
  --entity-border:rgba(251,146,60,.3);
  --entity-color:#fb923c;
  --entity-glow:rgba(249,115,22,.08);
}
.theme-raciechowice{
  --entity-bg:rgba(168,85,247,.15);
  --entity-border:rgba(192,132,252,.3);
  --entity-color:#c084fc;
  --entity-glow:rgba(168,85,247,.08);
}
.theme-madeira{
  --entity-bg:rgba(14,165,233,.15);
  --entity-border:rgba(56,189,248,.3);
  --entity-color:#38bdf8;
  --entity-glow:rgba(14,165,233,.08);
}
.theme-rink{
  --entity-bg:rgba(6,182,212,.14);
  --entity-border:rgba(34,211,238,.27);
  --entity-color:#22d3ee;
  --entity-glow:rgba(6,182,212,.07);
}
#locationsGrid .dashboard-entity-card h3,
#iceRinksGrid .dashboard-entity-card h3{
  margin:0;
  overflow:visible;
  color:#eef5ff;
  font-size:16px;
  line-height:1.25;
  text-overflow:clip;
  white-space:normal;
}
.entity-copy p{
  margin:4px 0 8px;
  color:var(--muted);
  font-size:12px;
  line-height:1.25;
}
.entity-status{
  display:inline-flex;
  padding:3px 7px;
  border-radius:6px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
}
.entity-status.online{
  border:1px solid rgba(34,197,94,.26);
  background:rgba(34,197,94,.12);
  color:#4ade80;
}
.entity-status.offline{
  border:1px solid rgba(239,68,68,.22);
  background:rgba(239,68,68,.1);
  color:#f87171;
}
.entity-status.neutral{
  border:1px solid rgba(96,165,250,.2);
  background:rgba(59,130,246,.09);
  color:#8ec5ff;
}
.entity-arrow{
  position:relative;
  z-index:1;
  color:#8da8c5;
  font-size:28px;
}
.rink-location{display:block;margin-top:2px;color:#a9bfd8;font-size:12px}
.aiq-card{
  position:relative;
  min-height:94px;
  border-color:rgba(139,92,246,.28);
  background:
    radial-gradient(circle at 5% 50%,rgba(124,58,237,.16),transparent 25%),
    linear-gradient(145deg,rgba(27,31,62,.96),rgba(12,26,45,.96));
}
.aiq-brand h3{font-size:18px}
.aiq-controls input{min-height:44px;background:rgba(5,16,32,.58)}
.aiq-controls button{
  min-width:108px;
  background:linear-gradient(135deg,#6d4ee8,#8b5cf6);
}
#accountSecuritySection > h2{font-size:15px}
.sessions-card{padding:13px 14px}
.security-tools-grid{gap:10px}
@media(min-width:901px){
  .security-tools-grid{
    grid-template-columns:190px 190px 190px minmax(0,1fr);
  }
  .recovery-card,
  .blocked-ips-card,
  .trusted-devices-card,
  .security-history-card{
    height:178px;
    min-height:178px;
  }
}
.security-history-row{
  border-color:rgba(96,165,250,.14);
  background:rgba(4,14,28,.4);
}
@media(max-width:900px){
  main{display:block;padding:12px 14px 22px}
  #locationsGrid,#iceRinksGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .dashboard-entity-card{
    min-height:104px;
    padding:12px;
  }
}
@media(max-width:560px){
  .top{min-height:0;padding:11px 14px}
  .top h1{font-size:22px}
  main{padding:8px 11px 18px}
  #locationsGrid,#iceRinksGrid{grid-template-columns:1fr}
  .dashboard-entity-card{
    grid-template-columns:50px minmax(0,1fr) auto;
    min-height:88px;
    padding:10px 12px;
  }
  .entity-icon{width:46px;height:46px;font-size:23px}
  #locationsGrid .dashboard-entity-card h3,
  #iceRinksGrid .dashboard-entity-card h3{font-size:16px}
  .entity-copy p{margin:3px 0 6px;font-size:11px}
  .aiq-card{min-height:0}
}
@media(max-width:720px){
  .top{
    padding:10px 15px;
    align-items:flex-start;
    gap:10px
  }
  .right{
    flex-wrap:wrap;
    justify-content:flex-end
  }
  main{padding:12px 14px 18px}
  .g2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ai{
    flex-direction:column;
    align-items:stretch;
    gap:9px
  }
  .ai input{width:100%}
  .aiq-card{display:flex}
  .aiq-form{width:100%}
}

/* GATLIK_PRIORITY_LOCATIONS_RINKS_V10 */
@media(min-width:901px){
  main{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:12px
  }
  main > #globalMessage,
  main > #aiqSection,
  main > #accountSecuritySection{
    grid-column:1 / -1
  }
  main > #locationsSection{grid-column:1}
  main > section:nth-of-type(2){grid-column:2}
  #locationsGrid{
    grid-template-columns:repeat(4,minmax(0,1fr))
  }
  #iceRinksGrid{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  #locationsGrid .dashboard-card,
  #iceRinksGrid .dashboard-card{
    min-height:50px;
    padding:7px 8px;
    justify-content:center;
    text-align:center
  }
  #locationsGrid .dashboard-card h3,
  #iceRinksGrid .dashboard-card h3{
    overflow:hidden;
    font-size:14px;
    text-overflow:ellipsis;
    white-space:nowrap
  }
  .aiq-card{
    min-height:56px;
    padding-top:6px;
    padding-bottom:6px
  }
}
@media(max-width:480px){
  .top{
    flex-direction:column;
    position:static
  }
  .right{
    width:100%;
    justify-content:space-between
  }
  .status{display:none}
  .g2,.g3{grid-template-columns:1fr}
  .card,.dashboard-card{min-height:52px}
  .dashboard-card h3{font-size:14px}
  .login-card{padding:30px 24px}
  .login-card h1{font-size:27px}
}


/* Zarządzanie sesjami konta */
.sessions-card{
  padding:18px;
  min-height:auto;
}
.sessions-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.sessions-heading h3{
  margin:0 0 5px;
}
.sessions-heading p{
  margin:0;
  color:#9db9d8;
}
.sessions-list{
  display:grid;
  gap:8px;
}
.session-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:11px 13px;
  border:1px solid rgba(96,165,250,.22);
  border-radius:10px;
  background:rgba(7,18,34,.48);
}
.session-device{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.session-device strong{
  color:#e8f3ff;
}
.session-device span{
  color:#8daac8;
  font-size:13px;
  overflow-wrap:anywhere;
}
.session-state{
  flex:0 0 auto;
  padding:5px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
}
.session-state.active{
  color:#55f39a;
  background:rgba(53,227,122,.12);
  border:1px solid rgba(53,227,122,.35);
}
.session-state.inactive{
  color:#9db0c5;
  background:rgba(148,163,184,.1);
  border:1px solid rgba(148,163,184,.22);
}
.session-placeholder{
  color:#8daac8;
}
.sessions-message{
  min-height:20px;
  margin-top:10px;
  color:#fca5a5;
  font-size:13px;
}
.danger-outline-button{
  border:1px solid rgba(248,113,113,.65);
  border-radius:9px;
  padding:10px 14px;
  color:#fecaca;
  background:rgba(127,29,29,.18);
  cursor:pointer;
  font-weight:700;
}
.danger-outline-button:hover{
  background:rgba(185,28,28,.3);
}
.danger-outline-button:disabled{
  opacity:.55;
  cursor:wait;
}
@media (max-width:700px){
  .sessions-heading{
    align-items:stretch;
    flex-direction:column;
  }
  .session-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .danger-outline-button{
    width:100%;
  }
}

/* GATLIK_COMPACT_SECURITY_V2 */
#accountSecuritySection > h2{
  margin-bottom:7px;
  font-size:15px;
  letter-spacing:.08em;
}
#accountSecuritySection .card{
  border-color:rgba(96,165,250,.2);
  box-shadow:none;
}
.sessions-card{
  padding:10px 12px;
}
.sessions-heading{
  margin-bottom:7px;
}
.sessions-heading h3,
.recovery-card h3,
.blocked-ips-heading h3{
  margin:0 0 2px;
  font-size:15px;
}
#sessionsSummary,
.recovery-card p,
.blocked-ips-heading p{
  font-size:11px;
}
#sessionsList{
  grid-template-columns:repeat(auto-fit,minmax(245px,1fr));
  gap:6px;
}
.session-row{
  padding:6px 8px;
  border-color:rgba(96,165,250,.14);
  background:rgba(4,14,28,.32);
}
.session-device strong{
  font-size:12px;
}
.session-device span{
  font-size:10px;
}
.session-state{
  padding:2px 6px;
  font-size:9px;
}
.sessions-card .danger-outline-button{
  padding:5px 8px;
  border-color:rgba(248,113,113,.4);
  font-size:10px;
}
.security-tools-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:7px;
  margin-top:7px;
}
.recovery-card,
.blocked-ips-card{
  min-height:0;
  margin-top:0;
  padding:9px 11px;
  border-radius:9px;
}
.recovery-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px 10px;
}
.recovery-card .sessions-message{
  grid-column:1 / -1;
}
.security-action-button{
  align-self:center;
  padding:6px 9px;
  border-color:rgba(96,165,250,.4);
  border-radius:7px;
  font-size:10px;
  white-space:nowrap;
}
.blocked-ips-heading p{
  margin-bottom:5px;
}
.blocked-ips-list{
  gap:4px;
}
.blocked-ip-row{
  padding:5px 7px;
  border-color:rgba(96,165,250,.14);
  background:rgba(4,14,28,.3);
}
.blocked-ip-row strong{
  font-size:11px;
}
.blocked-ip-row span,
.blocked-ip-placeholder{
  font-size:10px;
}
.blocked-ip-unblock{
  padding:4px 7px;
  font-size:9px;
}
@media (max-width:760px){
  .security-tools-grid{
    grid-template-columns:1fr;
  }
  .recovery-card{
    align-items:center;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
  }
  .recovery-card .security-action-button{
    width:auto;
  }
}

.blocked-ips-card{
  margin-top:10px;
  padding:14px 16px;
}
.blocked-ips-heading h3{
  margin:0 0 4px;
  font-size:18px;
}
.blocked-ips-heading p{
  margin:0 0 10px;
  color:#9db9d8;
  font-size:13px;
}
.blocked-ips-list{
  display:grid;
  gap:7px;
}
.blocked-ip-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 11px;
  border:1px solid rgba(96,165,250,.22);
  border-radius:8px;
  background:rgba(4,14,28,.5);
}
.blocked-ip-row strong,
.blocked-ip-row span{
  display:block;
}
.blocked-ip-row span{
  margin-top:2px;
  color:#9db9d8;
  font-size:11px;
}
.blocked-ip-placeholder{
  color:#9db9d8;
}
@media (max-width:700px){
  .blocked-ip-row{
    align-items:stretch;
    flex-direction:column;
  }
}


/* GATLIK_COMPACT_SESSIONS_V1 */
.sessions-card {
    padding: 14px 16px;
}

.sessions-heading {
    align-items: center;
    margin-bottom: 10px;
}

.sessions-heading h3 {
    margin: 0 0 2px;
    font-size: 18px;
}

#sessionsSummary {
    font-size: 13px;
}

#sessionsList {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.session-row {
    min-height: 0;
    padding: 8px 10px;
    border-radius: 8px;
    gap: 8px;
}

.session-device {
    min-width: 0;
}

.session-device strong {
    display: block;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.session-device span {
    display: block;
    margin-top: 2px;
    overflow: hidden;
    font-size: 11px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.session-state {
    flex-shrink: 0;
    padding: 3px 7px;
    font-size: 10px;
}

.sessions-card .danger-outline-button {
    padding: 7px 10px;
    font-size: 12px;
}

.sessions-message {
    min-height: 0;
    margin-top: 5px;
    font-size: 11px;
}

@media (max-width: 1000px) {
    #sessionsList {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .sessions-card {
        padding: 12px;
    }

    .sessions-heading {
        gap: 8px;
    }

    .sessions-card .danger-outline-button {
        width: 100%;
    }

    .session-row {
        align-items: center;
        flex-direction: row;
    }
}

.recovery-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:10px;
  padding:14px 16px;
  min-height:auto;
}
.recovery-card h3{
  margin:0 0 4px;
  font-size:18px;
}
.recovery-card p{
  margin:0;
  color:#9db9d8;
  font-size:13px;
}
.security-action-button{
  border:1px solid rgba(96,165,250,.55);
  border-radius:9px;
  padding:9px 13px;
  color:#dbeeff;
  background:rgba(30,100,180,.22);
  cursor:pointer;
  font-weight:700;
}
.security-action-button:hover{
  background:rgba(37,99,235,.35);
}
.security-action-button:disabled{
  opacity:.55;
  cursor:wait;
}
.security-modal{
  position:fixed;
  z-index:1000;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(1,7,16,.82);
}
.security-modal[hidden]{
  display:none;
}
.security-modal-card{
  width:min(620px,100%);
  max-height:90vh;
  overflow:auto;
  padding:24px;
  border:1px solid rgba(96,165,250,.42);
  border-radius:14px;
  background:#0d1b2e;
  box-shadow:0 24px 80px rgba(0,0,0,.5);
}
.security-modal-card h3{
  margin:0 0 8px;
}
.security-modal-card p{
  color:#a9c2de;
}
.recovery-codes-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:18px 0;
}
.recovery-codes-list div{
  display:flex;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(96,165,250,.25);
  border-radius:8px;
  background:rgba(4,14,28,.65);
}
.recovery-codes-list span{
  color:#7895b5;
}
.recovery-codes-list strong{
  color:#f1f7ff;
  letter-spacing:.08em;
}
.security-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.security-password-label{
  display:block;
  margin:18px 0 7px;
  color:#dbeeff;
  font-weight:700;
}
.security-password-input{
  width:100%;
  margin-bottom:18px;
  padding:11px 12px;
  border:1px solid rgba(96,165,250,.38);
  border-radius:8px;
  color:#f1f7ff;
  background:#071426;
}
@media (max-width:700px){
  .recovery-card,
  .security-modal-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .recovery-codes-list{
    grid-template-columns:1fr;
  }
}

/* GATLIK_COMPACT_SECURITY_V2_FINAL */
#accountSecuritySection > h2{margin-bottom:7px;font-size:15px;letter-spacing:.08em}
#accountSecuritySection .card{border-color:rgba(96,165,250,.2);box-shadow:none}
.sessions-card{padding:10px 12px}
.sessions-heading{margin-bottom:7px}
.sessions-heading h3,
.recovery-card h3,
.blocked-ips-heading h3{margin:0 0 2px;font-size:15px}
#sessionsSummary,
.recovery-card p,
.blocked-ips-heading p{font-size:11px}
#sessionsList{
  grid-template-columns:repeat(auto-fit,minmax(245px,1fr));
  gap:6px
}
.session-row{
  padding:6px 8px;
  border-color:rgba(96,165,250,.14);
  background:rgba(4,14,28,.32)
}
.session-device strong{font-size:12px}
.session-device span{font-size:10px}
.session-state{padding:2px 6px;font-size:9px}
.sessions-card .danger-outline-button{
  padding:5px 8px;
  border-color:rgba(248,113,113,.4);
  font-size:10px
}
.security-tools-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:7px;
  margin-top:7px
}
.recovery-card,
.blocked-ips-card{
  min-height:0;
  margin-top:0;
  padding:9px 11px;
  border-radius:9px
}
.recovery-card{
  display:grid;
  align-items:center;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px 10px
}
.recovery-card .sessions-message{grid-column:1 / -1}
.security-action-button{
  align-self:center;
  width:auto;
  padding:6px 9px;
  border-color:rgba(96,165,250,.4);
  border-radius:7px;
  font-size:10px;
  white-space:nowrap
}
.blocked-ips-heading p{margin-bottom:5px}
.blocked-ips-list{gap:4px}
.blocked-ip-row{
  padding:5px 7px;
  border-color:rgba(96,165,250,.14);
  background:rgba(4,14,28,.3)
}
.blocked-ip-row strong{font-size:11px}
.blocked-ip-row span,
.blocked-ip-placeholder{font-size:10px}
.blocked-ip-unblock{padding:4px 7px;font-size:9px}
@media (max-width:760px){
  .security-tools-grid{grid-template-columns:1fr}
  .recovery-card{
    display:grid;
    align-items:center;
    grid-template-columns:minmax(0,1fr) auto
  }
  .recovery-card .security-action-button{width:auto}
}
@media (max-width:480px){
  #accountSecuritySection > h2{
    margin-bottom:6px;
    font-size:14px
  }
  .sessions-card{
    padding:9px
  }
  #sessionsList{
    grid-template-columns:1fr;
    gap:5px
  }
  .session-row{
    min-width:0;
    padding:6px 7px
  }
  .sessions-heading{
    gap:6px;
    margin-bottom:6px
  }
  .sessions-card .danger-outline-button{
    min-height:38px;
    padding:6px 9px
  }
  .security-tools-grid{
    gap:6px;
    margin-top:6px
  }
  .recovery-card,
  .blocked-ips-card{
    padding:9px
  }
  .recovery-card{
    grid-template-columns:minmax(0,1fr) auto;
    gap:4px 7px
  }
  .security-action-button{
    min-height:40px;
    padding:6px 9px;
    font-size:10px
  }
  .blocked-ip-unblock{
    min-height:36px;
    padding:5px 9px
  }
}
.security-history-card{
  grid-column:1 / -1;
  min-height:0;
  padding:9px 11px
}
.security-history-card h3{margin:0 0 2px;font-size:15px}
.security-history-card p{margin:0 0 6px;color:#9db9d8;font-size:11px}
.security-history-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(245px,1fr));
  gap:5px
}
.security-history-row{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  padding:5px 7px;
  border:1px solid rgba(96,165,250,.12);
  border-radius:7px;
  background:rgba(4,14,28,.26)
}
.security-history-row strong,
.security-history-row small{display:block}
.security-history-row strong{font-size:11px}
.security-history-row small{
  overflow:hidden;
  color:#8daac8;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap
}
.risk-level{
  display:grid;
  flex:0 0 22px;
  width:22px;
  height:22px;
  place-items:center;
  border-radius:50%;
  font-size:10px;
  font-weight:800
}
.risk-1{color:#63e6a1;background:rgba(34,197,94,.14)}
.risk-2{color:#ffd166;background:rgba(245,158,11,.14)}
.risk-3{color:#ff8b8b;background:rgba(239,68,68,.16)}
@media (max-width:480px){
  .security-history-list{grid-template-columns:1fr}
}

/* GATLIK_READABLE_DASHBOARD_V1 */
main{padding-top:8px}
h2{margin:8px 0 5px}
.g2,.g3{gap:6px}
.dashboard-card{
  min-height:44px;
  padding:7px 11px
}
.dashboard-card h3{font-size:15px}
.aiq-card{
  min-height:62px;
  padding:8px 12px
}
.aiq-memory{margin-top:2px}
.aiq-status{min-height:10px;margin-top:2px}
.security-history-row strong{font-size:12px}
.security-history-row small{
  font-size:11px;
  line-height:1.25
}
.risk-level{
  flex-basis:26px;
  width:26px;
  height:26px;
  font-size:11px
}
@media(max-width:480px){
  main{padding-top:8px}
  h2{margin:9px 0 5px}
  .dashboard-card{
    min-height:48px;
    padding:8px 10px
  }
  .dashboard-card h3{font-size:15px}
  .security-history-row{
    padding:7px 8px
  }
  .security-history-row strong{font-size:13px}
  .security-history-row small{
    font-size:11px;
    white-space:normal
  }
}

/* GATLIK_TOP_SPACE_AND_RECOVERY_BUTTON_V1 */
.message:empty{display:none;min-height:0;margin:0;padding:0}
.compact-plus-button{
  display:grid;
  width:36px;
  min-width:36px;
  height:36px;
  min-height:36px;
  padding:0;
  place-items:center;
  border-radius:8px;
  font-size:22px;
  font-weight:400;
  line-height:1
}

/* GATLIK_COMPACT_LOCATIONS_V1 */
#locationsGrid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px
}
#locationsGrid .dashboard-card{
  justify-content:center;
  min-height:50px;
  padding:7px 9px;
  text-align:center
}
#locationsGrid .dashboard-card h3{
  overflow:hidden;
  font-size:14px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap
}
@media(max-width:720px){
  #locationsGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  #locationsGrid .dashboard-card{
    min-height:58px
  }
  #locationsGrid .dashboard-card h3{
    overflow:visible;
    white-space:normal
  }
}
@media(max-width:480px){
  .compact-plus-button{
    width:40px;
    min-width:40px;
    height:40px;
    min-height:40px;
    font-size:24px
  }
}

/* GATLIK_LOCATIONS_RINKS_COLUMNS_V11 */
@media(min-width:901px){
  #locationsGrid,
  #iceRinksGrid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px
  }
  #locationsGrid .dashboard-card,
  #iceRinksGrid .dashboard-card{
    justify-content:flex-start;
    min-height:62px;
    padding:9px 12px;
    text-align:left
  }
  #locationsGrid .dashboard-card h3,
  #iceRinksGrid .dashboard-card h3{
    overflow:visible;
    font-size:14px;
    line-height:1.25;
    text-overflow:clip;
    white-space:normal
  }
}
@media(min-width:721px) and (max-width:900px){
  #locationsGrid,
  #iceRinksGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  #locationsGrid .dashboard-card h3,
  #iceRinksGrid .dashboard-card h3{
    overflow:visible;
    white-space:normal
  }
}

/* GATLIK_DENSE_READABLE_V12 */
main{row-gap:0}
h2{
  margin:6px 0 4px;
  font-size:17px
}
@media(min-width:901px){
  #locationsGrid,
  #iceRinksGrid{gap:6px}
  #locationsGrid .dashboard-card,
  #iceRinksGrid .dashboard-card{
    min-height:52px;
    padding:5px 10px
  }
  #locationsGrid .dashboard-card h3,
  #iceRinksGrid .dashboard-card h3{
    font-size:16px;
    line-height:1.15
  }
  .aiq-card{
    min-height:50px;
    padding:5px 11px
  }
  .aiq-brand h3{font-size:16px}
  .aiq-brand p{font-size:13px}
  .aiq-memory{font-size:11px}
  .sessions-card{padding:8px 10px}
  .sessions-heading{margin-bottom:5px}
  .sessions-heading h3,
  .recovery-card h3,
  .blocked-ips-heading h3{font-size:16px}
  .sessions-heading p,
  .recovery-card p,
  .blocked-ips-heading p{font-size:12px}
  .session-row{padding:5px 8px}
  .session-main strong{font-size:13px}
  .session-main span{font-size:11px}
  .recovery-card,
  .blocked-ips-card{padding:7px 10px}
  .security-history-card{padding:7px 10px}
  .security-history-heading h3{font-size:16px}
  .security-history-heading p{font-size:12px}
}
@media(max-width:720px){
  h2{font-size:17px}
  #locationsGrid .dashboard-card h3,
  #iceRinksGrid .dashboard-card h3{font-size:16px}
}

/* GATLIK_DASHBOARD_SCOPE_FIX_V13 */
@media(min-width:901px){
  body:not(:has(#locationsSection)) main{
    display:block
  }
}

/* GATLIK_SECURITY_READABILITY_V14 */
@media(min-width:901px){
  #accountSecuritySection > h2{font-size:17px}
  .sessions-heading h3{font-size:17px}
  #sessionsSummary{font-size:13px}
  .session-device strong{font-size:14px}
  .session-device span{font-size:12px}
  .session-state{font-size:10px}
  .sessions-card .danger-outline-button{font-size:11px}

  .security-tools-grid{
    grid-template-columns:160px minmax(0,1fr)
  }
  .recovery-card{
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    justify-content:space-between;
    min-height:112px;
    padding:10px
  }
  .recovery-card h3{font-size:15px}
  .recovery-card p{font-size:12px;line-height:1.25}
  .recovery-card .compact-plus-button{
    align-self:flex-end
  }
  .recovery-card .sessions-message{display:none}

  .blocked-ips-heading h3{font-size:17px}
  .blocked-ips-heading p{font-size:13px}
  .blocked-ip-row strong{font-size:13px}
  .blocked-ip-row span,
  .blocked-ip-placeholder{font-size:12px}

  .security-history-card > div:first-child{
    display:flex;
    align-items:baseline;
    gap:8px
  }
  .security-history-card h3{font-size:17px}
  .security-history-card p{
    margin:0;
    font-size:13px
  }
  .security-history-list{margin-top:5px}
  .security-history-row{padding:6px 8px}
  .security-history-row strong{font-size:13px}
  .security-history-row small{font-size:11px}
  .risk-level{
    flex-basis:28px;
    width:28px;
    height:28px;
    font-size:12px
  }
}
@media(max-width:900px){
  .sessions-heading h3,
  .blocked-ips-heading h3,
  .security-history-card h3{font-size:16px}
  #sessionsSummary,
  .blocked-ips-heading p,
  .security-history-card p{font-size:12px}
  .session-device strong,
  .security-history-row strong{font-size:13px}
  .session-device span,
  .security-history-row small{font-size:11px}
}

/* GATLIK_SECURITY_THREE_PANEL_V16 */
@media(min-width:901px){
  .security-tools-grid{
    align-items:start;
    grid-template-columns:190px 190px minmax(0,1fr);
    gap:8px
  }
  .recovery-card,
  .blocked-ips-card{
    width:190px;
    height:190px;
    min-height:190px;
    margin:0;
    padding:11px 12px
  }
  .security-history-card{
    min-height:190px;
    margin:0;
    padding:11px 12px
  }
  .recovery-card{
    grid-column:1
  }
  .blocked-ips-card{
    display:flex;
    grid-column:2;
    flex-direction:column
  }
  .security-history-card{
    grid-column:3;
    grid-row:1;
  }
  .recovery-card h3,
  .blocked-ips-heading h3,
  .security-history-card h3{
    font-size:17px;
    line-height:1.18
  }
  .recovery-card p,
  .blocked-ips-heading p,
  .security-history-card p{
    font-size:13px;
    line-height:1.3
  }
  .blocked-ips-list{
    flex:1;
    max-height:112px;
    margin-top:6px;
    overflow:auto
  }
  .blocked-ip-row{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
    padding:7px 8px
  }
  .blocked-ip-row strong,
  .blocked-ip-row span,
  .blocked-ip-placeholder{
    font-size:13px;
    line-height:1.3
  }
  .security-history-list{
    grid-template-columns:1fr;
    gap:4px;
    margin-top:7px
  }
  .security-history-row{
    min-height:0;
    padding:5px 8px
  }
  .security-history-row strong{font-size:14px}
  .security-history-row small{
    overflow:visible;
    font-size:12px;
    line-height:1.25;
    text-overflow:clip;
    white-space:normal
  }
}

/* GATLIK_TRUSTED_DEVICES_TILE_V18 */
@media(min-width:901px){
  .security-tools-grid{
    grid-template-columns:190px 190px 190px minmax(0,1fr)
  }
  .trusted-devices-card{
    display:flex;
    grid-column:3;
    width:190px;
    height:190px;
    min-height:190px;
    margin:0;
    padding:11px 12px;
    flex-direction:column
  }
  .security-history-card{
    grid-column:4
  }
  .trusted-devices-heading h3{
    margin:0 0 2px;
    font-size:17px;
    line-height:1.18
  }
  .trusted-devices-heading p{
    margin:0;
    color:#9db9d8;
    font-size:13px;
    line-height:1.3
  }
  .trusted-devices-list{
    flex:1;
    max-height:105px;
    margin-top:6px;
    overflow:auto
  }
  .trusted-device-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:5px;
    padding:6px 7px;
    border:1px solid rgba(96,165,250,.14);
    border-radius:7px;
    background:rgba(4,14,28,.3)
  }
  .trusted-device-row strong,
  .trusted-device-row span{
    display:block;
    font-size:12px;
    line-height:1.25
  }
  .trusted-device-row span{color:#8daac8}
  .trusted-device-remove{
    padding:3px 5px;
    font-size:9px
  }
  .trusted-devices-card .compact-plus-button{
    align-self:flex-end;
    flex-shrink:0
  }
  .trusted-devices-card .sessions-message{display:none}
}
@media(max-width:900px){
  .trusted-devices-card{
    min-height:0;
    padding:9px 11px
  }
  .trusted-devices-heading h3{font-size:16px}
  .trusted-devices-heading p{font-size:12px}
  .trusted-device-row{
    display:flex;
    justify-content:space-between;
    gap:8px;
    padding:7px 8px
  }
}

/* GATLIK_COMMAND_CENTER_TEST_V20_FINAL */
@media(min-width:901px){
  main{
    grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
    column-gap:14px
  }
  #locationsGrid,
  #iceRinksGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px
  }
  #locationsGrid .dashboard-entity-card,
  #iceRinksGrid .dashboard-entity-card{
    display:grid;
    grid-template-columns:58px minmax(0,1fr) auto;
    justify-content:initial;
    min-height:112px;
    padding:14px;
    text-align:left
  }
  #locationsGrid .dashboard-entity-card h3,
  #iceRinksGrid .dashboard-entity-card h3{
    overflow:visible;
    font-size:16px;
    line-height:1.25;
    text-overflow:clip;
    white-space:normal
  }
  .aiq-card{
    min-height:94px;
    padding:12px 15px
  }
  .security-tools-grid{
    grid-template-columns:190px 190px 190px minmax(0,1fr);
    gap:10px
  }
  .recovery-card,
  .blocked-ips-card,
  .trusted-devices-card,
  .security-history-card{
    height:178px;
    min-height:178px
  }
}
@media(max-width:900px){
  main{display:block;padding:12px 14px 22px}
  #locationsGrid,
  #iceRinksGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px
  }
  #locationsGrid .dashboard-entity-card,
  #iceRinksGrid .dashboard-entity-card{
    display:grid;
    grid-template-columns:54px minmax(0,1fr) auto;
    justify-content:initial;
    min-height:104px;
    padding:12px;
    text-align:left
  }
}
@media(max-width:560px){
  .top{min-height:0;padding:11px 14px}
  .top h1{font-size:22px}
  main{padding:8px 11px 18px}
  #locationsGrid,
  #iceRinksGrid{grid-template-columns:1fr}
  #locationsGrid .dashboard-entity-card,
  #iceRinksGrid .dashboard-entity-card{
    grid-template-columns:50px minmax(0,1fr) auto;
    min-height:88px;
    padding:10px 12px
  }
  .entity-icon{width:46px;height:46px;font-size:23px}
}

/* GATLIK_SECURITY_SIDEBAR_TILES_TEST_V21 */
@media(min-width:1101px){
  #accountSecuritySection{
    display:grid;
    grid-template-columns:minmax(0,1fr) repeat(3,184px);
    gap:10px;
    align-items:stretch
  }
  #accountSecuritySection > h2{
    grid-column:1 / -1;
    margin-bottom:0
  }
  #accountSecuritySection > .sessions-card{
    grid-column:1;
    grid-row:2;
    height:184px;
    min-height:184px;
    overflow:hidden
  }
  #accountSecuritySection .sessions-heading{
    margin-bottom:7px
  }
  #accountSecuritySection #sessionsList{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px
  }
  #accountSecuritySection .session-row{
    min-height:80px;
    padding:8px 9px
  }
  #accountSecuritySection > .security-tools-grid{
    display:contents
  }
  #accountSecuritySection .recovery-card,
  #accountSecuritySection .blocked-ips-card,
  #accountSecuritySection .trusted-devices-card{
    width:184px;
    height:184px;
    min-height:184px;
    margin:0;
    padding:12px
  }
  #accountSecuritySection .recovery-card{
    grid-column:2;
    grid-row:2
  }
  #accountSecuritySection .blocked-ips-card{
    grid-column:3;
    grid-row:2
  }
  #accountSecuritySection .trusted-devices-card{
    grid-column:4;
    grid-row:2
  }
  #accountSecuritySection .security-history-card{
    grid-column:1 / 4;
    grid-row:3;
    width:auto;
    height:auto;
    min-height:132px;
    margin:0;
    padding:12px 14px
  }
  #accountSecuritySection .security-history-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px
  }
  #accountSecuritySection .security-history-row{
    min-height:66px;
    padding:8px 10px
  }
  #accountSecuritySection .security-history-row strong{font-size:14px}
  #accountSecuritySection .security-history-row small{
    font-size:12px;
    line-height:1.3;
    white-space:normal
  }
}
@media(min-width:901px) and (max-width:1100px){
  #accountSecuritySection{
    display:block
  }
  #accountSecuritySection > .security-tools-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  #accountSecuritySection .recovery-card,
  #accountSecuritySection .blocked-ips-card,
  #accountSecuritySection .trusted-devices-card{
    width:auto
  }
  #accountSecuritySection .security-history-card{
    grid-column:1 / -1;
    width:auto
  }
}

/* GATLIK_HIDE_REDUNDANT_SECTION_TITLES_V22 */
#aiqSection > h2,
#accountSecuritySection > h2{
  display:none
}
#aiqSection{margin-top:10px}
#accountSecuritySection{margin-top:10px}

/* GATLIK_EQUAL_SECURITY_TILES_V24 */
@media(min-width:1101px){
  #accountSecuritySection{
    display:block
  }
  #accountSecuritySection > .sessions-card{
    width:100%;
    height:auto;
    min-height:0;
    margin:0 0 10px;
    overflow:visible
  }
  #accountSecuritySection > .security-tools-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    align-items:stretch
  }
  #accountSecuritySection .recovery-card,
  #accountSecuritySection .blocked-ips-card,
  #accountSecuritySection .trusted-devices-card{
    grid-column:auto;
    grid-row:auto;
    width:auto;
    height:100%;
    min-height:184px;
    margin:0;
    padding:12px
  }
  #accountSecuritySection .security-history-card{
    grid-column:1 / -1;
    grid-row:auto;
    width:auto;
    height:auto;
    min-height:132px;
    margin:0;
    padding:12px 14px
  }
}

/* GATLIK_EQUAL_LOCATIONS_RINKS_V23 */
@media(min-width:901px){
  main{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  #locationsGrid,
  #iceRinksGrid{
    grid-auto-rows:112px
  }
  #locationsGrid .dashboard-entity-card,
  #iceRinksGrid .dashboard-entity-card{
    width:100%;
    height:112px;
    min-height:112px
  }
}

/* GATLIK_EQUAL_VERTICAL_GAPS_V24_FINAL */
#aiqSection,
#accountSecuritySection,
#aiqSection + #accountSecuritySection{
  margin-top:4px
}

/* GATLIK_DASHBOARD_SKETCH_LAYOUT_V25 */
@media(min-width:1101px){
  main{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(360px,.9fr);
    grid-template-areas:
      "locations rinks security"
      "aiq aiq aiq"
      "history future future";
    gap:10px;
    align-items:stretch
  }
  #locationsSection{
    grid-area:locations;
    margin:0
  }
  main > section:nth-of-type(2){
    grid-area:rinks;
    margin:0
  }
  #accountSecuritySection{
    grid-area:security;
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(138px,.85fr);
    gap:10px;
    min-width:0;
    margin:0
  }
  #accountSecuritySection > .sessions-card{
    width:auto;
    height:100%;
    min-height:234px;
    margin:0;
    overflow:hidden
  }
  #accountSecuritySection #sessionsList{
    grid-template-columns:1fr;
    gap:6px
  }
  #accountSecuritySection .session-row{
    min-height:0;
    padding:7px 9px
  }
  #accountSecuritySection > .security-tools-grid{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:repeat(3,minmax(0,1fr));
    gap:10px;
    min-width:0
  }
  #accountSecuritySection .recovery-card,
  #accountSecuritySection .blocked-ips-card,
  #accountSecuritySection .trusted-devices-card{
    grid-column:auto;
    grid-row:auto;
    width:auto;
    height:auto;
    min-height:0;
    margin:0;
    padding:9px 10px
  }
  #accountSecuritySection .recovery-card h3,
  #accountSecuritySection .blocked-ips-heading h3,
  #accountSecuritySection .trusted-devices-heading h3{
    font-size:13px;
    line-height:1.15
  }
  #accountSecuritySection .recovery-card p,
  #accountSecuritySection .blocked-ips-heading p,
  #accountSecuritySection .trusted-devices-heading p{
    font-size:10px;
    line-height:1.2
  }
  #accountSecuritySection .blocked-ips-list,
  #accountSecuritySection .trusted-devices-list{
    max-height:58px;
    overflow:auto
  }
  #aiqSection{
    grid-area:aiq;
    margin:0
  }
  #securityHistorySection{
    grid-area:history;
    margin:0;
    min-width:0
  }
  #securityHistorySection .security-history-card{
    width:100%;
    height:100%;
    min-height:132px;
    margin:0
  }
  #securityHistorySection .security-history-list{
    grid-template-columns:1fr;
    gap:7px
  }
}

/* GATLIK_SEPARATE_SECURITY_PAGE_V26 */
.dashboard-home main{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:none;
  gap:10px;
  align-items:start
}
.dashboard-home #globalMessage,
.dashboard-home .security-entry-card,
.dashboard-home #aiqSection{
  grid-column:1 / -1
}
.dashboard-home #locationsSection,
.dashboard-home #rinksSection,
.dashboard-home #aiqSection{
  grid-area:auto;
  margin:0
}
.dashboard-home #locationsGrid,
.dashboard-home #iceRinksGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:112px;
  gap:10px
}
.dashboard-home #locationsGrid .dashboard-entity-card,
.dashboard-home #iceRinksGrid .dashboard-entity-card{
  width:100%;
  height:112px;
  min-height:112px
}
.security-entry-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  gap:14px;
  align-items:center;
  min-height:76px;
  padding:13px 16px;
  color:inherit;
  text-decoration:none;
  border-color:#28527a
}
.security-entry-card:hover{border-color:#38a2ff;background:#112a43}
.security-entry-card.attention{border-color:#c68b2c;background:#251c0b}
.security-entry-card.danger{border-color:#dc4c5e;background:#291019}
.security-entry-icon{font-size:28px}
.security-entry-card h3{margin:0 0 3px;font-size:17px}
.security-entry-card p{margin:0;color:#9db9d8;font-size:12px}
.security-entry-badge{
  padding:5px 9px;
  border-radius:999px;
  background:#0b513d;
  color:#71ffc5;
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em
}
.security-entry-card.attention .security-entry-badge{background:#5b3b08;color:#ffd277}
.security-entry-card.danger .security-entry-badge{background:#681b29;color:#ffb3bf}
.security-entry-arrow{font-size:22px;color:#9dd3ff}
.security-page .security-back-link{color:#9dd3ff;text-decoration:none;font-weight:700}
.security-page main{display:block}
.security-page #accountSecuritySection{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(360px,1fr);gap:10px;margin:0}
.security-page #accountSecuritySection > .sessions-card{width:auto;height:auto;min-height:250px;margin:0;overflow:visible}
.security-page #accountSecuritySection > .security-tools-grid{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px}
.security-page .recovery-card,
.security-page .blocked-ips-card,
.security-page .trusted-devices-card{width:auto;height:auto;min-height:0;margin:0;padding:12px}
.security-page #securityHistorySection{margin-top:10px}
.security-page .security-history-card{width:100%;margin:0}
.security-page .security-history-list{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){
  .dashboard-home main{grid-template-columns:1fr}
  .dashboard-home #globalMessage,
  .dashboard-home #locationsSection,
  .dashboard-home #rinksSection,
  .dashboard-home .security-entry-card,
  .dashboard-home #aiqSection{grid-column:1}
  .security-page #accountSecuritySection{grid-template-columns:1fr}
  .security-page .security-history-list{grid-template-columns:1fr}
}
@media(max-width:620px){
  .dashboard-home #locationsGrid,
  .dashboard-home #iceRinksGrid{grid-template-columns:1fr;grid-auto-rows:auto}
  .dashboard-home #locationsGrid .dashboard-entity-card,
  .dashboard-home #iceRinksGrid .dashboard-entity-card{height:auto;min-height:94px}
  .security-entry-card{grid-template-columns:auto minmax(0,1fr) auto}
  .security-entry-badge{grid-column:2}
  .security-entry-arrow{grid-column:3;grid-row:1 / 3}
}
@media(max-width:1100px){
  #securityHistorySection{
    margin-top:10px
  }
}

/* GATLIK_SECURITY_PAGE_LAYOUT_V27 */
.security-page main{
  display:block;
  width:100%;
  max-width:1800px;
  margin:0 auto;
  padding:18px 32px 28px
}
.security-page #accountSecuritySection{
  display:grid;
  width:100%;
  min-width:0;
  margin:0;
  grid-template-columns:minmax(0,1.7fr) minmax(380px,1fr);
  grid-template-areas:"sessions tools";
  gap:14px;
  align-items:stretch
}
.security-page #accountSecuritySection > .sessions-card{
  grid-area:sessions;
  width:100%;
  min-width:0;
  min-height:520px;
  height:auto;
  margin:0;
  padding:16px;
  overflow:visible
}
.security-page #accountSecuritySection > .security-tools-grid{
  grid-area:tools;
  display:grid;
  min-width:0;
  grid-template-columns:1fr;
  grid-template-rows:repeat(3,minmax(160px,auto));
  gap:14px
}
.security-page #accountSecuritySection .recovery-card,
.security-page #accountSecuritySection .blocked-ips-card,
.security-page #accountSecuritySection .trusted-devices-card{
  grid-area:auto;
  grid-column:auto;
  grid-row:auto;
  width:100%;
  min-width:0;
  min-height:160px;
  height:auto;
  margin:0;
  padding:16px
}
.security-page #accountSecuritySection .recovery-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start
}
.security-page #accountSecuritySection .blocked-ips-card,
.security-page #accountSecuritySection .trusted-devices-card{
  display:flex;
  flex-direction:column
}
.security-page #accountSecuritySection .blocked-ips-list,
.security-page #accountSecuritySection .trusted-devices-list{
  max-height:120px;
  margin-top:8px;
  overflow:auto
}
.security-page #accountSecuritySection .trusted-devices-card .compact-plus-button{
  align-self:flex-end;
  margin-top:auto
}
.security-page #securityHistorySection{
  display:block;
  width:100%;
  min-width:0;
  margin:14px 0 0;
  grid-area:auto
}
.security-page #securityHistorySection .security-history-card{
  width:100%;
  min-height:170px;
  height:auto;
  margin:0;
  padding:16px
}
.security-page #securityHistorySection .security-history-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px
}
@media(max-width:1100px){
  .security-page main{padding:14px 20px 24px}
  .security-page #accountSecuritySection{
    grid-template-columns:1fr;
    grid-template-areas:
      "sessions"
      "tools"
  }
  .security-page #accountSecuritySection > .sessions-card{min-height:0}
  .security-page #accountSecuritySection > .security-tools-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:auto
  }
}
@media(max-width:760px){
  .security-page main{padding:12px}
  .security-page #accountSecuritySection > .security-tools-grid{
    grid-template-columns:1fr
  }
  .security-page #securityHistorySection .security-history-list{
    grid-template-columns:1fr
  }
}

.aiq-sources{
  grid-column:1 / -1;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(96,165,250,.18);
  color:#8daac8;
  font-size:11px;
  line-height:1.45;
  overflow-wrap:anywhere
}

/* RECOVERY_CORE_SECURITY_V28 */
.security-page #recoveryCoreSection{margin-top:14px}
.security-page .recovery-core-card{width:100%;margin:0;padding:18px}
.recovery-core-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.recovery-core-heading h3{margin:0 0 4px}
.recovery-core-heading p{margin:0;color:#9db9d8}
.recovery-core-badge{padding:6px 10px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.06em}
.recovery-core-badge.neutral{background:#26384b;color:#b8cbe0}
.recovery-core-badge.online{background:#0b513d;color:#71ffc5}
.recovery-core-badge.warning{background:#5b3b08;color:#ffd277}
.recovery-core-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.recovery-core-metrics>div{padding:12px;border:1px solid rgba(96,165,250,.18);border-radius:12px;background:#0b1827}
.recovery-core-metrics span{display:block;color:#86a4c4;font-size:11px;margin-bottom:5px}
.recovery-core-metrics strong{font-size:15px;color:#e6f2ff}
.recovery-core-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.recovery-core-columns h4{margin:0 0 8px;color:#cce6ff;font-size:13px}
.recovery-core-list{display:grid;gap:7px}
.recovery-core-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px 11px;border:1px solid rgba(96,165,250,.14);border-radius:10px;background:#0a1623}
.recovery-core-row span{font-size:12px;font-weight:700}
.recovery-core-row strong{font-size:9px;letter-spacing:.05em}
.recovery-core-row strong.ok{color:#71ffc5}
.recovery-core-row strong.warning{color:#ffd277}
.recovery-core-row strong.muted{color:#7e98b4}
.recovery-core-row small{grid-column:1 / -1;color:#7895b3;font-size:10px}
@media(max-width:1000px){
  .recovery-core-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recovery-core-columns{grid-template-columns:1fr}
}
@media(max-width:520px){
  .recovery-core-metrics{grid-template-columns:1fr}
  .recovery-core-heading{align-items:flex-start;flex-direction:column}
}

/* SECURITY_ONE_SCREEN_DESKTOP_V29 */
@media(min-width:1200px) and (min-height:760px){
  .security-page main{
    padding:10px 20px 12px;
  }
  .security-page #accountSecuritySection{
    height:270px;
    gap:10px;
  }
  .security-page #accountSecuritySection > .sessions-card{
    min-height:0;
    height:270px;
    padding:11px 13px;
    overflow:hidden;
  }
  .security-page .sessions-heading{
    margin-bottom:7px;
  }
  .security-page .sessions-list{
    max-height:205px;
    overflow:auto;
    gap:6px;
  }
  .security-page .session-row{
    min-height:0;
    padding:7px 10px;
  }
  .security-page #accountSecuritySection > .security-tools-grid{
    grid-template-rows:repeat(3,minmax(0,1fr));
    gap:10px;
  }
  .security-page #accountSecuritySection .recovery-card,
  .security-page #accountSecuritySection .blocked-ips-card,
  .security-page #accountSecuritySection .trusted-devices-card{
    min-height:0;
    padding:10px 12px;
  }
  .security-page #accountSecuritySection .blocked-ips-list,
  .security-page #accountSecuritySection .trusted-devices-list{
    max-height:55px;
    margin-top:5px;
  }
  .security-page #accountSecuritySection .blocked-ip-row,
  .security-page #accountSecuritySection .trusted-device-row{
    padding:5px 8px;
  }
  .security-page #accountSecuritySection .compact-plus-button{
    width:36px;
    height:36px;
    min-height:36px;
  }
  .security-page #recoveryCoreSection{
    margin-top:10px;
  }
  .security-page .recovery-core-card{
    padding:11px 13px;
  }
  .recovery-core-heading h3{
    margin-bottom:1px;
    font-size:18px;
  }
  .recovery-core-heading p{
    font-size:12px;
  }
  .recovery-core-badge{
    padding:5px 9px;
  }
  .recovery-core-metrics{
    gap:8px;
    margin-top:8px;
  }
  .recovery-core-metrics>div{
    padding:7px 10px;
    border-radius:9px;
  }
  .recovery-core-metrics span{
    margin-bottom:2px;
    font-size:10px;
  }
  .recovery-core-metrics strong{
    font-size:13px;
  }
  .recovery-core-columns{
    gap:10px;
    margin-top:9px;
  }
  .recovery-core-columns h4{
    margin-bottom:5px;
    font-size:12px;
  }
  .recovery-core-list{
    gap:4px;
  }
  .recovery-core-row{
    gap:1px 8px;
    padding:5px 8px;
    border-radius:8px;
  }
  .recovery-core-row span{
    font-size:11px;
  }
  .recovery-core-row strong{
    font-size:8px;
  }
  .recovery-core-row small{
    font-size:9px;
  }
  .security-page #securityHistorySection{
    margin-top:10px;
  }
  .security-page #securityHistorySection .security-history-card{
    min-height:0;
    padding:9px 12px;
  }
  .security-page #securityHistorySection .security-history-list{
    gap:8px;
    margin-top:5px;
  }
  .security-page #securityHistorySection .security-history-row{
    padding:5px 8px;
  }
}

/* SYSTEM_CENTER_V31 */
.security-page main{
  display:grid;
  gap:12px;
  padding:14px 24px 24px;
}
.security-page main>section{margin:0!important}
.security-page #accountSecuritySection{
  height:auto!important;
  min-height:0;
  gap:12px;
  align-items:start;
}
.security-page #accountSecuritySection>.sessions-card{
  height:auto!important;
  min-height:0!important;
  padding:14px 16px;
}
.security-page #accountSecuritySection>.security-tools-grid{
  gap:12px;
  grid-template-rows:auto!important;
}
.security-page #accountSecuritySection .recovery-card,
.security-page #accountSecuritySection .blocked-ips-card,
.security-page #accountSecuritySection .trusted-devices-card{
  min-height:0!important;
  padding:13px 15px!important;
}
.security-page .sessions-list{
  max-height:250px!important;
}
.security-page h3{font-size:19px}
.security-page h4{font-size:14px}
.security-page p,
.security-page small{line-height:1.35}
.security-page .recovery-core-card,
.security-page .infrastructure-card,
.security-page .recovery-trend-card,
.security-page .security-history-card{
  padding:15px 17px!important;
}
.security-page .recovery-core-heading h3{font-size:20px}
.security-page .recovery-core-heading p{font-size:13px}
.security-page .recovery-core-metrics{
  gap:12px;
  margin-top:12px;
}
.security-page .recovery-core-metrics>div{
  padding:10px 12px;
}
.security-page .recovery-core-metrics span{font-size:12px}
.security-page .recovery-core-metrics strong{font-size:15px}
.security-page .recovery-core-columns{
  gap:12px;
  margin-top:12px;
}
.security-page .recovery-core-list{gap:7px}
.security-page .recovery-core-row{
  padding:8px 10px;
  gap:2px 10px;
}
.security-page .recovery-core-row span{font-size:13px}
.security-page .recovery-core-row strong{font-size:10px}
.security-page .recovery-core-row small{font-size:11px}
.infrastructure-layout{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(340px,1fr);
  gap:12px;
  margin-top:12px;
}
.infrastructure-nodes{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.infrastructure-node{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:70px;
  padding:11px 12px;
  border:1px solid rgba(96,165,250,.18);
  border-radius:11px;
  background:#0a1623;
}
.infrastructure-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#ef4444;
  box-shadow:0 0 8px rgba(239,68,68,.65);
}
.infrastructure-node.online .infrastructure-dot{
  background:#35e37a;
  box-shadow:0 0 9px rgba(53,227,122,.8);
}
.infrastructure-node strong{
  display:block;
  color:#edf6ff;
  font-size:15px;
}
.infrastructure-node small{
  display:block;
  margin-top:3px;
  color:#84a2c1;
  font-size:11px;
}
.infrastructure-node b{
  color:#71ffc5;
  font-size:11px;
}
.infrastructure-node.offline b{color:#ff9a9a}
.has-status-tip{
  position:relative;
  cursor:help;
}
.has-status-tip::after{
  content:attr(data-status-tip);
  position:absolute;
  z-index:80;
  left:50%;
  top:calc(100% + 10px);
  width:min(310px,calc(100vw - 48px));
  padding:11px 13px;
  border:1px solid rgba(251,191,36,.65);
  border-left:4px solid #fbbf24;
  border-radius:9px;
  background:#08121f;
  box-shadow:0 14px 34px rgba(0,0,0,.48);
  color:#dcecff;
  font-size:11px;
  font-weight:600;
  line-height:1.48;
  letter-spacing:0;
  text-align:left;
  text-transform:none;
  white-space:normal;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,-4px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.has-status-tip::before{
  content:"";
  position:absolute;
  z-index:81;
  left:50%;
  top:calc(100% + 4px);
  width:10px;
  height:10px;
  border-left:1px solid rgba(251,191,36,.65);
  border-top:1px solid rgba(251,191,36,.65);
  background:#08121f;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-50%) rotate(45deg);
  transition:opacity .16s ease,visibility .16s ease;
}
.has-status-tip:hover::after,
.has-status-tip:focus-visible::after,
.has-status-tip:hover::before,
.has-status-tip:focus-visible::before{
  opacity:1;
  visibility:visible;
}
.has-status-tip:hover::after,
.has-status-tip:focus-visible::after{
  transform:translate(-50%,0);
}
.infrastructure-node.offline.has-status-tip::after{
  border-color:rgba(248,113,113,.72);
  border-left-color:#ef4444;
}
.infrastructure-node.offline.has-status-tip::before{
  border-color:rgba(248,113,113,.72);
}
#infrastructureBadge.has-status-tip::after{
  right:0;
  left:auto;
  transform:translateY(-4px);
}
#infrastructureBadge.has-status-tip:hover::after,
#infrastructureBadge.has-status-tip:focus-visible::after{
  transform:translateY(0);
}
#infrastructureBadge.has-status-tip::before{
  right:18px;
  left:auto;
}
.has-status-tip:focus-visible{
  outline:2px solid #7dd3fc;
  outline-offset:3px;
}
.infrastructure-side{
  display:grid;
  align-content:start;
  gap:12px;
}
.infrastructure-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.infrastructure-metrics>div{
  padding:10px;
  border:1px solid rgba(96,165,250,.18);
  border-radius:10px;
  background:#0a1623;
}
.infrastructure-metrics span{
  display:block;
  color:#86a4c4;
  font-size:11px;
}
.infrastructure-metrics strong{
  display:block;
  margin-top:4px;
  color:#edf6ff;
  font-size:14px;
}
.infrastructure-containers{
  padding:11px 12px;
  border:1px solid rgba(96,165,250,.18);
  border-radius:11px;
  background:#0a1623;
}
.infrastructure-containers h4{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:0 0 8px;
}
#infrastructureContainersList{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
#infrastructureContainersList span{
  padding:5px 8px;
  border-radius:7px;
  background:#13283d;
  color:#b9cee4;
  font-size:11px;
  font-weight:700;
}
#infrastructureContainersList span.online{color:#71ffc5}
#infrastructureContainersList span.offline{color:#ff9a9a}
.storage-heading{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:12px;
  margin:13px 0 8px;
}
.storage-heading h4{margin:0}
.storage-heading span{color:#7895b3;font-size:11px}
.storage-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.storage-tile{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 12px;
  padding:11px 12px;
  border:1px solid rgba(96,165,250,.18);
  border-radius:11px;
  background:#0a1623;
}
.storage-tile strong{
  display:block;
  color:#edf6ff;
  font-size:14px;
}
.storage-tile span{
  display:block;
  margin-top:3px;
  color:#86a4c4;
  font-size:11px;
}
.storage-tile b{
  align-self:center;
  color:#d9edff;
  font-size:15px;
}
.storage-bar{
  grid-column:1 / -1;
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#1b3044;
}
.storage-bar i{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#2563eb,#38bdf8);
  transition:width .35s ease;
}
.storage-bar i.warning{background:linear-gradient(90deg,#d97706,#fbbf24)}
.storage-bar i.danger{background:linear-gradient(90deg,#dc2626,#fb7185)}
.recovery-trend-layout{
  display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr);
  gap:12px;
  margin-top:12px;
}
.recovery-chart-panel,
.recovery-trend-layout>div:last-child{
  padding:11px 12px;
  border:1px solid rgba(96,165,250,.18);
  border-radius:11px;
  background:#0a1623;
}
.recovery-chart-legend{
  display:flex;
  gap:18px;
  margin-bottom:7px;
  color:#9bb6d2;
  font-size:12px;
}
.recovery-chart-legend i{
  display:inline-block;
  width:18px;
  height:3px;
  margin-right:6px;
  vertical-align:middle;
  border-radius:3px;
}
.recovery-chart-legend i.used{background:#38bdf8}
.recovery-chart-legend i.sources{background:#71ffc5}
.recovery-trend-chart{min-height:190px}
.recovery-trend-chart svg{display:block;width:100%;height:190px}
.recovery-trend-chart text{fill:#7895b3;font-size:11px}
.chart-axis{stroke:#29445e;stroke-width:1}
.chart-line{
  fill:none;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.chart-line.used{stroke:#38bdf8}
.chart-line.sources{stroke:#71ffc5}
.recovery-chart-empty{
  display:grid;
  place-items:center;
  min-height:190px;
  color:#7895b3;
  font-size:13px;
}
.recovery-trend-layout h4{margin:0 0 8px}
.recovery-runs-list{display:grid;gap:7px}
@media(max-width:1250px){
  .infrastructure-layout,
  .recovery-trend-layout{grid-template-columns:1fr}
  .infrastructure-nodes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .storage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .security-page main{padding:12px;gap:10px}
  .infrastructure-nodes,
  .infrastructure-metrics,
  .storage-grid{grid-template-columns:1fr}
}

/* ACCOUNT_REPORT_LAYOUT_V31_1 */
.security-page #accountSecuritySection{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-areas:none!important;
  grid-area:auto!important;
}
.security-page #accountSecuritySection>.sessions-card{
  width:100%;
  grid-area:auto!important;
}
.security-page #accountSecuritySection .sessions-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  max-height:none!important;
  overflow:visible!important;
}
.security-page #accountSecuritySection .session-row{
  min-height:86px;
  padding:11px 12px!important;
  align-items:center;
}
.security-page #accountSecuritySection .session-device strong{
  font-size:16px;
  line-height:1.25;
}
.security-page #accountSecuritySection .session-device>span{
  display:block;
  margin-top:6px;
  font-size:13px;
  line-height:1.35;
}
.security-page #accountSecuritySection .session-state{
  font-size:10px;
}
.security-page #accountSecuritySection>.security-tools-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:auto!important;
  grid-area:auto!important;
  gap:12px!important;
}
.security-page #accountSecuritySection>.security-tools-grid>div{
  height:auto!important;
  min-height:104px!important;
}
.security-page #accountSecuritySection>.security-tools-grid h3{
  font-size:17px;
}
.security-page #accountSecuritySection>.security-tools-grid p{
  font-size:13px;
}
@media(max-width:1100px){
  .security-page #accountSecuritySection .sessions-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .security-page #accountSecuritySection .sessions-list,
  .security-page #accountSecuritySection>.security-tools-grid{
    grid-template-columns:1fr!important;
  }
}

/* OPERATOR_GLANCE_V33 */
.system-section-nav{
  position:sticky;
  top:0;
  z-index:40;
  display:flex;
  justify-content:center;
  gap:8px;
  padding:8px 16px;
  border-bottom:1px solid #203a54;
  background:rgba(5,16,29,.96);
  backdrop-filter:blur(10px);
}
.system-section-nav a{
  padding:7px 12px;
  border-radius:8px;
  color:#a9c6e3;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}
.system-section-nav a:hover{
  color:#fff;
  background:#15314b;
}
.security-page #quickOverviewSection{order:0}
.security-page #infrastructureSection{order:1}
.security-page #recoveryCoreSection{order:2}
.security-page #recoveryTrendSection{order:3}
.security-page #securityHistorySection{order:4}
.security-page #accountSecuritySection{order:5}
.security-page #quickOverviewSection,
.security-page #infrastructureSection,
.security-page #recoveryCoreSection,
.security-page #recoveryTrendSection,
.security-page #securityHistorySection{
  grid-area:auto!important;
}
.security-page main>#globalMessage{order:-1}
.security-page main>section{scroll-margin-top:64px}
.quick-overview-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:18px;
  min-height:132px;
  padding:20px 22px;
  overflow:hidden;
  border:2px solid #2a4965;
  border-radius:16px;
  color:#fff;
  text-decoration:none;
  box-shadow:0 12px 35px rgba(0,0,0,.2);
}
.quick-overview-card.good{
  border-color:#16a36a;
  background:linear-gradient(100deg,#062b20,#0b3c2c 62%,#0a3025);
}
.quick-overview-card.warning{
  border-color:#d79318;
  background:linear-gradient(100deg,#332304,#4b3207 62%,#382605);
}
.quick-overview-card.critical{
  border-color:#ef445a;
  background:linear-gradient(100deg,#3a0912,#59101d 62%,#410b15);
}
.quick-overview-card.checking{
  background:linear-gradient(100deg,#0c2236,#112d46);
}
.quick-overview-signal{
  width:24px;
  height:24px;
  border-radius:50%;
  background:#7895b3;
  box-shadow:0 0 0 9px rgba(120,149,179,.12);
}
.quick-overview-card.good .quick-overview-signal{
  background:#35e37a;
  box-shadow:0 0 0 9px rgba(53,227,122,.12),0 0 22px rgba(53,227,122,.7);
}
.quick-overview-card.warning .quick-overview-signal{
  background:#fbbf24;
  box-shadow:0 0 0 9px rgba(251,191,36,.13),0 0 22px rgba(251,191,36,.65);
}
.quick-overview-card.critical .quick-overview-signal{
  background:#fb5165;
  box-shadow:0 0 0 9px rgba(251,81,101,.14),0 0 22px rgba(251,81,101,.7);
}
.quick-overview-label{
  display:block;
  margin-bottom:4px;
  color:#b9d3e9;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.quick-overview-copy h2{
  margin:0;
  font-size:26px;
  line-height:1.15;
}
.quick-overview-copy p{
  margin:7px 0 0;
  color:#d3e3f0;
  font-size:15px;
}
.quick-overview-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(145px,1fr));
  gap:8px;
}
.quick-overview-stats span{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:9px;
  background:rgba(3,14,24,.28);
  color:#c8daea;
  font-size:12px;
}
.quick-overview-stats b{
  color:#fff;
  font-size:13px;
}
.quick-overview-action{
  max-width:210px;
  font-size:14px;
  line-height:1.35;
  text-align:right;
}
.security-entry-card.good{
  border-color:#16885b;
  background:linear-gradient(90deg,#0a251d,#0e2d24);
}
.security-entry-card.good:hover{background:#11382c}
.dashboard-home #aiqSection,
.dashboard-home #aiqSection>.aiq-card{
  width:100%!important;
  max-width:none!important;
}
.dashboard-home #aiqSection>.aiq-card{
  grid-template-columns:minmax(300px,.65fr) minmax(0,1.8fr)!important;
}
@media(max-width:1050px){
  .quick-overview-card{
    grid-template-columns:auto minmax(0,1fr);
  }
  .quick-overview-stats,
  .quick-overview-action{grid-column:2}
  .quick-overview-action{max-width:none;text-align:left}
}
@media(max-width:700px){
  .system-section-nav{
    justify-content:flex-start;
    overflow-x:auto;
  }
  .system-section-nav a{white-space:nowrap}
  .quick-overview-card{padding:16px;gap:14px}
  .quick-overview-copy h2{font-size:21px}
  .quick-overview-stats{grid-template-columns:1fr}
}

/* ONE_SCREEN_SECTIONS_V34 */
.security-page main{gap:18px}
.security-page #infrastructureSection>.card,
.security-page #recoveryCoreSection>.card,
.security-page #recoveryTrendSection>.card,
.security-page #securityHistorySection>.card,
.security-page #accountSecuritySection .card{
  border-color:#315a7e;
  background:#102239;
  box-shadow:0 10px 28px rgba(0,0,0,.16);
}
.security-page #infrastructureSection>.card,
.security-page #recoveryCoreSection>.card,
.security-page #recoveryTrendSection>.card{
  padding:20px!important;
}
.security-page .recovery-core-heading h3,
.security-page #accountSecuritySection .sessions-heading h3,
.security-page #securityHistorySection h3{
  font-size:23px;
}
.security-page .recovery-core-heading p,
.security-page #accountSecuritySection .sessions-heading p{
  font-size:14px;
}
.infrastructure-node.online{
  border-color:#197a58;
  background:#0b211c;
}
.infrastructure-node.offline{
  border-color:#b13d4d;
  background:#2a1118;
}
.infrastructure-node strong{font-size:17px}
.infrastructure-node small{font-size:13px}
.infrastructure-node b{font-size:13px}
.infrastructure-metrics>div,
.infrastructure-containers,
.storage-tile,
.recovery-chart-panel,
.recovery-trend-layout>div:last-child{
  border-color:#2c5273;
  background:#0a1929;
}
.infrastructure-metrics span,
.storage-tile span{font-size:12px}
.infrastructure-metrics strong,
.storage-tile b{font-size:17px}
.storage-tile strong{font-size:16px}
.security-page .recovery-core-row{
  border-color:#294d6d;
  background:#091827;
}
.security-page .recovery-core-row span{font-size:14px}
.security-page .recovery-core-row small{font-size:12px}
.security-page .recovery-core-row strong{font-size:11px}
.security-page #accountSecuritySection .blocked-ips-list,
.security-page #accountSecuritySection .trusted-devices-list{
  max-height:none!important;
  overflow:visible!important;
}
.security-page #accountSecuritySection .session-row{
  border-color:#2e587b;
  background:#091827;
}
.security-page #accountSecuritySection>.security-tools-grid>div{
  border-top-width:3px;
}
.security-page #accountSecuritySection .recovery-card{border-top-color:#38bdf8}
.security-page #accountSecuritySection .blocked-ips-card{border-top-color:#fbbf24}
.security-page #accountSecuritySection .trusted-devices-card{border-top-color:#35e37a}
@media(min-width:1200px){
  .security-page #infrastructureSection,
  .security-page #recoveryCoreSection,
  .security-page #recoveryTrendSection,
  .security-page #accountSecuritySection{
    max-width:100%;
  }
}

/* NEUTRAL_SYSTEM_TILE_STATUS_DOT_V35 */
.dashboard-home .security-entry-card,
.dashboard-home .security-entry-card.good,
.dashboard-home .security-entry-card.attention,
.dashboard-home .security-entry-card.danger{
  border-color:#28527a!important;
  background:#102239!important;
}
.dashboard-home .security-entry-card:hover,
.dashboard-home .security-entry-card.good:hover,
.dashboard-home .security-entry-card.attention:hover,
.dashboard-home .security-entry-card.danger:hover{
  border-color:#3d78a6!important;
  background:#142a43!important;
}
.dashboard-home .security-entry-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.dashboard-home .security-entry-badge::before{
  width:11px;
  height:11px;
  border-radius:50%;
  background:#35e37a;
  box-shadow:0 0 10px rgba(53,227,122,.8);
  content:"";
}
.dashboard-home .security-entry-card.attention .security-entry-badge::before{
  background:#fbbf24;
  box-shadow:0 0 10px rgba(251,191,36,.8);
}
.dashboard-home .security-entry-card.danger .security-entry-badge::before{
  background:#fb5b66;
  box-shadow:0 0 10px rgba(251,91,102,.8);
}

/* COMPACT_SESSIONS_FULL_WIDTH_AIQ_V35 */
.dashboard-home main>#aiqSection{
  display:block!important;
  grid-area:auto!important;
  grid-column:1/-1!important;
  grid-row:auto!important;
  width:100%!important;
  max-width:none!important;
}
.dashboard-home main>#aiqSection>.aiq-card{
  width:100%!important;
  max-width:none!important;
  min-height:220px!important;
  padding:16px 20px!important;
}

/* FULL_SCREEN_SYSTEM_TABS_V37 */
.security-page.system-tabs-ready main>[data-system-tab-panel]{
  display:none!important;
}
.security-page.system-tabs-ready main>#accountSecuritySection:not(.system-tab-active){
  display:none!important;
}
.security-page.system-tabs-ready main>[data-system-tab-panel].system-tab-active{
  display:block!important;
}
.security-page.system-tabs-ready main>#accountSecuritySection.system-tab-active{
  display:grid!important;
}
.security-page.system-tabs-ready main{
  min-height:calc(100vh - 146px);
}
.security-page.system-tabs-ready main>#globalMessage:not(.visible){
  display:none;
}
.security-page .system-section-nav a.active{
  color:#fff;
  background:#153b5b;
  box-shadow:inset 0 -3px 0 #38bdf8;
}
.security-page.system-tabs-ready [data-system-tab-panel]{
  width:100%;
  min-height:0;
  animation:system-tab-enter .16s ease-out;
}
.security-page.system-tabs-ready #recoveryTrendSection.system-tab-active{
  margin-bottom:14px!important;
}
@keyframes system-tab-enter{
  from{opacity:.35;transform:translateY(5px)}
  to{opacity:1;transform:none}
}

/* QUICK_VIEW_EQUAL_GAP_V39 */
.security-page.system-tabs-ready #quickOverviewSection.system-tab-active+
#accountSecuritySection.system-tab-active{
  margin-top:25px!important;
}
@media(min-width:1200px){
  .security-page #accountSecuritySection>.sessions-card{
    padding:11px 13px!important;
  }
  .security-page #accountSecuritySection .sessions-list{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .security-page #accountSecuritySection .session-row{
    min-height:68px!important;
    padding:8px 9px!important;
  }
  .security-page #accountSecuritySection .session-device strong{
    font-size:14px;
  }
  .security-page #accountSecuritySection .session-device>span{
    margin-top:3px;
    font-size:12px;
    line-height:1.25;
  }
}

/* CENTERED_SYSTEM_MESSAGE_AND_AIQ_V36 */
.dashboard-home .security-entry-card{
  position:relative;
}
.dashboard-home .security-entry-badge{
  position:absolute;
  top:50%;
  left:50%;
  min-width:210px;
  justify-content:center;
  padding:9px 16px;
  transform:translate(-50%,-50%);
  font-size:15px;
  letter-spacing:.04em;
}
.dashboard-home .security-entry-badge::before{
  width:14px;
  height:14px;
}
.dashboard-home .security-entry-card.good .security-entry-badge{
  color:#71ffc5;
}
.dashboard-home .security-entry-card.attention .security-entry-badge{
  color:#ffd277;
}
.dashboard-home .security-entry-card.danger .security-entry-badge{
  color:#ffb3bf;
}
@media(max-width:760px){
  .dashboard-home .security-entry-badge{
    position:static;
    min-width:0;
    transform:none;
  }
}
