/* Nikrad — unified application shell. One geometry across every page. */
:root{--shell-bg:#ffffff;--shell-surface:#ffffff;--shell-ink:#0a0a0a;--shell-muted:#5a5a5a;--shell-line:#e5e5e5;--shell-accent:#111111;--shell-shadow:0 12px 45px rgba(33,27,20,.07);--shell-radius:22px}
*{box-sizing:border-box}.app-header{position:sticky;top:0;z-index:4000;width:100%;height:72px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:10px clamp(14px,3vw,32px);background:color-mix(in srgb,var(--shell-surface) 91%,transparent);border-bottom:1px solid var(--shell-line);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}
.header-zone{display:flex;align-items:center;gap:7px;min-width:0}.header-zone-right{grid-column:1;justify-content:flex-start}.header-zone-left{grid-column:3;justify-content:flex-end}.header-brand{grid-column:1;display:inline-flex;justify-self:start;;align-items:center;justify-content:center;gap:9px;min-width:0;color:var(--shell-ink);text-decoration:none}.header-logo-frame{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border-radius:12px;overflow:hidden;border-radius:15px;background:#0a0a0a;box-shadow:0 5px 18px rgba(0,0,0,.12)}.header-logo{width:100%;height:100%;display:block;object-fit:cover}.header-brand-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:210px}.header-brand-copy strong{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-brand-copy small{font-size:11px;color:var(--shell-muted);margin-top:2px;white-space:nowrap}
/* ── Header nav pills (modern) ── */
.header-nav{grid-column:2;display:inline-flex;align-items:center;justify-content:center;gap:4px;background:color-mix(in srgb,var(--shell-line) 35%,transparent);border:1px solid var(--shell-line);border-radius:999px;padding:4px;width:max-content;max-width:100%;justify-self:center;overflow:hidden}
.header-nav-link{padding:7px 15px;border-radius:999px;font-size:12.5px;font-weight:700;color:var(--shell-muted);white-space:nowrap;transition:color .15s,background .15s}
.header-nav-link:hover{color:var(--shell-ink);background:var(--shell-surface)}
.header-nav-link.on{background:var(--shell-ink);color:var(--shell-bg)}
@media (max-width:980px){.header-nav{display:none}.app-header{display:flex;justify-content:space-between;align-items:center}.header-zone-right{display:flex;justify-content:flex-start}.header-zone-left{display:flex;justify-content:flex-end}.header-brand{display:inline-flex}}
@media (max-width:640px){.header-brand-copy small{display:none}}
.header-brand{grid-column:1;justify-self:start}

.header-icon,.header-avatar{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border:1px solid transparent;background:transparent;color:var(--shell-ink);border-radius:13px;text-decoration:none;position:relative;transition:background .18s,border-color .18s,transform .18s}.header-icon:hover,.header-avatar:hover{background:var(--shell-bg);border-color:var(--shell-line)}.header-icon:active,.header-avatar:active{transform:scale(.94)}.header-icon svg{width:21px;height:21px}.header-avatar{background:#0a0a0a;color:#fff;font-size:13px;font-weight:800;border-radius:14px}.login-avatar{width:auto;min-width:58px;padding:0 12px}.notif-dot{position:absolute;top:5px;right:5px;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:#0a0a0a;color:#fff;font-size:11px;display:grid;place-items:center;border:2px solid var(--shell-surface)}
.device{width:100%;max-width:none;min-height:100dvh;margin:0;border:0;border-radius:0;background:var(--shell-bg);box-shadow:none;overflow:visible}.device>.app-header+*{min-width:0}.theme-footer{width:100%;border-top:1px solid var(--shell-line);background:var(--shell-surface)}.theme-footer-inner{width:min(1180px,calc(100% - 32px));margin:auto;padding:24px 0;display:flex;align-items:center;gap:26px}.footer-brand{display:flex;align-items:center;gap:10px;min-width:0}.footer-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#0a0a0a;color:#fff;font-weight:800}.footer-brand strong{display:block;font-size:11px}.footer-brand small{display:block;color:var(--shell-muted);font-size:11px;margin-top:3px}.theme-footer nav{display:flex;gap:16px;flex-wrap:wrap;margin-inline:auto}.theme-footer nav a,.footer-copy{font-size:11px;color:var(--shell-muted)}
/* Normalize common content containers without forcing their internal design. */
main,.page,.content,.container,.wrap{max-width:1180px;margin-inline:auto}.card,.feature-card,.stat-card,.doc-card,.list-row,.modal-box,.sheet,.site-menu-modal{border-radius:var(--shell-radius)}button,input,select,textarea{font-family:inherit}
@media(max-width:767px){.app-header{height:68px;padding:8px 10px}.header-logo-frame{width:36px;height:36px;flex-basis:36px;border-radius:11px}.header-brand-copy{display:none}
.header-icon,.header-avatar{width:40px;height:40px;flex-basis:40px;border-radius:12px}.header-icon svg{width:20px;height:20px}.theme-footer-inner{width:calc(100% - 28px);display:grid;grid-template-columns:1fr auto;gap:16px;padding:20px 0}.theme-footer nav{grid-column:1/-1;grid-row:2;margin:0;gap:13px}.footer-copy{justify-self:end}}

/* NIKRAD Navigation System V3 */
.account-head-btn{background:transparent!important}.site-menu-modal-pro{width:min(860px,calc(100vw - 32px));padding:18px}.site-menu-section{margin:0 0 16px}.site-menu-section-title{font-size:11px;font-weight:800;color:var(--muted);padding:4px 4px 8px}.site-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.site-menu-item{min-height:68px;padding:10px}.site-menu-item .mi{width:40px;height:40px}.site-menu-item .mi svg{width:19px;height:19px}.site-menu-wide.danger{color:#b33a3a}.drawer-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:10px 12px 4px}.drawer-quick{min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 5px;border:1px solid var(--line);border-radius:13px;background:var(--bg);color:var(--ink);text-decoration:none}.drawer-quick span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--soft);color:var(--accent)}.drawer-quick span svg{width:16px;height:16px}.drawer-quick b{font-size:11px}.drawer-quick small{font-size:11px;color:var(--muted);white-space:nowrap}.drawer-section-title{padding:9px 14px 4px;font-size:11px;font-weight:800;color:var(--muted)}.drawer-section-title.recent-title{padding-top:12px}.drawer-bottom-links{display:flex;gap:5px;padding:5px 12px 8px;border-top:1px solid var(--line);overflow:auto}.drawer-bottom-links a{display:flex;align-items:center;gap:5px;flex:1;justify-content:center;min-width:90px;padding:7px 8px;border-radius:10px;background:var(--bg);color:var(--ink-soft);text-decoration:none;font-size:11px;white-space:nowrap}.drawer-bottom-links svg{width:15px;height:15px}.drawer-pro .drawer-foot{border-top:1px solid var(--line)}
@media(max-width:767px){.site-menu-modal-pro{left:8px;right:8px;width:auto;max-height:calc(100dvh - 16px);padding:12px}.site-menu-modal-pro .site-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-bottom-links{overflow-x:auto}}@media(max-width:390px){.site-menu-modal-pro .site-menu-grid{grid-template-columns:1fr}.drawer-quick-grid{grid-template-columns:repeat(2,1fr)}}

.nikrad-info-page{padding-top:28px;padding-bottom:60px}.info-page-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.info-card{padding:20px}.info-card h2{margin:0 0 14px;font-size:17px}.info-card p,.info-card li{font-size:12px;line-height:2;color:var(--ink-soft)}.feature-list{display:grid;gap:10px}.feature-list>div{padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--bg)}.feature-list b{display:block;font-size:11px}.feature-list span{display:block;color:var(--muted);font-size:11px;line-height:1.8;margin-top:3px}.feature-list a,.contact-email{color:var(--accent);text-decoration:none}.faq-card details{border-bottom:1px solid var(--line);padding:12px 0}.faq-card details:last-child{border-bottom:0}.faq-card summary{cursor:pointer;font-size:12px;font-weight:800}.faq-card p{margin:9px 0 0}.contact-form{display:grid;gap:12px}.contact-email{display:inline-block;padding:10px 12px;background:var(--accent-soft);border-radius:11px;font-size:12px;direction:ltr}.form-message.success{color:#111111}.form-message.error{color:#b33a3a}@media(max-width:800px){.info-page-grid{grid-template-columns:1fr}.nikrad-info-page{padding:18px 12px 40px}.info-card{padding:15px}}
.session-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.session-row:last-child{border-bottom:0}.session-row b{display:block;font-size:11px}.session-row span{display:block;color:var(--muted);font-size:11px;margin-top:4px;direction:ltr;text-align:right}.session-current{font-size:11px;color:#111111;background:#f0f0f0;border-radius:999px;padding:6px 9px;white-space:nowrap}@media(max-width:600px){.session-row{align-items:flex-start;flex-direction:column}.session-row .btn{width:100%}}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head h2{margin:0 0 4px;font-size:15px}.card-head p{margin:0;font-size:11px;color:var(--muted)}.empty-state{padding:26px 14px;text-align:center;color:var(--muted);font-size:12px;line-height:1.9}.field-label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:700;margin-bottom:2px}.field-label input,.field-label select,.field-label textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);padding:9px 12px;outline:0;font-size:12px;font-weight:400}.field-label textarea{min-height:110px;resize:vertical;line-height:1.8}.field-label input:focus,.field-label select:focus,.field-label textarea:focus{border-color:var(--accent)}.form-message{font-size:11px;color:var(--muted);min-height:18px;line-height:1.8}.mini-btn{min-height:34px;padding:0 12px;border:1px solid var(--line);background:var(--bg);border-radius:10px;color:var(--ink-soft);font-size:11px;font-weight:700}.mini-btn:hover{border-color:var(--accent);color:var(--ink)}
.theme-footer-inner{align-items:flex-start}.theme-footer-links{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:18px;flex:1;max-width:780px}.theme-footer-links b{display:block;font-size:11px;color:var(--shell-ink);margin-bottom:7px}.theme-footer-links a{display:block;margin:4px 0;font-size:11px;color:var(--shell-muted);text-decoration:none}.theme-footer-brand{min-width:170px}@media(max-width:800px){.theme-footer-inner{display:block}.theme-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px;gap:12px}}@media(max-width:430px){.theme-footer-links{grid-template-columns:1fr}}

/* v4.0 — single global header contract */
.app-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;}
.app-header .header-center-spacer{grid-column:2!important;width:1px!important;height:1px!important;opacity:0!important}
.app-header .header-page-title{display:none!important}
.app-header .header-icon{background:transparent!important}
.app-header .header-icon svg{width:21px!important;height:21px!important;max-width:21px!important;max-height:21px!important;display:block!important}
/* Drawer is self-contained so page content can never bleed through it. */
.drawer.drawer-pro{background:var(--raised)!important;color:var(--ink)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;isolation:isolate!important}
.drawer.drawer-pro .drawer-head{position:relative;z-index:2;flex:0 0 auto!important;background:var(--raised)!important}
.drawer.drawer-pro .drawer-list{min-height:0!important;flex:1 1 auto!important;overflow-y:auto!important;overflow-x:hidden!important;padding:4px 12px 10px!important}
.drawer.drawer-pro .drawer-quick-grid{flex:0 0 auto!important}
.drawer.drawer-pro .proj-row{flex:0 0 auto!important}
.drawer.drawer-pro .drawer-foot{flex:0 0 auto!important;margin-top:0!important;background:var(--raised)!important}
.drawer.drawer-pro svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important;display:block!important;flex:0 0 18px!important}
.drawer.drawer-pro .conv-item{min-height:44px!important;display:flex!important;align-items:center!important;gap:8px!important;padding:8px 9px!important;border-radius:10px!important;overflow:hidden!important;line-height:1.5!important}
.drawer.drawer-pro .conv-item>span{min-width:0!important;flex:1 1 auto!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:11px!important}
.drawer.drawer-pro .conv-item .pin{width:10px!important;height:10px!important;max-width:10px!important;max-height:10px!important;flex:0 0 10px!important}
.drawer.drawer-pro .conv-actions{flex:0 0 auto!important}
.drawer.drawer-pro .conv-actions button{width:26px!important;height:26px!important;display:grid!important;place-items:center!important;padding:0!important}
.drawer.drawer-pro .conv-actions button svg{width:14px!important;height:14px!important}
.drawer.drawer-pro .section-label{padding:8px 4px 4px!important;font-size:11px!important;font-weight:800!important;color:var(--muted)!important}
.drawer.drawer-pro .empty-note{padding:16px 8px!important;font-size:11px!important}
.drawer.drawer-pro .proj-chip svg{width:15px!important;height:15px!important;max-width:15px!important;max-height:15px!important}
/* Never allow mobile pages/cards to establish a horizontal scrolling layout. */
html,body{max-width:100%!important;overflow-x:hidden!important}
body.nikrad-app .device,body.nikrad-app #scroll{min-width:0!important;max-width:100%!important}
body.nikrad-app main,body.nikrad-app .content{min-width:0!important;max-width:var(--nk-media-max,760px)!important;margin-inline:auto!important}
body.nikrad-app main{flex:0 0 auto!important;width:var(--nk-media-max,760px)!important;max-width:100%!important}
body.nikrad-app main>*{min-width:0!important;max-width:100%!important}
@media(max-width:767px){.drawer.drawer-pro{width:100vw!important;max-width:100vw!important;right:0!important}.drawer.drawer-pro .drawer-head{padding-inline:12px!important}.drawer.drawer-pro .drawer-list{padding-inline:12px!important}.app-header .header-icon svg{width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important}}

/* NIKRAD HEADER CONTRACT 4.1 — no logo, no brand, no membership/page subtitle in global header */
.app-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;}
.app-header .header-zone{min-width:0!important;}
.app-header .header-icon{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;display:grid!important;place-items:center!important;}
.app-header .header-icon svg{width:21px!important;height:21px!important;min-width:21px!important;min-height:21px!important;max-width:21px!important;max-height:21px!important;}
@media(max-width:767px){.app-header .header-icon{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}.app-header .header-icon svg{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important}}

/* ── theme toggle header (همه تم‌ها) ── */
.header-theme-btn svg{width:20px;height:20px}
.header-theme-btn .nk-theme-sun{display:none}
.header-theme-btn .nk-theme-moon{display:block}
html[data-nikrad-theme="dark"] .header-theme-btn .nk-theme-sun{display:block}
html[data-nikrad-theme="dark"] .header-theme-btn .nk-theme-moon{display:none}

/* ── theme toggle v2 — مینیمال و هماهنگ با هدر ── */
.header-theme-btn{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line,var(--nk-line,#e5e5e5));background:var(--raised,var(--nk-raised,#fff));color:var(--ink,var(--nk-ink,#0a0a0a));cursor:pointer;transition:background .2s,color .2s}
.header-theme-btn:hover{background:var(--nk-soft,#f0f0f0)}
.header-theme-btn .nk-ti{display:none;line-height:0}
.header-theme-btn .nk-ti-moon{display:block}
.header-theme-btn .nk-ti-sun{display:none}
html[data-theme="dark"] .header-theme-btn .nk-ti-moon,
html[data-nikrad-theme="dark"] .header-theme-btn .nk-ti-moon{display:none}
html[data-theme="dark"] .header-theme-btn .nk-ti-sun,
html[data-nikrad-theme="dark"] .header-theme-btn .nk-ti-sun{display:block}

/* ── Beautify layer v7.2.0 (apmix-style, monochrome) ── */
/* 1) depth + hover lift */
.card,.stat-card,.list-card,.cm-post,.sheet{transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s,border-color .22s;box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px -18px rgba(0,0,0,.18)}
@media(hover:hover){.card:hover,.stat-card:hover,.list-card:hover,.cm-post:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(0,0,0,.05),0 18px 40px -20px rgba(0,0,0,.26);border-color:#d4d4d4}html[data-theme=dark] .card:hover,html[data-theme=dark] .stat-card:hover,html[data-theme=dark] .list-card:hover,html[data-theme=dark] .cm-post:hover{border-color:#333}}
.card:active,.stat-card:active,.list-card:active{transform:translateY(0) scale(.995)}
/* 2) vertical rhythm */
.section-title{margin-top:34px;margin-bottom:14px;letter-spacing:-.2px}
.content>*+*{margin-top:0}
.home-hero,.hero{padding-block:30px 8px}
/* 3) typography hierarchy */
.section-title{font-size:16px;font-weight:800}
h1{letter-spacing:-.6px}
.hero p,.page-sub{line-height:2;color:var(--shell-muted)}
/* 4) entrance animation (respects reduced motion) */
@keyframes nkRiseIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.nikrad-app main .card,.nikrad-app main .stat-card,.nikrad-app main .list-card{animation:nkRiseIn .6s cubic-bezier(.2,.7,.3,1) both}
.nikrad-app main .card:nth-child(2),.nikrad-app main .stat-card:nth-child(2),.nikrad-app main .list-card:nth-child(2){animation-delay:.06s}
.nikrad-app main .card:nth-child(3),.nikrad-app main .stat-card:nth-child(3),.nikrad-app main .list-card:nth-child(3){animation-delay:.12s}
.nikrad-app main .card:nth-child(4),.nikrad-app main .stat-card:nth-child(4),.nikrad-app main .list-card:nth-child(4){animation-delay:.18s}
@media(prefers-reduced-motion:reduce){.nikrad-app main .card,.nikrad-app main .stat-card,.nikrad-app main .list-card{animation:none!important}}
/* 5) buttons physical feedback */
.btn,.header-nav-link,.filter-chip{transition:transform .15s,box-shadow .2s,background .15s}
.btn:active{transform:scale(.96)}
.btn-primary{box-shadow:0 6px 18px -8px rgba(0,0,0,.45)}
/* 6) monochrome scrollbar + smooth */
*{scrollbar-width:thin;scrollbar-color:#c9c9c9 transparent}
html[data-theme=dark] *{scrollbar-color:#3a3a3a transparent}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:#c9c9c9;border-radius:99px;border:2px solid transparent;background-clip:content-box}
html[data-theme=dark] ::-webkit-scrollbar-thumb{background:#3a3a3a;border:2px solid transparent;background-clip:content-box}
::-webkit-scrollbar-track{background:transparent}
html{scroll-behavior:smooth}
/* 7) beautiful empty states */
.empty-note{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:38px 20px;color:var(--shell-muted);font-size:13px;border:1px dashed var(--shell-line);border-radius:16px;background:color-mix(in srgb,var(--shell-line) 22%,transparent)}
.empty-note svg{width:34px;height:34px;opacity:.55}
/* 8) footer soft backdrop */
.theme-footer{background:color-mix(in srgb,var(--shell-line) 30%,var(--shell-bg))}
/* 9) focus ring */
:focus-visible{outline:2px solid var(--shell-ink);outline-offset:2px;border-radius:8px}
/* 10) hero ping-dot + badge polish */
.eyebrow{letter-spacing:.2px}
.eyebrow .dot,.eyebrow b[class*=dot]{animation:nkPing 1.8s ease-out infinite}
@keyframes nkPing{0%{box-shadow:0 0 0 0 rgba(0,0,0,.25)}70%{box-shadow:0 0 0 7px rgba(0,0,0,0)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}

/* ==== 11) NIKRAD POLISH LAYER v8.0 — زیبایی + ریسپانسیو (مونوکروم) ==== */
:root{--nk-r:14px;--nk-sh:0 1px 2px rgba(0,0,0,.05),0 4px 14px rgba(0,0,0,.06);--nk-sh-h:0 2px 6px rgba(0,0,0,.08),0 10px 26px rgba(0,0,0,.10)}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
img{max-width:100%;height:auto}
/* کارت‌ها: hover ظریف */
.card,.nk-card,.doc-card,.entity-card,.src-card,.post-card{border-radius:var(--nk-r);transition:transform .22s ease,box-shadow .22s ease}
@media(hover:hover){.card:hover,.nk-card:hover,.doc-card:hover,.entity-card:hover,.src-card:hover,.post-card:hover{transform:translateY(-2px);box-shadow:var(--nk-sh-h)}}
/* تصاویر: placeholder مونوکروم تا لود */
img[loading=lazy]{background:linear-gradient(100deg,#ececec 40%,#f7f7f7 50%,#ececec 60%);background-size:200% 100%;animation:nkShimmer 1.4s linear infinite;border-radius:10px}
img[loading=lazy].nk-loaded{animation:none;background:none}
@keyframes nkShimmer{to{background-position:-200% 0}}
/* دکمه‌های کوچک: حداقل ناحیه لمس 32px */
button.bm,.btn-sm,.nk-mini{min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}
/* جدول‌ها در موبایل: wrap اسکرول افقی قانونی */
@media(max-width:767px){.table-wrap,.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}}
/* ورودی‌ها: ارتفاع لمسی */
@media(max-width:767px){input[type=text],input[type=email],input[type=password],input[type=search],textarea,select{min-height:44px;font-size:16px}}
/* سطرها/لیست‌ها: جداکنندهٔ ظریف */
.nk-hairline{border-top:1px solid rgba(0,0,0,.07)}
/* sticky header: سایه هنگام اسکرول */
.nk-scrolled header,.nk-scrolled .site-header{box-shadow:0 1px 0 rgba(0,0,0,.06),0 6px 18px rgba(0,0,0,.05)}
/* prefers-reduced-motion */
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
