/* ============================================
   AIWorkshop Layouts v4 — Light Theme Ready
   ============================================ */

/* === AUTH — Soft Glass + Animated === */
.auth-page {
  min-height: 100dvh;
  display: flex; align-items: center; justify-content: center;
  padding: 20px; position: relative; overflow: hidden;
  background: linear-gradient(135deg, #eef0f6 0%, #f8f9fb 40%, #f0edfb 70%, #eef0f6 100%);
  flex: 1;
}
.auth-page::before {
  content:''; position:absolute;
  width:600px; height:600px;
  background:radial-gradient(circle, rgba(99,102,241,0.12) 0%, transparent 70%);
  border-radius:50%; top:-200px; left:-100px;
  animation:orbFloat1 8s ease-in-out infinite;
}
.auth-page::after {
  content:''; position:absolute;
  width:500px; height:500px;
  background:radial-gradient(circle, rgba(139,92,246,0.10) 0%, transparent 70%);
  border-radius:50%; bottom:-150px; right:-100px;
  animation:orbFloat2 10s ease-in-out infinite;
}
@keyframes orbFloat1 {
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(40px,-30px) scale(1.1)}
  66%{transform:translate(-20px,20px) scale(0.9)}
}
@keyframes orbFloat2 {
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(-30px,-20px) scale(1.15)}
  66%{transform:translate(20px,30px) scale(0.85)}
}

.auth-card {
  width:100%; max-width:420px;
  background:rgba(255,255,255,0.75);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(0,0,0,0.06);
  border-radius:20px; padding:40px 32px;
  box-shadow:0 4px 40px rgba(0,0,0,0.06), 0 1px 3px rgba(0,0,0,0.04);
  position:relative; z-index:1;
  animation:cardIn 0.6s cubic-bezier(0.16,1,0.3,1);
}
.auth-card::before {
  content:''; position:absolute; inset:-2px; border-radius:22px;
  background:linear-gradient(135deg, rgba(99,102,241,0.15), rgba(139,92,246,0.08), rgba(99,102,241,0.06), rgba(139,92,246,0.15));
  z-index:-1; filter:blur(12px);
  animation:borderGlow 4s ease-in-out infinite;
}
@keyframes cardIn {
  from{opacity:0;transform:translateY(20px) scale(0.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes borderGlow { 0%,100%{opacity:0.5} 50%{opacity:1} }

.auth-header{text-align:center;margin-bottom:32px}
.auth-header .auth-icon{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,rgba(99,102,241,0.12),rgba(139,92,246,0.08));display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 16px;box-shadow:0 0 30px rgba(99,102,241,0.08)}
.auth-header h2{font-size:22px;font-weight:700;color:var(--text);margin-bottom:4px;letter-spacing:-0.02em}
.auth-header p{font-size:13px;color:var(--text3)}

.auth-msg{display:none;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:13px}
.auth-msg.error{display:block;background:var(--err-light);color:var(--err);border:1px solid rgba(220,38,38,0.15)}
.auth-msg.success{display:block;background:var(--ok-light);color:var(--ok);border:1px solid rgba(5,150,105,0.15)}

.form-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.form-link{font-size:13px;color:var(--brand);text-decoration:none;transition:color 0.2s}
.form-link:hover{color:var(--accent)}

.auth-footer{text-align:center;margin-top:22px;font-size:13px;color:var(--text3)}
.auth-footer a{color:var(--brand);font-weight:600;transition:color 0.2s}
.auth-footer a:hover{color:var(--accent)}

@media(max-width:480px){
  .auth-card{padding:28px 20px;border-radius:16px}
  .auth-page::before,.auth-page::after{width:300px;height:300px}
}

/* === ADMIN === */
.admin-layout{flex:1;display:flex;max-width:1200px;width:100%;margin:0 auto}
.admin-sidebar{width:210px;flex-shrink:0;background:var(--bg-card);border-right:1px solid var(--border);padding:12px 0}
.admin-sidebar a{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:500;color:var(--text2);text-decoration:none;border-left:3px solid transparent;transition:0.15s ease}
.admin-sidebar a:hover{color:var(--text);background:var(--surface-alt)}
.admin-sidebar a.active{color:var(--brand);background:var(--brand-light);border-left-color:var(--brand)}
.admin-content{flex:1;padding:32px;overflow-x:auto;min-width:0}

@media(max-width:768px){
  .admin-layout{flex-direction:column}
  .admin-sidebar{width:100%;display:flex;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border);padding:6px;gap:0}
  .admin-sidebar a{white-space:nowrap;border-left:none;border-bottom:2px solid transparent;padding:8px 12px;font-size:11px}
  .admin-sidebar a.active{border-left:none;border-bottom-color:var(--brand)}
  .admin-content{padding:14px}
}

/* === WORKSHOP (基础布局，细节见 ai_assistant.css) === */
.workshop-layout{display:flex;height:calc(100dvh - 52px);overflow:hidden;max-width:100vw}
#sidebar{width:280px;flex-shrink:0}
#session-list{flex:1;overflow-y:auto;padding:8px}
#main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}
#chat{flex:1;overflow-y:auto;padding:20px 24px}
#input-area{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-card)}
#staged-panel{display:none;position:fixed;right:0;top:52px;bottom:0;width:320px;background:var(--bg-card);border-left:1px solid var(--border);z-index:150;flex-direction:column}
#staged-panel.visible{display:flex}
.panel-header{padding:16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.panel-title{font-size:14px;font-weight:600;color:var(--text)}
#staged-list{flex:1;overflow-y:auto;padding:12px}

@media(max-width:768px){
  .workshop-layout{flex-direction:column}
  #sidebar{width:100%;height:auto;max-height:200px;flex-shrink:0;border-right:none;border-bottom:1px solid var(--border)}
  #main{width:100%}
  #chat{padding:12px}
  #input-area{padding:8px 12px}
}
