/* SaraSoft V4 — فارسی کلون z.ai
   لایهٔ بصری واحد جایگزین همهٔ CSS های قدیمی. DOM و کلاس‌های JS دست‌نخورده. */

/* ─── توکن‌ها (بازتاب دقیق z.ai) ─── */
:root{
  --z-bg:#f9f9f8; --z-panel:#ffffff; --z-panel-2:#f2f2f0;
  --z-ink:#0d0d0d; --z-muted:rgba(13,13,13,.6); --z-faint:rgba(13,13,13,.4);
  --z-line:#dbdbdb; --z-line-soft:#e8e8e6;
  --z-accent:#0d0d0d; --z-accent-ink:#ffffff;
  --z-hover:rgba(13,13,13,.04);
  --z-radius-sm:8px; --z-radius:12px; --z-radius-lg:24px;
  --z-shadow:0 4px 24px rgba(0,0,0,.06);
  --z-font:'Vazirmatn',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --z-serif:'Vazirmatn',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --z-max:794px;
}
html[data-theme="dark"], html[data-nk-theme="dark"]{
  --z-bg:#171717; --z-panel:#212121; --z-panel-2:#2a2a2a;
  --z-ink:#ececec; --z-muted:rgba(236,236,236,.6); --z-faint:rgba(236,236,236,.4);
  --z-line:#333333; --z-line-soft:#2a2a2a;
  --z-accent:#ececec; --z-accent-ink:#171717;
  --z-hover:rgba(255,255,255,.06);
  --z-shadow:0 4px 24px rgba(0,0,0,.4);
  color-scheme:dark;
}

/* ─── پایه ─── */
html,body{background:var(--z-bg)!important;color:var(--z-ink)!important;}
body.nikrad-app{font-family:var(--z-font)!important;-webkit-font-smoothing:antialiased;}
body.nikrad-app :where(button,input,textarea,select){font-family:inherit;}
body.nikrad-app ::selection{background:rgba(13,13,13,.85);color:#fff;}
html[data-theme="dark"] body.nikrad-app ::selection{background:rgba(236,236,236,.85);color:#171717;}
body.nikrad-app :where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--z-ink)!important;outline-offset:2px;box-shadow:none!important;}

/* ─── هدر / نوار بالا ─── */
body.nikrad-app :where(.app-header,.header,.topbar,.nk-header,.w-topbar){
  background:color-mix(in srgb,var(--z-bg) 88%,transparent)!important;
  backdrop-filter:blur(12px);
  border-bottom:1px solid transparent!important;
  box-shadow:none!important;color:var(--z-ink)!important;
  height:52px;
}
body.nikrad-app .header-logo-frame{box-shadow:none!important;background:var(--z-ink)!important;border-radius:10px!important;}
body.nikrad-app .header-logo-frame img{filter:invert(1) brightness(2);}

/* ─── دکمه‌ها ─── */
body.nikrad-app :where(.btn-primary,.primary-btn,.button-primary){
  background:var(--z-accent)!important;color:var(--z-accent-ink)!important;
  border:none!important;border-radius:var(--z-radius-sm)!important;
  font-size:14px!important;font-weight:500!important;
  padding:6px 16px!important;box-shadow:none!important;
  transition:opacity .15s ease;
}
body.nikrad-app :where(.btn-primary,.primary-btn,.button-primary):hover{opacity:.85;}
body.nikrad-app :where(.btn,.button,.btn-secondary){
  border-radius:var(--z-radius-sm)!important;font-size:14px!important;font-weight:500!important;
  background:transparent;color:var(--z-ink);border:1px solid var(--z-line);
  transition:background .15s ease;
}
body.nikrad-app :where(.btn,.button,.btn-secondary):hover{background:var(--z-hover);}
body.nikrad-app :where(.btn,.button).full{width:100%;padding:10px 16px!important;}

/* ─── چیپ‌ها (پیشنهادها) ─── */
body.nikrad-app :where(.composer-tool,.composer-suggestions button,.filter-chip,.cm-tag){
  border:1px solid var(--z-line)!important;border-radius:var(--z-radius-sm)!important;
  background:var(--z-hover)!important;color:var(--z-muted)!important;
  font-size:13px!important;padding:6px 12px!important;
  transition:all .15s ease;
}
body.nikrad-app :where(.composer-tool,.composer-suggestions button,.filter-chip,.cm-tag):hover{
  color:var(--z-ink)!important;border-color:var(--z-ink)!important;background:var(--z-panel)!important;
}
body.nikrad-app .composer-suggestions button.active,
body.nikrad-app .filter-chip.active{
  background:var(--z-accent)!important;color:var(--z-accent-ink)!important;border-color:var(--z-accent)!important;
}

/* ─── کارت‌ها ─── */
body.nikrad-app :where(.card,.panel,.surface,.setting-card,.list-card,.stat-card,.quick-card,.doc-card,.feature-card,.cta-card,.table-card,.settings-section,.profile-card,.community-card,.guide-card,.rel-card){
  background:var(--z-panel)!important;color:var(--z-ink)!important;
  border:1px solid var(--z-line-soft)!important;
  border-radius:var(--z-radius)!important;box-shadow:none!important;
  transition:border-color .15s ease,transform .15s ease;
}
body.nikrad-app :where(.card,.quick-card,.doc-card,.feature-card,.list-card):hover{
  transform:translateY(-1px);border-color:var(--z-line)!important;
}
body.nikrad-app :where(.card-head,.card-foot,.card-top){border-color:var(--z-line-soft)!important;}

/* ─── فرم‌ها ─── */
body.nikrad-app :where(input,textarea,select,.form-control){
  background:var(--z-panel)!important;color:var(--z-ink)!important;
  border:1px solid var(--z-line)!important;border-radius:var(--z-radius-sm)!important;
  font-size:14px!important;padding:10px 12px!important;
  transition:border-color .15s ease;
}
body.nikrad-app :where(input,textarea,select):focus{
  border-color:var(--z-ink)!important;outline:none!important;box-shadow:none!important;
}
body.nikrad-app :where(input,textarea,select)::placeholder{color:var(--z-faint)!important;}
body.nikrad-app label{font-size:13px!important;color:var(--z-muted)!important;font-weight:500!important;}

/* ─── Hero سریف (امضای z.ai) ─── */
@font-face{font-family:'Amiri';src:url('/assets/fonts/Amiri-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Amiri';src:url('/assets/fonts/Amiri-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
body.nikrad-app :where(.hero h1,.welcome-screen h1),
body.nikrad-app .hero h1,
body.nikrad-app .welcome-screen h1,
body.nikrad-app #hero h1{
  font-family:var(--z-serif)!important;
  font-size:clamp(28px,4.5vw,52px)!important;
  font-weight:800!important;line-height:1.5!important;
  letter-spacing:-.5px!important;color:var(--z-ink)!important;
  text-align:center!important;
}
body.nikrad-app :where(.hero p,.welcome-subtitle){
  font-family:var(--z-font)!important;
  font-size:clamp(13px,1.5vw,16px)!important;
  color:var(--z-muted)!important;text-align:center!important;line-height:2!important;
}
body.nikrad-app :where(.hero,.welcome-screen){text-align:center!important;}

/* ─── صفحات auth (welcome/login/signup) — کارت مرکزی مینیمال ─── */
body:has(.device){background:var(--z-bg)!important;}
body:has(.device) .device{
  border:none!important;border-radius:var(--z-radius-lg)!important;
  box-shadow:var(--z-shadow)!important;background:var(--z-panel)!important;
}
body:has(.device) .welcome-visual{width:64px!important;height:64px!important;border-radius:14px!important;overflow:hidden;background:var(--z-ink);margin:0 auto 18px!important;display:flex;align-items:center;justify-content:center;}
body:has(.device) .welcome-visual img{width:70%!important;height:70%!important;object-fit:contain;filter:invert(1) brightness(2);}
html[data-theme="dark"] body:has(.device) .welcome-visual img{filter:invert(0) brightness(0) invert(1);}
body:has(.device) .welcome-screen h1{font-size:clamp(24px,4vw,34px)!important;font-weight:400!important;}
body:has(.device) :where(.welcome-actions .btn,.welcome-actions .field input){border-radius:var(--z-radius-sm)!important;min-height:44px!important;}
body:has(.device) .welcome-actions{gap:10px!important;}

/* ─── صفحهٔ چت ─── */
body.nikrad-app #scroll{background:var(--z-bg)!important;scrollbar-width:thin;scrollbar-color:var(--z-line) transparent;}
body.nikrad-app #inner{width:100%;max-width:var(--z-max)!important;margin-inline:auto;padding-inline:clamp(16px,3vw,32px)!important;}
body.nikrad-app .hero{padding:clamp(40px,12vh,120px) 0 30px!important;}
body.nikrad-app #messages{width:100%;max-width:766px;margin-inline:auto;}
body.nikrad-app :where(.message,.msg,.chat-message){line-height:2!important;font-size:14.5px!important;}
body.nikrad-app :where(.avatar.assistant){background:var(--z-ink)!important;border-radius:8px!important;}
body.nikrad-app :where(.avatar.assistant) img,body.nikrad-app :where(.avatar.assistant) svg{filter:invert(1) brightness(2);}

/* Composer شناور */
body.nikrad-app #composerWrap{
  background:linear-gradient(to top,var(--z-bg) 75%,transparent)!important;
  border-top:none!important;box-shadow:none!important;
  padding:10px clamp(14px,3vw,30px) calc(12px + env(safe-area-inset-bottom,0px))!important;
}
body.nikrad-app .composer{
  max-width:var(--z-max)!important;min-height:64px!important;
  border:1px solid var(--z-line)!important;border-radius:28px!important;
  background:var(--z-panel)!important;box-shadow:var(--z-shadow)!important;
  padding:8px 10px!important;gap:6px!important;
  align-items:center!important;
}
body.nikrad-app .composer:focus-within{border-color:var(--z-ink)!important;box-shadow:var(--z-shadow)!important;}
body.nikrad-app .composer textarea{font-size:14.5px!important;line-height:1.9!important;background:transparent!important;border:none!important;}
body.nikrad-app .composer .send-btn{
  width:34px!important;height:34px!important;border-radius:8px!important;
  background:var(--z-accent)!important;color:var(--z-accent-ink)!important;
  opacity:.35;transition:opacity .15s;
}
body.nikrad-app .composer .send-btn:has(textarea:not(:placeholder-shown)),body.nikrad-app .composer .send-btn.ready{opacity:1;}
body.nikrad-app .composer-plus{
  width:30px!important;height:30px!important;border-radius:8px!important;
  background:transparent!important;border-color:transparent!important;color:var(--z-muted)!important;
}
body.nikrad-app .composer-plus:hover{background:var(--z-hover)!important;}
body.nikrad-app .composer-tools{max-width:var(--z-max);margin:0 auto 8px!important;}

/* کارت‌های پیشنهاد RAG (معادل prompt cards) */
body.nikrad-app :where(.nikrad-rag-v50-card,.nikrad-rag-analysis-30,.nikrad-rag-chain-30,.rag-deep-card){
  background:var(--z-panel)!important;border:1px solid var(--z-line-soft)!important;
  border-radius:var(--z-radius)!important;box-shadow:none!important;overflow:hidden!important;
}
body.nikrad-app :where(.nikrad-rag-v50-card .head,.nikrad-rag-analysis-30 .head,.nikrad-rag-chain-30 .head){
  background:var(--z-panel-2)!important;color:var(--z-ink)!important;border-color:var(--z-line-soft)!important;
}
body.nikrad-app :where(.nikrad-rag-cite-26,.nikrad-rag-link-26){
  border-radius:6px!important;font-size:12.5px!important;
  background:var(--z-hover)!important;color:var(--z-muted)!important;
}
body.nikrad-app :where(.nikrad-rag-modal-card-26){border-radius:var(--z-radius)!important;background:var(--z-panel)!important;border:1px solid var(--z-line-soft)!important;}

/* مودال عمومی */
body.nikrad-app :where(.modal,.drawer,.sheet-handle){background:var(--z-panel)!important;border-color:var(--z-line-soft)!important;border-radius:var(--z-radius)!important;}
body.nikrad-app :where(.overlay,.modal-backdrop){background:rgba(0,0,0,.4)!important;backdrop-filter:blur(2px);}

/* فوتر */
body.nikrad-app :where(.theme-footer,footer,.site-footer){
  background:transparent!important;color:var(--z-faint)!important;
  font-size:12.5px!important;border-top:1px solid var(--z-line-soft)!important;
  padding:14px 0!important;gap:6px!important;
}
body.nikrad-app :where(.theme-footer,footer,.site-footer) a{color:var(--z-muted)!important;text-decoration:none!important;}
body.nikrad-app :where(.theme-footer,footer,.site-footer) a:hover{color:var(--z-ink)!important;}
/* رفع هم‌پوشانی فوتر welcome */
/* FIXPACK V8.4: این قانون همهٔ فوترها را اجباری نمایان می‌کرد (منوی بدون استایل پایین صفحات) */
body:has(.device) .welcome-screen footer{display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important;line-height:1.8!important;}
body:not(.nikrad-app):has(.device) footer{display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important;line-height:1.8!important;}

/* کارت‌های پیشنهاد تصویری (کلون z.ai prompt cards) */
body.nikrad-app .z-cards{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px;width:100%;max-width:794px;}
body.nikrad-app .z-card{
  width:150px;min-height:130px;display:flex;flex-direction:column;align-items:flex-start;
  gap:4px;padding:14px;cursor:pointer;text-align:right;
  background:var(--z-panel)!important;border:1px solid var(--z-line-soft)!important;
  border-radius:var(--z-radius)!important;overflow:hidden!important;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
body.nikrad-app .z-card:hover{transform:translateY(-3px)!important;border-color:var(--z-ink)!important;box-shadow:var(--z-shadow)!important;}
body.nikrad-app .z-card-ico{font-size:26px;line-height:1;margin-bottom:6px;}
body.nikrad-app .z-card-t{font-size:13px;font-weight:600;color:var(--z-ink)!important;}
body.nikrad-app .z-card-d{font-size:11.5px;line-height:1.7;color:var(--z-muted)!important;}

/* ─── پنل مدیریت (هم‌خانواده) ─── */
html[data-nk-theme="dark"]{--bg:var(--z-bg);--surface:var(--z-panel);--surface2:var(--z-panel-2);--surface3:var(--z-panel-2);--ink:var(--z-ink);--muted:var(--z-muted);--line:var(--z-line);--primary:var(--z-accent);--primary2:var(--z-muted);--soft:var(--z-hover);--shadow:var(--z-shadow);}
html:not([data-nk-theme="dark"]) body:has(.nk-app){--bg:var(--z-bg);--surface:#fff;--surface2:#f2f2f0;--surface3:#ececea;--ink:#0d0d0d;--muted:rgba(13,13,13,.6);--line:#e8e8e6;--primary:#0d0d0d;--primary2:#333;--soft:rgba(13,13,13,.04);--shadow:var(--z-shadow);}
.nk-app .nk-main,.nk-app .nk-content{background:var(--bg)!important;}
.nk-app :where(.nk-panel,.nk-card,.nk-stat-card,.admin-panel,.table-card){border-radius:var(--z-radius)!important;box-shadow:none!important;border:1px solid var(--z-line-soft)!important;}

/* ─── موبایل ─── */
@media(max-width:767px){
  body.nikrad-app #inner{padding-inline:14px!important;}
  body.nikrad-app .hero{padding-top:clamp(48px,16vh,90px)!important;}
  body.nikrad-app :where(.hero h1,.welcome-screen h1){font-size:clamp(26px,7vw,34px)!important;}
  body.nikrad-app .composer{min-height:76px!important;border-radius:20px!important;padding:10px!important;}
  body.nikrad-app .composer textarea{font-size:16px!important;}
  body.nikrad-app .composer .send-btn{width:32px!important;height:32px!important;}
  body.nikrad-app :where(.card,.panel,.surface,.stat-card,.quick-card){border-radius:var(--z-radius)!important;}
  body.nikrad-app .composer-suggestions{flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none;}
  body.nikrad-app .composer-suggestions::-webkit-scrollbar{display:none;}
}
@media(prefers-reduced-motion:reduce){
  body.nikrad-app *,body.nikrad-app *::before,body.nikrad-app *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
}
