/* ═══════════════════════════════════════════════════════════════════
   ShukWAY · Layout · v2
   Warm cream sidebar, not dark green. Jerusalem vibes.
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Login Screen ─── */
.login-screen{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(255,255,255,0.08) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(229,110,19,0.1) 0%, transparent 40%),
    linear-gradient(160deg, var(--teal) 0%, var(--teal-deep) 60%, #024A45 100%);
}

.login-card{
  background:var(--paper);
  border-radius:var(--r-2xl);
  padding:var(--sp-10) var(--sp-10) var(--sp-6);
  text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,0.25);
  max-width:400px;
  width:90%;
  position:relative;
  overflow:hidden;
}
.login-card::before{
  content:'';
  position:absolute;
  top:0;right:0;left:0;
  height:4px;
  background:linear-gradient(90deg, var(--teal) 0%, var(--orange) 100%);
}

.login-logo{
  width:160px;
  margin-bottom:var(--sp-5);
}

/* ─── Login features list ─── */
.login-features{
  display:flex;
  justify-content:center;
  gap:var(--sp-4);
  margin-bottom:var(--sp-6);
}
.login-feature{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--sp-1);
  font-size:var(--text-xs);
  color:var(--ink-soft);
  font-weight:var(--fw-medium);
}
.login-feature-icon{
  font-size:var(--text-lg);
}

/* ─── Login button (Google style) ─── */
.login-btn{
  width:100%;
  padding:var(--sp-3) var(--sp-5) !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--sp-2);
  font-size:var(--text-sm);
}

/* ─── Login footer ─── */
.login-footer{
  margin-top:var(--sp-5);
  font-size:11px;
  color:var(--subtle);
  letter-spacing:0.01em;
}

/* ─── App Shell ─── */
.app{
  display:grid;
  grid-template-columns:var(--sidebar-w) 1fr;
  min-height:100vh;
  background:var(--cream);
}

[dir="rtl"] .app{
  grid-template-columns:1fr var(--sidebar-w);
}

/* ─── Sidebar (warm cream, not dark green!) ─── */
.sidebar{
  background:linear-gradient(180deg, var(--cream-warm) 0%, var(--cream) 100%);
  border-left:1px solid var(--border);
  display:flex;
  flex-direction:column;
  height:100vh;
  position:sticky;
  top:0;
  overflow-y:auto;
  padding:var(--sp-4);
  order:2;
}

.sidebar-header{
  padding:var(--sp-4);
  background:var(--paper);
  border-radius:var(--r-lg);
  box-shadow:var(--sh-xs);
  margin-bottom:var(--sp-6);
  display:flex;
  align-items:center;
  justify-content:center;
}

.sidebar-logo{
  height:32px;
  object-fit:contain;
}

.sidebar-logo-collapsed{
  display:none;
  height:32px;
  object-fit:contain;
}

.sidebar-collapsed .sidebar-logo{display:none}
.sidebar-collapsed .sidebar-logo-collapsed{display:block}

/* ─── Nav Items ─── */
.sidebar-nav{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:var(--sp-1);
}

.nav-item{
  display:flex;
  align-items:center;
  gap:var(--sp-3);
  padding:var(--sp-3) var(--sp-4);
  border-radius:var(--r-md);
  color:var(--ink-soft);
  text-decoration:none;
  font-size:var(--text-sm);
  font-weight:var(--fw-regular);
  transition:all var(--tx-fast);
  position:relative;
}

.nav-item:hover{
  background:var(--paper);
  color:var(--teal);
}

.nav-item.active{
  background:var(--paper);
  color:var(--teal);
  font-weight:var(--fw-medium);
  box-shadow:var(--sh-xs);
}

/* Orange indicator bar on active item */
.nav-item.active::before{
  content:'';
  position:absolute;
  inset-inline-start:-16px;
  top:50%;
  transform:translateY(-50%);
  width:4px;
  height:24px;
  background:var(--orange);
  border-radius:var(--r-pill);
}

.nav-icon{
  width:20px;
  text-align:center;
  font-size:var(--text-sm);
  flex-shrink:0;
}

.nav-label{flex:1}

.nav-badge{
  margin-inline-start:auto;
  background:var(--teal-soft);
  color:var(--teal);
  font-size:var(--text-xs);
  font-weight:var(--fw-medium);
  padding:2px 8px;
  border-radius:var(--r-pill);
  min-width:24px;
  text-align:center;
}
.nav-item.active .nav-badge{
  background:var(--orange-soft);
  color:var(--orange-deep);
}

.sidebar-collapsed .nav-label{display:none}
.sidebar-collapsed .nav-badge{display:none}
.sidebar-collapsed .nav-item{justify-content:center;padding:var(--sp-3)}

.nav-item.hidden{display:none}

/* ─── Sidebar Footer ─── */
.sidebar-footer{
  padding:var(--sp-4) 0;
  margin-top:var(--sp-4);
  border-top:1px solid var(--border);
  display:flex;
  align-items:center;
  gap:var(--sp-3);
}

.avatar{
  width:36px;
  height:36px;
  border-radius:var(--r-pill);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:var(--text-sm);
  color:var(--white);
  flex-shrink:0;
}

.sidebar-user-info{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  flex:1;
}

.sidebar-user-info span{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--ink);
}

.sidebar-user-info .t-xs{color:var(--muted)}

.sidebar-collapsed .sidebar-user-info{display:none}
.sidebar-collapsed .sidebar-footer .btn-icon{display:none}

/* ─── Buttons ─── */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--sp-2);
  padding:var(--sp-2) var(--sp-5);
  border:none;
  border-radius:var(--r-md);
  font-family:var(--font);
  font-size:var(--text-sm);
  font-weight:600;
  cursor:pointer;
  transition:all var(--tx-fast);
}

.btn-primary{
  background:var(--teal);
  color:var(--white);
}
.btn-primary:hover{
  background:var(--teal-deep);
  box-shadow:var(--sh-sm);
  transform:translateY(-1px);
}

.btn-accent{
  background:var(--orange);
  color:var(--white);
}
.btn-accent:hover{
  background:var(--orange-deep);
  box-shadow:var(--sh-sm);
  transform:translateY(-1px);
}

.btn-secondary{
  background:var(--teal);
  color:var(--white);
}
.btn-secondary:hover{background:var(--teal-deep)}

.btn-ghost{
  background:transparent;
  color:var(--ink);
  border:1px solid var(--border-strong);
}
.btn-ghost:hover{
  background:var(--cream-warm);
  border-color:var(--teal);
  color:var(--teal);
}

.btn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border:none;
  background:transparent;
  border-radius:var(--r-sm);
  cursor:pointer;
  color:var(--muted);
  font-family:var(--font);
  font-size:var(--text-lg);
  transition:all var(--tx-fast);
}
.btn-icon:hover{background:var(--cream-deep);color:var(--ink)}

/* ─── Main Area ─── */
.main{
  display:flex;
  flex-direction:column;
  min-height:100vh;
  order:1;
}

.topbar{
  height:var(--topbar-h);
  padding:0 var(--sp-8);
  display:flex;
  align-items:center;
  gap:var(--sp-4);
  background:var(--paper);
  border-bottom:1px solid var(--border);
  position:sticky;
  top:0;
  z-index:10;
}

.topbar-spacer{flex:1}

.sidebar-toggle{display:none}

.content{
  flex:1;
  padding:var(--sp-6) var(--sp-8);
  max-width:var(--content-max);
  width:100%;
  margin:0 auto;
  overflow-y:auto;
}

.section-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:300px;
}

/* ─── Setup Indicator ─── */
.setup-indicator{
  padding:var(--sp-1) var(--sp-3);
  background:var(--warning-bg);
  border-radius:var(--r-pill);
  cursor:pointer;
}

/* ─── Upload Area ─── */
.upload-area{
  border:2px dashed var(--border-strong);
  border-radius:var(--r-lg);
  padding:var(--sp-10) var(--sp-6);
  text-align:center;
  cursor:pointer;
  transition:all var(--tx-fast);
  background:var(--cream-warm);
}
.upload-area:hover,.upload-area.dragover{
  border-color:var(--orange);
  background:var(--orange-soft);
}

/* ─── Stat List ─── */
.stat-list{
  display:flex;
  flex-direction:column;
  gap:var(--sp-3);
}
.stat-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-2);
}

/* ─── Alerts ─── */
.alert{
  padding:var(--sp-4);
  border-radius:var(--r-md);
  font-size:var(--text-sm);
}
.alert-success{
  background:var(--success-bg);
  color:var(--success);
  border:1px solid var(--success);
}
.alert-danger{
  background:var(--danger-bg);
  color:var(--danger);
  border:1px solid var(--danger);
}
.alert-warning{
  background:var(--warning-bg);
  color:var(--warning);
  border:1px solid var(--warning);
}

/* ─── Sidebar close button (mobile only) ─── */
.sidebar-close{display:none}

/* ─── Sidebar overlay (mobile) ─── */
.sidebar-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.4);
  z-index:99;
}
.sidebar-overlay.visible{display:block}

/* ─── Ask Claude button (topbar) ─── */
.btn-ask-claude{
  font-size:var(--text-xs) !important;
  padding:var(--sp-1) var(--sp-3) !important;
}

/* ─── Ask Claude button (in section footers) ─── */
.btn-ask-section{
  font-size:var(--text-xs) !important;
}

/* ─── Mobile FAB ─── */
.fab-claude{
  display:none;
  position:fixed;
  bottom:var(--sp-5);
  left:var(--sp-5);
  width:52px;
  height:52px;
  border-radius:var(--r-pill);
  background:var(--teal);
  color:var(--white);
  border:none;
  font-size:22px;
  box-shadow:var(--sh-lg);
  cursor:pointer;
  z-index:50;
  transition:all var(--tx-fast);
  align-items:center;
  justify-content:center;
}
.fab-claude:hover{
  background:var(--teal-deep);
  transform:scale(1.1);
}

/* ─── Responsive ─── */
@media (max-width:768px){
  .app{
    display:block !important;
  }
  .sidebar{
    position:fixed;
    right:0;
    top:0;
    z-index:100;
    width:var(--sidebar-w);
    max-width:85vw;
    height:100vh;
    transform:translateX(100%);
    transition:transform var(--tx-base);
    border-left:1px solid var(--border);
  }
  .sidebar.open{transform:translateX(0)}
  .sidebar-toggle{display:inline-flex !important}
  .sidebar-close{
    display:inline-flex;
    position:absolute;
    top:var(--sp-3);
    left:var(--sp-3);
    z-index:1;
  }
  .main{width:100%}
  .content{padding:var(--sp-3)}
  .btn-ask-claude{display:none !important}
  .fab-claude{display:flex}
}
