/* ============================================================
   layout.css — App shell: Login screen · Sidebar · Topbar · Views
   + تجاوب الجوال (Responsive) وقائمة البرجر
   Prototype T1 — منصّة العمل الذكية
   ============================================================ */

/* ===== Login screen ===== */
#loginScreen{
  height:100vh;
  display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:24px;
  padding:16px;
  background:
    radial-gradient(900px 450px at 85% -10%, var(--brand-100), transparent 60%),
    radial-gradient(700px 400px at 10% 110%, var(--accent-soft), transparent 55%),
    var(--bg);
}
.login-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:0 10px 40px rgba(9,55,52,.12);
  border-top:4px solid;
  border-image:var(--grad-brand) 1;
  padding:42px 40px;
  width:min(410px,94vw);
  display:flex; flex-direction:column; gap:15px;
}
.login-card .login-logo{
  width:76px; height:76px;
  font-size:36px; border-radius:18px;
  margin-bottom:4px;
}
.login-card h1{ font-size:21px; text-align:center; font-weight:800; }
.login-card p{ font-size:13px; color:var(--text-2); text-align:center; }
.login-card input,
.role-select{
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--bg);
  color:var(--text);
  font-size:14px;
}
.login-card input:focus,
.role-select:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-soft);
}
.role-lbl{
  font-size:12px; font-weight:700; color:var(--text-2);
  margin-bottom:-8px;
}
.demo-note{ font-size:11px; color:var(--text-2); text-align:center; }

/* ===== App shell ===== */
#app{ display:none; height:100vh; }
#app.active{ display:flex; }

/* ===== Sidebar ===== */
aside{
  width:265px; flex-shrink:0;
  background:var(--surface);
  border-inline-end:1px solid var(--border);
  display:flex; flex-direction:column;
}
.side-head{
  padding:16px;
  display:flex; align-items:center; gap:10px;
  border-bottom:1px solid var(--border);
}
.side-head .logo{ width:34px; height:34px; font-size:17px; margin:0; }
.side-head strong{ font-size:14px; }
.side-head small{ display:block; font-size:11px; color:var(--text-2); }

.new-task-btn{
  margin:14px 16px 6px;
  background:var(--grad-brand); color:#fff;
  border:none; border-radius:10px;
  padding:11px; font-size:14px; font-weight:700;
  transition:filter .15s;
}
.new-task-btn:hover{ filter:brightness(1.09); }
.side-label{
  padding:14px 18px 6px;
  font-size:11px; color:var(--text-2);
  letter-spacing:.4px;
}
.chat-history{ flex:1; overflow-y:auto; padding:0 10px; }
.chat-item{
  padding:10px 12px; border-radius:9px;
  font-size:13px; color:var(--text);
  cursor:pointer;
  display:flex; gap:8px; align-items:center;
}
.chat-item:hover{ background:var(--accent-soft); }
.chat-item span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.side-foot{
  border-top:1px solid var(--border);
  padding:12px 16px;
  display:flex; align-items:center; gap:10px;
}
.avatar{
  width:34px; height:34px; border-radius:50%;
  background:var(--grad-brand); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:14px;
}
.side-foot small{ color:var(--text-2); font-size:11px; }
.side-foot div b{ font-size:13px; }

/* ===== Main area ===== */
main{ flex:1; display:flex; flex-direction:column; min-width:0; }

.topbar{
  height:56px;
  border-bottom:1px solid var(--border);
  background:var(--surface);
  display:flex; align-items:center; justify-content:space-between;
  gap:10px;
  padding:0 20px;
}
.topbar h2{ font-size:15px; font-weight:700; flex:1; }
.top-actions{ display:flex; gap:8px; }
.chip-btn{
  border:1px solid var(--border);
  background:var(--surface); color:var(--text);
  border-radius:20px; padding:6px 14px; font-size:13px;
}
.chip-btn:hover{ background:var(--accent-soft); border-color:var(--brand-300); }

/* ===== View switching ===== */
#libraryView{ flex:1; overflow-y:auto; padding:36px 40px; }
#libraryView.hidden{ display:none; }
#chatView{ flex:1; display:none; flex-direction:column; min-height:0; }
#chatView.active{ display:flex; }

/* ============================================================
   📱 الجوال — الشريط الجانبي يصبح قائمة برجر منزلقة
   ============================================================ */
@media (max-width:860px){
  aside{
    position:fixed; top:0; bottom:0;
    width:280px; max-width:84vw;
    z-index:50;
    transition:transform .25s ease;
    box-shadow:0 0 30px rgba(9,55,52,.25);
  }
  [dir="rtl"] aside{ right:0; transform:translateX(102%); }
  [dir="ltr"] aside{ left:0;  transform:translateX(-102%); }
  aside.open{ transform:translateX(0) !important; }

  .topbar{ padding:0 12px; }
  .topbar h2{ font-size:14px; }
  .chip-btn{ padding:6px 10px; font-size:12px; }

  #libraryView{ padding:20px 16px; }
  .msg-row{ padding:0 14px !important; }
  .composer{ padding:12px 12px 14px !important; }
  .login-card{ padding:32px 22px; }
}
