.nav-auth,.ge-authbar{display:flex;align-items:center;gap:8px}
.auth-guest-inline{display:flex;align-items:center;gap:8px}
.auth-guest-compact{display:none;align-items:center;gap:8px}

.nav-auth input,.ge-authbar input{
  width:150px;
  padding:8px 10px;
  border-radius:14px;
  border:2px solid rgba(135,206,235,0.5);
  outline:none;
  background:rgba(255,255,255,0.9);
  font-weight:700;
  color:#2D3561;
}
.nav-auth input:focus,.ge-authbar input:focus{border-color:rgba(78,205,196,0.9);box-shadow:0 0 0 3px rgba(78,205,196,0.25)}

.nav-auth button,.ge-authbar button{
  border:none;
  cursor:pointer;
  border-radius:14px;
  padding:8px 12px;
  font-weight:900;
  color:white;
  box-shadow:0 3px 0 rgba(45,53,97,0.18);
  background:linear-gradient(135deg,#4ECDC4,#44B6AE);
}
.nav-auth .btn-alt,.ge-authbar .btn-alt{background:linear-gradient(135deg,#FFD93D,#FFB347);color:#6B3A00}
.nav-auth .btn-ghost,.ge-authbar .btn-ghost{background:rgba(255,255,255,0.75);color:#2D3561;border:2px solid rgba(135,206,235,0.45);box-shadow:none}
.nav-auth .auth-user,.ge-authbar .auth-user{display:flex;align-items:center;gap:8px}
.nav-auth .auth-hello,.ge-authbar .auth-hello{font-weight:900;color:#2D3561;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media (max-width: 900px) {
  .nav-auth input,.ge-authbar input{width:120px}
}

@media (max-width: 720px) {
  .auth-guest-inline{display:none}
  .auth-guest-compact{display:flex}
  .nav-auth button,.ge-authbar button{padding:7px 10px;border-radius:12px}
  .nav-auth .auth-hello,.ge-authbar .auth-hello{max-width:none;white-space:normal;overflow:visible;text-overflow:unset}
  .nav-auth .auth-user,.ge-authbar .auth-user{flex-wrap:wrap;justify-content:flex-end}
  .nav-auth .auth-hello,.ge-authbar .auth-hello{flex:1 1 100%;text-align:right;font-size:.92rem;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}

.modal-overlay{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:6000;
  background:rgba(0,0,0,0.45);
  padding:16px;
}
.modal-overlay.show{display:flex}
.modal{
  width:100%;
  max-width:560px;
  background:rgba(255,255,255,0.95);
  border-radius:22px;
  border:3px solid rgba(135,206,235,0.55);
  box-shadow:0 18px 60px rgba(0,0,0,0.25);
  padding:16px;
  max-height:88vh;
  overflow:auto;
}
.modal h3{margin:0 0 12px;font-size:1.25rem;color:#2D3561}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-grid .full{grid-column:1/-1}
.modal label{display:block;font-weight:900;color:rgba(45,53,97,0.7);font-size:.8rem;margin:2px 0 4px}
.modal input{
  width:100%;
  padding:10px 12px;
  border-radius:14px;
  border:2px solid rgba(135,206,235,0.55);
  outline:none;
  background:white;
  font-weight:700;
}
.modal input:focus{border-color:rgba(78,205,196,0.9);box-shadow:0 0 0 3px rgba(78,205,196,0.22)}

.modal-actions{display:flex;gap:10px;margin-top:12px}
.modal-actions button{flex:1;border:none;cursor:pointer;border-radius:16px;padding:12px;font-weight:900}
.modal-actions .primary{background:linear-gradient(135deg,#06d6a0,#118ab2);color:white;box-shadow:0 4px 0 rgba(0,0,0,0.18)}
.modal-actions .secondary{background:rgba(255,255,255,0.8);border:2px solid rgba(135,206,235,0.55);color:#2D3561}
.modal-note{margin-top:10px;font-size:.85rem;font-weight:800;color:rgba(45,53,97,0.75)}
.modal-note.error{color:#ef233c}

@media(max-width:520px){
  .form-grid{grid-template-columns:1fr}
}
