:root{
  --sw-purple:#6F4CEE;
  --sw-purple-hover:#5638C3;
  --sw-ink:#291E4F;
  --sw-bg:#f7f5ff;
}

html,body{height:100%;}
body{
  font-family: 'Figtree', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--sw-ink);
  font-weight:500;
  background:linear-gradient(180deg, var(--sw-bg) 0%, #ffffff 35%);
}

h1,h2,h3,h4,h5{
  color:var(--sw-purple);
  font-weight:600;
  letter-spacing:-0.02em;
}

a{color:var(--sw-purple); text-decoration:none;}
a:hover{color:var(--sw-purple-hover);}

.btn-primary{
  background:var(--sw-purple);
  border-color:var(--sw-purple);
}
.btn-primary:hover, .btn-primary:focus{
  background:var(--sw-purple-hover);
  border-color:var(--sw-purple-hover);
}

.card{
  border:0;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(41,30,79,0.08);
}

.navbar{
  background:rgba(255,255,255,0.85) !important;
  backdrop-filter: blur(10px);
}

.form-control, .form-select{
  border-radius:14px;
  padding:.75rem .9rem;
}

.badge-soft{
  background:rgba(111,76,238,.12);
  color:var(--sw-purple);
  border:1px solid rgba(111,76,238,.25);
}

.table thead th{
  color:#3a2f5d;
  font-weight:700;
}

.small-muted{color:rgba(41,30,79,.65);}

.uk-icon{vertical-align: -0.12em;}


/* Color input fix (Bootstrap makes it a thin bar) */
.sw-color{width:44px;height:40px;border:0;padding:0;background:transparent;}
.sw-color::-webkit-color-swatch-wrapper{padding:0;}
.sw-color::-webkit-color-swatch{border-radius:10px;border:1px solid rgba(41,30,79,.25);}

/* =========================================================
   ZACK OFFICE LOGIN SPLIT
========================================================= */

body{
  background: var(--bg-soft);
}

.zack-login-wrap{
  width: 100%;
}

.zack-login-split{
  display: flex;
  min-height: calc(100vh - 72px);
}

.zack-login-left{
  flex: 1 1 50%;
  background-image: url("/assets/zack-office-900.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #fdda0b;
  border-radius: 16px;
  min-height: 720px;
  max-height: 900px;
}

.zack-login-right{
  flex: 1 1 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: #fff;
}

.zack-login-panel{
  width: 100%;
  max-width: 520px;
}

.zack-login-card{
  width: 100%;
  border-radius: 18px;
  border: 1px solid var(--border);
  box-shadow: 0 20px 60px rgba(0,0,0,.08);
  overflow: hidden;
}

.card-zack{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 12px 32px rgba(0,0,0,.06);
}

.zack-login-card-header{
  background: #fff;
  border-bottom: 1px solid var(--border);
  font-size: 120%;
  font-weight: 700;
  text-align: center;
  padding: 1rem 1.25rem;
  color: var(--ink);
}

.zack-login-card-body{
  padding: 1.5rem;
}

.zack-login-card .form-control{
  background: #fff;
  border: 1px solid var(--border);
}

.zack-login-card .form-control:focus{
  border-color: var(--signal);
  box-shadow: 0 0 0 .15rem rgba(111,76,238,.15);
}

.zack-auth-tabs{
  gap: 8px;
}

.zack-auth-tabs .nav-link{
  border-radius: 999px;
  font-weight: 700;
  color: var(--muted);
  background: #f4f4fa;
  border: 1px solid transparent;
  padding: .55rem 1rem;
}

.zack-auth-tabs .nav-link:hover{
  color: var(--ink);
}

.zack-auth-tabs .nav-link.active{
  background: rgba(111,76,238,.12);
  border-color: rgba(111,76,238,.25);
  color: var(--signal);
}

@media (max-width: 991px){
  .zack-login-left{
    display: none;
  }

  .zack-login-right{
    flex-basis: 100%;
  }

  .zack-login-split{
    min-height: calc(100vh - 72px);
  }
}

@media (max-width: 575.98px){
  .zack-login-right{
    padding: 12px;
  }

  .zack-login-card-body{
    padding: 1.1rem;
  }
}
