/* Newspaper Agency Manager — standalone panel (outside wp-admin, independent of the theme). */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.nam-app, body.nam-auth {
	margin: 0;
	font-family: "Vazirmatn", Tahoma, sans-serif;
	font-size: 14px;
	line-height: 1.8;
	color: var(--nam-ink);
	background: var(--nam-bg);
}
.nam-app a { color: var(--nam-teal); }
.nam-app img { max-width: 100%; height: auto; }
.nam-skip { position: absolute; right: 8px; top: -60px; background: #fff; padding: 8px 12px; z-index: 1000; border-radius: 6px; }
.nam-skip:focus { top: 8px; }

/* ---------------------------------------------------------------- shell */
.nam-topbar {
	position: sticky; top: 0; z-index: 50;
	display: flex; align-items: center; gap: 12px;
	height: 60px; padding: 0 16px;
	background: #fff; border-bottom: 1px solid var(--nam-line);
}
.nam-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--nam-ink) !important; min-width: 0; }
.nam-brand img { max-height: 40px; width: auto; }
.nam-brand-mark {
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 38px; height: 38px; border-radius: 10px;
	background: var(--nam-teal); color: #fff; font-weight: 700; font-size: 18px;
}
.nam-brand-title { font-weight: 700; font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nam-top-actions { margin-right: auto; display: flex; align-items: center; gap: 6px; }
.nam-top-actions a { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; color: var(--nam-ink-2); padding: 6px 10px; border-radius: 8px; }
.nam-top-actions a:hover { background: var(--nam-bg); color: var(--nam-ink); }
.nam-bell { position: relative; }
.nam-bell-count {
	position: absolute; top: 0; left: 2px;
	min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
	background: var(--nam-danger); color: #fff; font-size: 11px; line-height: 18px; text-align: center;
}
.nam-user { flex-direction: column; align-items: flex-start !important; gap: 0 !important; line-height: 1.4; }
.nam-user-name { font-weight: 600; color: var(--nam-ink); }
.nam-user-role { font-size: 12px; color: var(--nam-muted); }
.nam-burger { display: none; cursor: pointer; padding: 6px; border-radius: 8px; }
.nam-nav-toggle { position: absolute; opacity: 0; pointer-events: none; }

.nam-shell { display: flex; align-items: flex-start; min-height: calc(100vh - 60px); }
.nam-sidebar {
	position: sticky; top: 60px; flex: none;
	width: 264px; max-height: calc(100vh - 60px); overflow-y: auto;
	padding: 12px 10px 24px; background: #fff; border-left: 1px solid var(--nam-line);
}
.nam-main { flex: 1; min-width: 0; padding: 8px 24px 40px; }
.nam-main .nam-wrap { margin: 0; max-width: 1400px; }

.nam-sidebar .dashicons { font-size: 18px; width: 18px; height: 18px; color: var(--nam-muted); }
.nam-nav-single, .nam-nav-group > summary {
	display: flex; align-items: center; gap: 10px;
	padding: 9px 12px; border-radius: 8px; cursor: pointer;
	color: var(--nam-ink) !important; text-decoration: none; font-weight: 600; list-style: none;
}
.nam-nav-group > summary::-webkit-details-marker { display: none; }
.nam-nav-group > summary::after { content: "‹"; margin-right: auto; color: var(--nam-muted); transition: transform .15s; }
.nam-nav-group[open] > summary::after { transform: rotate(-90deg); }
.nam-nav-single:hover, .nam-nav-group > summary:hover { background: var(--nam-bg); }
.nam-nav-single.is-active, .nam-nav-group.is-active > summary { color: var(--nam-teal) !important; }
.nam-nav-single.is-active .dashicons, .nam-nav-group.is-active > summary .dashicons { color: var(--nam-teal); }
.nam-nav-group ul { list-style: none; margin: 2px 0 6px; padding: 0 28px 0 0; }
.nam-nav-group li a {
	display: block; padding: 6px 12px; border-radius: 6px;
	color: var(--nam-ink-2) !important; text-decoration: none; font-size: 13.5px;
}
.nam-nav-group li a:hover { background: var(--nam-bg); color: var(--nam-ink) !important; }
.nam-nav-group li a.is-active { background: var(--nam-teal-2); color: var(--nam-teal) !important; font-weight: 700; }
/* open group: gentle brand tint on the heading and all of its sub-items, so the whole group reads as "active" */
.nam-nav-group[open] {
	background: #e6f2f1;
	background: color-mix(in srgb, var(--nam-teal) 10%, #fff);
	border-radius: 10px; margin: 4px 0; padding-bottom: 4px;
	box-shadow: inset -3px 0 0 var(--nam-teal);
}
.nam-nav-group[open] > summary { color: var(--nam-teal) !important; font-weight: 700; }
.nam-nav-group[open] > summary .dashicons { color: var(--nam-teal); }
.nam-nav-group[open] > summary:hover { background: transparent; }
.nam-nav-group[open] li a { color: var(--nam-ink) !important; }
.nam-nav-group[open] li a:hover { background: rgba(255,255,255,.75); color: var(--nam-teal) !important; }
.nam-nav-group[open] li a.is-active {
	background: #cfe6e4;
	background: color-mix(in srgb, var(--nam-teal) 20%, #fff);
	color: var(--nam-teal) !important; font-weight: 700;
}
.nam-nav-cat {
	list-style: none; margin: 8px 0 2px; padding: 4px 12px 3px; font-size: 11.5px; font-weight: 700;
	color: var(--nam-teal); opacity: .85; border-bottom: 1px dashed rgba(0,0,0,.12); cursor: default;
}
.nam-nav-cat:first-child { margin-top: 2px; }
.nam-scrim { display: none; }

@media (max-width: 960px) {
	.nam-burger { display: inline-flex; }
	.nam-sidebar {
		position: fixed; top: 60px; right: 0; bottom: 0; z-index: 60;
		max-height: none; transform: translateX(100%); transition: transform .2s ease;
		box-shadow: -8px 0 24px rgba(0, 0, 0, .12);
	}
	.nam-nav-toggle:checked ~ .nam-shell .nam-sidebar { transform: none; }
	.nam-nav-toggle:checked ~ .nam-scrim { display: block; position: fixed; inset: 60px 0 0; background: rgba(15, 30, 38, .35); z-index: 55; }
	.nam-main { padding: 8px 12px 32px; }
	.nam-logout-text, .nam-user-role { display: none; }
}
@media (max-width: 520px) {
	.nam-user { display: none !important; }
	.nam-brand-title { font-size: 14px; }
}
@media print {
	.nam-topbar, .nam-sidebar, .nam-scrim { display: none !important; }
	.nam-main { padding: 0; }
}

/* ---------------------------------------------------------------- WordPress admin equivalents */
.nam-app h1, .nam-app h2, .nam-app h3 { color: var(--nam-ink); line-height: 1.5; }
.nam-app .button, .nam-auth .button {
	display: inline-flex; align-items: center; justify-content: center; gap: 4px;
	min-height: 34px; padding: 0 14px; margin: 0;
	border: 1px solid var(--nam-teal); border-radius: 6px;
	background: #fff; color: var(--nam-teal); font: inherit; font-size: 13px; line-height: 1.4;
	text-decoration: none; cursor: pointer; white-space: nowrap; vertical-align: middle;
}
.nam-app .button:hover { background: var(--nam-teal-2); }
.nam-app .button-primary { background: var(--nam-teal) !important; color: #fff !important; border-color: var(--nam-teal) !important; }
.nam-app .button-primary:hover { filter: brightness(.92); }
.nam-app .button-small { min-height: 28px; padding: 0 10px; font-size: 12px; }
.nam-app .button-link { background: none; border: 0; padding: 0; color: var(--nam-teal); cursor: pointer; font: inherit; text-decoration: underline; }
.nam-app .button[disabled], .nam-app .button:disabled { opacity: .55; cursor: not-allowed; }

.nam-app input[type="text"], .nam-app input[type="search"], .nam-app input[type="email"], .nam-app input[type="password"],
.nam-app input[type="number"], .nam-app input[type="tel"], .nam-app input[type="url"], .nam-app select, .nam-app textarea {
	min-height: 36px; padding: 4px 10px;
	border: 1px solid #8c8f94; border-radius: 4px; background: #fff;
	font: inherit; font-size: 14px; color: var(--nam-ink); line-height: 1.6;
}
.nam-app select { padding-left: 24px; }
.nam-app input:disabled, .nam-app select:disabled, .nam-app textarea:disabled { background: #f0f2f3; color: #6b7a82; }
.nam-app input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--nam-teal); }
.nam-app input[type="file"] { font: inherit; font-size: 13px; }

.nam-app .widefat { width: 100%; border-collapse: collapse; border-spacing: 0; background: #fff; border: 1px solid var(--nam-line); }
.nam-app .widefat thead th { background: #f6f8f9; border-bottom: 1px solid var(--nam-line); }
.nam-app .widefat td, .nam-app .widefat th { border-top: 1px solid #edf1f3; font-size: 13px; }
.nam-app .striped > tbody > tr:nth-child(odd) { background: #fafbfc; }

.nam-app .notice {
	margin: 12px 0; padding: 4px 14px; background: #fff;
	border: 1px solid var(--nam-line); border-right: 4px solid #72aee6; border-radius: 6px;
}
.nam-app .notice p { margin: 8px 0; }
.nam-app .notice-success { border-right-color: var(--nam-success); }
.nam-app .notice-error { border-right-color: var(--nam-danger); }
.nam-app .notice-warning { border-right-color: var(--nam-amber); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.nam-app .nam-form, .nam-app .nam-panel, .nam-app .nam-version, .nam-app .nam-filters { box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }

/* ---------------------------------------------------------------- login */
body.nam-auth {
	display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 24px 12px;
	/* variables used by the shared login form styles (login.css) */
	--ink: var(--nam-ink); --accent: var(--nam-teal); --line: #b9c5ca; --danger: var(--nam-danger); --ok: var(--nam-success);
}
.nam-auth .nam-login-form input[type="text"], .nam-auth .nam-login-form input[type="password"], .nam-auth .nam-login-form input[type="tel"] {
	background: #fff; border: 1px solid #b9c5ca; min-height: 44px;
}
.nam-auth-card {
	width: 100%; max-width: 420px; padding: 28px 26px;
	background: #fff; border: 1px solid var(--nam-line); border-radius: 14px;
	box-shadow: 0 12px 32px rgba(16, 24, 40, .08);
}
.nam-auth-brand { text-align: center; margin-bottom: 18px; }
.nam-auth-brand img { max-height: 72px; max-width: 220px; }
.nam-auth-brand .nam-brand-mark { width: 56px; height: 56px; font-size: 26px; border-radius: 14px; }
.nam-auth-brand h1 { margin: 10px 0 0; font-size: 19px; }
.nam-auth-title { font-size: 16px; margin: 6px 0 4px; }
.nam-auth-tabs { display: flex; gap: 6px; padding: 4px; margin: 8px 0 10px; background: var(--nam-bg); border-radius: 12px; }
.nam-auth-tabs a {
	flex: 1; text-align: center; padding: 9px 8px; border-radius: 9px;
	text-decoration: none; color: var(--nam-ink); font-weight: 600;
	background: #fff; border: 1px solid #9fb0b8; /* thin frame keeps the inactive tab visible on low-contrast screens */
}
.nam-auth-tabs a:hover { border-color: var(--nam-teal); color: var(--nam-teal); }
.nam-auth-tabs a.is-active { background: var(--nam-teal); border-color: var(--nam-teal); color: #fff; font-weight: 700; box-shadow: 0 2px 6px rgba(0, 0, 0, .18); }
.nam-auth-tabs a:focus-visible { outline: 2px solid var(--nam-teal); outline-offset: 2px; }
.nam-auth .nam-login-btn { background: var(--nam-teal); }
.nam-auth .nam-login-btn:hover { filter: brightness(.92); background: var(--nam-teal); }
.nam-auth .nam-login-form input:focus { outline-color: var(--nam-teal); border-color: var(--nam-teal); }
.nam-auth .nam-login-link { color: var(--nam-teal); }
.nam-auth-remember { display: flex !important; align-items: center; gap: 8px; font-weight: 400 !important; }
.nam-auth-remember input { width: auto !important; }
.nam-auth-foot { text-align: center; margin: 16px 0 0; font-size: 13px; }
.nam-auth-foot a { color: var(--nam-teal); }
.nam-login-embedded { margin-top: 4px; }
.nam-auth input[dir="ltr"]::placeholder, .nam-app input[dir="ltr"]::placeholder { direction: rtl; text-align: right; }
.nam-hp { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.nam-reg-form select, .nam-reg-form textarea { box-sizing: border-box; width: 100%; padding: .6rem .8rem; border: 1px solid #b9c5ca; border-radius: 6px; font: inherit; background: #fff; }
.nam-reg-error { display: block; margin-top: .25rem; color: var(--nam-danger); font-size: .85rem; }
.nam-reg-form [aria-invalid="true"] { border-color: var(--nam-danger) !important; }
.nam-auth-register { margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--nam-line); }
.nam-req { color: var(--nam-danger); }
/* Small laptops: a slimmer sidebar leaves room for wide tables. */
@media (min-width: 961px) and (max-width: 1200px) {
	.nam-sidebar { width: 220px; }
	.nam-main { padding: 8px 16px 40px; }
}

/* «موارد جدید» pills in the sidebar */
.nam-nav-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; margin-right: auto; border-radius: 10px; background: var(--nam-amber, #d98e04); color: #fff; font-size: 11px; font-weight: 700; line-height: 1; flex: none; }
.nam-nav-group > summary .nam-nav-badge { margin-left: 8px; }
.nam-nav-group li a { display: flex; align-items: center; gap: 8px; }
.nam-nav-group li a .nam-nav-badge { margin-right: auto; }
.nam-nav-group:not([open]) > summary .nam-nav-badge { background: var(--nam-danger); }

/* Newspaper limit banner */
.nam-scope-banner { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 9px 14px; border: 1px solid #b6d4e8; border-radius: 8px; background: #eaf4fb; color: #1d4e6e; font-size: 13px; line-height: 1.6; }
.nam-scope-banner .dashicons { flex: none; width: 18px; height: 18px; font-size: 18px; }

/* ---------------------------------------------------------------- 1.14: install button, Armana footer */
.nam-install {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 6px 12px; border: 1px solid var(--nam-teal); border-radius: 999px;
	background: var(--nam-teal-2); color: var(--nam-teal); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
}
.nam-install:hover { background: var(--nam-teal); color: #fff; }
.nam-install[hidden] { display: none !important; }
.nam-install-card { display: flex; width: 100%; justify-content: center; margin-top: 16px; padding: 10px 14px; border-radius: 10px; }
@media (max-width: 520px) { .nam-top-actions .nam-install .nam-install-text { display: none; } .nam-top-actions .nam-install { padding: 6px 9px; } }
.nam-install-head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.nam-install-head img { width: 48px; height: 48px; border-radius: 12px; flex: none; }
.nam-install-head h2 { margin: 0; font-size: 17px; }
.nam-install-steps { margin: 0 0 16px; padding-right: 20px; line-height: 2; color: var(--nam-ink-2); }
.nam-install-guide .nam-modal-actions .button { min-width: 120px; }
.nam-app-foot { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 36px; padding-top: 14px; border-top: 1px solid var(--nam-line); color: var(--nam-muted); font-size: 12px; }
.nam-app-foot a { color: var(--nam-ink-2) !important; text-decoration: none; font-weight: 600; }
body.nam-auth { flex-direction: column; }
.nam-auth-brandline { display: flex; align-items: center; gap: 6px; margin-top: 16px; color: var(--nam-muted); font-size: 12px; }
.nam-auth-brandline a { color: var(--nam-ink-2); text-decoration: none; font-weight: 600; }

/* ---------------------------------------------------------------- 1.15: agents' password sign-in */
.nam-auth-alt { margin-top: 14px; border-top: 1px solid var(--nam-line); padding-top: 10px; }
.nam-auth-alt > summary { cursor: pointer; color: var(--nam-ink-2); font-size: 13px; font-weight: 600; }
.nam-auth-alt[open] > summary { margin-bottom: 8px; }
.nam-auth-alt .nam-help { font-size: 12px; color: var(--nam-muted); margin: 6px 0 0; }
