:root {
  --icon-invert:0.1;
  --icon-sepia:0.1;
  --icon-saturate:0.1;
  --icon-hue-rotate:0deg;
  --icon-brightness:0.1;
}
:root[data-theme="light-green"] {
  --icon-invert:0.1;
  --icon-sepia:0.1;
  --icon-saturate:0.1;
  --icon-hue-rotate:0deg;
  --icon-brightness:0.1;
}
:root[data-theme="dark-green"] {
  --icon-invert:0.9;
  --icon-sepia:0.1;
  --icon-saturate:0.1;
  --icon-hue-rotate:0deg;
  --icon-brightness:1;
}
* {
  box-sizing:border-box;
  margin:0;
  padding:0;
}
body {
  margin:0;
  padding:0;
  color:var(--text-primary);
  background-color:var(--background) !important;
  font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif !important;
  min-height:100vh;
  font-size:16px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.login-container {
  width:90%;
  max-width:500px;
  padding:20px;
  margin:0 auto;
}
.login-card {
  background:var(--card-card);
  padding:24px;
  margin-bottom:16px;
  border-radius:24px;
  box-shadow:0px 1px var(--shadow-blur) 0px var(--accent-shadow);
}
.card-header {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  margin:16px 0;
  background:var(--card-card) !important;
  border-bottom:1px solid rgba(0,0,0,0) !important;
}
.logo-text {
  color:var(--text-primary);
  text-align:center;
  font-family:Montserrat;
  font-size:20px;
  font-style:normal;
  font-weight:700;
  line-height:normal;
}
.logo {
  width:48px;
  height:48px;
  border-radius:12px;
}
.twofactor-title {
  color:var(--text-primary);
  text-align:center;
  font-family:Montserrat;
  font-size:24px;
  font-style:normal;
  font-weight:600;
  line-height:130%;
  margin-bottom:16px;
}
.twofactor-form {
  width:100%;
}
.form-group {
  margin-bottom:16px;
}
.form-control {
  display:flex;
  height:48px;
  padding:0px 14px;
  align-items:center;
  gap:10px;
  align-self:stretch;
  border-radius:12px;
  background:var(--accent-15) !important;
  border:0px solid var(--accent-15) !important;
  color:var(--text-primary) !important;
}
.form-control:focus {
  outline:none;
  border-color:var(--accent-accent) !important;
}
.form-control::placeholder {
  color:var(--text-secondary) !important;
}
.password-group {
  position:relative;
}
.show-password {
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  background:none;
  border:none;
  padding:4px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.icon-eye {
  width:20px;
  height:20px;
  opacity:0.6;
  transition:opacity 0.2s ease;
  filter: var(--icon-filter);
}
.show-password:hover .icon-eye {
  opacity:1;
}
.form-check {
  display:flex;
  align-items:center;
  margin-top:16px;
  margin-bottom:16px;
}
.form-check-input {
  width:20px;
  height:20px;
  margin-right:8px;
  border-radius:6px;
  border:2px solid var(--accent-accent);
  background-color:var(--card-card);
  cursor:pointer;
}
.form-check-input:checked {
  background-color:var(--accent-accent);
  border-color:var(--accent-accent);
}
.form-check-label {
  color:var(--text-primary);
  font-family:Figtree;
  font-size:14px;
  font-style:normal;
  font-weight:400;
  line-height:130%;
  cursor:pointer;
}
.btn-kreta {
  display:flex;
  height:48px;
  padding:0px 24px;
  justify-content:center;
  align-items:center;
  gap:8px;
  border-radius:12px;
  background:var(--accent-accent);
  color:white;
  font-family:Montserrat;
  font-size:16px;
  font-style:normal;
  font-weight:600;
  line-height:normal;
  border:none;
  cursor:pointer;
  transition:background-color 0.2s ease;
}
.btn-kreta:hover {
  background-color:var(--accent-secondary);
}
.btn-link {
  background:none;
  border:none;
  color:var(--accent-accent);
  font-family:Figtree;
  font-size:14px;
  font-style:normal;
  font-weight:400;
  line-height:130%;
  text-decoration:underline;
  cursor:pointer;
  padding:0;
}
.btn-link:hover {
  color:var(--accent-secondary);
}
.subtext {
  color:var(--text-primary);
  font-family:Figtree;
  font-size:14px;
  font-style:normal;
  font-weight:400;
  line-height:130%;
  text-align:center;
}
.login-footer {
  margin-top:24px;
  text-align:center;
}
.privacy-link {
  color:var(--text-secondary);
  font-family:Figtree;
  font-size:14px;
  font-style:normal;
  font-weight:400;
  line-height:130%;
  text-decoration:none;
}
.privacy-link:hover {
  text-decoration:underline;
}
.error-message {
  display:none;
  color:var(--error-text);
  font-family:Figtree;
  font-size:12px;
  font-style:normal;
  font-weight:400;
  line-height:130%;
  margin-top:4px;
}
.error-message.show {
  display:block;
}
.form-control.error {
  border:1px solid var(--error-accent) !important;
}
header,main > .container-fluid,footer {
  display:none !important;
}
@media (max-width:576px) {
  .login-container {
  width:100%;
  padding:16px;
}
.login-card {
  padding:16px;
}
}