@font-face {
  font-family: Vazirmatn;
  src: url('/fonts/Vazirmatn-Regular.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap;
}
:root { color-scheme: light; --ink: #102c4c; --muted: #465d73; --blue: #075dd5; --line: #dbe5ed; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-block-start: 2rem; }
body { margin: 0; min-block-size: 100vh; display: flex; flex-direction: column; font-family: Vazirmatn, Tahoma, sans-serif; color: var(--ink); background: #f8fafc; line-height: 1.9; }
a { color: var(--blue); text-decoration-thickness: .08em; text-underline-offset: .3em; }
a:hover { color: #03469e; }
:focus-visible { outline: 3px solid #ac4b00; outline-offset: 5px; }
.shell { inline-size: min(1120px, calc(100% - 3rem)); margin-inline: auto; }
.skip-link { position: absolute; inset-block-start: .5rem; inset-inline-start: 1rem; transform: translateY(-160%); background: white; padding: .7rem 1rem; z-index: 10; }
.skip-link:focus { transform: translateY(0); }
.site-header { background: white; border-block-end: 1px solid var(--line); }
.header-inner, .footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1.25rem; }
.brand { display: flex; gap: .8rem; align-items: center; color: var(--ink); font-weight: 800; text-decoration: none; }
.brand small { display: block; font-weight: 400; color: var(--muted); font-size: .75rem; }
.brand-symbol { display: grid; place-items: center; inline-size: 2.8rem; block-size: 2.8rem; background: var(--ink); color: white; border-radius: .6rem; font-size: 1.7rem; }
.brand-symbol img { display:block; width:43px; height:29px; object-fit:contain; }
nav a { font-size: .95rem; text-decoration: none; }
.phase-label { color: #36506b; background: #edf3f9; font-size: .75rem; padding: .3rem .8rem; border-radius: 2rem; }
.main-content { flex: 1; padding-block: 3rem 4rem; }
.hero { display: grid; grid-template-columns: 1.4fr 1fr; align-items: center; gap: 2rem; min-block-size: 25rem; padding: 3rem; border: 1px solid #cbdff1; border-radius: 1.4rem; background: linear-gradient(120deg, #dcefff, #f0f7ff 55%, #fff); overflow: hidden; }
.eyebrow { color: #275c94; font-size: .85rem; font-weight: 700; margin-block: 0 1rem; }
h1 { font-size: clamp(1.9rem, 3.6vw, 3rem); line-height: 1.55; letter-spacing: -.04em; margin-block: 0 1.4rem; }
.lead { max-inline-size: 36rem; color: var(--muted); margin-block-end: 2rem; }
.button { display: inline-flex; gap: 1rem; align-items: center; justify-content:center; min-height:44px; padding: .7rem 1.3rem; border:1px solid #0753bd; border-radius: .75rem; background: linear-gradient(135deg,#176fe0,#0754b7); color: white; text-decoration: none; font-size: .87rem; font-weight:700; box-shadow:0 5px 14px #075dd51f; transition:transform .16s,box-shadow .16s,background .16s; }
.button:hover { transform:translateY(-1px); background:linear-gradient(135deg,#0d61cc,#06479e); color: white; box-shadow:0 8px 20px #075dd52e; }
.button:focus-visible { outline:3px solid #f0bd2f; outline-offset:3px; }
.signal-art { position: relative; aspect-ratio: 1; inline-size: 100%; max-inline-size: 320px; margin-inline: auto; }
.signal-ring { position: absolute; border: 1px solid #76a9df; border-radius: 50%; inset: 0; }
.ring-two { inset: 15%; border-color: #4989cb; }
.ring-three { inset: 30%; border-color: #1d66b7; }
.signal-core { position: absolute; inset: 43%; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 12px #075dd515; }
.status-section { padding-block-start: 3rem; }
h2 { font-size: 1.6rem; margin-block: 0 .6rem; }
.status-section > p, article p { color: var(--muted); }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; margin-block-start: 1.8rem; }
article { padding: 1.6rem; border: 1px solid var(--line); border-radius: .8rem; background: white; }
.feature-number { color: var(--blue); font-weight: 700; }
h3 { font-size: 1.1rem; margin-block: .7rem; }
article p { margin-block: 0; font-size: .9rem; }
.site-footer { background: white; border-block-start: 1px solid var(--line); color: var(--muted); font-size: .85rem; }
.error-panel { max-inline-size: 45rem; padding-block: 4rem; margin-inline: auto; }
.error-panel p { margin-block-end: 2rem; }
@media (max-width: 700px) {
  .shell { inline-size: calc(100% - 2rem); }
  .header-inner { flex-wrap: wrap; gap: .75rem; }
  .phase-label { display: none; }
  .hero { grid-template-columns: 1fr; padding: 1.8rem; gap: 1rem; }
  .signal-art { max-inline-size: 160px; }
  .feature-grid { grid-template-columns: 1fr; }
  .main-content { padding-block-start: 1.5rem; }
  .footer-inner { align-items: flex-start; flex-direction: column; gap: .3rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
.account-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.account-nav form { margin: 0; }
.link-button { border: 0; padding: 0; color: var(--blue); background: none; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: .3em; }
.link-button:disabled { color: #596e80; cursor: not-allowed; text-decoration: none; }
.countdown-status { font-variant-numeric: tabular-nums; min-block-size: 1.9em; }
.sr-only { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.auth-panel { max-inline-size: 34rem; margin-inline: auto; padding: 2.2rem; background: white; border: 1px solid var(--line); border-radius: 1rem; }
.auth-panel h1 { font-size: 1.8rem; }
.auth-panel > p { color: var(--muted); }
.auth-panel label { display: block; margin-block: 1.1rem .4rem; font-weight: 600; }
.auth-panel input, .auth-panel textarea, .auth-panel select { inline-size: 100%; border: 1px solid #7891aa; border-radius: .4rem; padding: .7rem; font: inherit; color: var(--ink); background: white; }
.auth-panel button.button { border: 0; font: inherit; cursor: pointer; margin-block: 1.5rem .5rem; }
.auth-panel input:focus, .auth-panel textarea:focus, .auth-panel select:focus { outline: 3px solid #ac4b00; outline-offset: 2px; }
.field-help { font-size: .8rem; color: var(--muted); }
.secondary-link { display: inline-block; margin-block-start: 1rem; }
.validation { color: #9d1922; }
.validation.validation-summary-valid { display: none; }
.dev-notice { border: 1px solid #a86c0c; background: #fff7e7; padding: 1rem; border-radius: .5rem; font-size: .85rem; }
.dev-notice p { margin-block: .25rem; }
#development-code { font-size: 1.4rem; letter-spacing: .18em; display: inline-block; }
.success-message { background: #e2f4e8; color: #164d2a; padding: .8rem; border-radius: .4rem; }
.profile-panel { max-inline-size: 42rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 500px) { .auth-panel { padding: 1.3rem; } .form-grid { grid-template-columns: 1fr; gap: 0; } .account-nav { gap: .7rem; font-size: .8rem; } }
/* Account entry: local artwork, clear form hierarchy, distinct resend states. */
.auth-route { background: #f1f5fa; }
.auth-route .site-header { background: transparent; border: 0; }
.auth-route .header-inner { padding-block: 1.1rem; }
.auth-route .account-nav a { font-size: .8rem; color: #52677d; }
.auth-route .brand-symbol { background: #1465db; border-radius: 14px; }
.auth-route .site-footer { background: transparent; border: 0; }
.auth-route .footer-inner { padding-block: 1rem; font-size: .75rem; }
.auth-main { display: grid; align-items: center; padding-block: 1.5rem 2.5rem; }
.auth-scene { display: grid; grid-template-columns: 1fr 1fr; inline-size: min(1040px, 100%); margin-inline: auto; padding: 12px; background: white; border: 1px solid #e1e8f0; border-radius: 28px; box-shadow: 0 22px 65px #173c6510; }
.auth-card.auth-panel { max-inline-size: none; inline-size: 100%; margin: 0; border: 0; padding: 24px 36px 12px; border-radius: 20px; }
.auth-card-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.auth-section-label { font-size: .75rem; color: #65758a; }
.auth-step-pill { background: #eff5fc; color: #315d90; border-radius: 20px; font-size: .7rem; padding: 4px 11px; }
.auth-form-content { padding-block-start: 30px; }
.auth-glyph { display: grid; place-items: center; inline-size: 50px; block-size: 50px; border-radius: 16px; color: #1465db; background: #eef5ff; margin-block-end: 18px; }
.auth-glyph svg { inline-size: 25px; block-size: 25px; }
.auth-card h1 { font-size: 1.75rem; margin-block-end: 8px; letter-spacing: -.04em; }
.auth-intro { font-size: .85rem; color: #596b80; margin-block: 0 24px; }
.auth-card label { font-size: .82rem; margin-block: 15px 8px; }
.phone-input { display: flex; direction: ltr; align-items: center; border: 1px solid #c7d4e3; border-radius: 12px; background: #fbfcfe; overflow: hidden; }
.phone-country { display: flex; align-items: center; gap: 7px; border-right: 1px solid #dce4ee; padding: 0 15px; color: #687b90; font-size: .75rem; }
.country-mark { inline-size: 17px; block-size: 12px; border-radius: 3px; background: linear-gradient(#328a65 0 33%,white 33% 66%,#d15658 66%); border: 1px solid #dce4ee; }
.auth-card .phone-input input { min-inline-size: 0; border: 0; background: transparent; border-radius: 0; padding: 15px; letter-spacing: .08em; }
.phone-input:focus-within { outline: 3px solid #1465db; outline-offset: 3px; }
.auth-card .phone-input input:focus { outline: none; }
.auth-card .field-help { margin-block: 8px 0; font-size: .72rem; }
.auth-card .auth-submit { inline-size: 100%; justify-content: space-between; padding: 13px 18px; border-radius: 12px; background: #1465db; margin-block: 20px 0; font-size: .87rem; box-shadow: 0 5px 12px #1465db1c; }
.auth-card .auth-submit:hover { background: #0c51b7; }
.auth-submit svg { inline-size: 21px; block-size: 21px; }
.auth-security-note { display: flex; align-items: flex-start; gap: 7px; color: #65758a; font-size: .7rem; margin-block: 12px 0; }
.auth-security-note svg { flex-shrink: 0; inline-size: 17px; block-size: 20px; }
.auth-divider { display: flex; align-items: center; gap: 12px; color: #8190a1; font-size: .75rem; margin-block: 22px 14px; }
.auth-divider::before,.auth-divider::after { content: ''; flex: 1; block-size: 1px; background: #e5ebf2; }
.auth-alternate { display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #dbe4ef; border-radius: 12px; padding: 11px; color: #35516f; text-decoration: none; font-size: .8rem; }
.auth-alternate:hover { background: #f2f7fd; }
.auth-alternate svg { inline-size: 20px; block-size: 20px; }
.auth-card .auth-card-foot { border-block-start: 1px solid #edf1f6; padding-block-start: 16px; margin-block: 28px 0; text-align: center; color: #78889a; font-size: .68rem; }
.auth-visual { position: relative; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; border-radius: 20px; color: #f0f7ff; background: radial-gradient(ellipse at 20% 40%,#275988 0,transparent 65%),#102b4c; padding: 42px 34px 30px; }
.visual-kicker { display: inline-flex; align-items: center; gap: 8px; color: #b0cff0; font-size: .75rem; }
.visual-kicker > span { inline-size: 6px; block-size: 6px; border-radius: 50%; background: #8edac7; box-shadow: 0 0 0 5px #8edac712; }
.visual-heading h2 { font-size: 1.8rem; margin-block: 14px 3px; letter-spacing: -.04em; }
.visual-heading p { color: #b9cde0; margin: 0; font-size: .8rem; }
.auth-visual-art { margin: 8px -22px; }
.auth-visual-art svg { display: block; inline-size: 100%; }
.visual-line { display: block; inline-size: 38px; block-size: 3px; border-radius: 3px; background: #84b6ef; }
.visual-bottom p { font-size: .9rem; margin-block: 16px; }
.visual-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.visual-tags span { font-size: .65rem; color: #b6cce3; border: 1px solid #6487ab60; padding: 4px 10px; border-radius: 7px; }
.auth-card .otp-input { text-align: center; font-size: 1.7rem; letter-spacing: .4em; padding: 9px 10px; background: #f7faff; border: 1px solid #c7d4e3; border-radius: 12px; font-variant-numeric: tabular-nums; }
.resend-card { background: #fff7e9; border: 1px solid #efd7a8; border-radius: 14px; padding: 15px 16px; margin-block: 22px 16px; color: #79521a; }
.resend-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.resend-heading strong { font-size: .76rem; }
.resend-clock { font-size: 1.3rem; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.6; }
.resend-card .countdown-status { margin-block: 6px 10px; font-size: .7rem; color: #79521a; }
.resend-card button { font: inherit; font-size: .75rem; padding: 6px 12px; background: white; border: 1px solid #decba9; border-radius: 8px; color: #79521a; cursor: pointer; }
.resend-card button:disabled { background: #f6eddf; color: #796b58; cursor: not-allowed; }
.resend-card[data-state="ready"] { background: #edf8f1; border-color: #b9dfc9; color: #236240; }
.resend-card[data-state="ready"] .countdown-status { color: #236240; }
.resend-card[data-state="ready"] button { color: #236240; border-color: #99c9ad; }
.auth-change { display: block; text-align: center; font-size: .78rem; }
@media (max-width: 760px) {
 .auth-route .shell { inline-size: calc(100% - 28px); }
 .auth-route .brand { font-size: .8rem; gap: 8px; }
 .auth-route .brand small { font-size: .6rem; }
 .auth-route .brand-symbol { inline-size: 36px; block-size: 36px; }
 .auth-route .account-nav a { font-size: .65rem; }
 .auth-route .header-inner { gap: 8px; }
 .auth-main { padding-block: 10px 24px; }
 .auth-scene { grid-template-columns: 1fr; padding: 7px; border-radius: 22px; }
 .auth-visual { grid-row: 1; padding: 20px; min-block-size: 139px; border-radius: 16px; }
 .visual-heading { z-index: 1; }
 .visual-kicker { font-size: .65rem; }
 .visual-heading h2 { font-size: 1.3rem; margin-block: 8px 0; }
 .visual-heading p { font-size: .65rem; }
 .auth-visual-art { position: absolute; inline-size: 200px; left: -65px; top: -5px; opacity: .38; }
 .visual-bottom { display: none; }
 .auth-card.auth-panel { padding: 20px 16px 12px; }
 .auth-form-content { padding-block-start: 22px; }
 .auth-card h1 { font-size: 1.5rem; }
 .auth-intro { font-size: .78rem; }
 .auth-glyph { inline-size: 44px; block-size: 44px; margin-block-end: 12px; }
 .auth-card .auth-card-foot { margin-block-start: 22px; }
 .auth-route .footer-inner { align-items: center; gap: 0; font-size: .65rem; }
}
/* Public home, catalog and business contact. */
.public-route { background:#f6f8fb; }
.public-route .site-header { position:sticky; inset-block-start:0; z-index:5; background:#fff; border-block-end:1px solid #e7edf4; box-shadow:0 3px 16px #102c4c08; }
.contact-strip { background:#0c2038; color:#d5e3f2; font-size:.72rem; }
.contact-strip-inner,.contact-strip-inner>div { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.contact-strip-inner { min-block-size:38px; }
.contact-strip-inner>div { gap:20px; }
.contact-strip a { color:#d5e3f2; text-decoration:none; }
.contact-strip .contact-strip-cta { color:#fff; font-weight:700; }
.public-route .header-inner { min-block-size:82px; padding-block:10px; gap:20px; }
.public-route .brand { flex-shrink:0; font-size:.9rem; }
.public-route .brand-symbol { inline-size:110px; block-size:46px; background:#102b4c; border:1px solid #f6bd2445; border-radius:13px; box-shadow:0 5px 14px #102b4c1c; }
.public-route .brand-symbol img { width:106px; height:43px; object-fit:contain; }
.public-route .brand small { font-size:.62rem; }
.public-navigation { display:flex; align-items:center; gap:3px; flex:1; justify-content:center; padding:5px; border:1px solid #e8edf3; border-radius:13px; background:#f6f8fb; }
.public-navigation a { position:relative; color:#40566d; padding:8px 10px; border:1px solid transparent; border-radius:9px; text-decoration:none; white-space:nowrap; font-size:.74rem; font-weight:650; transition:color .15s,background .15s,border-color .15s,box-shadow .15s; }
.public-navigation a:hover { color:#155ca8; border-color:#e3ebf5; background:#fff; box-shadow:0 3px 10px #1838580b; }
.public-navigation a.is-current { color:#124f92; border-color:#dce8f7; background:#fff; box-shadow:0 3px 11px #1838580d; }
.public-navigation a.is-current::after { position:absolute; inset-inline:12px; inset-block-end:-6px; height:2px; border-radius:2px; background:#f0bd2f; content:""; }
.header-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; font-size:.72rem; }
.header-actions form { margin:0; }
.header-consult { background:#1264d5; border-radius:9px; padding:9px 12px; color:#fff; text-decoration:none; white-space:nowrap; }
.header-action { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:43px; padding:8px 11px; border:1px solid #dce5ee; border-radius:11px; color:#344c65; background:#fff; font:inherit; font-size:.7rem; font-weight:700; line-height:1.4; text-decoration:none; white-space:nowrap; cursor:pointer; transition:background .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s; }
.header-action:hover { transform:translateY(-1px); border-color:#b9cde2; color:#154f8b; background:#f7faff; box-shadow:0 5px 14px #123b640d; }
.header-action svg { flex:0 0 18px; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.header-action:focus-visible { outline:3px solid #f0bd2f; outline-offset:3px; }
.header-account { border-color:#dce5ee; color:#344c65; background:#fff; }
.header-admin { border-color:#e7d39b; color:#72530d; background:#fff9e8; }
.header-admin:hover { border-color:#d8b84f; color:#614400; background:#fff4cf; }
.header-cart { position:relative; border-color:#d3e2f2; color:#1458aa; background:#f1f7fe; }
.header-cart:hover { border-color:#a9c8eb; color:#0e4d92; background:#e8f2fd; }
.header-logout { border-color:#f0dadd; color:#9a4248; background:#fffafa; }
.header-logout:hover { border-color:#e7bfc2; color:#8c3037; background:#fff1f1; }
.header-cart svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.header-cart-count { display:grid; place-items:center; min-width:19px; height:19px; padding-inline:4px; border-radius:20px; color:white; background:#e54855; font-size:.65rem; }
.home-hero { position:relative; isolation:isolate; display:flex; align-items:center; min-block-size:clamp(400px,44vw,570px); overflow:hidden; border-radius:0 0 24px 24px; background:#071729; color:white; }
.home-hero-image,.home-hero-shade { position:absolute; z-index:-1; inset:0; inline-size:100%; block-size:100%; }
.home-hero-image { object-fit:cover; object-position:left center; }
.home-hero-shade { background:linear-gradient(270deg,#061525 0%,#061525f2 35%,#06152583 57%,transparent 84%),linear-gradient(0deg,#05162b68,transparent 35%); }
.home-hero-copy { inline-size:min(54%,600px); margin-inline-start:5%; padding-block:45px; }
.home-brand { inline-size:min(100%,380px); }
.home-brand-logo { display:block; inline-size:100%; block-size:auto; object-fit:contain; filter:drop-shadow(0 8px 18px #0003); }
.home-brand + .home-kicker { margin-block-start:20px; }
.home-kicker { color:#9dc4f4; margin-block:34px 9px; font-size:.83rem; }
.home-hero h1 { font-size:clamp(2.3rem,4.5vw,4.2rem); line-height:1.35; margin:0; letter-spacing:-.04em; }
.home-hero h1 span { color:#1bb8e6; }
.home-lead { color:#d0dbea; max-inline-size:38rem; font-size:.95rem; margin-block:16px 24px; }
.home-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.home-hero-actions .button { padding:12px 24px; border-radius:10px; font-size:.83rem; }
.home-consult { color:#071729; background:#fb8437; font-weight:800; }
.home-consult:hover { color:#071729; background:#ff9a59; }
.home-products-link { color:#fff; border:1px solid #18b8e6; background:#071729a8; }
.home-products-link:hover { color:#fff; background:#123452; }
.home-origin { position:absolute; inset-inline-start:28px; inset-block-end:20px; color:#d4e2f0; font-size:.78rem; }
.home-services { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-block:25px 65px; }
.home-services a { display:flex; align-items:center; gap:12px; min-block-size:78px; padding:16px; background:white; border:1px solid #e6ecf3; border-radius:12px; text-decoration:none; color:#183b60; box-shadow:0 7px 20px #163c6510; }
.home-services a>span { display:grid; place-items:center; flex-shrink:0; inline-size:37px; block-size:37px; color:#1264d5; background:#eff5fd; border-radius:11px; font-size:.68rem; }
.home-services strong { font-size:.77rem; }
.catalog-section { scroll-margin-block-start:110px; padding-block:5px 70px; }
.catalog-heading { display:flex; align-items:end; justify-content:space-between; margin-block-end:20px; }
.catalog-kicker { color:#1767c6; font-size:.76rem; font-weight:700; }
.catalog-heading h2,.home-about h2,.editorial-strip h2 { margin:4px 0; font-size:1.7rem; }
.catalog-heading p { color:#617388; font-size:.8rem; margin:0; }
.catalog-count { border-radius:20px; background:#eaf2fc; color:#345c89; padding:6px 13px; font-size:.73rem; }
.catalog-filters { display:flex; gap:9px; margin-block:20px; }
.catalog-filters input,.catalog-filters select { border:1px solid #d8e1ec; border-radius:9px; padding:10px 13px; font:inherit; font-size:.78rem; color:#233e5d; background:white; }
.catalog-filters input { flex:1; min-inline-size:0; }
.catalog-filters button { border:0; border-radius:9px; padding:9px 17px; color:white; background:#1264d5; font:inherit; font-size:.78rem; cursor:pointer; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.product-card { padding:0; overflow:hidden; border:1px solid #e4eaf1; border-radius:14px; background:white; transition:transform .18s ease,box-shadow .18s ease; }
.product-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px #173e6615; }
.product-card-link { display:flex; flex-direction:column; height:100%; padding:12px; color:#193956; text-decoration:none; }
.product-image-wrap { display:grid; place-items:center; height:195px; overflow:hidden; border-radius:9px; background:#f7f9fc; }
.product-image-wrap img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.product-card-category,.product-category { color:#647c96; font-size:.68rem; margin-block:12px 1px; }
.product-card h3 { min-height:48px; margin:4px 0 8px; font-size:.8rem; line-height:1.8; }
.product-card-cta { display:flex; justify-content:space-between; align-items:center; margin-block-start:auto; color:#1264d5; font-size:.73rem; font-weight:700; }
.catalog-empty { padding:30px; text-align:center; color:#647c96; }
.editorial-strip,.knowledge-strip { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px 32px; margin-block-end:20px; background:#eaf3fd; border-radius:16px; }
.editorial-strip p,.knowledge-strip p { color:#50667e; margin:6px 0 0; font-size:.8rem; }
.editorial-strip>a { flex-shrink:0; color:#1264d5; text-decoration:none; font-size:.78rem; font-weight:700; }
.knowledge-strip { display:block; background:#fff; border:1px solid #e6ecf3; }
.knowledge-strip>span { color:#183b60; font-weight:700; font-size:.85rem; }
.home-about { scroll-margin-block-start:110px; display:flex; align-items:center; gap:25px; padding:32px; margin-block:22px 70px; border:1px solid #e4eaf1; border-radius:16px; background:#fff; }
.home-about-mark { display:grid; place-items:center; flex-shrink:0; width:64px; height:64px; border-radius:19px; background:#102b4c; color:white; font:800 2rem Arial,sans-serif; }
.home-about p { max-width:680px; margin:6px 0 0; color:#5b7086; font-size:.8rem; }
.about-contact { flex-shrink:0; color:#1264d5; text-decoration:none; font-size:.76rem; }
.public-footer { background:#0d223b; color:#d1dbea; border:0; }
.footer-grid { display:grid; grid-template-columns:1.4fr .75fr 1.2fr; gap:60px; padding-block:48px; }
.public-footer h2 { color:#fff; font-size:.95rem; margin:0 0 16px; }
.footer-brand { display:inline-block; color:white; font-size:1rem; font-weight:800; text-decoration:none; }
.footer-about p,.footer-contact p { color:#b8c7d8; font-size:.75rem; line-height:2; }
.footer-links,.footer-contact { display:flex; flex-direction:column; align-items:flex-start; }
.footer-links a,.footer-contact a { color:#d0dbea; font-size:.75rem; text-decoration:none; margin-block:4px; }
.footer-links a:hover,.footer-contact a:hover { color:#62c7f0; }
.footer-legal { border-block-start:1px solid #ffffff20; }
.footer-legal>div { display:flex; justify-content:space-between; gap:20px; padding-block:14px; font-size:.68rem; color:#adbdd0; }
.footer-legal a { color:#d1dbea; text-decoration:none; }
.product-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:45px; align-items:start; padding-block:35px 80px; }
.product-gallery { position:sticky; top:112px; display:grid; grid-template-columns:1fr; gap:12px; }
.product-gallery-main { display:grid; place-items:center; width:100%; min-height:390px; padding:18px; border:1px solid #e4eaf1; border-radius:18px; background:white; cursor:zoom-in; }
.product-gallery-main img { max-width:100%; width:100%; max-height:480px; object-fit:contain; mix-blend-mode:multiply; }
.product-gallery-thumbs { display:flex; flex-wrap:wrap; gap:9px; }
.product-gallery-thumb { display:grid; place-items:center; width:72px; height:72px; padding:5px; border:1px solid #e1e7ef; border-radius:11px; background:white; cursor:pointer; }
.product-gallery-thumb.is-active { border:2px solid #1768c4; box-shadow:0 0 0 3px #1768c415; }
.product-gallery-thumb img { width:100%; height:100%; object-fit:contain; }
.product-gallery-count { color:#71839a; font-size:.7rem; }
.product-lightbox,.admin-image-dialog { position:fixed; inset:0; max-width:min(94vw,1100px); max-height:92dvh; padding:54px 68px 40px; border:0; border-radius:18px; background:#111a26; box-shadow:0 25px 90px #0008; }
.product-lightbox { width:min(94vw,1100px); height:min(92dvh,850px); overflow:hidden; }
.product-lightbox>img { width:100%; height:100%; max-height:100%; }
.product-lightbox::backdrop,.admin-image-dialog::backdrop { background:#071321d9; backdrop-filter:blur(4px); }
.product-lightbox>img,.admin-image-dialog>img { display:block; max-width:100%; max-height:calc(92dvh - 115px); margin:auto; object-fit:contain; }
.product-lightbox-close,.admin-image-dialog>button { position:absolute; inset-block-start:12px; inset-inline-end:14px; width:38px; height:38px; border:0; border-radius:50%; color:#fff; background:#ffffff25; font-size:1.5rem; cursor:pointer; }
.product-lightbox-step { position:absolute; inset-block-start:50%; transform:translateY(-50%); width:42px; height:52px; border:0; border-radius:10px; color:white; background:#ffffff20; font-size:1.8rem; cursor:pointer; }
.product-lightbox-step[data-gallery-prev] { inset-inline-start:12px; }
.product-lightbox-step[data-gallery-next] { inset-inline-end:12px; }
.product-lightbox>span { position:absolute; inset-block-end:13px; inset-inline-start:50%; color:#fff; font-size:.8rem; transform:translateX(50%); }
.product-detail-copy h1 { margin-block:8px 14px; font-size:2rem; }
.product-back { font-size:.8rem; margin-block:0 12px; margin-inline-end:12px; background:#112d4e; border-color:#112d4e; color:#fff; }
.product-back:hover { background:#1a416b; border-color:#1a416b; color:#fff; }
.product-summary,.product-description,.product-price-note { color:#526a82; font-size:.85rem; line-height:2.2; }
.product-stock-badge { display:inline-flex; align-items:center; gap:7px; width:fit-content; margin:8px 0 12px; padding:6px 12px; border:1px solid transparent; border-radius:999px; font-size:.75rem; font-weight:800; }
.product-stock-in { color:#16633e; background:#e8f7ee; border-color:#bce4cc; }
.product-stock-out { color:#9e3438; background:#fff0f0; border-color:#f0c5c7; }
.product-stock-contact { color:#79530b; background:#fff7df; border-color:#f2dfa5; }
.product-description { white-space:pre-line; }
.product-contact { margin-block:20px 8px; border-radius:9px; }
.product-buy-form { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-block:18px; }
.product-buy-form input { width:74px; min-height:44px; padding:8px; border:1px solid #d7e1ed; border-radius:9px; font:inherit; }
.product-buy-form .product-contact { margin:0; border:0; cursor:pointer; font:inherit; }
.catalog-add-form { padding:0 12px 12px; }
.catalog-add-form button { width:100%; min-height:40px; padding:8px; border:0; border-radius:9px; color:#fff; background:#1264d5; font:inherit; font-size:.75rem; font-weight:700; cursor:pointer; }
.commerce-page { padding-block:34px 78px; }
.commerce-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-block-end:24px; }
.commerce-heading h1 { margin:5px 0; color:#142d49; font-size:clamp(1.5rem,3vw,2.1rem); }
.commerce-heading p,.commerce-kicker { color:#637891; font-size:.82rem; }
.commerce-kicker { color:#1767c6; font-weight:800; }
.commerce-step { padding:8px 14px; border-radius:24px; color:#245d9d; background:#eaf2fc; font-size:.73rem; white-space:nowrap; }
.commerce-alert { padding:13px 16px; border:1px solid; border-radius:11px; font-size:.82rem; }
.commerce-alert.success { color:#17603b; background:#eef9f1; border-color:#c9e9d2; }
.commerce-alert.error { color:#8c2828; background:#fff2f0; border-color:#f0cfca; }
.commerce-empty { display:grid; justify-items:center; gap:10px; max-width:720px; margin:38px auto; padding:48px 25px; border:1px solid #e2eaf3; border-radius:20px; background:white; text-align:center; box-shadow:0 14px 34px #18395d08; }
.commerce-empty>span:first-child { font-size:2.5rem; }
.commerce-empty h2,.commerce-empty h1 { margin:4px 0; color:#173657; }
.commerce-empty p { color:#62768d; line-height:2; }
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; align-items:start; gap:20px; }
.cart-items { display:grid; gap:12px; }
.cart-item { display:grid; grid-template-columns:130px minmax(0,1fr) auto; align-items:start; gap:18px; padding:18px; border:1px solid #e3eaf2; border-radius:16px; background:#fff; }
.cart-item-image { display:grid; place-items:center; height:124px; overflow:hidden; border-radius:11px; background:#f6f8fb; color:#74869b; text-decoration:none; font-size:.7rem; }
.cart-item-image img { width:100%; height:100%; object-fit:contain; }
.cart-item-info>a { color:#203d5b; text-decoration:none; }
.cart-item-info h2 { margin:0 0 6px; font-size:.92rem; line-height:1.9; }
.cart-unit-price { margin:8px 0; color:#145cae; font-weight:800; font-size:.83rem; }
.cart-line-total { color:#173552; white-space:nowrap; font-size:.82rem; }
.cart-line-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.cart-line-actions form { display:flex; align-items:center; gap:7px; margin:0; }
.cart-line-actions label { color:#687c93; font-size:.73rem; }
.cart-line-actions input { width:58px; min-height:34px; border:1px solid #d8e2ed; border-radius:8px; padding:5px; }
.cart-line-actions button { padding:7px 10px; border:1px solid #d8e2ed; border-radius:8px; color:#285888; background:#fff; font:inherit; font-size:.7rem; cursor:pointer; }
.cart-line-actions .cart-remove { color:#aa3b38; }
.stock-warning { color:#9a4d1f; font-size:.73rem; }
.cart-summary { position:sticky; top:104px; display:grid; gap:14px; padding:20px; border:1px solid #e0e8f1; border-radius:16px; background:white; box-shadow:0 12px 30px #163b6110; }
.cart-summary h2 { margin:0 0 4px; font-size:1rem; color:#183654; }
.cart-summary>div { display:flex; justify-content:space-between; gap:12px; color:#566c84; font-size:.78rem; }
.cart-summary>div strong { color:#183654; white-space:nowrap; }
.cart-summary>p,.cart-summary>small { margin:0; color:#72839a; font-size:.69rem; line-height:1.9; }
.cart-checkout { justify-content:center; min-height:46px; border-radius:10px; background:#1264d5; font-weight:800; text-decoration:none; }
.cart-continue { color:#2765a8; text-align:center; text-decoration:none; font-size:.77rem; }
.checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; align-items:start; gap:20px; }
.checkout-card { padding:24px; border:1px solid #e3eaf2; border-radius:16px; background:#fff; }
.checkout-card h2 { margin:0 0 20px; color:#193958; font-size:1rem; }
.checkout-fields { display:grid; gap:9px; }
.checkout-fields>label:not(.checkout-save),.checkout-row label { margin-block-start:8px; color:#3c536c; font-size:.76rem; font-weight:700; }
.checkout-fields input,.checkout-fields textarea { width:100%; min-height:44px; padding:10px 12px; border:1px solid #d6e0eb; border-radius:9px; background:#fcfdff; color:#173653; font:inherit; font-size:.82rem; }
.checkout-fields textarea { resize:vertical; }
.checkout-fields small { color:#77899e; font-size:.68rem; }
.checkout-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.checkout-row>div { display:grid; gap:8px; }
.checkout-save { display:flex; align-items:center; gap:9px; margin-block:8px; color:#526a83; font-size:.76rem; }
.checkout-save input { width:17px; min-height:17px; }
.checkout-summary { position:sticky; }
.checkout-summary>div { align-items:start; }
.checkout-summary .checkout-total { padding-block-start:14px; border-block-start:1px solid #e7edf3; font-size:.87rem; font-weight:800; }
.checkout-summary .checkout-total strong { color:#145fae; }
.payment-note { padding:12px; border-radius:10px; background:#f0f6fd; color:#385879 !important; }
.order-complete { min-height:380px; align-content:center; }
.order-success-icon { display:grid; place-items:center; width:65px; height:65px; border-radius:50%; color:#fff; background:#15935b; font-size:2rem !important; }
.order-complete-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-block-start:12px; }
.user-order-card { margin-block-end:12px; padding:18px; border:1px solid #e2eaf2; border-radius:14px; background:white; }
.user-order-card header,.user-order-card>div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.user-order-card header>div { display:grid; gap:5px; }
.user-order-card header small,.user-order-card>small { color:#6d8097; font-size:.7rem; }
.user-order-card header strong { color:#164d8d; }
.user-order-card>div { margin-block:13px; color:#62768d; font-size:.75rem; }
.user-order-card>div strong { color:#163653; }
.user-order-card p { color:#566d84; font-size:.76rem; line-height:1.9; }
.order-status { padding:6px 10px; border-radius:20px; background:#eef4fb; color:#315b88; font-size:.7rem; white-space:nowrap; }
.commerce-settings-form { max-width:900px; }
.commerce-settings-form h2 { margin-block:24px 4px; color:#193958; font-size:1rem; }
.commerce-settings-form h2:first-of-type { margin-block-start:8px; }
.commerce-settings-form p,.commerce-settings-form small { color:#637891; font-size:.75rem; line-height:1.9; }
.order-admin-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr); align-items:start; gap:18px; }
.order-address { display:grid; gap:8px; padding:18px 8px 8px; color:#536b84; font-size:.78rem; line-height:1.8; }
.order-address p { margin:0; color:#203e5d; }
.order-totals { display:grid; grid-template-columns:1fr auto; gap:9px; padding:16px 8px; color:#536b84; font-size:.78rem; }
.order-totals strong { color:#183958; }
@media(max-width:820px) { .cart-layout,.checkout-layout,.order-admin-layout { grid-template-columns:1fr; } .cart-summary,.checkout-summary { position:static; } }
@media(max-width:560px) { .commerce-page { padding-block:20px 48px; } .commerce-heading { align-items:start; flex-direction:column; gap:8px; } .cart-item { grid-template-columns:78px minmax(0,1fr); gap:11px; padding:12px; } .cart-item-image { height:88px; } .cart-item-info h2 { font-size:.78rem; } .cart-line-total { grid-column:2; } .cart-line-actions { gap:7px; } .cart-line-actions button { font-size:.65rem; } .checkout-card { padding:17px; } .checkout-row { grid-template-columns:1fr; } .header-cart { min-height:42px; padding:7px 9px; } .header-actions .header-action { min-height:42px; padding:7px 9px; font-size:.66rem; } .catalog-add-form { padding:0 8px 8px; } .catalog-add-form button { min-height:36px; font-size:.67rem; } }
@media(max-width:1050px) {
 .public-route .header-inner { flex-wrap:wrap; }
 .public-navigation { order:3; flex-basis:100%; justify-content:flex-start; overflow-x:auto; padding:5px; scrollbar-width:thin; }
 .header-actions { margin-inline-start:auto; }
 .home-services { grid-template-columns:repeat(2,1fr); }
 .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:680px) {
 .contact-strip-inner { justify-content:center; }
 .contact-strip-inner>span { display:none; }
 .contact-strip-inner>div { width:100%; justify-content:space-between; gap:8px; font-size:.63rem; }
 .public-route .header-inner { gap:8px; }
 .public-route .brand { font-size:.72rem; }
 .public-route .brand-symbol { inline-size:94px; block-size:41px; border-radius:11px; }
 .public-route .brand-symbol img { width:91px; height:38px; }
 .public-route .brand small { max-width:195px; overflow:hidden; white-space:nowrap; }
 .header-actions { order:2; flex:1 0 100%; flex-wrap:wrap; justify-content:flex-start; gap:7px; font-size:.68rem; }
 .header-actions .header-action { min-height:42px; padding:8px 10px; font-size:.67rem; }
 .header-consult { display:none; }
 .public-navigation { gap:18px; font-size:.72rem; }
 .home-hero { min-height:540px; align-items:flex-end; border-radius:0 0 17px 17px; }
 .home-hero-image { object-position:20% center; }
 .home-hero-shade { background:linear-gradient(0deg,#061525 0%,#061525ed 35%,#06152579 75%,#06152529 100%); }
 .home-hero-copy { width:auto; margin:0; padding:35px 23px 52px; }
 .home-brand { font-size:1rem; }
 .home-kicker { margin-block:24px 6px; font-size:.73rem; }
 .home-hero h1 { font-size:2.5rem; }
 .home-lead { font-size:.8rem; }
 .home-hero-actions .button { padding:11px 15px; font-size:.73rem; }
 .home-services { gap:8px; margin-block:13px 45px; }
 .home-services a { min-height:82px; flex-direction:column; align-items:flex-start; gap:7px; padding:11px; }
 .home-services strong { font-size:.67rem; }
 .catalog-section { padding-block-end:48px; }
 .catalog-heading h2 { font-size:1.4rem; }
 .catalog-heading p { font-size:.7rem; }
 .catalog-filters { flex-wrap:wrap; }
 .catalog-filters input { flex-basis:100%; }
 .catalog-filters select { flex:1; min-width:0; }
 .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
 .product-card-link { padding:8px; }
 .product-image-wrap { height:145px; }
 .product-card h3 { font-size:.71rem; min-height:60px; }
 .product-card-category { font-size:.62rem; }
 .product-card-cta { font-size:.65rem; }
 .editorial-strip { align-items:flex-start; flex-direction:column; padding:22px; }
 .editorial-strip h2 { font-size:1.3rem; }
 .home-about { align-items:flex-start; flex-wrap:wrap; padding:21px; margin-block-end:40px; gap:14px; }
 .home-about-mark { width:48px; height:48px; }
 .home-about>div { flex:1; min-width:200px; }
 .home-about h2 { font-size:1.3rem; }
 .about-contact { margin-inline-start:62px; }
 .footer-grid { grid-template-columns:1fr; gap:24px; padding-block:32px; }
 .footer-legal>div { flex-direction:column; gap:6px; }
 .product-detail { grid-template-columns:1fr; gap:22px; padding-block-start:20px; }
 .product-detail-image { min-height:270px; }
 .product-detail-copy h1 { font-size:1.55rem; }
}
.product-card-price { color:#193956; font-size:.8rem; font-weight:800; margin-block:4px 10px; }
.product-detail-price { color:#163f6c; font-size:1.3rem; font-weight:800; }
.product-detail-price small { display:block; color:#71859a; font-size:.66rem; font-weight:400; }
.admin-route { min-height:100vh; display:grid; grid-template-columns:245px minmax(0,1fr); background:#f4f7fb; color:#172f4b; }
.admin-brand { min-width:0; }
.admin-brand>span:last-child { min-width:0; overflow-wrap:anywhere; }
.admin-sidebar { position:sticky; inset-block-start:0; align-self:start; box-sizing:border-box; height:100vh; height:100dvh; min-height:100vh; display:flex; flex-direction:column; gap:17px; overflow-y:auto; overscroll-behavior:contain; padding:19px 13px; color:#dce9f7; background:linear-gradient(165deg,#15375a 0%,#102b4c 48%,#0c223d 100%); scrollbar-color:#52708d transparent; scrollbar-width:thin; }
.admin-brand { display:flex; align-items:center; gap:10px; flex:0 0 auto; color:white; font-size:.84rem; font-weight:800; text-decoration:none; }
.admin-brand-mark { display:grid; place-items:center; flex:0 0 108px; width:108px; height:48px; overflow:hidden; border:1px solid #f6bd2445; border-radius:11px; background:#102b4c; }
.admin-brand-mark img { width:105px; height:45px; object-fit:contain; }
.admin-brand small { display:block; margin-block-start:3px; color:#afc4da; font-size:.63rem; font-weight:400; }
.admin-sidebar nav { display:grid; flex:1 0 auto; align-content:start; gap:5px; }
.admin-sidebar nav a,.admin-preview-link { display:flex; align-items:center; gap:10px; min-height:39px; box-sizing:border-box; color:#d4e1ef; padding:8px 10px; border:1px solid transparent; border-radius:9px; font-size:.75rem; line-height:1.65; text-decoration:none; transition:background .16s,border-color .16s,color .16s,transform .16s; }
.admin-sidebar nav a svg,.admin-preview-link svg { flex:0 0 19px; width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; opacity:.9; }
.admin-sidebar nav a:hover,.admin-preview-link:hover { border-color:#ffffff12; background:#ffffff12; color:white; transform:translateX(-2px); }
.admin-sidebar nav a.is-current { border-color:#f6bd2440; color:#fff4c8; background:linear-gradient(90deg,#f6bd2414,#ffffff10); box-shadow:inset -3px 0 #f6bd24; }
.admin-sidebar nav a.is-current svg { color:#f6bd24; }
.admin-preview-link { flex:0 0 auto; margin-block-start:2px; border-color:#ffffff26; color:#ffe078; background:#f6bd2410; }
.admin-main { min-width:0; }
.admin-topbar { position:sticky; z-index:3; inset-block-start:0; display:flex; justify-content:space-between; align-items:center; gap:18px; min-height:70px; box-sizing:border-box; padding:10px 28px; background:#fff; border-block-end:1px solid #e3eaf2; box-shadow:0 4px 16px #102b4c08; font-size:.76rem; }
.admin-topbar>strong { margin-inline-end:auto; color:#183b5d; font-size:.9rem; }
.admin-topbar-actions { display:flex; align-items:center; gap:8px; }
.admin-topbar-actions { min-width:0; }
.admin-topbar-actions form { margin:0; }
.admin-topbar-action { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:39px; padding:7px 11px; border:1px solid #e0e8f1; border-radius:10px; color:#365773; background:#fff; font:inherit; font-size:.7rem; text-decoration:none; cursor:pointer; transition:background .15s,border-color .15s,color .15s,transform .15s; }
.admin-topbar-action:hover { border-color:#b9d0e8; color:#165da8; background:#f4f8fd; transform:translateY(-1px); }
.admin-topbar-action svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.admin-logout { border-color:#f0dada; color:#9d4147; background:#fffafa; }
.admin-logout:hover { border-color:#e9b9bb; color:#8c2d34; background:#fff1f1; }
.admin-user-chip { display:flex; align-items:center; max-width:190px; min-height:37px; padding-inline:11px; overflow:hidden; border-radius:10px; color:#536b81; background:#f2f5f9; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.admin-content { max-width:1200px; margin:auto; padding:32px; }
.admin-welcome { padding:27px 30px; border-radius:16px; background:linear-gradient(120deg,#102b4c,#1b4c7f); color:white; }
.admin-welcome h1 { margin:7px 0 4px; font-size:1.55rem; }
.admin-welcome p { margin:0; color:#d1deec; font-size:.78rem; }
.admin-eyebrow { color:#6a9ad1; font-size:.69rem; font-weight:700; }
.admin-welcome .admin-eyebrow { color:#9ecbff; }
.admin-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-block-start:20px; }
.admin-stat-grid a { display:flex; flex-direction:column; gap:15px; padding:19px; border:1px solid #e2eaf2; border-radius:13px; color:#31506f; background:white; text-decoration:none; font-size:.75rem; }
.admin-stat-grid strong { color:#1264d5; font-size:1.8rem; }
.admin-page-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-block-end:23px; }
.admin-page-heading h1,.admin-content>h1 { margin:3px 0; font-size:1.4rem; }
.admin-page-heading p { margin:2px 0; color:#697f95; font-size:.75rem; }
.admin-primary-link { display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:8px; padding:9px 13px; background:#1768d8; color:white; font:inherit; font-size:.75rem; text-decoration:none; cursor:pointer; }
.admin-form { display:grid; gap:9px; max-width:800px; padding:24px; border:1px solid #e4eaf1; border-radius:13px; background:white; }
.admin-form>label { margin-block-start:8px; font-size:.77rem; font-weight:700; }
.admin-form input:not([type=checkbox]),.admin-form textarea,.admin-form select,.admin-search input { width:100%; border:1px solid #cad7e5; border-radius:8px; padding:9px 11px; background:white; color:#213c59; font:inherit; font-size:.78rem; }
.admin-form textarea { resize:vertical; line-height:1.9; }
.admin-form .admin-check { display:flex; align-items:center; gap:8px; }
.admin-form .admin-check input { width:auto; }
.admin-form>a { text-align:center; font-size:.76rem; }
.admin-table-wrap { overflow-x:auto; border:1px solid #e3eaf1; border-radius:12px; background:white; }
.admin-table { width:100%; border-collapse:collapse; white-space:nowrap; font-size:.72rem; }
.admin-table th,.admin-table td { padding:12px; text-align:right; border-block-end:1px solid #edf1f5; }
.admin-table th { color:#58718b; background:#f9fbfd; font-weight:700; }
.admin-table tr:last-child td { border-block-end:0; }
.admin-table a { margin-inline-end:9px; }
.admin-inline-form { display:inline; }
.admin-danger-link { border:0; background:none; color:#a6353b; font:inherit; font-size:.72rem; cursor:pointer; }
.admin-message-list { display:grid; gap:13px; }
.admin-message { padding:18px; border:1px solid #e3eaf1; border-inline-start:4px solid #1768d8; border-radius:11px; background:white; }
.admin-message.is-read { border-inline-start-color:#b8c6d4; }
.admin-message-heading { display:flex; align-items:start; justify-content:space-between; gap:14px; }
.admin-message-heading>div { display:grid; gap:6px; }
.admin-message-heading strong { font-size:.86rem; }
.admin-message-heading span,.admin-message time,.admin-message>p { color:#647b92; font-size:.74rem; }
.admin-message>p { padding-block:9px; white-space:pre-wrap; }
.admin-note-form,.admin-search { display:flex; align-items:center; gap:9px; margin-block:12px; }
.admin-note-form label,.admin-search label { font-size:.74rem; }
.admin-note-form input { flex:1; min-width:100px; border:1px solid #d1dce8; border-radius:7px; padding:8px; font:inherit; font-size:.73rem; }
.admin-note-form button,.admin-role-actions button { border:1px solid #d5e0eb; border-radius:7px; padding:7px 9px; color:#31516f; background:white; font:inherit; font-size:.68rem; cursor:pointer; }
.admin-role-actions { display:inline-block; margin-inline-end:6px; }
.admin-search input { width:auto; min-width:240px; }
.admin-totp-secret { display:block; width:fit-content; margin-block:12px; padding:15px; background:#edf4fc; color:#123a67; letter-spacing:.14em; font-size:1.1rem; }
@media(max-width:1120px) and (min-width:651px) { .admin-topbar { flex-wrap:wrap; gap:8px 12px; padding-inline:16px; } .admin-topbar>strong { flex:1 1 100%; margin-inline-end:0; } .admin-topbar-actions { flex:1 1 100%; flex-wrap:wrap; justify-content:flex-end; } .admin-topbar-action { padding-inline:9px; } }
@media(max-width:900px) { .admin-route { grid-template-columns:190px minmax(0,1fr); } .admin-sidebar { padding-inline:10px; } .admin-content { padding:22px; } .admin-stat-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:650px) { .admin-route { display:block; } .admin-sidebar { position:relative; inset-block-start:auto; height:auto; min-height:0; overflow:visible; padding:11px; gap:10px; } .admin-brand { display:flex; } .admin-brand-mark { flex-basis:92px; width:92px; height:41px; border-radius:10px; } .admin-brand-mark img { width:89px; height:38px; } .admin-sidebar nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; gap:5px; } .admin-sidebar nav a { min-height:39px; gap:7px; padding:6px 7px; border-color:#ffffff0c; background:#ffffff08; font-size:.65rem; line-height:1.45; white-space:normal; } .admin-sidebar nav a svg { flex-basis:16px; width:16px; height:16px; } .admin-preview-link { align-self:flex-start; min-height:35px; padding:6px 9px; font-size:.68rem; } .admin-topbar { position:relative; min-height:58px; gap:7px; padding:8px 11px; } .admin-topbar>strong { max-width:100px; font-size:.75rem; } .admin-topbar-actions { gap:5px; } .admin-topbar-action { min-height:36px; padding:6px 8px; border-radius:9px; } .admin-topbar-action span { display:none; } .admin-topbar-action svg { width:17px; height:17px; } .admin-user-chip { max-width:82px; min-height:34px; padding-inline:7px; font-size:.61rem; } .admin-content { padding:16px 12px; } .admin-page-heading { align-items:flex-start; } .admin-stat-grid { gap:8px; } .admin-stat-grid a { padding:13px; } .admin-message-heading { flex-direction:column; } .admin-note-form,.admin-search { flex-wrap:wrap; } .admin-note-form input { flex-basis:100%; } }
.account-tools { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-block:18px; }
.account-tools a { color:#1768d8; text-decoration:underline; text-underline-offset:4px; }
.account-security { margin-block-start:28px; padding-block-start:20px; border-block-start:1px solid #dce5ef; }
.account-security h2,.admin-user-card h2 { font-size:1.05rem; margin-block:0 14px; }
.admin-user-card { max-width:850px; padding:24px; margin-block:18px; border:1px solid #e3eaf1; border-radius:14px; background:white; }
.admin-user-card p { line-height:1.9; color:#536a80; font-size:.85rem; }
.admin-user-form { display:grid; gap:10px; margin-block:18px; }
.admin-user-form input,.admin-user-form select,.admin-user-form textarea { width:100%; box-sizing:border-box; padding:11px; border:1px solid #cbd8e5; border-radius:8px; font:inherit; background:white; }
.admin-user-form .button { justify-self:start; }
.account-danger { border-color:#e6b7bb; }
.account-danger .button { background:#a6353b; color:white; }
.admin-role-actions button:disabled { opacity:.5; cursor:not-allowed; }
@media(max-width:650px) { .admin-user-card { padding:16px; } .admin-search input { min-width:0; width:100%; } }
@media(max-width:400px) { .header-actions { gap:4px; } .header-actions .header-action,.account-top-actions .header-action { gap:4px; padding-inline:6px; font-size:.59rem; } .header-actions .header-action svg,.account-top-actions .header-action svg { flex-basis:16px; width:16px; height:16px; } }
/* Account center: a consistent, accessible workspace for customers and administrators. */
:root { --account-navy:#142f53; --account-blue:#1769d2; --account-ink:#20334c; --account-muted:#77879b; --account-line:#e7edf4; --account-canvas:#f3f6fa; --account-teal:#29a58c; }
.account-route { background:var(--account-canvas); color:var(--account-ink); }
.account-route .site-header { background:#fff; border-block-end:1px solid #e9eef4; }
.account-route .header-inner { min-block-size:72px; padding-block:10px; }
.account-route .brand-symbol { background:linear-gradient(145deg,#236fe0,#114da8); box-shadow:0 5px 12px #1769d226; }
.account-secure-badge,.account-top-home { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid var(--account-line); border-radius:10px; color:#54677d; background:#fff; font-size:.75rem; text-decoration:none; }
.account-secure-badge>span { inline-size:7px; block-size:7px; border-radius:50%; background:var(--account-teal); box-shadow:0 0 0 4px #29a58c18; }
.account-top-home svg { inline-size:17px; block-size:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.account-top-actions { display:flex; gap:10px; align-items:center; }
.account-main { flex:1; inline-size:min(1140px,calc(100% - 3rem)); padding-block:32px 60px; }
.account-route .site-footer { background:transparent; border:0; }
.account-route .footer-inner { padding-block:12px 22px; font-size:.72rem; }
.account-dashboard { display:grid; gap:22px; }
.account-welcome,.users-welcome { min-block-size:178px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:25px 34px; border:1px solid #25466b; border-radius:20px; color:white; background:radial-gradient(ellipse at 12% 115%,#2875b988 0,transparent 56%),linear-gradient(115deg,#102744,#173b64 69%,#1c5185); box-shadow:0 12px 30px #14335314; }
.account-welcome::after,.users-welcome::after { content:""; position:absolute; inline-size:255px; block-size:255px; border:1px solid #fff1; border-radius:50%; inset-inline-start:24%; inset-block-start:-150px; box-shadow:0 0 0 26px #ffffff08,0 0 0 54px #ffffff07,0 0 0 82px #ffffff05; pointer-events:none; }
.account-welcome h1,.users-welcome h1 { margin:8px 0 1px; font-size:clamp(1.55rem,3vw,2rem); letter-spacing:-.035em; }
.account-welcome p,.users-welcome p { margin:5px 0 0; color:#c1d2e4; font-size:.83rem; }
.account-eyebrow,.users-eyebrow { display:flex; align-items:center; gap:8px; color:#b8d4f2; font-size:.73rem; }
.account-eyebrow>span,.users-eyebrow>span { inline-size:7px; block-size:7px; border-radius:50%; background:#51d0ae; box-shadow:0 0 0 5px #51d0ae20; }
.account-welcome-mark,.users-welcome-art { position:relative; z-index:1; flex:0 0 auto; display:grid; place-items:center; inline-size:104px; block-size:104px; border:1px solid #ffffff2a; border-radius:27px; background:#ffffff0c; }
.account-welcome-mark svg,.users-welcome-art svg { inline-size:83px; block-size:83px; fill:none; stroke:#aad2fa; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.account-layout { display:grid; grid-template-columns:245px minmax(0,1fr); gap:20px; align-items:start; }
.account-sidebar,.account-info-card,.account-security-card,.users-list-card { border:1px solid var(--account-line); border-radius:16px; background:#fff; box-shadow:0 4px 14px #19345008; }
.account-sidebar { padding:16px 12px; position:sticky; inset-block-start:18px; }
.account-sidebar-user { display:flex; align-items:center; gap:11px; padding:5px 8px 18px; border-block-end:1px solid #edf1f6; }
.account-avatar,.users-avatar { flex:0 0 auto; display:grid; place-items:center; inline-size:42px; block-size:42px; border-radius:14px; color:#2362b8; background:linear-gradient(140deg,#e9f2ff,#dbeaff); font-size:1.1rem; font-weight:800; }
.account-sidebar-user>div { display:grid; gap:2px; min-inline-size:0; }
.account-sidebar-user strong { font-size:.8rem; }
.account-sidebar-user bdi { overflow:hidden; color:var(--account-muted); font: .72rem/1.7 Vazirmatn,Tahoma,sans-serif; text-align:right; }
.account-menu-caption { display:block; margin:16px 9px 7px; color:#98a5b4; font-size:.68rem; }
.account-sidebar nav { display:grid; gap:4px; }
.account-sidebar nav a { display:flex; align-items:center; gap:10px; min-block-size:44px; padding:8px 10px; border-radius:9px; color:#56697e; font-size:.76rem; text-decoration:none; transition:background .16s,color .16s,transform .16s; }
.account-sidebar nav a:hover { color:#1859a5; background:#f3f7fc; transform:translateX(-2px); }
.account-sidebar nav a.is-current { color:#195fb8; background:#edf4fe; font-weight:700; }
.account-sidebar nav a svg,.account-card-icon svg,.account-action-icon svg,.account-primary-button svg,.account-password-note svg { flex:0 0 auto; inline-size:19px; block-size:19px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.account-nav-chevron { margin-inline-start:auto; color:#a0afbf; font-size:1.1rem; }
.account-sidebar-bottom { display:flex; align-items:center; gap:9px; margin-block-start:25px; padding:12px 8px 3px; border-block-start:1px solid #edf1f6; }
.account-online-dot { inline-size:8px; block-size:8px; border-radius:50%; background:#28a789; box-shadow:0 0 0 4px #28a78918; }
.account-sidebar-bottom>div { display:grid; line-height:1.65; }
.account-sidebar-bottom strong { color:#456175; font-size:.7rem; }
.account-sidebar-bottom small { color:#97a5b4; font-size:.63rem; }
.account-content { display:grid; gap:18px; min-inline-size:0; }
.account-info-card,.account-security-card { padding:22px 24px; }
.account-card-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; padding-block-end:17px; border-block-end:1px solid #edf1f6; }
.account-card-heading>div { display:flex; align-items:center; gap:12px; }
.account-card-icon { display:grid; place-items:center; inline-size:41px; block-size:41px; border-radius:13px; color:#2368c1; background:#edf4ff; }
.account-card-icon-security { color:#188a76; background:#eaf8f4; }
.account-card-heading h2 { margin:0; color:#20334c; font-size:.97rem; }
.account-card-heading p { margin:3px 0 0; color:#8a99aa; font-size:.7rem; }
.account-role-pill,.verified-chip,.users-role-pill,.users-mfa-pill { display:inline-flex; align-items:center; justify-content:center; gap:5px; padding:5px 10px; border-radius:30px; color:#406ca1; background:#eff5fc; font-size:.66rem; white-space:nowrap; }
.account-verified-phone { display:flex; align-items:center; gap:11px; margin-block:17px; padding:12px 14px; border:1px solid #e5edf5; border-radius:11px; background:#f9fbfd; }
.account-phone-icon { display:grid; place-items:center; inline-size:36px; block-size:36px; border-radius:10px; color:#4173ae; background:#eaf1fa; }
.account-phone-icon svg,.verified-chip svg,.users-mfa-pill svg { inline-size:16px; block-size:16px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.account-verified-phone>span:nth-child(2) { display:grid; gap:1px; }
.account-verified-phone small { color:#8190a2; font-size:.64rem; }
.account-verified-phone bdi { color:#344c66; font: .82rem/1.8 Vazirmatn,Tahoma,sans-serif; }
.verified-chip { margin-inline-start:auto; color:#27876f; background:#e8f6f1; }
.account-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; }
.account-field { display:grid; gap:6px; min-inline-size:0; }
.account-field-wide { grid-column:1/-1; }
.account-field label { color:#455a70; font-size:.72rem; font-weight:700; }
.account-field label span { color:#dc6a55; }
.account-field input,.account-field textarea,.account-field select { inline-size:100%; min-inline-size:0; border:1px solid #dfe6ee; border-radius:9px; padding:10px 12px; color:#263d55; background:#fff; font: .76rem/1.8 Vazirmatn,Tahoma,sans-serif; transition:border-color .16s,box-shadow .16s; }
.account-field textarea { resize:vertical; }
.account-field input::placeholder,.account-field textarea::placeholder { color:#b2bdc9; }
.account-field input:focus,.account-field textarea:focus,.account-field select:focus { outline:none; border-color:#5b94d9; box-shadow:0 0 0 3px #1769d215; }
.account-field small { color:#8797a9; font-size:.65rem; }
.account-profile-form { padding-block-start:17px; }
.account-form-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-block-start:18px; padding-block-start:15px; border-block-start:1px solid #edf1f6; }
.account-form-footer>span { color:#8998a8; font-size:.67rem; }
.account-primary-button,.account-secondary-button,.users-edit-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-block-size:40px; padding:8px 14px; border:1px solid transparent; border-radius:9px; font:700 .72rem/1.6 Vazirmatn,Tahoma,sans-serif; text-decoration:none; white-space:nowrap; cursor:pointer; transition:background .16s,border-color .16s,box-shadow .16s,transform .16s; }
.account-primary-button { color:#fff; background:linear-gradient(135deg,#2878df,#165bbb); box-shadow:0 4px 10px #1769d226; }
.account-primary-button:hover { color:white; background:linear-gradient(135deg,#2068c7,#114eaa); box-shadow:0 6px 14px #1769d233; transform:translateY(-1px); }
.account-primary-button svg { inline-size:17px; block-size:17px; }
.account-secondary-button { color:#45627e; border-color:#e0e7ef; background:#fff; }
.account-secondary-button:hover { color:#1d5da9; border-color:#bfcee0; background:#f8fbff; }
.account-alert { display:flex; align-items:center; gap:9px; margin:0; padding:11px 15px; border:1px solid #b9e1d2; border-radius:10px; color:#25755f; background:#eff9f4; font-size:.77rem; }
.account-alert>span { display:grid; place-items:center; inline-size:22px; block-size:22px; border-radius:50%; background:#d8f0e5; font-weight:800; }
.account-action-row { display:flex; align-items:center; gap:12px; padding-block:13px; border-block-end:1px solid #f0f3f7; }
.account-action-row:last-child { padding-block-end:0; border:0; }
.account-action-icon { display:grid; place-items:center; inline-size:37px; block-size:37px; border-radius:11px; color:#69819a; background:#f0f4f8; }
.account-action-copy { display:grid; gap:1px; margin-inline-end:auto; }
.account-action-copy strong { color:#435970; font-size:.73rem; }
.account-action-copy small { color:#8b99a8; font-size:.66rem; }
.account-action-row form { margin:0; }
.account-password-form { display:grid; gap:15px; max-inline-size:520px; }
.account-password-note { display:flex; align-items:center; gap:9px; padding:11px 12px; border:1px solid #dce9f5; border-radius:9px; color:#637c96; background:#f5f9fd; font-size:.68rem; }
.account-password-note svg { color:#4181c3; }
.account-validation:empty,.account-validation.validation-summary-valid { display:none; }
.account-route .validation { padding:9px 12px; border-radius:9px; background:#fff3f1; font-size:.72rem; }
.account-route .validation:empty { padding:0; }
.users-dashboard { display:grid; gap:19px; }
.users-welcome { min-block-size:165px; }
.users-welcome-art { inline-size:94px; block-size:94px; border-radius:25px; }
.users-welcome-art svg { inline-size:75px; block-size:75px; }
.users-overview { display:flex; align-items:center; gap:12px; padding:15px 18px; border:1px solid var(--account-line); border-radius:13px; background:#fff; }
.users-overview-icon { display:grid; place-items:center; inline-size:42px; block-size:42px; border-radius:12px; color:#2c70bd; background:#edf4fd; }
.users-overview-icon svg { inline-size:21px; block-size:21px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.users-overview>div:nth-child(2) { display:grid; gap:0; }
.users-overview>div:nth-child(2)>span { color:#8292a3; font-size:.66rem; }
.users-overview>div:nth-child(2)>strong { color:#263f59; font-size:1.05rem; line-height:1.5; }
.users-overview-caption { margin-inline-start:auto; color:#93a0ae; font-size:.67rem; }
.users-list-card { padding:19px 20px; overflow:hidden; }
.users-list-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.users-list-heading h2 { margin:0; font-size:.94rem; }
.users-list-heading p { margin:4px 0 0; color:#8b9aaa; font-size:.68rem; }
.users-page-count { padding:5px 9px; border-radius:7px; color:#73859a; background:#f1f5f9; font-size:.65rem; white-space:nowrap; }
.users-search { display:flex; align-items:center; gap:8px; margin-block:16px; padding:5px; border:1px solid #e3e9f0; border-radius:11px; background:#fafbfd; }
.users-search label { display:grid; place-items:center; padding-inline:8px 2px; color:#8394a7; }
.users-search label svg { inline-size:19px; block-size:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
.users-search input { flex:1; min-inline-size:0; border:0; outline:0; padding:7px 5px; color:#354c64; background:transparent; font: .75rem/1.8 Vazirmatn,Tahoma,sans-serif; }
.users-search input::placeholder { color:#a9b4c0; }
.users-search .account-primary-button { min-block-size:36px; padding:6px 13px; }
.users-table-wrap { position:relative; overflow:auto; border:1px solid #ebeff4; border-radius:10px; }
.users-table { width:100%; min-inline-size:720px; border-collapse:collapse; text-align:right; }
.users-table th { padding:11px 13px; color:#8190a0; background:#f7f9fc; font-size:.65rem; font-weight:600; white-space:nowrap; }
.users-table td { padding:10px 13px; border-block-start:1px solid #edf1f5; color:#53677c; font-size:.68rem; white-space:nowrap; }
.users-table tbody tr { transition:background .15s; }
.users-table tbody tr:hover { background:#f9fbfe; }
.users-name-cell { display:flex; align-items:center; gap:9px; }
.users-name-cell strong { color:#3a5068; font-size:.69rem; }
.users-avatar { inline-size:32px; block-size:32px; border-radius:10px; font-size:.9rem; }
.users-phone { color:#4c637d!important; font-family:Vazirmatn,Tahoma,sans-serif; font-variant-numeric:tabular-nums; }
.users-role-pill { color:#65768a; background:#f0f3f6; font-size:.62rem; }
.users-role-admin { color:#7655ae; background:#f4effb; }
.users-status { display:inline-flex; align-items:center; gap:6px; color:#308269; font-size:.66rem; }
.users-status>span { inline-size:6px; block-size:6px; border-radius:50%; background:#38a484; box-shadow:0 0 0 3px #38a4841a; }
.users-status-blocked { color:#bd5555; }
.users-status-blocked>span { background:#cd6464; box-shadow:0 0 0 3px #cd64641a; }
.users-mfa-pill { padding:4px 8px; color:#8190a0; background:#f3f5f7; font-size:.61rem; }
.users-mfa-pill svg { inline-size:13px; block-size:13px; }
.users-mfa-on { color:#27846c; background:#eaf7f1; }
.users-edit-button { min-block-size:31px; padding:4px 9px; color:#2364b5; border-color:#dce9f8; background:#f4f8fe; font-size:.64rem; }
.users-edit-button:hover { color:#174f92; background:#eaf2fc; }
.users-edit-button svg { inline-size:14px; block-size:14px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.users-empty { display:grid; justify-items:center; gap:4px; padding:35px; color:#8091a3; }
.users-empty>span { font-size:2rem; }
.users-empty strong { color:#4c6176; font-size:.82rem; }
.users-empty p { margin:0; font-size:.68rem; }
.users-pagination { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-block-start:14px; color:#8492a1; font-size:.67rem; }
.users-pagination>div { display:flex; align-items:center; gap:10px; }
.users-pagination .account-secondary-button { min-block-size:32px; padding:4px 9px; font-size:.65rem; }
.users-pagination b { color:#596d82; font-size:.7rem; }
.admin-route .admin-user-card { padding:22px; border-color:var(--account-line); border-radius:14px; box-shadow:0 4px 14px #19345008; }
.admin-route .admin-user-card h2 { padding-block-end:10px; border-block-end:1px solid #edf1f6; color:#20334c; }
.admin-route .admin-user-card p { color:#7c8da0; }
.admin-route .admin-user-form { gap:7px; }
.admin-route .admin-user-form label { margin-block-start:7px; color:#455a70; font-size:.72rem; font-weight:700; }
.admin-route .admin-user-form input,.admin-route .admin-user-form select,.admin-route .admin-user-form textarea { border-color:#dfe6ee; border-radius:9px; font:.76rem/1.8 Vazirmatn,Tahoma,sans-serif; }
.admin-route .admin-user-form .button { min-block-size:40px; border:0; border-radius:9px; font:700 .72rem Vazirmatn,Tahoma,sans-serif; cursor:pointer; }
.admin-route .admin-role-actions button { min-block-size:38px; padding:8px 13px; border-color:#dfe6ee; border-radius:9px; color:#3f5c78; font:600 .7rem Vazirmatn,Tahoma,sans-serif; transition:background .15s,border-color .15s; }
.admin-route .admin-role-actions button:hover { border-color:#b7cce4; background:#f4f8fd; }
.admin-route .account-danger .button { color:#fff; border:0; background:#bd4f55; }
.admin-route .account-danger .button:hover { background:#a53d44; }
.admin-route .admin-page-heading { align-items:center; margin-block-end:16px; }
.admin-route .admin-page-heading>h1 { margin:0; }
.admin-topbar>a { color:#2466b5; text-decoration:none; font-size:.75rem; }
@media(max-width:800px) { .account-layout { grid-template-columns:1fr; } .account-sidebar { position:static; padding:10px; } .account-sidebar-user { display:none; } .account-menu-caption,.account-sidebar-bottom { display:none; } .account-sidebar nav { grid-template-columns:repeat(3,minmax(0,1fr)); } .account-sidebar nav a { justify-content:center; gap:7px; padding:8px 5px; font-size:.68rem; } .account-nav-chevron { display:none; } }
@media(max-width:600px) { .account-main { inline-size:calc(100% - 1.3rem); padding-block:15px 28px; } .account-route .header-inner { min-block-size:62px; flex-wrap:wrap; gap:8px; } .account-route .brand { gap:7px; font-size:.74rem; } .account-route .brand small { font-size:.58rem; } .account-route .brand-symbol { inline-size:35px; block-size:35px; font-size:1.35rem; } .account-top-actions { width:100%; flex-wrap:wrap; justify-content:flex-start; gap:5px; } .account-top-actions .header-action { min-height:40px; padding:6px 8px; font-size:.62rem; } .account-secure-badge { display:none; } .account-top-home { padding:6px 8px; font-size:.66rem; } .account-welcome,.users-welcome { min-block-size:140px; padding:20px 19px; border-radius:16px; } .account-welcome-mark,.users-welcome-art { inline-size:63px; block-size:63px; border-radius:18px; } .account-welcome-mark svg,.users-welcome-art svg { inline-size:49px; block-size:49px; } .account-welcome h1,.users-welcome h1 { font-size:1.42rem; } .account-welcome p,.users-welcome p { max-inline-size:245px; font-size:.7rem; } .account-info-card,.account-security-card,.users-list-card { padding:16px 13px; } .account-card-heading { align-items:flex-start; } .account-card-heading p { max-inline-size:210px; line-height:1.8; } .account-card-icon { inline-size:35px; block-size:35px; border-radius:11px; } .account-role-pill { padding:4px 7px; font-size:.57rem; } .account-form-grid { gap:11px; } .account-form-footer { align-items:flex-start; flex-direction:column; } .account-form-footer .account-primary-button,.account-form-footer .account-secondary-button { align-self:stretch; } .account-form-footer>span { line-height:1.8; } .account-action-row { flex-wrap:wrap; gap:8px; } .account-action-copy small { max-inline-size:205px; } .account-action-row>.account-secondary-button,.account-action-row form { margin-inline-start:45px; } .users-welcome { min-block-size:140px; } .users-overview-caption { max-inline-size:105px; text-align:left; font-size:.6rem; } .users-list-heading { align-items:flex-start; } .users-list-heading p { max-width:230px; line-height:1.8; } .users-page-count { font-size:.58rem; } .users-search { flex-wrap:wrap; } .users-search input { flex-basis:calc(100% - 48px); } .users-search .account-primary-button { flex:1; } .users-pagination { align-items:flex-start; flex-direction:column; } .admin-route .admin-user-card { padding:15px; } }
@media(prefers-reduced-motion:reduce) { .account-sidebar nav a,.account-primary-button,.account-secondary-button,.users-edit-button { transition:none; } }
.admin-route .admin-page-heading { gap:15px; }
.catalog-page { padding-block:35px; }
.catalog-filters { display:flex; gap:10px; margin:18px 0; }
.catalog-filters input,.catalog-filters select { min-height:42px; padding:8px 12px; border:1px solid #d5e0eb; border-radius:9px; font:inherit; }
.catalog-filters input { flex:1; }
.admin-product-thumb { width:48px; height:48px; border-radius:8px; object-fit:contain; background:#f6f8fb; }
.admin-form { display:grid; gap:10px; max-width:780px; padding:20px; border:1px solid #e2e9f0; border-radius:14px; background:white; }
.admin-form label { margin-top:4px; color:#455a70; font-size:.8rem; font-weight:700; }
.admin-form input:not([type=checkbox]),.admin-form textarea,.admin-form select { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #d5e0eb; border-radius:9px; font:inherit; }
.admin-form fieldset { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:7px; border:1px solid #e3eaf1; border-radius:10px; }
.admin-announcement-list { display:grid; gap:10px; }
.admin-announcement-row { display:flex; justify-content:space-between; gap:14px; align-items:center; padding:12px; border:1px solid #e5ebf1; border-radius:10px; }
.admin-announcement-row p { margin:4px 0; }
.site-announcement { color:#153c55; background:#eaf5fb; border-block-end:1px solid #d1e8f3; transition:opacity .2s ease,transform .2s ease; }
.site-announcement>div { display:flex; align-items:center; gap:14px; min-height:44px; padding-block:5px; }
.site-announcement strong { flex:0 0 auto; font-size:.75rem; }
.site-announcement span { flex:1; font-size:.72rem; line-height:1.8; }
.site-announcement button { width:30px; height:30px; border:0; border-radius:50%; color:inherit; background:#d9edf7; font-size:1.2rem; cursor:pointer; }
.site-announcement.is-dismissing { opacity:0; transform:translateY(-5px); }
.site-announcement[hidden] { display:none; }
@media(max-width:650px) { .catalog-filters { flex-wrap:wrap; } .catalog-filters input,.catalog-filters select { flex:1 1 100%; } .site-announcement>div { align-items:flex-start; gap:8px; } .site-announcement strong { flex-basis:70px; padding-top:8px; } .site-announcement button { flex:0 0 30px; } .admin-announcement-row { align-items:flex-start; } }
.admin-toast { display:flex; align-items:center; gap:10px; inline-size:fit-content; max-inline-size:min(100%,640px); box-sizing:border-box; margin:12px 0; padding:11px 14px; border:1px solid #cce9d6; border-radius:12px; color:#23633b; background:#f0faf3; box-shadow:0 8px 22px #1934500d; font-size:.78rem; line-height:1.8; transition:opacity .2s ease, transform .2s ease; }
.admin-toast>span { display:grid; place-items:center; flex:0 0 23px; inline-size:23px; block-size:23px; border-radius:50%; color:#fff; background:#31945a; font-weight:800; }
.admin-toast-error { inline-size:100%; max-inline-size:100%; margin:2px 0 4px; border-color:#f0cdca; color:#922f35; background:#fff4f2; }
.admin-toast-error:empty,.admin-toast-error.validation-summary-valid { display:none; }
.admin-toast-error ul { margin:0; padding-inline-start:18px; }
.admin-toast-error li { margin:0; }
.admin-toast-error>span { background:#c25358; }
.admin-toast-close { margin-inline-start:auto; border:0; color:inherit; background:transparent; font-size:1.15rem; line-height:1; cursor:pointer; }
.admin-toast.is-dismissing { opacity:0; transform:translateY(-5px); }
.admin-image-manager { display:grid; gap:12px; margin-block:8px; padding:16px; border:1px solid #e0e8f1; border-radius:13px; background:#f8fafc; }
.admin-image-manager h2 { margin:0; color:#223f5e; font-size:.9rem; }
.admin-image-manager p { margin:4px 0 0; color:#74849a; font-size:.72rem; }
.admin-image-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(118px,1fr)); gap:10px; }
.admin-image-card { display:grid; align-content:start; gap:6px; min-width:0; padding:7px; border:1px solid #e0e7ef; border-radius:10px; background:#fff; }
.admin-image-card>span { overflow:hidden; color:#718096; font-size:.59rem; text-overflow:ellipsis; white-space:nowrap; }
.admin-image-preview { display:grid; place-items:center; width:100%; height:105px; padding:4px; border:0; border-radius:7px; background:#f3f6f9; cursor:zoom-in; }
.admin-image-preview img,.admin-image-pending-preview { width:100%; height:100%; object-fit:contain; }
.admin-image-remove { min-height:29px; border:1px solid #f0d7d7; border-radius:7px; color:#a84449; background:#fff8f8; font:inherit; font-size:.65rem; cursor:pointer; }
.admin-image-empty { color:#7b8b9d; font-size:.72rem; }
.admin-image-dialog { width:min(90vw,1000px); padding:50px 20px 20px; background:#111a26; }
@media(max-width:560px) { .header-cart { min-height:34px; padding:6px 8px; } .header-cart span { display:none; } .product-gallery { position:static; } .product-gallery-main { min-height:270px; } .product-gallery-main img { max-height:330px; } .product-gallery-thumb { width:58px; height:58px; } .product-lightbox { padding:54px 46px 40px; } }
@media(prefers-reduced-motion:reduce) { .admin-toast { transition:none; } }
.admin-route .admin-page-heading h1 { margin-block:3px 0; }
.admin-route .admin-page-heading .admin-eyebrow { color:#8396aa; font-size:.67rem; }
.admin-route .admin-user-card h2 { display:flex; align-items:center; gap:10px; }
.admin-user-section-icon { display:grid; place-items:center; inline-size:34px; block-size:34px; border-radius:11px; color:#17886e; background:#e9f7f2; }
.admin-user-section-icon svg { inline-size:18px; block-size:18px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.admin-user-section-blue { color:#2e68b3; background:#edf4fe; }
.admin-user-section-danger { color:#b94c53; background:#fff0ee; }
.admin-route .admin-user-card.account-danger { border-color:#f0d9d6; background:linear-gradient(140deg,#fff 55%,#fffafa); }
.admin-route .account-danger .admin-user-section-icon { color:#bd4f55; background:#fff0ee; }
.admin-route .admin-user-card .admin-user-form .button { box-shadow:0 3px 8px #1769d220; }
.admin-route .admin-user-card.account-danger .admin-user-form .button { box-shadow:0 3px 8px #bd4f5520; }

/* Product consultation and secure guest chat */
.consultation-section { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:48px auto; padding:32px; border:1px solid #dfe9f3; border-radius:20px; background:linear-gradient(120deg,#f1f6fc,#fff 70%); }
.consultation-section h2 { margin:8px 0; color:#183858; font-size:clamp(1.2rem,2.4vw,1.7rem); }
.consultation-section p { margin:0; color:#687e93; }
.consultation-actions,.product-consult-actions,.product-card-consult { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.consultation-actions .button,.product-consult-actions .button { min-height:43px; border-radius:11px; }
.product-card-consult { padding:0 14px 14px; }
.product-card-consult a,.product-card-consult button { min-height:35px; padding:7px 11px; border:1px solid #d8e4ef; border-radius:9px; color:#24517b; background:#f7faff; font:600 .75rem Vazirmatn,Tahoma,sans-serif; text-decoration:none; cursor:pointer; }
.product-card-consult button { color:#fff; border-color:#1769d2; background:#1769d2; }
.consultation-chat-launch { position:fixed; z-index:1000; inset-inline-end:24px; inset-block-end:22px; display:flex; align-items:center; gap:10px; min-height:54px; padding:10px 17px; border:0; border-radius:18px 18px 5px 18px; color:white; background:linear-gradient(135deg,#1769d2,#1452a2); box-shadow:0 12px 34px #102f573b; font:700 .86rem Vazirmatn,Tahoma,sans-serif; cursor:pointer; }
.consultation-chat-launch svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.consultation-chat-launch i,.consultation-expert-presence i { width:8px; height:8px; border-radius:50%; background:#b9c7d6; }
.consultation-chat-launch i.is-online { background:#54d6a4; box-shadow:0 0 0 3px #54d6a42b; }
.consultation-chat-dialog { position:fixed; inset:auto 24px 88px auto; width:min(420px,calc(100vw - 28px)); max-width:none; max-height:min(680px,calc(100dvh - 120px)); margin:0; padding:0; overflow:hidden; border:1px solid #dce7f2; border-radius:20px; color:#22344b; background:#f7f9fc; box-shadow:0 24px 80px #10294b38; }
.consultation-chat-dialog[open] { display:flex; flex-direction:column; }
.consultation-chat-dialog::backdrop { background:#0b1d344f; backdrop-filter:blur(2px); }
.consultation-chat-head { display:flex; align-items:center; gap:11px; padding:16px; color:white; background:linear-gradient(120deg,#123354,#1d5a92); }
.consultation-chat-mark { display:grid; place-items:center; width:41px; height:41px; border-radius:13px; background:#ffffff1b; }
.consultation-chat-mark svg { width:23px; fill:none; stroke:#f6c94f; stroke-width:1.8; stroke-linejoin:round; }
.consultation-chat-head h2 { margin:0; font-size:.94rem; }
.consultation-chat-head p { margin:3px 0 0; color:#d5e7f9; font-size:.69rem; }
.consultation-chat-head>button { margin-inline-start:auto; width:35px; height:35px; border:1px solid #ffffff40; border-radius:10px; color:#fff; background:#ffffff12; font-size:1.4rem; cursor:pointer; }
.consultation-chat-head { flex-shrink:0; }
.consultation-chat-start { min-height:0; }
[data-chat-history-label] { padding:8px 15px 0; color:#6b7e93; font-size:.7rem; }
[data-chat-history] { max-width:100%; margin-inline-start:8px; padding:5px; border:1px solid #d9e3ee; border-radius:7px; font:inherit; }
.consultation-chat-tools { display:flex; flex-wrap:wrap; gap:8px; }
.consultation-chat-tools button,[data-admin-chat-older] { padding:7px 12px; border:1px solid #bdd4ed; border-radius:8px; color:#195b9b; background:#edf5ff; font:inherit; font-size:.75rem; cursor:pointer; }
.consultation-chat-tools button[hidden],[data-admin-chat-older][hidden] { display:none; }
.consultation-chat-context { padding:9px 15px 0; color:#6b7e93; font-size:.68rem; }
.consultation-chat-start { display:grid; gap:8px; padding:16px; overflow:auto; }
.consultation-chat-start>p:first-of-type { margin:0 0 5px; color:#6c7d91; font-size:.74rem; line-height:1.9; }
.consultation-chat-start label,.consultation-chat-compose label { color:#304760; font-size:.72rem; font-weight:700; }
.consultation-chat-start input,.consultation-chat-start textarea,.consultation-chat-compose textarea { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #d9e3ee; border-radius:10px; outline:none; color:#20344d; background:#fff; font: .78rem/1.8 Vazirmatn,Tahoma,sans-serif; }
.consultation-chat-start input:focus,.consultation-chat-start textarea:focus,.consultation-chat-compose textarea:focus { border-color:#4286d1; box-shadow:0 0 0 3px #4286d11d; }
.consultation-chat-start button,.consultation-chat-compose button { display:flex; align-items:center; justify-content:center; gap:9px; min-height:43px; margin-block-start:5px; border:0; border-radius:11px; color:#fff; background:#1769d2; font:700 .78rem Vazirmatn,Tahoma,sans-serif; cursor:pointer; }
.consultation-chat-start button:disabled,.consultation-chat-compose button:disabled { opacity:.55; cursor:wait; }
.consultation-chat-room { min-height:0; display:grid; grid-template-rows:auto minmax(120px,1fr) auto auto; padding:12px; gap:9px; }
.consultation-chat-room[hidden],.consultation-chat-start[hidden],.consultation-chat-compose[hidden] { display:none; }
.consultation-chat-messages { display:flex; flex-direction:column; gap:9px; min-height:180px; max-height:360px; padding:5px; overflow:auto; }
.consultation-bubble { display:grid; gap:3px; max-width:86%; padding:9px 11px; border:1px solid #e1e9f2; border-radius:13px 13px 13px 4px; background:#fff; box-shadow:0 2px 7px #18385808; }
.consultation-bubble.is-mine { align-self:flex-start; border-color:#d2e6fb; border-radius:13px 13px 4px 13px; background:#eaf4ff; }
.consultation-bubble strong { color:#315b83; font-size:.66rem; }
.consultation-bubble p { margin:0; color:#263b52; font-size:.76rem; line-height:1.85; white-space:pre-wrap; overflow-wrap:anywhere; }
.consultation-bubble time { justify-self:end; color:#8998a8; font-size:.6rem; }
.consultation-chat-compose { display:grid; grid-template-columns:minmax(0,1fr) 45px; align-items:end; gap:8px; }
.consultation-chat-compose textarea { resize:vertical; min-height:45px; max-height:115px; }
.consultation-chat-compose button { width:45px; height:45px; min-height:45px; margin:0; }
.consultation-chat-compose button svg { width:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.consultation-chat-error { margin:0; color:#a83239; font-size:.7rem; }
.consultation-chat-error[hidden] { display:none; }
.consultation-admin-layout { display:grid; grid-template-columns:minmax(260px,340px) minmax(0,1fr); gap:16px; min-height:620px; }
.consultation-inbox,.consultation-admin-thread { min-width:0; border:1px solid #e1e8f0; border-radius:15px; background:#fff; }
.consultation-inbox { overflow:hidden; }
.consultation-inbox>header { display:flex; align-items:center; justify-content:space-between; padding:16px; border-block-end:1px solid #edf1f5; }
.consultation-inbox h2,.consultation-thread-header h2 { margin:0; color:#1d3652; font-size:.94rem; }
.consultation-inbox>header>span { display:grid; place-items:center; min-width:27px; height:27px; padding-inline:4px; border-radius:9px; color:#255e9d; background:#ecf4fd; font-size:.72rem; font-weight:800; }
.consultation-thread { display:flex; align-items:center; gap:10px; padding:12px; border-block-end:1px solid #f0f3f7; color:inherit; text-decoration:none; }
.consultation-thread:hover,.consultation-thread.is-selected { background:#f3f8fe; }
.consultation-thread-avatar { display:grid; flex:0 0 40px; place-items:center; width:40px; height:40px; border-radius:14px; color:#2c70bd; background:#eaf3fd; font-weight:800; }
.consultation-thread-copy { display:grid; min-width:0; gap:2px; margin-inline-end:auto; }
.consultation-thread-copy strong { font-size:.75rem; }
.consultation-thread-copy small { max-width:185px; color:#71849a; font-size:.64rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.consultation-state { color:#7e8c9c; font-size:.62rem; }
.consultation-state.is-open { color:#168568; }
.consultation-empty { padding:25px 16px; color:#8392a2; text-align:center; font-size:.75rem; }
.consultation-admin-thread { display:flex; flex-direction:column; padding:16px; }
.consultation-thread-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-block-end:13px; border-block-end:1px solid #eef2f6; }
.consultation-thread-header>div { display:flex; align-items:center; gap:10px; }
.consultation-thread-header a { color:#46709b; font-size:.72rem; text-decoration:none; }
.consultation-expert-presence { display:flex; align-items:center; gap:8px; color:#60758a; font-size:.67rem; }
.consultation-context { display:flex; flex-wrap:wrap; gap:7px; padding-block:12px; }
.consultation-context span { padding:5px 9px; border-radius:20px; color:#576f88; background:#f2f5f8; font-size:.65rem; }
.consultation-sms-history { margin-block:12px; padding:12px; border:1px solid #e5edf5; border-radius:11px; background:#fbfcfe; }
.consultation-sms-history h3 { margin:0 0 8px; color:#294a6b; font-size:.78rem; }
.consultation-sms-history p,.consultation-sms-history small { color:#687d92; font-size:.66rem; line-height:1.9; }
.consultation-sms-history .admin-table-wrap { max-width:100%; overflow:auto; }
.consultation-sms-history table { width:100%; border-collapse:collapse; font-size:.66rem; }
.consultation-sms-history th,.consultation-sms-history td { padding:8px; border-block-end:1px solid #e8edf3; text-align:start; vertical-align:top; }
.consultation-sms-history td:last-child { min-width:220px; overflow-wrap:anywhere; }
.consultation-assign-form { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:10px; border:1px solid #e5edf5; border-radius:11px; background:#f8fbff; }
.consultation-assign-form label { color:#425c75; font-size:.68rem; font-weight:700; }
.consultation-assign-form select { flex:1 1 220px; min-height:38px; padding:7px; border:1px solid #d8e3ef; border-radius:8px; background:#fff; font: .7rem Vazirmatn,Tahoma,sans-serif; }
.consultation-assign-form button,.consultation-reply-form button { min-height:38px; padding:7px 13px; border:0; border-radius:9px; color:#fff; background:#1769d2; font:700 .7rem Vazirmatn,Tahoma,sans-serif; cursor:pointer; }
.consultation-expert-setup-note { margin:8px 0; padding:10px 12px; border-inline-start:3px solid #d6a62b; border-radius:8px; color:#725d2f; background:#fff9e9; font-size:.68rem; line-height:1.9; }
.consultation-messages { display:flex; flex-direction:column; gap:9px; min-height:220px; max-height:calc(100dvh - 440px); margin-block:12px; padding:10px; overflow:auto; background:#f7f9fc; border-radius:12px; }
.consultation-message { display:grid; gap:3px; max-width:85%; padding:9px 11px; border:1px solid #e2e9f1; border-radius:12px 12px 12px 4px; background:white; }
.consultation-message.from-customer { align-self:flex-start; }
.consultation-message.from-expert { align-self:flex-end; border-color:#cfe3f7; border-radius:12px 12px 4px 12px; background:#eaf4ff; }
.consultation-message strong { color:#365d82; font-size:.67rem; }
.consultation-message p { margin:0; color:#2b3d50; font-size:.75rem; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.consultation-message time { justify-self:end; color:#8a98a7; font-size:.6rem; }
.consultation-reply-form { display:grid; gap:7px; }
.consultation-reply-form label { font-size:.7rem; font-weight:700; }
.consultation-reply-form textarea { width:100%; box-sizing:border-box; resize:vertical; padding:10px; border:1px solid #d8e2ec; border-radius:10px; font: .75rem/1.8 Vazirmatn,Tahoma,sans-serif; }
.consultation-close-form { align-self:flex-start; margin-block-start:9px; }
.consultation-close-form button { padding:7px 11px; border:1px solid #e3b9bd; border-radius:9px; color:#963c43; background:#fff8f8; font:600 .67rem Vazirmatn,Tahoma,sans-serif; cursor:pointer; }
.consultation-admin-empty { display:grid; place-content:center; justify-items:center; color:#8392a2; text-align:center; }
.consultation-admin-empty>span { color:#d4a826; font-size:2rem; }
.consultation-admin-empty h2 { margin:9px 0 0; color:#2e4560; font-size:1rem; }
.consultation-admin-empty p { font-size:.75rem; }
@media(max-width:760px) { .consultation-section { align-items:flex-start; flex-direction:column; padding:22px; } .consultation-admin-layout { grid-template-columns:1fr; } .consultation-inbox { max-height:330px; overflow:auto; } .consultation-messages { max-height:45dvh; } }
@media(max-width:480px) { .consultation-chat-launch { inset-inline-end:12px; inset-block-end:12px; min-height:48px; padding:8px 12px; border-radius:15px 15px 4px 15px; font-size:.75rem; } .consultation-chat-dialog { inset: auto 7px 68px 7px; width:auto; max-height:calc(100dvh - 85px); border-radius:16px; } .consultation-thread-header { align-items:flex-start; flex-direction:column; } .consultation-admin-thread { padding:11px; } }
@media(prefers-reduced-motion:reduce) { .consultation-chat-launch,.consultation-thread { transition:none; } }
.users-status-pending { color:#a77b2f; }
.users-status-pending>span { background:#d7a84e; box-shadow:0 0 0 3px #d7a84e1c; }
.admin-create-form { display:grid; gap:17px; max-inline-size:560px; }
.admin-create-layout { grid-template-columns:210px minmax(0,1fr); }
.admin-create-layout .account-sidebar { position:sticky; }
.admin-users-sidebar { align-self:start; }
.users-list-heading>.account-primary-button { min-block-size:35px; margin-inline-start:auto; padding:6px 11px; }
.users-list-heading>.account-primary-button svg { inline-size:16px; block-size:16px; }
@media(max-width:600px) { .admin-create-layout { grid-template-columns:1fr; } .users-list-heading { flex-wrap:wrap; } .users-list-heading>.account-primary-button { order:3; width:100%; } }

/* The admin navigation stays open on desktop and becomes a compact disclosure on phones. */
.admin-sidebar-head { display:contents; }
.admin-menu-toggle { display:none; }
.admin-menu-chevron { transition:transform .18s ease; }
.admin-menu-toggle:focus-visible { outline:3px solid #f6bd24; outline-offset:2px; }
@media(max-width:650px) {
 .admin-sidebar-head { display:flex; align-items:center; justify-content:space-between; gap:9px; }
 .admin-menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:7px; flex:0 0 auto; min-height:39px; padding:7px 9px; border:1px solid #ffffff25; border-radius:10px; color:#f4f8fd; background:#ffffff0b; font:inherit; font-size:.67rem; cursor:pointer; }
 .admin-menu-toggle svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
 .admin-menu-toggle[aria-expanded="true"] { border-color:#f6bd246b; color:#fff1b4; background:#f6bd2414; }
 .admin-menu-toggle[aria-expanded="true"] .admin-menu-chevron { transform:rotate(180deg); }
 .admin-sidebar[data-mobile-menu-ready="true"]:not([data-mobile-menu-open="true"]) #admin-navigation { display:none; }
 .admin-sidebar[data-mobile-menu-open="true"] #admin-navigation { display:grid; }
 .admin-sidebar[data-mobile-menu-open="true"] #admin-navigation { margin-block-start:2px; }
}
@media(prefers-reduced-motion:reduce) { .admin-menu-chevron { transition:none; } }

.admin-topbar-action b { display:inline-grid; place-items:center; min-inline-size:18px; block-size:18px; padding-inline:4px; border-radius:20px; color:#102b4c; background:#f6bd24; font-size:.66rem; }
.admin-notification-menu { position:relative; }
.admin-notification-menu>summary { list-style:none; }
.admin-notification-menu>summary::-webkit-details-marker { display:none; }
.admin-notification-menu[open]>summary { border-color:#9bb9d8; background:#f4f8fd; color:#165da8; }
.admin-notification-popover { position:absolute; z-index:100; inset-block-start:calc(100% + 10px); inset-inline-end:0; display:grid; width:min(370px,calc(100vw - 24px)); max-height:min(70vh,520px); overflow:auto; padding:10px; border:1px solid #dfe8f1; border-radius:14px; background:#fff; box-shadow:0 18px 50px #102b4c26; }
.admin-notification-popover>header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 9px 12px; border-block-end:1px solid #edf1f5; }
.admin-notification-popover>header strong { color:#173b5e; font-size:.82rem; }
.admin-notification-popover>header small,.admin-notification-preview time { color:#8092a5; font-size:.67rem; }
.admin-notification-preview { display:grid; gap:5px; padding:11px 10px; border-block-end:1px solid #edf1f5; color:#405a73; text-decoration:none; }
.admin-notification-preview:hover,.admin-notification-preview:focus-visible { border-radius:9px; background:#f4f8fd; outline:none; }
.admin-notification-preview.is-unread { border-inline-start:3px solid #1768d8; background:#f7faff; }
.admin-notification-preview strong { color:#203d59; font-size:.76rem; }
.admin-notification-preview span { display:-webkit-box; overflow:hidden; color:#647b92; font-size:.7rem; line-height:1.7; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.admin-notification-preview time { justify-self:start; direction:ltr; }
.admin-notification-empty { margin:0; padding:18px 10px; color:#71859a; font-size:.75rem; text-align:center; }
.admin-notification-all { display:flex; align-items:center; justify-content:space-between; margin-block-start:7px; padding:11px 10px; border-radius:9px; color:#145eaf; background:#f3f8ff; font-size:.74rem; font-weight:750; text-decoration:none; }
.admin-notification-all:hover { background:#e7f1fc; }
.site-notification-menu { position:relative; display:inline-flex; }
.site-notification-menu>summary { list-style:none; }
.site-notification-menu>summary::-webkit-details-marker { display:none; }
.site-notification-menu[open]>summary { border-color:#9bb9d8; background:#f4f8fd; color:#165da8; }
.site-notification-popover { position:absolute; z-index:100; inset-block-start:calc(100% + 10px); inset-inline-end:0; display:grid; width:min(370px,calc(100vw - 24px)); max-height:min(70vh,520px); overflow:auto; padding:10px; border:1px solid #dfe8f1; border-radius:14px; background:#fff; box-shadow:0 18px 50px #102b4c26; }
.site-notification-popover>header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 9px 12px; border-block-end:1px solid #edf1f5; }
.site-notification-popover>header strong { color:#173b5e; font-size:.82rem; }
.site-notification-popover>header small { color:#8092a5; font-size:.67rem; }
.notification-open-link { margin-block-start:5px; }
.admin-message small { display:block; color:#8190a0; font-size:.72rem; }
.admin-message>a:not(.admin-primary-link) { color:#1766b0; font-weight:700; }
.account-route .admin-message>a.notification-open-link,.account-route .admin-message>a.notification-open-link:hover { color:#fff; }
.admin-empty-state { padding:16px; border:1px dashed #ccd5df; border-radius:14px; color:#607287; background:#f8fafc; }
.contact-message-form { display:grid; gap:9px; width:min(100%,520px); padding:20px; border:1px solid #dce4ec; border-radius:18px; background:#fff; box-shadow:0 10px 34px #102b4c0b; }
.contact-message-form label,.repair-request-page label { margin-block-start:6px; color:#324a64; font-size:.82rem; font-weight:700; }
.contact-message-form input,.contact-message-form textarea,.repair-request-page input:not([type=file]),.repair-request-page textarea { width:100%; padding:10px 12px; border:1px solid #d3dce6; border-radius:10px; color:#19314c; background:#fff; font:inherit; }
.contact-message-form input:focus,.contact-message-form textarea:focus,.repair-request-page input:focus,.repair-request-page textarea:focus { outline:3px solid #d8e9f8; border-color:#3981bd; }
.repair-request-page { max-width:850px; margin:30px auto; padding:clamp(20px,4vw,42px); }
.repair-request-page .account-form { display:grid; gap:10px; max-width:650px; margin-block-start:22px; }
.repair-request-page input[type=file] { padding:13px; border:1px dashed #aebdcc; border-radius:12px; background:#f6f9fc; }
.repair-request-page small { color:#758599; }
.repair-detail { margin-block-start:24px; }
.repair-detail .admin-form { display:grid; gap:10px; max-width:650px; margin-block:22px; }
.repair-detail .admin-form label { margin-block-start:7px; color:#334b65; font-weight:700; }
.repair-detail .admin-form input,.repair-detail .admin-form select,.repair-detail .admin-form textarea { width:100%; padding:10px 12px; border:1px solid #d2dce7; border-radius:10px; font:inherit; }
.repair-detail .admin-form button,.repair-attachments a { justify-self:start; padding:10px 15px; border:0; border-radius:10px; color:#fff; background:#173858; font:inherit; font-weight:700; cursor:pointer; }
.repair-attachments { display:flex; flex-wrap:wrap; gap:9px; }
.repair-attachments a { display:flex; align-items:center; gap:8px; text-decoration:none; }
.repair-attachments small { color:#dbe6f0; }
.repair-upload-previews,.repair-gallery { display:flex; flex-wrap:wrap; gap:12px; margin-block:12px; }
.repair-upload-previews figure { width:108px; margin:0; padding:6px; border:1px solid #dce4ed; border-radius:12px; background:#fff; }
.repair-upload-previews img,.repair-thumb img { display:block; width:100%; height:92px; border-radius:8px; object-fit:cover; }
.repair-upload-previews figcaption,.repair-thumb small { display:block; overflow:hidden; margin-block-start:5px; color:#6f7f91; font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.repair-thumb { width:120px; padding:7px; border:1px solid #dce4ed; border-radius:12px; background:#fff; cursor:zoom-in; }
.repair-thumb:hover { border-color:#e5a900; box-shadow:0 4px 16px #102b4c18; }
.repair-customer-card,.repair-customer-detail { margin-block:12px; padding:20px; border:1px solid #e0e7ef; border-radius:16px; background:#fff; box-shadow:0 8px 28px #102b4c0a; }
.repair-customer-card header,.repair-track-number { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.repair-customer-card h2,.repair-customer-detail h2 { margin-block:14px 8px; font-size:1.1rem; }
.repair-customer-card p,.repair-customer-detail>p { color:#64758a; line-height:1.9; }
.repair-customer-card header strong,.repair-track-number strong { padding:6px 11px; border-radius:99px; color:#164d76; background:#eaf4fc; font-size:.78rem; }
.repair-customer-card header small,.repair-track-number span { display:block; color:#74859a; font-size:.72rem; }
.repair-customer-detail aside { margin-block:14px; padding:14px; border-inline-start:3px solid #e9ac13; border-radius:8px; background:#fff9e9; }
.repair-customer-detail aside p { margin-block:5px 0; }
.repair-customer-detail .repair-thumb { width:145px; }
.repair-description { padding:14px; border-radius:12px; white-space:pre-wrap; background:#f5f8fb; }
.admin-user-card>.admin-message { margin-block:12px; }
@media(max-width:760px) { .contact-message-form { width:100%; } .repair-request-page { margin:18px auto; } }

/* Product requirements portals */
.portal-hero{padding:clamp(2rem,6vw,5rem) 0 2.5rem;max-width:880px}.portal-hero h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.45;letter-spacing:-.04em;color:#102b4c;margin:.6rem 0}.portal-hero p{color:#526579;font-size:1.1rem;line-height:2}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.25rem;margin:1.5rem 0 3rem}.portal-card,.portal-prose,.province-panel{background:#fff;border:1px solid #dbe5ee;border-radius:24px;padding:clamp(1.3rem,3vw,2.2rem);box-shadow:0 12px 36px #102b4c06}.portal-card h2,.portal-card h3{color:#173a5e;font-size:1.25rem}.portal-card p{line-height:2;color:#526579}.portal-card:focus-within{outline:2px solid #21798d;outline-offset:3px}.portal-prose{max-width:900px;line-height:2.3;margin:0 auto 2rem}.preserve-lines{white-space:pre-line;overflow-wrap:anywhere}.portal-tabs,.portal-pagination{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.4rem 0}.portal-tabs a,.portal-pagination a{padding:.6rem 1rem;border:1px solid #cfdde8;border-radius:99px;color:#173a5e;background:#fff}.portal-empty{padding:2rem;border:1px dashed #bdcfdc;border-radius:20px;color:#526579;line-height:2;text-align:center;margin:1rem 0 3rem}.portal-muted{color:#687b8b;font-size:.9rem}.portal-lead{font-size:1.2rem}.portal-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#e1f2ee;color:#11694c;font-size:1.6rem}.team-portrait{width:96px;height:96px;object-fit:cover;border-radius:24px}.province-map{width:100%;max-height:600px;font-family:inherit}.province-map text{font-size:11px;fill:#173a5e;pointer-events:none}.province-idle{fill:#edf2f6;stroke:#d7e1e9}.province-active{fill:#b8e4c9;stroke:#218653}.province-map a:focus rect,.province-map a:hover rect{stroke:#102b4c;stroke-width:3}.province-text{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem}.portal-form{display:grid;gap:1rem;max-width:760px}.portal-form input,.portal-form select,.portal-form textarea{width:100%;padding:.8rem 1rem;border:1px solid #bdcedb;border-radius:12px;background:white;font:inherit}.portal-form label{font-weight:600;color:#173a5e}.portal-badge{display:inline-block;border-radius:99px;padding:.25rem .8rem;background:#e6f1f6;color:#174b69}.portal-table{width:100%;border-collapse:collapse}.portal-table td,.portal-table th{text-align:start;padding:1rem;border-bottom:1px solid #dbe5ee}.portal-table-wrap{overflow-x:auto}.portal-timeline{border-inline-start:2px solid #bcd5dd;padding-inline-start:1.2rem}.portal-timeline p{line-height:1.8}.portal-help{background:#edf7f6;border-inline-start:4px solid #23877c;padding:1rem;border-radius:12px}.portal-form .validation-summary-errors{color:#a22727}@media(prefers-reduced-motion:reduce){.portal-card{transition:none}}

.public-navigation{flex-wrap:wrap;gap:.8rem}.catalog-filters{flex-wrap:wrap}.catalog-filters input,.catalog-filters select{min-width:140px;max-width:100%}.portal-form input[type=checkbox]{width:auto}.portal-prose form{max-width:100%}.portal-card a{overflow-wrap:anywhere}

.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:600px){.services-grid{grid-template-columns:1fr}.province-map{display:none}.province-text{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.8rem 0}.province-text a{padding:.7rem .5rem;border:1px solid #d3e2eb;border-radius:12px;font-size:.85rem;background:#f5f9fc}}

/* Locally hosted geographic province map */
.activity-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:3.5rem 0 2rem}.activity-hero h1{font-size:clamp(2rem,4.2vw,3.5rem);letter-spacing:-.04em;color:#102b4c;line-height:1.5;margin:.5rem 0}.activity-hero p{color:#63778a;line-height:2;font-size:1.05rem}.activity-metrics{display:flex;gap:2rem;padding-bottom:1rem}.activity-metrics div{display:grid;gap:.3rem;min-width:110px}.activity-metrics strong{font-size:2.5rem;font-weight:800;line-height:1;color:#146653}.activity-metrics span{font-size:.8rem;color:#6b7c8d}.activity-explorer{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:1.5rem;align-items:start;margin-bottom:1.5rem}.iran-map-card,.province-detail-card{border:1px solid #dce7ec;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 16px 55px #142e4705}.iran-map-card{padding:1.5rem 1.7rem 1rem}.iran-map-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.iran-map-heading h2{font-size:1.15rem;margin:.3rem 0;color:#163c58}.iran-map-country{font-size:.8rem;letter-spacing:.13em;direction:ltr;color:#9baeb9}.iran-map-country span{color:#2c8b72;font-size:1.25rem;margin-inline-start:.4rem}.iran-map-legend{display:flex;gap:1.1rem;flex-wrap:wrap;margin:.9rem 0 .3rem;color:#6c7d8b;font-size:.72rem}.iran-map-legend span{display:flex;align-items:center;gap:.4rem}.iran-map-legend i{height:9px;width:9px;border-radius:3px;display:inline-block}.legend-active{background:#40a581}.legend-idle{background:#e0e8ee}.iran-map-canvas{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#f7fafb 0%,#fff 72%);border-radius:20px;margin:.5rem -.3rem}.iran-map-svg{display:block;width:100%;height:auto;max-height:650px;overflow:hidden}.iran-map-region path{fill:#e6edf1;stroke:#fff;stroke-width:1.3;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .16s ease,stroke .16s ease}.iran-map-region.has-activities path{fill:#49a785}.iran-map-region:hover path{fill:#b8dacc;stroke:#5a9e87}.iran-map-region.has-activities:hover path{fill:#27896a}.iran-map-region.is-selected path{fill:#237d91;stroke:#154c68;stroke-width:1.5}.iran-map-region:focus-visible{outline:none}.iran-map-region:focus-visible path{stroke:#083d5c;stroke-width:3;fill:#a0d3c9}.iran-map-label{font-family:inherit;font-size:12px;font-weight:550;fill:#304f60;pointer-events:none;dominant-baseline:middle;paint-order:stroke;stroke:#ffffffb3;stroke-width:2.3px;stroke-linejoin:round}.iran-map-label.is-small{font-size:8px;stroke-width:1.8}.iran-map-water{font:11px inherit;fill:#93b0bd;pointer-events:none;letter-spacing:.04em}.iran-map-zoom{position:absolute;bottom:12px;left:8px;display:flex;gap:4px;padding:4px;border:1px solid #e2eaef;border-radius:12px;background:#ffffffed}.iran-map-zoom button{display:grid;place-items:center;border:0;border-radius:8px;width:32px;height:32px;background:#f3f7f8;color:#254f63;cursor:pointer;font:1.1rem inherit}.iran-map-zoom button:hover{background:#dfeee9}.iran-map-select{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;border-top:1px solid #e9eef2;padding-top:1rem}.iran-map-select label{font-size:.8rem;color:#667b8b}.iran-map-select select{width:100%;padding:.65rem .9rem;border:1px solid #dbe5ed;background:#f8fafb;border-radius:12px;font:inherit;color:#244b60}.iran-map-attribution{font-size:.6rem;color:#8395a1;line-height:1.8;margin:.8rem 0 0}.iran-map-attribution a{color:#6b8491;text-decoration:underline;text-underline-offset:3px}.province-detail-card{padding:1.8rem;position:sticky;top:1.5rem;scroll-margin-top:1.5rem}.province-detail-card:focus{outline:none}.province-detail-card:focus-visible{outline:2px solid #428a8f;outline-offset:3px}.province-detail-card>h2{font-size:1.65rem;color:#163c58;margin:.5rem 0}.province-detail-count{color:#7c8c99;font-size:.82rem}.province-welcome{border:1px dashed #d2e2e6;border-radius:20px;padding:1.8rem 1rem;text-align:center;margin:1.5rem 0;color:#768b99;line-height:2;font-size:.9rem;background:#fafcfc}.province-welcome>span{display:block;font-size:2.3rem;color:#accac8}.province-welcome a{color:#247a7a;font-weight:600}.province-activity{position:relative;padding:1.2rem 0 1.2rem;border-bottom:1px solid #e9eff2}.province-activity:last-child{border-bottom:0}.province-activity h3{font-size:1.05rem;color:#214358;margin:.6rem 0}.province-activity>p{font-size:.86rem;line-height:2;color:#667c8c}.province-activity-year{display:inline-block;background:#e9f4ef;color:#258263;border-radius:7px;padding:.2rem .6rem;font-size:.72rem}.province-activity-customer{color:#7c8e9c!important;font-size:.75rem!important}.province-activity-list{max-height:550px;overflow:auto;scrollbar-width:thin}.province-map-status{font-size:.8rem;color:#287785;min-height:0}.province-map-status:empty{display:none}.province-permalink{display:flex;justify-content:space-between;padding:1rem 0;font-size:.78rem;color:#287a80}.province-permalink[hidden]{display:none}.province-project-cta{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.7rem;padding:1rem;border-radius:13px;color:#fff;background:#143e55;font-size:.8rem}.province-project-cta:hover{background:#1b596c;color:#fff}.province-directory{margin:1rem 0 3rem;padding:1.2rem 1.5rem;border:1px solid #e0e8ed;border-radius:18px;color:#5c7587;font-size:.82rem}.province-directory nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-top:1rem}.province-directory nav a{display:flex;justify-content:space-between;border-radius:9px;padding:.6rem .8rem;background:#fff;border:1px solid #e5ecef}.province-directory nav a span{color:#2e8c70}.iran-map-region{touch-action:manipulation}
@media(max-width:1000px){.activity-explorer{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr)}.iran-map-card{padding:1.1rem}.province-detail-card{padding:1.3rem}.iran-map-label{font-size:13px}}
@media(max-width:850px){.activity-explorer{grid-template-columns:1fr}.province-detail-card{position:static}.activity-hero{padding-top:2rem}.activity-metrics{gap:1.1rem}.activity-metrics div{min-width:80px}.activity-metrics strong{font-size:2rem}.iran-map-svg{max-height:none}.province-activity-list{max-height:none}}
@media(max-width:520px){.activity-hero{display:block}.activity-metrics{margin-top:1.5rem;gap:2rem}.activity-metrics div{min-width:90px}.activity-metrics strong{font-size:1.9rem}.iran-map-card{border-radius:22px;padding:1.1rem .8rem}.iran-map-heading h2{font-size:1rem}.iran-map-country{font-size:.66rem}.iran-map-legend{font-size:.65rem;gap:.8rem}.iran-map-label{display:none}.iran-map-water{font-size:17px}.iran-map-select{grid-template-columns:1fr;gap:.5rem}.province-directory nav{grid-template-columns:repeat(2,minmax(0,1fr))}.iran-map-attribution{font-size:.58rem}.province-detail-card{border-radius:22px;padding:1.4rem}.province-directory{padding:1rem}.activity-hero h1{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.iran-map-region path{transition:none}}

.activities-route .site-header{position:relative;top:auto}.iran-map-region.has-activities.is-selected path{fill:#218468;stroke:#145f46}.iran-map-water{font-family:inherit;font-size:11px}.iran-map-zoom button{font-family:inherit;font-size:1.1rem}

.activity-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin:0 0 1rem}.activity-photo-cover{grid-column:1/-1;position:relative;display:block;border-radius:14px;overflow:hidden;background:#eef4f6}.activity-photo-cover>img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .2s ease}.activity-photo-cover:hover>img{transform:scale(1.025)}.activity-photo-cover>span{position:absolute;inset-inline-end:.6rem;bottom:.6rem;display:flex;gap:.8rem;align-items:center;padding:.3rem .65rem;border-radius:8px;background:#12394ede;color:#fff;font-size:.7rem}.activity-photo-cover b{font-size:1rem}.activity-photo-thumbnail{display:block;border-radius:8px;overflow:hidden;border:1px solid #dbe5eb;background:#f0f5f7}.activity-photo-thumbnail>img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover}.activity-gallery>[data-activity-photo]:nth-child(n+6){display:none}.activity-gallery a:focus-visible{outline:3px solid #2b8d77;outline-offset:3px}.activity-photo-dialog{border:0;border-radius:20px;background:#0d2537;color:#fff;padding:1rem;width:min(1050px,94vw);max-height:94dvh;box-shadow:0 25px 100px #0005;overflow:auto}.activity-photo-dialog::backdrop{background:#081825d9;backdrop-filter:blur(6px)}.activity-photo-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.85rem;color:#c5d7e0;margin-bottom:.7rem}.activity-photo-dialog button{display:grid;place-items:center;border:1px solid #ffffff26;border-radius:10px;min-width:40px;height:40px;background:#ffffff10;color:#fff;font:inherit;font-size:1.5rem;cursor:pointer}.activity-photo-dialog button:disabled{opacity:.25;cursor:default}.activity-photo-dialog-stage{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:.6rem;direction:rtl}.activity-photo-dialog-stage>img{display:block;width:100%;max-height:73dvh;object-fit:contain;border-radius:10px;background:#081d2a}.activity-photo-dialog>p{font-size:.8rem;line-height:1.8;text-align:center;color:#bdd0da;margin:1rem 0 .2rem}.activity-photo-dialog button:focus-visible{outline:2px solid #8bdfc5;outline-offset:2px}.activity-photo-editor{border:1px solid #dbe6ec;background:#f8fbfc;border-radius:18px;padding:1rem;margin:.7rem 0}.activity-photo-editor-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.activity-photo-editor-head h3{font-size:1rem;margin:.3rem 0}.activity-photo-editor-head>span{font-size:.7rem;background:#e5f1ec;color:#1b7958;border-radius:8px;padding:.3rem .6rem}.activity-photo-editor>p,.activity-photo-editor>small{font-size:.76rem;line-height:1.9;color:#687f8e}.activity-admin-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0}.activity-admin-photo{background:#fff;border:1px solid #dbe5eb;border-radius:12px;padding:.5rem;transition:opacity .15s}.activity-admin-photo img{display:block;width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:8px}.activity-admin-photo label{display:flex;align-items:center;gap:.4rem;font-size:.7rem;margin:.6rem 0 .2rem}.activity-admin-photo input{width:auto!important}.activity-admin-photo.is-removed{opacity:.45;border-color:#c87979}.activity-photo-remove{color:#a84646!important}.activity-new-photo-previews{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;margin:.7rem 0}.activity-new-photo-previews img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid #d8e5e9;border-radius:9px}.activity-photo-editor input[type=file]{background:#fff;padding:.7rem;font-size:.75rem}.activity-photo-editor [role=status]:empty{display:none}@media(max-width:600px){.activity-admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-new-photo-previews{grid-template-columns:repeat(4,minmax(0,1fr))}.activity-photo-dialog{padding:.7rem;border-radius:14px}.activity-photo-dialog-stage{grid-template-columns:32px minmax(0,1fr) 32px;gap:.3rem}.activity-photo-dialog-stage button{min-width:32px;height:36px;font-size:1.25rem}.activity-photo-dialog-stage>img{max-height:66dvh}}
@media(prefers-reduced-motion:reduce){.activity-photo-cover>img,.activity-admin-photo{transition:none}}

/* Managed content-page links */
.content-link-settings{min-width:0;border:1px solid #d9e5ed;border-radius:16px;padding:1.2rem;margin:1.2rem 0;background:#f7fafc}.content-link-settings legend{font-weight:700;color:#173a5e;padding:0 .5rem}.content-link-settings p,.content-link-settings small{font-size:.8rem;line-height:1.9;color:#64758a}.content-link-settings select{max-width:100%}.content-page-menu{position:relative}.content-page-menu summary{cursor:pointer;padding:.5rem .65rem;color:#173a5e;font-size:.85rem;font-weight:700;white-space:nowrap}.content-page-menu>div{position:absolute;inset-inline-end:0;top:100%;z-index:80;min-width:210px;max-width:min(320px,80vw);max-height:60vh;overflow:auto;padding:.6rem;background:white;border:1px solid #dbe5ee;border-radius:14px;box-shadow:0 15px 45px #102b4c26}.content-page-menu>div>a{display:block;padding:.7rem 1rem;white-space:normal;overflow-wrap:anywhere}.content-page-menu>div>a:hover,.content-page-menu>div>a[aria-current=page]{background:#edf5f9;border-radius:8px}.content-page-buttons{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.5rem 0 2.5rem}.content-page-buttons>a{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;border:1px solid #cfdee7;border-radius:12px;background:#fff;padding:.85rem 1.3rem;color:#173a5e;font-weight:700;max-width:100%;overflow-wrap:anywhere}.content-page-buttons>a:hover{background:#edf6fa;border-color:#82acbf}.content-page-buttons>a:focus-visible,.content-page-menu a:focus-visible,.content-page-menu summary:focus-visible{outline:3px solid #2b8baa;outline-offset:3px}

.public-navigation{overflow:visible}
/* Wrapped, keyboard-accessible role permission toggles */
.roles-table{table-layout:fixed;white-space:normal}.roles-table th:first-child{width:21%}.roles-table th:nth-child(2){width:7%}.roles-table th:last-child{width:16%}.roles-table td{vertical-align:top;overflow-wrap:anywhere}.role-identifier{display:block;margin-top:.4rem;color:#788b9d;font-size:.65rem}.role-permission-options{display:flex;flex-wrap:wrap;gap:.5rem;min-width:0}.role-permission-option{position:relative;display:inline-flex;max-width:100%;cursor:pointer;margin:0!important}.role-permission-option input{position:absolute;inline-size:1px!important;block-size:1px;padding:0!important;opacity:0;inset-inline-start:.5rem;top:50%}.role-permission-option>span,.role-permission-fixed{display:inline-flex;align-items:center;gap:.4rem;min-height:38px;padding:.5rem .75rem;border:1px solid #d6e1eb;border-radius:10px;background:#f6f8fb;color:#607386;font-size:.72rem;line-height:1.7;white-space:normal;transition:background .15s,border-color .15s}.role-permission-option b,.role-permission-fixed b{display:inline-grid;place-items:center;flex-shrink:0;width:16px;height:16px;border:1px solid #a8bbcb;border-radius:5px;color:transparent;font-size:.6rem}.role-permission-option input:checked+span,.role-permission-fixed{border-color:#a5d5c8;background:#eaf7f1;color:#1c6c51}.role-permission-option input:checked+span b,.role-permission-fixed b{background:#26805e;border-color:#26805e;color:white}.role-permission-option:hover>span{border-color:#729ab7}.role-permission-option input:focus-visible+span{outline:3px solid #2d79c5;outline-offset:3px}.role-permission-save{margin-top:.85rem}.role-fixed-note{font-size:.7rem;color:#718298}.role-permission-fieldset{min-width:0;padding:1.2rem;border:1px solid #d9e3ec;border-radius:14px}.role-permission-fieldset legend{padding:0 .5rem;font-weight:700;color:#173a5e}.role-permission-fieldset p{font-size:.8rem;color:#718298;line-height:1.9;margin:0 0 1rem}@media(max-width:760px){.roles-table thead{display:none}.roles-table,.roles-table tbody,.roles-table tr,.roles-table td{display:block;width:100%}.roles-table td{border:0;box-sizing:border-box;padding:.65rem 1rem}.roles-table td:before{content:attr(data-label);display:block;font-size:.65rem;color:#7a8fa2;margin-bottom:.45rem}.roles-table tr{padding:.6rem 0;border-bottom:1px solid #e1e9ef}.roles-table tr:last-child{border-bottom:0}.roles-table-wrap{overflow:visible}.roles-table td:last-child{padding-bottom:1.2rem}}@media(prefers-reduced-motion:reduce){.role-permission-option>span{transition:none}}

/* Directory controls use the same typography and buttons as the user directory. */
.directory-actions,.directory-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.directory-actions{flex-shrink:0}.directory-row-actions{min-block-size:52px}
.admin-form.member-editor fieldset.member-links{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;gap:12px}
.member-link-field{display:grid;gap:7px;min-inline-size:0}.member-links>small{grid-column:1/-1}
.member-editor input::file-selector-button{font:inherit;border:1px solid #d5e0eb;border-radius:8px;background:#f3f7fb;color:#244b70;padding:7px 12px;margin-inline-end:10px;cursor:pointer}
.directory-row-actions button,.users-search button,.member-editor button{font-family:Vazirmatn,Tahoma,sans-serif}
@media(max-width:700px){.admin-form.member-editor fieldset.member-links{grid-template-columns:minmax(0,1fr)}.directory-actions{flex-shrink:1}}
/* Public header proposal. Scoped so account and administration layouts are unchanged. */
.public-route .compact-site-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #e5e9ee;box-shadow:0 2px 8px #102c4c05}
.compact-site-header>.shell,.compact-site-header .compact-nav-row,.compact-contact-strip>.shell{inline-size:min(1320px,calc(100% - 48px));margin-inline:auto}
.compact-contact-strip .contact-strip-inner{min-block-size:30px;font-size:.67rem}.compact-contact-strip .contact-strip-field{color:#b8cada}
.compact-header-main{display:flex;align-items:center;gap:32px;min-block-size:90px;padding-block:14px}
.public-route .compact-brand{flex-shrink:0;gap:14px;font-size:.98rem;white-space:nowrap;line-height:1.7}
.public-route .compact-brand .brand-symbol{width:112px;height:53px;padding:5px 9px;flex-shrink:0;border-radius:12px;background:#102b45;box-shadow:none}
.public-route .compact-brand .brand-symbol img{width:94px;height:43px;object-fit:contain}
.public-route .compact-brand small{font-size:.6rem;color:#8b98a7;margin-top:4px;font-weight:400}
.compact-search{display:flex;align-items:center;flex:1;min-width:100px;background:#f2f3f5;border:1px solid transparent;border-radius:9px;padding:0 12px;gap:8px;height:46px;position:relative}
.compact-search:focus-within{border-color:#98b0c7;background:#fff;box-shadow:0 0 0 3px #12345008}
.compact-search input{width:100%;min-width:0;padding:10px 0;background:transparent;border:0;outline:0;font:.8rem/1.8 Vazirmatn,Tahoma,sans-serif;color:#17334d}
.compact-search input::placeholder{color:#8b96a4}.compact-search button{display:grid;place-items:center;border:0;padding:0;background:transparent;color:#67788a;cursor:pointer;min-width:28px;min-height:38px}
.compact-site-header svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.compact-user-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.compact-account-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:7px 12px;border:1px solid #e1e6ec;border-radius:8px;background:#fff;color:#20374f;text-decoration:none;font:600 .76rem/1.8 Vazirmatn,Tahoma,sans-serif;white-space:nowrap;cursor:pointer}
.compact-site-header .compact-chevron{width:14px;height:14px}.compact-icon{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:42px;background:transparent;border:0;border-radius:8px;color:#33475d;text-decoration:none;cursor:pointer}
.compact-icon:hover,.compact-account-button:hover{background:#f5f7f9;color:#102b4c}.compact-cart{border-inline-start:1px solid #e2e7ed;border-radius:0;padding-inline-start:10px;width:48px}
.compact-cart-count{position:absolute;top:0;inset-inline-end:0;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font:700 .6rem/1 Vazirmatn,Tahoma,sans-serif;background:#f3b624;color:#17304b;border:2px solid #fff}
.compact-notification-dot{position:absolute;width:7px;height:7px;top:7px;inset-inline-end:8px;border-radius:50%;background:#efb526;border:1px solid #fff}
.compact-dropdown{position:relative}.compact-dropdown>summary{list-style:none}.compact-dropdown>summary::-webkit-details-marker{display:none}
.compact-account-popover{position:absolute;top:calc(100% + 10px);inset-inline-end:0;z-index:40;display:grid;min-width:210px;max-width:calc(100vw - 24px);padding:7px;border:1px solid #e3e9ef;border-radius:10px;background:#fff;box-shadow:0 12px 32px #102b4c18;text-align:start}
.compact-account-popover a,.compact-account-popover button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border:0;background:transparent;border-radius:6px;text-decoration:none;color:#3a5067;font:400 .78rem/1.8 Vazirmatn,Tahoma,sans-serif;cursor:pointer;text-align:start}
.compact-account-popover a:hover,.compact-account-popover button:hover{background:#f5f7fa}.compact-account-popover form{border-top:1px solid #edf0f4;margin-top:5px;padding-top:5px}.compact-account-popover button{color:#c9464d}
.compact-nav-border{border-top:1px solid #f2f4f6}.compact-nav-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:52px}
.compact-navigation{display:flex;align-items:stretch;gap:26px;white-space:nowrap;min-width:0;min-height:52px}
.compact-navigation>a,.compact-more-menu>summary{display:flex;align-items:center;gap:5px;position:relative;padding:13px 0;font-size:.78rem;font-weight:500;line-height:26px;text-decoration:none;color:#536273;cursor:pointer}
.compact-navigation>a:hover,.compact-more-menu>summary:hover{color:#102b4c}.compact-navigation>a.is-current{color:#102b4c;font-weight:750}.compact-navigation>a.is-current:after{position:absolute;content:'';bottom:0;inset-inline:0;height:3px;border-radius:3px;background:#efb526}
.compact-more-menu .compact-account-popover{inset-inline-start:0;inset-inline-end:auto}.compact-consultation{display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:6px 14px;border:1px solid #102b4c;border-radius:7px;background:#102b4c;color:#fff;text-decoration:none;white-space:nowrap;font-size:.73rem;font-weight:600}
.compact-consultation svg{color:#eeb626;width:18px;height:18px}.compact-consultation:hover{color:#fff;background:#1b405e}
.compact-menu-toggle,.compact-mobile-shortcuts{display:none}
@media(max-width:1150px){
 .compact-header-main{display:grid;grid-template-columns:40px 1fr auto;gap:12px;min-height:0;padding-block:12px}
 .compact-menu-toggle{display:flex}.public-route .compact-brand{justify-self:center}.compact-brand-copy{display:none}.public-route .compact-brand .brand-symbol{width:100px;height:43px}.public-route .compact-brand .brand-symbol img{height:35px;width:85px}
 .compact-search{grid-row:2;grid-column:1/-1;width:100%;height:42px}.compact-user-actions{gap:5px}.compact-account-button{padding:7px;border-color:transparent;min-width:36px}.compact-account-button>span,.compact-account-button .compact-chevron{display:none}.compact-cart{width:38px;padding-inline-start:0;border:0}.compact-icon{width:34px}
 .compact-site-header>.shell,.compact-site-header .compact-nav-row{inline-size:calc(100% - 24px)}.compact-contact-strip{display:none}
 .compact-nav-border{display:none}.compact-site-header[data-menu-open] .compact-nav-border{display:block}.compact-nav-row{display:grid;padding-block:8px 14px}.compact-navigation{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.compact-navigation>a,.compact-more-menu>summary{padding:8px 7px;min-height:44px}.compact-navigation>a.is-current:after{inset-inline:7px;bottom:5px;width:25px}.compact-more-menu .compact-account-popover{position:static;box-shadow:none;border:0;min-width:0;padding:0}.compact-more-menu[open]{grid-column:1/-1}
 .compact-mobile-shortcuts{display:flex;align-items:center;justify-content:space-around;min-height:40px;border-top:1px solid #f0f2f5}.compact-mobile-shortcuts a{text-decoration:none;color:#42566c;font-size:.73rem;padding:5px 18px}.compact-mobile-shortcuts a+a{border-inline-start:1px solid #edf0f4}
 .compact-notifications .site-notification-popover{position:fixed;top:64px;left:12px;right:12px;width:auto;max-height:65vh}.compact-account-popover{min-width:190px}
}
@media(prefers-reduced-motion:reduce){.compact-site-header *{scroll-behavior:auto}}
.portal-help:has(>.button){display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.portal-help:has(>.button)>.button{margin:0}
.partnership-card{max-width:900px}
.requests-dashboard{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}
.requests-dashboard>.portal-card{min-width:0}
.request-list{display:grid;gap:.75rem;list-style:none;margin:1rem 0 0;padding:0}
.request-list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0;padding:1rem;border:1px solid #dbe5ee;border-radius:12px;background:#fff;color:#173a5e;text-decoration:none}
.request-list-item:hover{border-color:#9bb3c9;background:#f8fafc}
.request-list-copy{display:grid;gap:.35rem;min-width:0}
.request-list-copy strong{overflow-wrap:anywhere}
.request-list-copy time{color:#687b8b;font-size:.8rem}
.requests-list .portal-empty{margin:1rem 0 0;padding:1rem}
@media(max-width:760px){.requests-dashboard{grid-template-columns:1fr}}
.admin-nav-group{border:1px solid #ffffff0c;border-radius:10px;overflow:hidden}.admin-nav-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:8px 11px;color:#e3edf8;font-size:.76rem;font-weight:700;cursor:pointer}.admin-nav-group>summary::-webkit-details-marker{display:none}.admin-nav-group>summary:after{content:'⌄';color:#9fb4ca}.admin-nav-group[open]>summary{color:#ffdf75;background:#ffffff08}.admin-nav-submenu{display:grid;gap:3px;padding:2px 6px 7px}.admin-nav-submenu>a{display:flex;align-items:center;min-height:36px;padding:6px 10px 6px 8px;border-radius:7px;color:#c9d8e8;text-decoration:none;font-size:.72rem}.admin-nav-submenu>a:hover,.admin-nav-submenu>a.is-current{color:#fff;background:#ffffff12}.admin-nav-submenu>a.is-current{box-shadow:inset -3px 0 #f6bd24}.admin-nav-dashboard{padding:10px;color:#fff;text-decoration:none;border-radius:9px}.admin-nav-dashboard.is-current{background:#ffffff12;color:#ffe17e}
.partner-attachment-panel{margin:1.5rem 0;padding:1.25rem;border:1px solid #dbe5ee;border-radius:16px;background:#f7fafc}.partner-attachment-panel>h3{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 1rem;color:#173a5e;font-size:1rem;line-height:1.8}.partner-attachment-panel>h3 span{flex:none;padding:.2rem .65rem;border-radius:99px;background:#e6f1f6;color:#174b69;font-size:.75rem;font-weight:500}.partner-attachment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:1rem}.partner-attachment-card{min-width:0;overflow:hidden;border:1px solid #dbe5ee;border-radius:12px;background:#fff}.partner-attachment-preview{display:grid;place-items:center;block-size:170px;overflow:hidden;background:#edf3f8;color:#173a5e;text-decoration:none}.partner-attachment-preview img{display:block;inline-size:100%;block-size:100%;object-fit:contain}.partner-attachment-pdf{align-content:center;gap:.45rem}.partner-attachment-pdf>span{display:grid;place-items:center;inline-size:58px;block-size:68px;border:1px solid #e6b6bb;border-radius:8px;background:#fff6f6;color:#a13e48;font-size:1.1rem;font-weight:700}.partner-attachment-pdf small{color:#526579;font-size:.75rem}.partner-attachment-meta{display:grid;gap:.4rem;padding:.75rem}.partner-attachment-meta strong{overflow:hidden;color:#243c54;font-size:.8125rem;line-height:1.8;text-overflow:ellipsis;white-space:nowrap}.partner-attachment-meta>span{color:#687b8b;font-size:.75rem}.partner-attachment-open{display:inline-flex;align-items:center;justify-content:center;min-block-size:var(--ui-control-height,42px);margin-top:.2rem;padding:.45rem .75rem;border:1px solid #bdccda;border-radius:var(--ui-control-radius,8px);background:#fff;color:#173a5e;text-decoration:none;font:500 .8125rem/1.8 var(--ui-font,Vazirmatn,Tahoma,sans-serif)}.partner-attachment-open:hover{background:#edf5f9;border-color:#879fb7}@media(max-width:600px){.partner-attachment-panel{padding:.85rem}.partner-attachment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.partner-attachment-preview{block-size:135px}.partner-attachment-meta{padding:.6rem}}
.request-inbox-page .portal-hero{max-width:none;padding:1.15rem 0 1rem}.request-inbox-page .portal-hero h1{font-size:clamp(1.5rem,2vw,1.8rem);line-height:1.6;letter-spacing:normal;margin:.25rem 0}.request-inbox-page .portal-hero p{font-size:.875rem;line-height:1.8}.request-inbox-page .portal-card,.request-inbox-page .portal-prose{border-radius:16px;padding:clamp(1rem,2vw,1.5rem)}.request-inbox-page .portal-card h2,.request-inbox-page .portal-card h3{font-size:1rem;line-height:1.8}.request-inbox-page .portal-card p,.request-inbox-page .portal-card label,.request-inbox-page .portal-card select,.request-inbox-page .portal-card textarea,.request-inbox-page .portal-card input{font-size:.8125rem;line-height:1.8}.request-inbox-page .portal-grid{gap:.85rem;margin:1rem 0 2rem}.request-inbox-page .portal-badge{font-size:.75rem}.request-inbox-page .portal-form{gap:.75rem;font-size:.8125rem}.request-inbox-page .partner-attachment-panel{padding:1rem}.request-inbox-page .partner-attachment-preview{block-size:145px}.request-inbox-page .partner-attachment-meta strong{font-size:.75rem}.request-inbox-page .partner-attachment-open{min-block-size:38px;font-size:.75rem}@media(max-width:600px){.request-inbox-page .portal-hero{padding:.75rem 0}.request-inbox-page .portal-hero h1{font-size:1.4rem}.request-inbox-page .portal-card{padding:1rem}.request-inbox-page .partner-attachment-preview{block-size:125px}}
.request-grid-section{margin:1.25rem 0 2rem}.request-grid-section>h2{margin:0 0 .75rem;color:#173a5e;font-size:1rem}.request-data-grid{white-space:normal}.request-data-grid th,.request-data-grid td{vertical-align:middle}.request-data-grid td:first-child{min-width:170px;max-width:280px;overflow-wrap:anywhere}.request-data-grid td:nth-child(4){white-space:nowrap}.request-row-actions{display:flex;align-items:center;gap:.4rem;white-space:nowrap}.request-row-actions .users-edit-button,.request-row-actions .admin-danger-link{min-block-size:30px;padding:4px 9px;font-size:.7rem}.request-row-actions .admin-inline-form{display:inline-flex;margin:0}.request-row-actions .admin-danger-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #e4b4b9;border-radius:var(--ui-control-radius,8px)}
.contact-grid-section{margin-block:1rem 1.5rem}.contact-grid-section>h2{margin:0 0 .8rem;color:#173a5e;font-size:1.1rem}.contact-grid-section .admin-message-heading{margin-bottom:1rem}.contact-data-grid{white-space:normal}.contact-data-grid th,.contact-data-grid td{vertical-align:middle}.contact-data-grid td{font-size:.75rem;line-height:1.8}.contact-data-grid td:nth-child(1){min-width:130px;max-width:220px;overflow-wrap:anywhere}.contact-data-grid td:nth-child(2){min-width:145px}.contact-data-grid td:nth-child(2)>*{display:block;margin:.15rem 0}.contact-data-grid td:nth-child(3){min-width:220px;max-width:420px}.contact-message-body{white-space:pre-line;overflow-wrap:anywhere}.contact-data-grid tr.is-unread{background:#f7fbff}.contact-data-grid tr.is-unread td:first-child{border-inline-start:3px solid #2877c2}.contact-note-form{display:flex;align-items:center;gap:.4rem;min-width:210px}.contact-note-form input{min-width:0;width:100%;height:36px;padding:5px 8px;border:1px solid #d8e2ec;border-radius:7px;font:400 .75rem/1.7 var(--ui-font)}.contact-note-form button,.contact-data-grid .users-edit-button{min-block-size:32px;padding:5px 9px;font-size:.68rem;white-space:normal}.contact-data-grid form{margin:0}
.notification-grid-section{margin-block:1rem 2rem}.notification-grid-section>h2{margin:0 0 .8rem;color:#173a5e;font-size:1.1rem}.notification-data-grid{white-space:normal}.notification-data-grid th,.notification-data-grid td{vertical-align:middle}.notification-data-grid td{font-size:.75rem;line-height:1.8}.notification-data-grid td:first-child{min-width:150px;max-width:260px;overflow-wrap:anywhere}.notification-data-grid td:nth-child(3){white-space:nowrap}.notification-message{min-width:220px;max-width:440px;overflow-wrap:anywhere}.notification-data-grid tr.is-unread{background:#f6faff}.notification-data-grid tr.is-unread td{font-weight:700}.notification-data-grid tr.is-unread td:first-child{border-inline-start:3px solid #2877c2}.notification-row-actions{display:flex;align-items:center;gap:.45rem;min-width:220px}.notification-row-actions form{margin:0}.notification-row-actions .admin-primary-link,.notification-row-actions .users-edit-button{min-block-size:32px;padding:5px 9px;font-size:.68rem;white-space:normal;text-align:center}
.product-current-catalog{display:grid;justify-items:start;gap:.65rem;padding:1rem;border:1px solid #dbe5ee;border-radius:12px;background:#f7fafc}.product-current-catalog>strong{font-size:.8125rem;color:#304a63;overflow-wrap:anywhere}.product-current-catalog .admin-check{margin:0}

/* Parent brand and its two branches; original OMCOM mark is preserved. */
.public-route .compact-brand .brand-family{display:flex;flex-direction:column;align-items:center;min-width:224px;white-space:normal}
.brand-family-name{display:block;color:#f4bd42;font-size:1.38rem;font-weight:800;line-height:1.5}
.brand-family-branches{position:relative;display:grid;grid-template-columns:1.6fr 1fr;gap:10px;width:100%;padding-top:17px}
.brand-family-branches::before{content:'';position:absolute;top:0;left:50%;height:8px;border-left:1px solid #d9aa43}
.brand-family-branches::after{content:'';position:absolute;top:8px;left:19%;right:31%;height:8px;border:1px solid #d9aa43;border-bottom:0;border-radius:5px 5px 0 0}
.brand-family-branch{display:flex;align-items:center;justify-content:center;min-height:30px;padding:4px 8px;border:1px solid #ac873c;border-top:2px solid #f4bd42;border-radius:5px;background:#0d2542;color:#fff;font-size:.7rem;font-weight:600;line-height:1.7;white-space:nowrap}
@media(max-width:600px){
 .compact-header-main{grid-template-columns:34px minmax(0,1fr) auto;gap:10px}
 .public-route .compact-brand{grid-column:1/-1;grid-row:1;gap:10px;justify-content:center}
 .public-route .compact-brand .brand-symbol{width:76px;height:46px;padding:4px}
 .public-route .compact-brand .brand-symbol img{width:66px;height:36px}
 .public-route .compact-brand .brand-family{min-width:0;width:200px}
 .brand-family-name{font-size:1.2rem}
 .brand-family-branches{gap:7px}
 .brand-family-branch{font-size:.65rem;padding:4px 5px}
 .compact-menu-toggle{grid-row:2;grid-column:1}
 .compact-search{grid-row:2;grid-column:2;min-width:0;padding-inline:7px}
 .compact-user-actions{grid-row:2;grid-column:3}
 .compact-search input{font-size:.7rem}
}

.certificate-preview{display:block;background:#f3f6fa;border:1px solid #dce4ed;border-radius:10px;overflow:hidden;margin-bottom:16px}
.certificate-preview img{display:block;width:100%;height:240px;object-fit:contain;padding:12px}
.certificate-card{scroll-margin-top:220px}
.certificate-facts{margin:14px 0 20px;font-size:.85rem}
.certificate-facts>div{display:flex;flex-wrap:wrap;gap:6px 14px;padding-block:7px;border-bottom:1px solid #e5ebf2}
.certificate-facts dt{color:#63778e;min-width:85px}.certificate-facts dd{margin:0;overflow-wrap:anywhere}
.certificate-document-label{display:inline-block;padding:5px 12px;border-radius:6px;background:#eef3f8;color:#193c60;font-size:.75rem}
.certificate-delete{margin-top:10px}.certificate-delete summary{color:#a02938;cursor:pointer}.certificate-delete p{white-space:normal}
.footer-trust{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);align-items:center;gap:28px;border-top:1px solid #ffffff24;padding-block:28px 34px;margin-top:10px}
.footer-trust h2{margin-bottom:8px}.footer-trust p{color:#b8c7d8;font-size:.8rem;line-height:1.9}
.footer-certificates-link{color:#f4bd42;font-size:.8rem;text-decoration:none}
.footer-trust-marks{display:flex;align-items:stretch;justify-content:flex-start;gap:16px;flex-shrink:0}
.footer-trust-mark{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;background:#fff;border:1px solid #d7e1eb;border-radius:12px;padding:14px;text-decoration:none;color:#102b4c;min-width:150px;transition:border-color .15s}
.footer-trust-mark:hover{border-color:#f4bd42}.footer-trust-mark:focus-visible{outline:3px solid #f4bd42;outline-offset:4px}
.footer-trust-mark img{display:block;object-fit:contain;max-width:100%;height:136px}.footer-trust-cra img{width:210px}.footer-trust-enamad img{width:125px}
.footer-trust-mark span{font-size:.68rem;font-weight:600;color:#102b4c;text-align:center}
@media(max-width:700px){.footer-trust{grid-template-columns:1fr;gap:18px}.footer-trust-marks{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:10px}.footer-trust-mark{min-width:0;padding:10px}.footer-trust-mark img{height:115px}.footer-trust-mark span{font-size:.62rem}}

.admin-sms-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin: 1rem 0 .6rem;
    padding: .5rem;
    border: 1px solid var(--admin-border, #dbe3ec);
    border-radius: 14px;
    background: #fff;
}
.admin-sms-tabs a {
    padding: .65rem 1rem;
    border-radius: 10px;
    color: var(--admin-ink, #173554);
    text-decoration: none;
    font-weight: 700;
}
.admin-sms-tabs a:hover,
.admin-sms-tabs a.is-current {
    background: #e8f1fb;
    color: #075eb2;
}
.admin-sms-tabs a.is-current { box-shadow: inset 0 -2px #f5b51b; }
.admin-sms-count { margin: .45rem 0 1rem; color: #68798b; }
.admin-sms-message { min-width: 280px; max-width: 520px; white-space: normal; line-height: 1.8; }

@media (max-width: 640px) {
    .admin-sms-tabs { gap: .35rem; }
    .admin-sms-tabs a { padding: .55rem .7rem; font-size: .9rem; }
    .admin-sms-message { min-width: 200px; }
}
