body.auth-locked .app,
body.auth-locked .lightbox,
body.auth-locked .settings-modal{display:none !important}

@keyframes riseIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:none}
}

@keyframes modalIn{
  from{opacity:0;transform:scale(.95) translateY(10px)}
  to{opacity:1;transform:none}
}

@keyframes stageIn{
  from{opacity:0;transform:translateX(16px)}
  to{opacity:1;transform:none}
}

@keyframes fadeIn{
  from{opacity:0}
  to{opacity:1}
}

body.app-reveal .sidebar{animation:riseIn .55s ease .05s backwards}

body.app-reveal .toolbar{animation:riseIn .5s ease .18s backwards}

body.app-reveal .prompt-container{animation:riseIn .55s ease .32s backwards}

body.app-reveal .odchlan{animation:riseIn .5s ease .18s backwards}

body.view-odchlan .prompt-container,
body.view-plain .prompt-container{display:none}

body.app-reveal .tile{
  animation:riseIn .45s ease backwards;
  animation-delay:calc(.22s + var(--ti,0) * .04s);
}

.login-screen{
  position:fixed;
  inset:0;
  z-index:3000;
  display:flex;
  overflow-y:auto;
  padding:16px;
  background:var(--bg);
  transition:opacity .45s ease, visibility .45s;
}

.login-screen.hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

html.preauth .login-screen{display:none}

.login-screen.hidden .login-card{transform:translateY(-14px) scale(.98)}

.login-stage{animation:stageIn .32s ease backwards}

.login-card{
  width:380px;
  margin:auto;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:26px 24px 21px;
  transition:transform .45s ease;
  animation:modalIn .5s ease backwards;
}

.login-logo{display:block;width:120px;margin:0 auto 10px}

.login-title{text-align:center;font-size:18px;font-weight:800}

.login-sub{
  text-align:center;
  font-size:10px;
  font-weight:700;
  letter-spacing:.2em;
  color:var(--dim);
  margin:6px 0 14px;
}

.login-label{
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  color:var(--dim);
  margin:14px 2px 6px;
}

.login-input{
  width:100%;
  height:42px;
  background:#191D23;
  border:1px solid var(--border);
  border-radius:6px;
  padding:0 14px;
  color:var(--text);
  font-size:13px;
  font-family:inherit;
  outline:none;
  transition:border-color .15s ease;
}

.login-input:focus{border-color:rgba(76,159,255,.5)}

.login-error{display:none;margin-top:12px;font-size:12px;color:#F4655F}

.login-error.show{display:block;animation:stageIn .25s ease}

.login-btn{
  margin-top:18px;
  width:100%;
  height:42px;
  border-radius:6px;
  background:var(--blue);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  transition:filter .15s ease;
}

.login-btn:hover{filter:brightness(1.12)}

.login-back{
  display:block;
  margin:12px auto 0;
  font-size:12px;
  color:var(--dim);
  transition:color .15s ease;
}

.login-back:hover{color:var(--text)}

.login-hint{margin-top:16px;text-align:center;font-size:11px;color:var(--dim)}

.login-profile{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:16px;
  padding:12px;
  background:#191D23;
  border:1px solid var(--border);
  border-radius:7px;
}

.login-avatar{
  width:44px;height:44px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#0E2036;
  border:1px solid rgba(76,159,255,.28);
  color:var(--blue);
  font-size:13px;
  font-weight:800;
  flex-shrink:0;
}

.login-profile-info{min-width:0}

.login-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.login-email{font-size:12px;color:var(--dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.login-setinfo{margin-top:14px;font-size:12px;color:var(--text-soft);line-height:1.5}

.pd-avatar,.acc-avatar,.login-avatar{background-size:cover;background-position:center}

.settings-modal{
  position:fixed;
  inset:0;
  z-index:2100;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(4,6,10,.75);
  backdrop-filter:blur(4px);
  padding:20px;
}

.settings-modal.open{display:flex;animation:fadeIn .22s ease backwards}

.settings-card{
  position:relative;
  width:960px;
  max-width:100%;
  height:730px;
  max-height:100%;
  animation:modalIn .28s ease backwards;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  display:flex;
  overflow:hidden;
}

.st-side{
  width:190px;
  flex-shrink:0;
  border-right:1px solid var(--border);
  padding:15px 9px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.st-title{
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  color:var(--dim);
  margin:0 8px 12px;
}

.st-tab{
  text-align:left;
  padding:10px 12px;
  border-radius:5px;
  font-size:13px;
  font-weight:600;
  color:var(--text-soft);
  transition:background .13s ease, color .13s ease;
}

.st-tab:hover{background:#1A1F27;color:#fff}

.st-tab.active{background:#1C2735;color:#fff}

.st-content{
  flex:1;
  min-width:0;
  padding:18px 20px;
  overflow-y:auto;
}

.st-close{
  position:absolute;
  top:14px;right:14px;
  width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  border-radius:4px;
  color:var(--dim);
  transition:color .15s ease, background .15s ease;
}

.st-close svg{width:15px;height:15px}

.st-close:hover{color:#fff;background:rgba(255,255,255,.06)}

.st-head{
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  color:var(--dim);
  margin:20px 0 12px;
}

.st-pane .st-head:first-child{margin-top:0}

.st-label{
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  color:var(--dim);
  margin:12px 2px 6px;
}

.st-input{
  width:100%;
  height:40px;
  background:#191D23;
  border:1px solid var(--border);
  border-radius:6px;
  padding:0 13px;
  color:var(--text);
  font-size:13px;
  font-family:inherit;
  outline:none;
  transition:border-color .15s ease, opacity .15s ease;
}

.st-input:focus{border-color:rgba(76,159,255,.5)}

.st-input:disabled{opacity:.45;cursor:not-allowed}

.st-select{appearance:none;-webkit-appearance:none;cursor:pointer}

.st-row{display:flex;gap:10px;margin-bottom:10px}

.st-row .st-input{margin:0}

.pf-top{display:flex;align-items:center;gap:14px;margin-bottom:4px}

.pf-avatar{
  width:52px;height:52px;
  font-size:15px;
  cursor:pointer;
  transition:border-color .15s ease;
}

.pf-avatar:hover{border-color:rgba(76,159,255,.75)}

.pf-avatar.locked{cursor:default}

.pf-avatar.locked:hover{border-color:rgba(76,159,255,.28)}

.st-note{margin-top:12px;font-size:11px;color:var(--dim);line-height:1.5}

.st-save{
  margin-top:16px;
  height:40px;
  padding:0 22px;
  border-radius:6px;
  background:var(--blue);
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  transition:filter .15s ease;
}

.st-save:hover{filter:brightness(1.12)}

.st-save:disabled{opacity:.4;cursor:not-allowed;filter:none}

.st-msg{margin-top:10px;font-size:12px;color:var(--green);min-height:16px}

.st-msg.error{color:#F4655F}

.acc-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:7px;
  margin-bottom:8px;
}

.acc-avatar{
  width:34px;height:34px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background-color:#0E2036;
  border:1px solid rgba(76,159,255,.28);
  color:var(--blue);
  font-size:11px;
  font-weight:800;
  flex-shrink:0;
  cursor:pointer;
  transition:border-color .15s ease;
}

.acc-avatar:hover{border-color:rgba(76,159,255,.75)}

.acc-avatar.static{cursor:default}

.acc-avatar.static:hover{border-color:rgba(76,159,255,.28)}

.acc-name-text{
  min-width:0;
  flex:0 1 auto;
  overflow:hidden;
  text-overflow:ellipsis;
}

.acc-info{flex:1;min-width:0}

.acc-name{
  font-size:13px;
  font-weight:600;
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  overflow:hidden;
}

.acc-email{
  font-size:11px;
  color:var(--dim);
  margin-top:1px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.acc-flag{
  font-size:8px;
  font-weight:800;
  letter-spacing:.1em;
  color:#FFB020;
  border:1px solid rgba(255,176,32,.4);
  border-radius:99px;
  padding:2px 7px;
  flex-shrink:0;
}

.acc-role{
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  padding:3px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  flex-shrink:0;
}

.acc-role.admin{color:#FF9F43;border-color:rgba(255,159,67,.45);background:rgba(255,159,67,.07)}

.acc-role.user{color:var(--blue);border-color:rgba(76,159,255,.45);background:rgba(76,159,255,.07)}

.acc-role.guest{color:var(--muted);background:rgba(255,255,255,.03)}

.acc-btn{
  width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  border-radius:4px;
  color:var(--dim);
  flex-shrink:0;
  transition:color .13s ease, background .13s ease;
}

.acc-btn:hover{color:#fff;background:rgba(255,255,255,.06)}

.acc-btn.danger:hover{color:#F4655F;background:rgba(244,101,95,.08)}

.acc-row.editing{flex-wrap:wrap}

.acc-edit{display:flex;gap:8px;flex:1;min-width:0;flex-wrap:wrap}

.acc-edit .st-input{height:34px;font-size:12px;flex:1;min-width:110px;width:auto}

.create-modal{
  position:fixed;
  inset:0;
  z-index:2200;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(4,6,10,.6);
  backdrop-filter:blur(3px);
  padding:20px;
}

.create-modal.open{display:flex;animation:fadeIn .2s ease backwards}

.create-card{
  width:400px;
  max-width:100%;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:10px;
  padding:15px 17px 14px;
  animation:modalIn .25s ease backwards;
}

.cm-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:2px;
}

.cm-submit{width:100%}

/* tryb goscia na ekranie logowania */
.login-guest{
  width:100%;margin-top:10px;padding:10px;border-radius:6px;
  background:transparent;border:1px dashed #2E3540;color:#8A93A0;
  font-size:12px;font-weight:600;letter-spacing:.03em;
  transition:border-color .15s ease, color .15s ease;
}
.login-guest:hover{color:#fff;border-color:#4C9FFF}
