/* Base shell rebuilt from the test UI visual language */
*, *::before, *::after {
    box-sizing: border-box;
}

.referral-page {
    display: grid;
    gap: 24px;
}

.referral-hero {
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.22), transparent 28%),
        linear-gradient(135deg, rgba(0, 140, 88, 0.98), rgba(17, 74, 84, 0.96));
}

.referral-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(220px, 0.65fr));
    gap: 18px;
}

.referral-share-card,
.referral-profile-card,
.referral-benefit-card,
.referral-content-card {
    overflow: visible;
}

.referral-link-box {
    display: flex;
    gap: 10px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: var(--bg-soft);
}

.referral-link-box input {
    flex: 1;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-primary);
    font-weight: 800;
}

.referral-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.referral-stats div {
    padding: 14px;
    border-radius: 18px;
    background: rgba(0, 140, 88, 0.08);
}

.referral-stats span {
    display: block;
    margin-bottom: 6px;
    color: var(--text-secondary);
    font-size: 0.82rem;
    font-weight: 700;
}

.referral-stats strong {
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 900;
}

.referral-benefit-card__icon {
    width: 50px;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    margin-bottom: 16px;
    background: linear-gradient(135deg, rgba(0, 140, 88, 0.16), rgba(245, 158, 11, 0.16));
    color: var(--green);
    font-size: 1.35rem;
}

.referral-benefit-card h3 {
    margin: 0 0 10px;
    color: var(--text-primary);
    font-weight: 900;
}

.referral-benefit-card p,
.referral-content-card li {
    color: var(--text-secondary);
    line-height: 2;
}

.referral-steps,
.referral-rules {
    margin: 0;
    padding-inline-start: 24px;
}

@media (max-width: 991.98px) {
    .referral-grid {
        grid-template-columns: 1fr;
    }

    .referral-stats {
        grid-template-columns: 1fr;
    }

    .referral-link-box {
        flex-direction: column;
    }
}

:root {
    --green: #008c58;
    --green-dark: #006b46;
    --green-light: #10b981;
    --green-border: #bfe8d7;
    --navy: #08243a;
    --navy-soft: #123a56;
    --bg-primary: #f6fafc;
    --bg-secondary: #ffffff;
    --bg-card: #ffffff;
    --bg-soft: #eef5f8;
    --text-primary: #102a3d;
    --text-secondary: #607485;
    --text-muted: #8fa5b5;
    --border: #d8e4ea;
    --border-strong: rgba(0, 140, 88, 0.18);
    --shadow-sm: 0 2px 8px rgba(8, 36, 58, 0.07);
    --shadow-md: 0 8px 30px rgba(8, 36, 58, 0.1);
    --shadow-lg: 0 20px 60px rgba(8, 36, 58, 0.12);
    --shadow-xl: 0 30px 80px rgba(8, 36, 58, 0.15);
    --glow-green: rgba(0, 140, 88, 0.2);
    --glow-green-strong: rgba(0, 140, 88, 0.34);
    --nav-bg: rgba(246, 250, 252, 0.92);
    --nav-border: rgba(0, 140, 88, 0.18);
    --success-soft: rgba(0, 140, 88, 0.08);
    --danger: #d64545;
    --danger-soft: rgba(214, 69, 69, 0.08);
    --warning: #e18a10;
    --warning-soft: rgba(225, 138, 16, 0.12);
    --surface-glass: rgba(255, 255, 255, 0.78);
    --img-header: url("../landing/home/images/header.png");
    --img-logo: url("../landing/home/images/logo.png");
    --img-box: url("../landing/home/images/box.png");
    --img-divider: url("../landing/home/images/devider.png");
}

[data-theme="dark"] {
    --green: #00c878;
    --green-dark: #008c58;
    --green-light: #19f2a1;
    --green-border: rgba(0, 200, 120, 0.55);
    --navy: #eaf6ff;
    --navy-soft: #9cb4c7;
    --bg-primary: #03111d;
    --bg-secondary: #061a2a;
    --bg-card: #081f31;
    --bg-soft: #0c2335;
    --text-primary: #eaf6ff;
    --text-secondary: #9cb4c7;
    --text-muted: #5e7d94;
    --border: #16405c;
    --border-strong: rgba(0, 200, 120, 0.24);
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.45);
    --shadow-md: 0 8px 30px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.55);
    --shadow-xl: 0 30px 80px rgba(0, 0, 0, 0.65);
    --glow-green: rgba(25, 242, 161, 0.22);
    --glow-green-strong: rgba(25, 242, 161, 0.38);
    --nav-bg: rgba(3, 17, 29, 0.95);
    --nav-border: rgba(0, 200, 120, 0.3);
    --success-soft: rgba(0, 200, 120, 0.12);
    --danger-soft: rgba(214, 69, 69, 0.14);
    --warning-soft: rgba(225, 138, 16, 0.16);
    --surface-glass: rgba(8, 31, 49, 0.76);
    --img-header: url("../landing/home/images/header-dark.png");
    --img-logo: url("../landing/home/images/logo-dark.png");
    --img-box: url("../landing/home/images/box-dark.png");
    --img-divider: url("../landing/home/images/devider-dark.png");
}

html {
    scroll-behavior: smooth;
}

body.app-body {
    margin: 0;
    min-height: 100vh;
    font-family: "Vazirmatn", sans-serif;
    background: var(--bg-primary);
    color: var(--text-primary);
    overflow-x: hidden;
    transition: background 0.35s ease, color 0.35s ease;
}

a {
    color: inherit;
}

img {
    max-width: 100%;
    display: block;
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: var(--bg-primary);
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--green), var(--green-dark));
    border-radius: 999px;
}

.app-container {
    width: min(1240px, calc(100vw - 32px));
    margin: 0 auto;
    padding: 0;
}

.system-messages {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 18px;
}

.system-alert {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid var(--border);
    background: var(--bg-secondary);
    box-shadow: var(--shadow-sm);
    color: var(--text-primary);
    position: relative;
    overflow: hidden;
}

.system-alert::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    border-radius: 18px 0 0 18px;
    background: var(--green);
}

.system-alert--success {
    background: linear-gradient(180deg, rgba(0, 140, 88, 0.08), rgba(255, 255, 255, 0.95));
    border-color: rgba(0, 140, 88, 0.18);
}

.system-alert--success::before {
    background: linear-gradient(180deg, var(--green-light), var(--green-dark));
}

.system-alert--warning {
    background: linear-gradient(180deg, rgba(225, 138, 16, 0.12), rgba(255, 255, 255, 0.96));
    border-color: rgba(225, 138, 16, 0.22);
}

.system-alert--warning::before {
    background: linear-gradient(180deg, #f2b24d, var(--warning));
}

.system-alert--danger {
    background: linear-gradient(180deg, rgba(214, 69, 69, 0.1), rgba(255, 255, 255, 0.96));
    border-color: rgba(214, 69, 69, 0.22);
}

.system-alert--danger::before {
    background: linear-gradient(180deg, #ef8a8a, var(--danger));
}

.system-alert--info {
    background: linear-gradient(180deg, rgba(18, 58, 86, 0.08), rgba(255, 255, 255, 0.96));
    border-color: rgba(18, 58, 86, 0.16);
}

.system-alert__icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-soft);
    color: var(--green);
    font-size: 1rem;
    box-shadow: inset 0 0 0 1px rgba(0, 140, 88, 0.08);
}

.system-alert--warning .system-alert__icon {
    background: rgba(225, 138, 16, 0.12);
    color: var(--warning);
    box-shadow: inset 0 0 0 1px rgba(225, 138, 16, 0.12);
}

.system-alert--danger .system-alert__icon {
    background: rgba(214, 69, 69, 0.1);
    color: var(--danger);
    box-shadow: inset 0 0 0 1px rgba(214, 69, 69, 0.12);
}

.system-alert--info .system-alert__icon {
    background: rgba(18, 58, 86, 0.1);
    color: var(--navy-soft);
    box-shadow: inset 0 0 0 1px rgba(18, 58, 86, 0.1);
}

.system-alert__body {
    flex: 1;
    min-width: 0;
    line-height: 1.9;
    font-size: 0.97rem;
    color: var(--text-primary);
    word-break: break-word;
    white-space: pre-line;
    padding-top: 1px;
}

.system-alert .btn-close {
    margin-top: 2px;
    margin-inline-start: auto;
    opacity: 0.55;
    box-shadow: none;
}

.system-alert .btn-close:hover {
    opacity: 1;
}

[data-theme="dark"] .system-alert {
    background: linear-gradient(180deg, rgba(6, 26, 42, 0.96), rgba(8, 31, 49, 0.98));
}

[data-theme="dark"] .system-alert--success {
    background: linear-gradient(180deg, rgba(0, 200, 120, 0.14), rgba(8, 31, 49, 0.98));
}

[data-theme="dark"] .system-alert--warning {
    background: linear-gradient(180deg, rgba(225, 138, 16, 0.16), rgba(8, 31, 49, 0.98));
}

[data-theme="dark"] .system-alert--danger {
    background: linear-gradient(180deg, rgba(214, 69, 69, 0.16), rgba(8, 31, 49, 0.98));
}

[data-theme="dark"] .system-alert--info {
    background: linear-gradient(180deg, rgba(18, 58, 86, 0.18), rgba(8, 31, 49, 0.98));
}

[data-theme="dark"] .system-alert__icon {
    background: rgba(255, 255, 255, 0.06);
}

.app-main {
    min-height: calc(100vh - 90px);
    padding: 138px 0 118px;
    position: relative;
}

.app-main::before {
    content: "";
    position: fixed;
    inset: 0;
    background:
        radial-gradient(circle at top right, rgba(16, 185, 129, 0.08), transparent 28%),
        radial-gradient(circle at bottom left, rgba(8, 36, 58, 0.08), transparent 30%);
    pointer-events: none;
    z-index: -1;
}

[data-theme="dark"] .app-main::before {
    background:
        radial-gradient(circle at top right, rgba(25, 242, 161, 0.1), transparent 28%),
        radial-gradient(circle at bottom left, rgba(0, 168, 255, 0.1), transparent 30%);
}

.app-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1040;
    background: var(--nav-bg);
    border-bottom: 1px solid var(--nav-border);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 4px 30px rgba(0, 140, 88, 0.07);
}

.navbar.app-navbar {
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 0 8px;
    transition: all 0.4s ease;
}

.app-header.is-scrolled .navbar.app-navbar {
    min-height: 60px;
}

.nav-logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    min-width: 0;
}

.nav-logo-mark {
    position: relative;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.nav-logo-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.35s ease;
}

.nav-logo-img--dark {
    display: none;
}

[data-theme="dark"] .nav-logo-img--light {
    display: none;
}

[data-theme="dark"] .nav-logo-img--dark {
    display: block;
}

.nav-logo:hover .nav-logo-img {
    transform: rotate(-6deg) scale(1.1);
}

.nav-logo-sub {
    display: block;
    color: var(--text-muted);
    font-size: 0.62rem;
    line-height: 1;
    margin-top: 3px;
    font-weight: 400;
    letter-spacing: 1px;
}

[data-theme="dark"] .nav-logo-sub {
    color: rgba(234, 246, 255, 0.88);
}

.nav-logo-text {
    font-size: 1.5rem;
    font-weight: 900;
    line-height: 1.2;
    background: linear-gradient(135deg, var(--green), var(--green-dark));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1;
    justify-content: center;
}

.nav-links a {
    text-decoration: none;
    color: var(--text-secondary);
    font-size: 0.87rem;
    font-weight: 500;
    padding: 8px 14px;
    border-radius: 10px;
    transition: all 0.3s ease;
    position: relative;
    display: inline-flex;
    align-items: center;
}

.nav-links a::after {
    content: "";
    position: absolute;
    bottom: 5px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--green), var(--green-light));
    border-radius: 2px;
    transition: width 0.3s ease;
}

.nav-links a:hover,
.nav-links a.is-active,
.nav-links a[aria-current="page"] {
    color: var(--green);
    background: rgba(0, 140, 88, 0.07);
}

.nav-links a:hover::after,
.nav-links a.is-active::after,
.nav-links a[aria-current="page"]::after {
    width: 55%;
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    margin-inline-start: 12px;
}

.btn-theme,
.btn-login,
.btn-register,
.verification-strip__action,
.nav-user-toggle {
    border-radius: 12px;
    transition: all 0.28s ease;
}

.btn-theme {
    width: 42px;
    height: 42px;
    border: 1px solid var(--border);
    background: var(--bg-card);
    color: var(--text-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-sm);
    text-decoration: none;
}

.btn-theme:hover {
    border-color: var(--green);
    color: var(--green);
    box-shadow: 0 0 18px var(--glow-green);
    transform: translateY(-1px);
}

.nav-category-toggle,
.nav-product-toggle {
    position: relative;
}

.nav-category-toggle::after,
.nav-product-toggle::after {
    content: "";
    position: absolute;
    top: 8px;
    left: 8px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--green-light);
    box-shadow: 0 0 12px var(--glow-green);
}

.nav-product-toggle::after {
    background: #0ea5e9;
    box-shadow: 0 0 12px rgba(14, 165, 233, 0.45);
}

.nav-product-toggle:hover {
    border-color: #0ea5e9;
    color: #0ea5e9;
    box-shadow: 0 0 18px rgba(14, 165, 233, 0.24);
}

.home-category-modal {
    --bs-modal-bg: transparent;
}

.home-category-modal .modal-dialog {
    max-width: min(920px, calc(100vw - 28px));
}

.home-category-modal__content {
    max-height: min(760px, calc(100vh - 42px));
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--bg-card);
    box-shadow: var(--shadow-xl);
    overflow: hidden;
}

.home-category-modal__header {
    align-items: center;
    border-bottom: 1px solid var(--border);
    padding: 18px 20px 14px;
    background:
        linear-gradient(135deg, rgba(0, 140, 88, 0.1), transparent 56%),
        var(--bg-card);
}

.home-category-modal__header .modal-title {
    margin: 3px 0 0;
    color: var(--text-primary);
    font-size: 1.05rem;
    font-weight: 900;
}

.home-category-modal__body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 0;
    padding: 14px 20px 20px;
}

.home-category-search {
    position: relative;
    flex: 0 0 auto;
}

.home-category-search i {
    position: absolute;
    top: 50%;
    right: 14px;
    color: var(--text-muted);
    transform: translateY(-50%);
}

.home-category-search input {
    width: 100%;
    height: 44px;
    padding: 0 42px 0 14px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--bg);
    color: var(--text-primary);
    font-family: "Vazirmatn", sans-serif;
    outline: none;
}

.home-category-search input:focus {
    border-color: var(--green);
    box-shadow: 0 0 0 4px rgba(0, 140, 88, 0.1);
}

.home-category-popup-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    max-height: min(56vh, 520px);
    overflow-y: auto;
    padding: 2px 0 2px 6px;
    scrollbar-width: thin;
    scrollbar-color: var(--green) transparent;
}

.home-category-popup-grid::-webkit-scrollbar {
    width: 7px;
}

.home-category-popup-grid::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: var(--green);
}

.home-category-popup-card[hidden] {
    display: none;
}

.home-category-popup-card {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 54px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.58);
    color: var(--text-primary);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
    transition: transform 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease;
}

[data-theme="dark"] .home-category-popup-card {
    background: rgba(8, 31, 49, 0.78);
}

.home-category-popup-card:hover {
    border-color: var(--green);
    color: var(--text-primary);
    box-shadow: 0 14px 34px var(--glow-green);
    transform: translateY(-2px);
}

.home-category-popup-card__icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    color: #fff;
    background: linear-gradient(135deg, var(--green-light), var(--green));
    box-shadow: 0 7px 16px var(--glow-green);
}

.home-product-popup-card__icon {
    background: linear-gradient(135deg, #38bdf8, #0ea5e9);
    box-shadow: 0 7px 16px rgba(14, 165, 233, 0.24);
}

.home-category-popup-card__meta {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.home-category-popup-card__meta strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.82rem;
    font-weight: 850;
}

.home-category-popup-card__meta small {
    color: var(--text-muted);
    font-size: 0.68rem;
}

@media (max-width: 575.98px) {
    .home-category-modal .modal-dialog {
        margin: 16px;
    }

    .home-category-modal__header,
    .home-category-modal__body {
        padding-inline: 14px;
    }

    .home-category-popup-grid {
        grid-template-columns: 1fr;
        max-height: min(58vh, 520px);
    }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .home-category-popup-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.theme-icon--light {
    display: none;
}

[data-theme="dark"] .theme-icon--light {
    display: inline-block;
}

[data-theme="dark"] .theme-icon--dark {
    display: none;
}

.btn-login,
.btn-register {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 18px;
    text-decoration: none;
    font-size: 0.86rem;
    font-weight: 600;
    font-family: "Vazirmatn", sans-serif;
    cursor: pointer;
    border: none;
}

.btn-login {
    border: 1.5px solid var(--green);
    color: var(--green);
    background: transparent;
}

.btn-login:hover {
    color: #fff;
    background: var(--green);
    box-shadow: 0 10px 26px var(--glow-green);
}

.btn-register,
.mobile-dock__item--primary,
.verification-strip__action,
.helper-toggle {
    background: linear-gradient(135deg, var(--green-light), var(--green));
    color: #fff;
    box-shadow: 0 8px 26px var(--glow-green);
}

[data-theme="dark"] .btn-register,
[data-theme="dark"] .mobile-dock__item--primary,
[data-theme="dark"] .verification-strip__action,
[data-theme="dark"] .helper-toggle {
    color: #03111d;
}

.btn-register:hover,
.verification-strip__action:hover,
.helper-toggle:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 38px var(--glow-green-strong);
}

.notif-badge,
.mobile-dock__badge {
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #ff7272, #d64545);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(214, 69, 69, 0.28);
}

.notif-badge {
    position: absolute;
    top: -4px;
    inset-inline-end: -5px;
}

.mobile-account__avatar {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.14), rgba(8, 36, 58, 0.08));
    color: var(--green);
    flex: 0 0 38px;
}

.mobile-account__meta small {
    color: var(--text-muted);
    font-size: 0.72rem;
}

.verification-strip {
    position: relative;
    z-index: 1030;
    background: linear-gradient(135deg, rgba(225, 138, 16, 0.12), rgba(255, 255, 255, 0.7));
    border-bottom: 1px solid rgba(225, 138, 16, 0.18);
}

[data-theme="dark"] .verification-strip {
    background: linear-gradient(135deg, rgba(225, 138, 16, 0.16), rgba(8, 31, 49, 0.84));
    border-bottom-color: rgba(225, 138, 16, 0.28);
}

.verification-strip__inner {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 0;
}

.verification-strip__icon {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: rgba(225, 138, 16, 0.14);
    color: var(--warning);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
}

.verification-strip__content {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.verification-strip__content strong {
    font-size: 0.86rem;
}

.verification-strip__content span {
    color: var(--text-secondary);
    font-size: 0.76rem;
}

.verification-strip__action {
    margin-inline-start: auto;
    min-height: 42px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 800;
}

.app-dropdown.dropdown-menu {
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--bg-card);
    box-shadow: var(--shadow-lg);
    padding: 10px;
    min-width: 240px;
}

.app-dropdown .dropdown-header,
.app-dropdown__title {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.app-dropdown .dropdown-item {
    min-height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text-primary);
    font-size: 0.86rem;
    font-weight: 600;
}

.app-dropdown .dropdown-item:hover {
    background: rgba(0, 140, 88, 0.08);
    color: var(--green);
}

.dropdown-item--danger {
    color: var(--danger);
}

.dropdown-item--danger:hover {
    background: var(--danger-soft) !important;
    color: var(--danger) !important;
}

.mobile-dock {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1035;
    padding: 8px 12px 10px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom));
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 0;
    background: var(--bg-card);
    border-top: 1px solid var(--border);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    box-shadow: 0 -8px 32px rgba(8, 36, 58, 0.1);
}

.mobile-dock__item {
    position: relative;
    flex: 1;
    border: 0;
    background: transparent;
    min-height: 50px;
    padding: 6px 4px;
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    text-decoration: none;
    color: var(--text-secondary);
    font-size: 0.62rem;
    font-weight: 600;
    text-align: center;
    transition: all 0.28s ease;
    font-family: "Vazirmatn", sans-serif;
    cursor: pointer;
}

.mobile-dock__icon {
    position: relative;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mobile-dock__item i {
    font-size: 1rem;
    transition: all 0.3s ease;
}

.mobile-dock__label {
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.mobile-dock__item::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%) scale(0);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--green);
    transition: transform 0.3s cubic-bezier(.34, 1.56, .64, 1);
}

.mobile-dock__item.is-active,
.mobile-dock__item:hover {
    color: var(--green);
}

.mobile-dock__item.is-active i,
.mobile-dock__item:hover i {
    transform: scale(1.12);
}

.mobile-dock__item.is-active::after {
    transform: translateX(-50%) scale(1);
}

.mobile-dock__item--primary {
    color: inherit !important;
    background: transparent;
    box-shadow: none;
    border: 0;
    transform: none;
}

.mobile-dock__item--primary:hover,
.mobile-dock__item--primary.is-active {
    color: #fff !important;
    background: linear-gradient(135deg, var(--green-light), var(--green));
    border-color: transparent;
    box-shadow: 0 8px 22px var(--glow-green);
}

[data-theme="dark"] .mobile-dock__item--primary {
    color: inherit !important;
}

[data-theme="dark"] .mobile-dock__item--primary:hover,
[data-theme="dark"] .mobile-dock__item--primary.is-active {
    color: #03111d !important;
    background: linear-gradient(135deg, #19f2a1, #00c878);
}

.mobile-dock__item--primary .mobile-dock__icon {
    width: 28px;
    height: 28px;
    border-radius: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

[data-theme="dark"] .mobile-dock__item--primary .mobile-dock__icon {
    background: transparent;
    border-color: transparent;
}

.mobile-dock__item--primary:hover .mobile-dock__icon,
.mobile-dock__item--primary.is-active .mobile-dock__icon {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

@media (max-width: 390px) {
    .mobile-dock {
        padding-inline: 8px;
    }

    .mobile-dock__label {
        font-size: 0.56rem;
        letter-spacing: 0;
    }
}

.mobile-dock__badge {
    position: absolute;
    top: -6px;
    left: -6px;
    min-width: 16px;
    height: 16px;
    font-size: 0.55rem;
    border: 2px solid var(--bg-card);
}

.mobile-sheet.offcanvas {
    border: 0;
    border-radius: 28px 28px 0 0;
    background: var(--bg-card);
    color: var(--text-primary);
    min-height: min(82vh, 740px);
    box-shadow: var(--shadow-xl);
}

.mobile-sheet__grab {
    width: 64px;
    height: 6px;
    border-radius: 999px;
    background: var(--border);
    margin: 10px auto 0;
}

.mobile-sheet .offcanvas-header {
    padding: 16px 20px 8px;
}

.mobile-sheet .offcanvas-body {
    padding: 8px 20px 28px;
}

.mobile-sheet__eyebrow {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.mobile-account {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(0, 140, 88, 0.06), rgba(255, 255, 255, 0.88));
    margin-bottom: 18px;
}

[data-theme="dark"] .mobile-account {
    background: linear-gradient(135deg, rgba(0, 200, 120, 0.08), rgba(8, 31, 49, 0.94));
}

.sheet-grid {
    display: grid;
    gap: 16px;
}

.sheet-section {
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 16px;
    background: var(--bg-secondary);
    box-shadow: var(--shadow-sm);
}

.sheet-section h6 {
    margin: 0 0 12px;
    color: var(--text-secondary);
    font-size: 0.78rem;
    font-weight: 800;
}

.sheet-links {
    display: grid;
    gap: 10px;
}

.sheet-link {
    min-height: 48px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 16px;
    text-decoration: none;
    color: var(--text-primary);
    border: 1px solid var(--border);
    background: var(--bg-soft);
    font-size: 0.88rem;
    font-weight: 700;
}

.sheet-link--button {
    width: 100%;
    text-align: right;
    font-family: "Vazirmatn", sans-serif;
    cursor: pointer;
}

.app-dropdown--notifications {
    min-width: min(96vw, 460px);
    padding: 14px;
}

.mobile-notif-menu__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 4px 4px 10px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 10px;
}

.mobile-notif-menu__header strong {
    font-size: .9rem;
}

.mobile-notif-menu__all,
.mobile-notif-item__link,
.mobile-notif-item__read {
    text-decoration: none;
    font-size: .78rem;
    font-weight: 700;
}

.mobile-notif-menu__all,
.mobile-notif-item__link {
    color: var(--green);
}

.mobile-notif-menu__list {
    display: grid;
    gap: 10px;
    max-height: min(62vh, 500px);
    overflow: auto;
}

@media (min-width: 992px) {
    .app-dropdown--notifications {
        min-width: 520px;
        max-width: 560px;
    }
}

.mobile-notif-item {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--bg-soft);
}

.mobile-notif-item__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
}

.mobile-notif-item__top strong {
    font-size: .82rem;
}

.mobile-notif-item__top small,
.mobile-notif-item__message {
    color: var(--text-muted);
}

.mobile-notif-item__message {
    font-size: .76rem;
    line-height: 1.8;
    margin-bottom: 10px;
}

.mobile-notif-item__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.mobile-notif-item__read {
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--text-secondary);
    font-family: "Vazirmatn", sans-serif;
    cursor: pointer;
}

.mobile-notif-menu__empty {
    padding: 18px 8px 10px;
    text-align: center;
    color: var(--text-muted);
    font-size: .82rem;
}

.sheet-link:hover {
    border-color: var(--green-border);
    color: var(--green);
    background: rgba(0, 140, 88, 0.07);
}

.page-hero {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    padding: 32px;
    margin-bottom: 24px;
    background:
        linear-gradient(135deg, rgba(8, 36, 58, 0.88) 0%, rgba(8, 36, 58, 0.55) 50%, rgba(0, 107, 70, 0.4) 100%);
    color: #fff;
    box-shadow: var(--shadow-lg);
}

[data-theme="dark"] .page-hero {
    background:
        linear-gradient(135deg, rgba(3, 17, 29, 0.94) 0%, rgba(3, 17, 29, 0.7) 50%, rgba(0, 60, 40, 0.46) 100%);
}

.page-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 6px 16px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #d7ffee;
    font-size: 0.74rem;
    font-weight: 800;
}

.page-hero__title {
    margin: 0;
    font-size: clamp(1.7rem, 2.8vw, 2.5rem);
    line-height: 1.35;
    font-weight: 900;
}

.page-hero__subtitle {
    margin: 14px 0 0;
    max-width: 760px;
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.98rem;
    line-height: 1.9;
}

.page-card,
.auth-card,
.page-panel {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid var(--border);
    background: var(--bg-card);
    box-shadow: var(--shadow-md);
}

.page-card {
    padding: 26px;
}

.page-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}

.page-card__header h2,
.page-card__header h3 {
    margin: 6px 0 0;
    font-size: 1.18rem;
    font-weight: 900;
    color: var(--text-primary);
}

.page-card__header p {
    margin: 8px 0 0;
    color: var(--text-secondary);
    line-height: 1.8;
    font-size: 0.92rem;
}

.page-card__eyebrow,
.auth-eyebrow,
.dashboard-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(0, 140, 88, 0.09);
    color: var(--green);
    font-size: 0.72rem;
    font-weight: 800;
}

.app-form,
.app-form .form-grid {
    display: grid;
    gap: 18px;
}

.form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-grid__item--wide {
    grid-column: 1 / -1;
}

.form-label,
.app-form label {
    display: block;
    margin-bottom: 8px;
    color: var(--text-primary);
    font-size: 0.84rem;
    font-weight: 800;
}

.form-control,
.form-select {
    min-height: 52px;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 0.94rem;
    padding: 0.82rem 1rem;
    box-shadow: none !important;
}

.form-control::placeholder,
.form-select::placeholder,
input::placeholder,
textarea::placeholder {
    color: color-mix(in srgb, var(--text-muted) 82%, transparent);
    opacity: 1;
}

.form-select,
select.form-control {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23008c58' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left 14px center;
    background-size: 14px;
    padding-left: 40px;
}

[data-theme="dark"] .form-select,
[data-theme="dark"] select.form-control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2319f2a1' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

textarea.form-control {
    min-height: 128px;
    resize: vertical;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--green);
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.12) !important;
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.input-with-icon {
    position: relative;
}

.input-with-icon i {
    position: absolute;
    top: 50%;
    inset-inline-start: 16px;
    transform: translateY(-50%);
    color: var(--text-muted);
    pointer-events: none;
}

.input-with-icon .form-control,
.input-with-icon input,
.input-with-icon textarea,
.input-with-icon select {
    padding-inline-start: 44px;
}

.form-floating-icon label {
    display: block;
    margin-bottom: 8px;
}

.form-actions,
.app-form__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.form-hint,
.helptext {
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.75;
}

.form-error-box {
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(214, 69, 69, 0.22);
    background: var(--danger-soft);
    color: var(--danger);
    font-size: 0.86rem;
    line-height: 1.8;
}

.field-error {
    margin-top: 8px;
    color: var(--danger);
    font-size: 0.77rem;
    font-weight: 700;
}

.info-stack {
    display: grid;
    gap: 12px;
}

.info-pill {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 54px;
    padding: 12px 16px;
    border-radius: 16px;
    background: var(--bg-soft);
    border: 1px solid var(--border);
}

.info-pill span {
    color: var(--text-secondary);
    font-size: 0.82rem;
}

.info-pill__step {
    color: var(--green) !important;
    font-weight: 800;
}

.info-pill strong {
    color: var(--text-primary);
    font-size: 0.88rem;
}

.info-pill--demo {
    background: rgba(0, 140, 88, 0.08);
    border-color: var(--green-border);
}

.auth-page {
    width: min(1040px, 100%);
    margin: 0 auto;
}

.auth-card {
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1.08fr;
    min-height: 640px;
}

.auth-card--compact {
    grid-template-columns: 0.92fr 1.08fr;
    min-height: 600px;
}

.auth-page--simple {
    width: min(560px, 100%);
}

.auth-page--simple .auth-card--compact {
    grid-template-columns: 1fr;
    min-height: auto;
}

.auth-page--simple .auth-card__body {
    padding: 42px;
}

.auth-card__visual {
    position: relative;
    overflow: hidden;
    padding: 42px 38px;
    background:
        linear-gradient(135deg, rgba(8, 36, 58, 0.88) 0%, rgba(8, 36, 58, 0.55) 50%, rgba(0, 107, 70, 0.4) 100%);
    color: #fff;
    min-height: 100%;
}

[data-theme="dark"] .auth-card__visual {
    background:
        linear-gradient(135deg, rgba(3, 17, 29, 0.94) 0%, rgba(3, 17, 29, 0.7) 50%, rgba(0, 60, 40, 0.46) 100%);
}

.auth-card__icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #d7ffee;
    margin-bottom: 18px;
}

.auth-card__visual h1 {
    margin: 0 0 12px;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.45;
}

.auth-highlight {
    color: var(--green-light);
}

.auth-card__visual p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.76);
}

.auth-card__visual .auth-eyebrow {
    color: #fff;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.auth-card__body {
    padding: 42px 38px;
}

.auth-header h2 {
    margin: 8px 0 0;
    font-size: 1.6rem;
    font-weight: 900;
}

.auth-header p {
    margin: 10px 0 0;
    font-size: 0.94rem;
    color: var(--text-secondary);
    line-height: 1.8;
}

.form-label__hint {
    color: var(--text-muted);
    font-weight: 700;
    font-size: 0.74rem;
}

.auth-footer {
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    color: var(--text-secondary);
}

.auth-footer a {
    color: var(--green);
    font-weight: 800;
    text-decoration: none;
}

[data-theme="dark"] .input-with-icon i {
    color: rgba(234, 246, 255, 0.72);
}

[data-theme="dark"] .auth-page .form-control,
[data-theme="dark"] .auth-page .form-select {
    color: #eaf6ff;
    background: rgba(8, 31, 49, 0.92);
    border-color: #1b4a68;
}

[data-theme="dark"] .auth-page .form-control::placeholder,
[data-theme="dark"] .auth-page .form-select::placeholder {
    color: rgba(234, 246, 255, 0.46);
}

.support-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 24px;
}

.about-hero {
    margin-bottom: 24px;
    background:
        radial-gradient(circle at top right, rgba(25, 242, 161, 0.16), transparent 28%),
        linear-gradient(135deg, rgba(0, 140, 88, 0.92) 0%, rgba(8, 36, 58, 0.76) 100%);
}

.about-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.about-card {
    border-color: rgba(0, 140, 88, 0.12);
}

.about-card p {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.95;
}

.about-card--contact {
    background:
        radial-gradient(circle at top right, rgba(0, 140, 88, 0.08), transparent 32%),
        var(--bg-card);
}

.about-links {
    display: grid;
    gap: 12px;
}

.about-link {
    min-height: 54px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 16px;
    text-decoration: none;
    color: var(--text-primary);
    border: 1px solid var(--border);
    background: rgba(0, 140, 88, 0.05);
    transition: all 0.25s ease;
}

.about-link:hover {
    color: var(--green);
    border-color: var(--green-border);
    background: rgba(0, 140, 88, 0.1);
    transform: translateY(-2px);
}

.about-link i {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--green-light), var(--green));
    color: #fff;
    flex: 0 0 34px;
}

.verify-page {
    display: grid;
    gap: 22px;
}

.verify-panel {
    border-radius: 28px;
    border: 1px solid var(--border);
    background: var(--bg-card);
    box-shadow: var(--shadow-md);
    padding: 26px;
}

.verify-panel__header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 20px;
}

.verify-panel__icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(0, 140, 88, 0.14), rgba(8, 36, 58, 0.06));
    color: var(--green);
    flex: 0 0 56px;
}

.verify-panel__header h1 {
    margin: 8px 0 8px;
    font-size: 1.5rem;
    font-weight: 900;
}

.verify-panel__header p {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.85;
}

.verify-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 22px;
}

.verify-step {
    min-height: 76px;
    padding: 14px 16px;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.verify-step span {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82rem;
    font-weight: 900;
    background: rgba(8, 36, 58, 0.08);
    color: var(--text-secondary);
}

.verify-step strong {
    font-size: 0.84rem;
    color: var(--text-secondary);
}

.verify-step.is-active {
    border-color: var(--green-border);
    background: rgba(0, 140, 88, 0.08);
}

.verify-step.is-active span {
    background: linear-gradient(135deg, var(--green-light), var(--green));
    color: #fff;
}

[data-theme="dark"] .verify-step.is-active span {
    color: #03111d;
}

.verify-step.is-active strong {
    color: var(--text-primary);
}

.verify-review-state {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(225, 138, 16, 0.24);
    border-radius: 22px;
    background: var(--warning-soft);
}

.verify-review-state__icon {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: rgba(225, 138, 16, 0.18);
    color: var(--warning);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
}

.verify-review-state h2 {
    margin: 0 0 6px;
    font-size: 1rem;
    font-weight: 900;
}

.verify-review-state p {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.8;
}

.verify-choice-row {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 18px;
    align-items: start;
}

.verify-choice-hint {
    min-height: 52px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid var(--green-border);
    background: rgba(0, 140, 88, 0.06);
    color: var(--text-secondary);
    font-size: 0.84rem;
    line-height: 1.9;
}

.verify-fieldset {
    margin-top: 22px;
    padding: 20px;
    border-radius: 24px;
    border: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.56), rgba(238, 245, 248, 0.7));
}

[data-theme="dark"] .verify-fieldset {
    background: linear-gradient(180deg, rgba(8, 31, 49, 0.88), rgba(12, 35, 53, 0.82));
}

.verify-fieldset__header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
}

.verify-fieldset__header i {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 140, 88, 0.1);
    color: var(--green);
    flex: 0 0 44px;
}

.verify-fieldset__header h2 {
    margin: 0 0 4px;
    font-size: 1rem;
    font-weight: 900;
}

.verify-fieldset__header p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.84rem;
    line-height: 1.8;
}

.verify-submitted-list {
    display: grid;
    gap: 10px;
}

.verify-submitted-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 50px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
}

.verify-submitted-list strong {
    font-size: 0.86rem;
}

.verify-submitted-list span {
    color: var(--text-muted);
    font-size: 0.78rem;
}

.verify-image-preview {
    margin-top: 0.5rem;
    padding: 0.6rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--bg-soft);
}

.verify-image-preview img {
    display: block;
    width: 100%;
    max-height: 160px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid var(--border);
}

.verify-image-preview small {
    display: block;
    margin-top: 0.45rem;
    font-size: 0.78rem;
    color: var(--text-muted);
}

.profile-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.profile-sidebar,
.profile-content {
    display: grid;
    gap: 18px;
    align-content: start;
}

.profile-card,
.profile-menu,
.verify-callout,
.admin-hero,
.admin-panel,
.compact-kpi {
    border: 1px solid var(--border);
    background: var(--bg-card);
    box-shadow: var(--shadow-md);
}

.profile-card {
    border-radius: 28px;
    padding: 26px;
    text-align: center;
}

.profile-avatar-wrap {
    margin-bottom: 18px;
}

.profile-avatar {
    width: 104px;
    height: 104px;
    border-radius: 28px;
    object-fit: cover;
    margin: 0 auto;
    border: 1px solid var(--green-border);
    box-shadow: 0 16px 36px rgba(0, 140, 88, 0.14);
}

.profile-avatar--empty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.14), rgba(8, 36, 58, 0.06));
    color: var(--green);
    font-size: 2rem;
}

.profile-name {
    margin: 0;
    font-size: 1.38rem;
    font-weight: 900;
}

.profile-role {
    margin: 8px 0 0;
    color: var(--text-secondary);
    font-size: 0.86rem;
}

.profile-code {
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 18px;
    background: var(--bg-soft);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    text-align: start;
}

.profile-code span {
    color: var(--text-secondary);
    font-size: 0.8rem;
}

.profile-code strong {
    font-size: 0.92rem;
}

.trust-meter {
    margin-top: 16px;
    text-align: start;
}

.trust-meter__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.trust-meter__top span {
    color: var(--text-secondary);
    font-size: 0.82rem;
}

.trust-meter__top strong {
    font-size: 1rem;
    font-weight: 900;
}

.trust-meter__bar {
    height: 10px;
    border-radius: 999px;
    background: rgba(8, 36, 58, 0.08);
    overflow: hidden;
}

.trust-meter__bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(135deg, var(--green-light), var(--green));
}

.profile-status {
    margin-top: 18px;
    display: flex;
    justify-content: center;
}

.status-pill {
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    font-weight: 800;
    border: 1px solid transparent;
}

.status-pill--success {
    color: var(--green);
    border-color: rgba(0, 140, 88, 0.18);
    background: rgba(0, 140, 88, 0.08);
}

.status-pill--warning {
    color: var(--warning);
    border-color: rgba(225, 138, 16, 0.24);
    background: var(--warning-soft);
}

.status-pill--danger {
    color: var(--danger);
    border-color: rgba(214, 69, 69, 0.24);
    background: var(--danger-soft);
}

.profile-menu {
    border-radius: 24px;
    padding: 12px;
    display: grid;
    gap: 8px;
}

.profile-menu__item {
    min-height: 48px;
    padding: 0 14px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: var(--text-secondary);
    font-weight: 700;
    transition: all 0.28s ease;
}

.profile-menu__item i {
    width: 18px;
    text-align: center;
    color: var(--green);
}

.profile-menu__item:hover,
.profile-menu__item.is-active {
    background: rgba(0, 140, 88, 0.08);
    color: var(--text-primary);
}

.verify-callout {
    border-radius: 24px;
    padding: 20px 22px;
    display: flex;
    align-items: center;
    gap: 18px;
}

.verify-callout__icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    background: rgba(225, 138, 16, 0.14);
    color: var(--warning);
}

.verify-callout h3 {
    margin: 0 0 6px;
    font-size: 1rem;
    font-weight: 900;
}

.verify-callout p {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.85;
}

.verify-callout .btn {
    margin-inline-start: auto;
}

.admin-page {
    display: grid;
    gap: 20px;
}

.admin-hero,
.admin-panel {
    border-radius: 28px;
    padding: 24px;
}

.admin-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    background:
        linear-gradient(135deg, rgba(8, 36, 58, 0.9), rgba(0, 107, 70, 0.72));
    color: #fff;
    border-color: rgba(0, 140, 88, 0.12);
}

[data-theme="dark"] .admin-hero {
    background:
        linear-gradient(135deg, rgba(3, 17, 29, 0.96), rgba(0, 60, 40, 0.82));
}

.admin-hero h1 {
    margin: 0 0 8px;
    font-size: 1.72rem;
    font-weight: 900;
}

.admin-hero p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.85;
}

.admin-hero__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-users-stats {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

.compact-kpi {
    border-radius: 22px;
    padding: 16px 18px;
}

.compact-kpi small {
    display: block;
    color: var(--text-secondary);
    font-size: 0.76rem;
    margin-bottom: 8px;
}

.compact-kpi strong {
    display: block;
    font-size: 1.2rem;
    font-weight: 900;
}

.admin-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.admin-panel__header h2 {
    margin: 0 0 8px;
    font-size: 1.18rem;
    font-weight: 900;
}

.admin-panel__header p {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.85;
}

.admin-panel__header i {
    color: var(--green);
    margin-inline-end: 8px;
}

.admin-filter-form {
    align-items: end;
}

.admin-table-wrap {
    border: 1px solid var(--border);
    border-radius: 22px;
    background: var(--bg-soft);
    overflow-x: auto;
}

.admin-user-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-user-avatar {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    background: rgba(0, 140, 88, 0.09);
    color: var(--green);
}

.admin-user-cell small,
.admin-document-card span,
.admin-document-card small {
    color: var(--text-secondary);
}

.admin-table__actions,
.admin-action-group {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-status-badge {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    font-size: 0.75rem;
    font-weight: 800;
}

.admin-status-badge--ok {
    color: var(--green);
    background: rgba(0, 140, 88, 0.08);
}

.admin-status-badge--pending {
    color: var(--warning);
    background: var(--warning-soft);
}

.admin-status-badge--danger {
    color: var(--danger);
    background: var(--danger-soft);
}

.admin-review-grid,
.admin-decision-grid,
.admin-info-grid {
    display: grid;
    gap: 18px;
}

.admin-review-grid,
.admin-decision-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-info-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-info-grid > div,
.admin-document-card,
.admin-decision-card {
    border: 1px solid var(--border);
    border-radius: 22px;
    background: var(--bg-soft);
}

.admin-info-grid > div {
    min-height: 88px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.admin-info-grid span {
    color: var(--text-secondary);
    font-size: 0.76rem;
}

.admin-info-grid strong {
    font-size: 0.9rem;
    line-height: 1.8;
}

.admin-info-grid__wide {
    grid-column: span 3;
}

.admin-note-box {
    border-color: rgba(225, 138, 16, 0.24);
    background: var(--warning-soft);
}

.admin-document-list {
    display: grid;
    gap: 12px;
}

.admin-document-card {
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.admin-document-card strong {
    display: block;
    margin-bottom: 6px;
    font-size: 0.9rem;
}

.admin-decision-card {
    padding: 18px;
}

.admin-decision-card--danger {
    border-color: rgba(214, 69, 69, 0.22);
}

.section-title {
    margin: 0 0 14px;
    font-size: 1rem;
    font-weight: 900;
}

.compact-empty,
.empty-state {
    min-height: 140px;
    border-radius: 24px;
    border: 1px dashed var(--border);
    background: var(--bg-soft);
    display: grid;
    place-items: center;
    text-align: center;
    gap: 10px;
    padding: 20px;
}

.compact-empty--small {
    min-height: 110px;
}

.compact-empty i,
.empty-state i {
    font-size: 1.8rem;
    color: var(--text-muted);
}

.empty-state h2 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 900;
    color: var(--text-primary);
}

.empty-state p {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.8;
}

.journey-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.journey-step {
    min-width: 190px;
    border: 1px solid rgba(56, 189, 248, 0.45);
    border-radius: 14px;
    padding: 8px 10px;
    background: rgba(56, 189, 248, 0.08);
    box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.08), 0 0 10px rgba(56, 189, 248, 0.12);
}

.journey-connector {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 18px;
    color: #38bdf8;
    opacity: 0.9;
    font-size: 18px;
    line-height: 1;
    text-shadow: 0 0 3px rgba(56, 189, 248, 0.35);
}

.compact-dashboard {
    display: grid;
    gap: 20px;
}

.dashboard-topbar,
.dashboard-panel,
.compact-kpi,
.quick-chip,
.mini-tender,
.compact-deal,
.task-row,
.sheet-link,
.deal-note {
    border: 1px solid var(--border);
    background: var(--bg-card);
    box-shadow: var(--shadow-md);
}

.dashboard-topbar {
    border-radius: 28px;
    padding: 26px 28px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    background:
        linear-gradient(135deg, rgba(8, 36, 58, 0.9), rgba(0, 107, 70, 0.72));
    color: #fff;
    border-color: rgba(0, 140, 88, 0.12);
}

[data-theme="dark"] .dashboard-topbar {
    background:
        linear-gradient(135deg, rgba(3, 17, 29, 0.96), rgba(0, 60, 40, 0.82));
}

.dashboard-eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.74rem;
    font-weight: 800;
}

.dashboard-topbar h1 {
    margin: 14px 0 10px;
    font-size: 1.82rem;
    font-weight: 900;
}

.dashboard-topbar p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.9;
}

.dashboard-topbar__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.compact-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.compact-kpi-grid--six {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.compact-kpi-grid .compact-kpi {
    min-height: 104px;
}

.compact-kpi {
    border-radius: 22px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: inherit;
}

.compact-kpi:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.compact-kpi__icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    font-size: 1rem;
}

.compact-kpi__icon--blue {
    background: rgba(59, 130, 246, 0.12);
    color: #2563eb;
}

.compact-kpi__icon--orange {
    background: rgba(245, 158, 11, 0.14);
    color: #d97706;
}

.compact-kpi__icon--green {
    background: rgba(0, 140, 88, 0.12);
    color: var(--green);
}

.compact-kpi__icon--cyan {
    background: rgba(6, 182, 212, 0.14);
    color: #0891b2;
}

.compact-kpi__icon--muted {
    background: rgba(8, 36, 58, 0.08);
    color: var(--text-secondary);
}

.compact-kpi__meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.compact-kpi__meta strong {
    font-size: 1.36rem;
    font-weight: 900;
    line-height: 1;
}

.compact-kpi__meta small {
    color: var(--text-secondary);
    font-size: 0.78rem;
}

.dashboard-layout,
.admin-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(300px, 0.9fr);
    gap: 20px;
    align-items: start;
}

.dashboard-main,
.dashboard-side {
    display: grid;
    gap: 20px;
    align-content: start;
}

.dashboard-panel {
    border-radius: 28px;
    padding: 22px;
}

.dashboard-panel--side,
.admin-panel--wide {
    min-height: 100%;
}

.dashboard-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.dashboard-panel__header h2 {
    margin: 0 0 8px;
    font-size: 1.08rem;
    font-weight: 900;
}

.dashboard-panel__header p {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.85;
}

.dashboard-panel__header i {
    color: var(--green);
    margin-inline-end: 8px;
}

.mini-status {
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.72rem;
    font-weight: 800;
}

.mini-status--success {
    color: var(--green);
    background: rgba(0, 140, 88, 0.08);
}

.mini-status--warning {
    color: var(--warning);
    background: var(--warning-soft);
}

.mini-status--info {
    color: #2563eb;
    background: rgba(59, 130, 246, 0.1);
}

.mini-status--muted {
    color: var(--text-secondary);
    background: rgba(8, 36, 58, 0.06);
}

.compact-table-wrap {
    border: 1px solid var(--border);
    border-radius: 22px;
    background: var(--bg-soft);
    overflow-x: auto;
}

.compact-table thead th {
    font-size: 0.78rem;
}

/* Theming for raw Bootstrap alert/pagination markup used in a few pages
   instead of .system-alert / includes/pagination.html, so they don't
   render as unstyled light-mode-only widgets in dark mode. */
.alert {
    border-radius: 18px;
    border: 1px solid var(--border);
    padding: 14px 16px;
    font-size: 0.9rem;
    line-height: 1.8;
    color: var(--text-primary);
    background: var(--bg-soft);
}

.alert-secondary {
    background: var(--bg-soft);
    border-color: var(--border);
    color: var(--text-secondary);
}

.alert-info {
    background: rgba(18, 58, 86, 0.08);
    border-color: rgba(18, 58, 86, 0.18);
    color: var(--navy-soft);
}

.alert-warning {
    background: var(--warning-soft);
    border-color: rgba(225, 138, 16, 0.24);
    color: var(--warning);
}

.alert-link {
    color: inherit;
    font-weight: 800;
    text-decoration: underline;
}

[data-theme="dark"] .alert-info {
    color: var(--text-primary);
}

.pagination-wrap {
    margin-top: 20px;
    display: flex;
    justify-content: center;
}

.pagination,
.pagination.pagination-modern {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.page-item .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: var(--bg-card);
    color: var(--text-primary);
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
}

.page-item .page-link:hover {
    border-color: var(--green);
    color: var(--green);
    background: rgba(0, 140, 88, 0.08);
}

.page-item.active .page-link {
    border-color: transparent;
    background: linear-gradient(135deg, var(--green-light), var(--green));
    color: #fff;
    box-shadow: 0 8px 20px var(--glow-green);
}

.page-item.disabled .page-link {
    color: var(--text-muted);
    background: var(--bg-soft);
    cursor: default;
    box-shadow: none;
}

[data-theme="dark"] .page-item.active .page-link {
    color: #03111d;
}

.compact-table__action {
    text-align: end;
}

.compact-deal-list,
.mini-tender-list,
.task-list,
.sheet-links,
.quick-grid {
    display: grid;
    gap: 10px;
}

.compact-deal,
.mini-tender,
.task-row,
.sheet-link,
.quick-chip {
    border-radius: 18px;
    padding: 14px 16px;
    text-decoration: none;
    color: inherit;
    transition: all 0.28s ease;
}

.compact-deal:hover,
.mini-tender:hover,
.task-row:hover,
.sheet-link:hover,
.quick-chip:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.compact-deal {
    display: flex;
    align-items: center;
    gap: 14px;
}

.compact-deal__icon {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 140, 88, 0.1);
    color: var(--green);
    flex: 0 0 42px;
}

.compact-deal__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    flex: 1;
}

.compact-deal__body strong,
.mini-tender__title {
    font-size: 0.9rem;
    font-weight: 800;
}

.compact-deal__body small,
.mini-tender__meta,
.mini-tender__time,
.task-row strong,
.sheet-link span,
.deal-note span {
    color: var(--text-secondary);
    line-height: 1.8;
}

.mini-tender {
    display: grid;
    gap: 6px;
}

.mini-tender__time {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.76rem;
}

.quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.quick-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 56px;
    font-weight: 800;
}

.quick-chip i {
    color: var(--green);
}

.task-row,
.sheet-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.task-row--warning {
    border-color: rgba(225, 138, 16, 0.22);
    background: var(--warning-soft);
}

.contract-count-badge {
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 140, 88, 0.1);
    color: var(--green);
    font-weight: 900;
}

.deal-note {
    border-radius: 22px;
    padding: 18px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--bg-soft);
}

.deal-note i {
    color: var(--green);
    margin-top: 3px;
}

.request-page,
.tender-page,
.tender-form-page {
    display: grid;
    gap: 20px;
}

.request-hero,
.tender-hero,
.request-panel,
.tender-panel,
.request-form-card,
.tender-form-card,
.tender-card,
.request-file-link,
.request-text-box,
.tender-total-box {
    border: 1px solid var(--border);
    background: var(--bg-card);
    box-shadow: var(--shadow-md);
}

.request-hero,
.tender-hero {
    border-radius: 28px;
    padding: 24px 28px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    background:
        linear-gradient(135deg, rgba(8, 36, 58, 0.9), rgba(0, 107, 70, 0.72));
    color: #fff;
    border-color: rgba(0, 140, 88, 0.12);
}

[data-theme="dark"] .request-hero,
[data-theme="dark"] .tender-hero {
    background:
        linear-gradient(135deg, rgba(3, 17, 29, 0.96), rgba(0, 60, 40, 0.82));
}

.request-hero h1,
.tender-hero h1,
.request-form-card__header h1,
.tender-form-card__header h1 {
    margin: 12px 0 8px;
    font-size: 1.72rem;
    font-weight: 900;
}

.request-hero p,
.tender-hero p,
.request-form-card__header p,
.tender-form-card__header p {
    margin: 0;
    line-height: 1.85;
}

.request-hero p,
.tender-hero p {
    color: rgba(255, 255, 255, 0.8);
}

.request-layout,
.tender-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.9fr);
    gap: 20px;
    align-items: start;
}

.request-main,
.request-side,
.tender-main,
.tender-side {
    display: grid;
    gap: 20px;
    align-content: start;
}

.request-panel,
.tender-panel,
.request-form-card,
.tender-form-card {
    border-radius: 28px;
    padding: 22px;
}

.request-panel__header,
.tender-panel__header,
.request-form-card__header,
.tender-form-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.request-panel__header h2,
.tender-panel__header h2 {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 900;
}

.request-panel__header i,
.tender-panel__header i,
.request-icon,
.tender-icon {
    color: var(--green);
}

.request-icon,
.tender-icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 140, 88, 0.1);
    flex: 0 0 56px;
    font-size: 1.2rem;
}

.request-info-grid,
.tender-info-grid,
.tender-summary-grid,
.spec-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.request-info-grid > div,
.tender-info-grid > div,
.tender-summary-grid > div,
.spec-list > div {
    min-height: 84px;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.request-info-grid span,
.tender-info-grid span,
.tender-summary-grid span,
.spec-list span {
    color: var(--text-secondary);
    font-size: 0.78rem;
}

.request-info-grid strong,
.tender-info-grid strong,
.tender-summary-grid strong,
.spec-list strong {
    font-size: 0.9rem;
    line-height: 1.85;
}

.request-info-grid__wide,
.tender-info-grid__wide {
    grid-column: span 3;
}

.request-info-grid--one,
.tender-info-grid--one {
    grid-template-columns: 1fr;
}

.request-file-link {
    min-height: 52px;
    padding: 0 16px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--text-primary);
    margin-bottom: 14px;
}

.request-file-link i {
    color: var(--green);
}

.request-text-box,
.tender-total-box {
    border-radius: 20px;
    padding: 16px;
}

.request-text-box + .request-text-box {
    margin-top: 12px;
}

.request-text-box span {
    display: block;
    margin-bottom: 8px;
    color: var(--text-secondary);
    font-size: 0.78rem;
}

.request-text-box p {
    margin: 0;
    line-height: 1.9;
}

.request-text-box__content {
    line-height: 1.9;
    white-space: normal;
}

.request-table-wrap,
.tender-table-wrap,
.deals-table-wrap {
    border: 1px solid var(--border);
    border-radius: 22px;
    background: var(--bg-soft);
    overflow-x: auto;
}

.deals-table-wrap--elevated {
    box-shadow: var(--shadow-sm);
}

.deals-table {
    width: 100%;
    border-collapse: collapse;
}

.deals-table__action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.request-table__actions,
.tender-table__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.request-form-card--wide,
.tender-form-card--wide {
    max-width: 1160px;
    width: 100%;
    margin: 0 auto;
}

.request-form-card__header,
.tender-form-card__header {
    margin-bottom: 22px;
}

.request-section {
    display: grid;
    gap: 14px;
    padding-top: 8px;
}

.request-section + .request-section {
    margin-top: 20px;
    padding-top: 22px;
    border-top: 1px solid var(--border);
}

.request-section h2 {
    margin: 0;
    font-size: 1.04rem;
    font-weight: 900;
}

.favorite-categories,
.request-spec-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.category-interest-chip {
    justify-content: center;
    cursor: pointer;
}

.category-interest-chip.is-favorite {
    border-color: rgba(0, 140, 88, 0.24);
    background: rgba(0, 140, 88, 0.08);
}

.request-spec-field {
    display: grid;
    gap: 8px;
}

.request-warning-text {
    color: var(--text-secondary);
    font-size: 0.78rem;
    line-height: 1.8;
    margin-top: 6px;
}

.tender-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.tender-card {
    border-radius: 24px;
    padding: 18px;
    display: grid;
    gap: 16px;
}

.tender-card--compact {
    border-radius: 20px;
    padding: 12px;
    gap: 10px;
}

.tender-card__visual {
    position: relative;
    min-height: 92px;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
}

.tender-card__visual--tender {
    background: linear-gradient(135deg, rgba(0, 140, 88, 0.14), rgba(8, 36, 58, 0.08));
}

.tender-card__visual--auction {
    background: linear-gradient(135deg, rgba(249, 115, 22, 0.12), rgba(8, 36, 58, 0.08));
}

.tender-card__visual-icon {
    position: relative;
    z-index: 1;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.25rem;
    box-shadow: 0 10px 28px rgba(8, 36, 58, 0.14);
}

.tender-card__visual--tender .tender-card__visual-icon {
    background: linear-gradient(135deg, var(--green-light), var(--green));
}

.tender-card__visual--auction .tender-card__visual-icon {
    background: linear-gradient(135deg, #fb923c, #f97316);
}

.tender-card__visual-glow {
    position: absolute;
    inset: auto auto -18px -18px;
    width: 82px;
    height: 82px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.26);
    filter: blur(6px);
}

[data-theme="dark"] .tender-card__visual {
    border-color: rgba(255, 255, 255, 0.06);
}

.tender-card--compact .tender-card__visual {
    min-height: 62px;
    border-radius: 16px;
}

.tender-card--compact .tender-card__visual-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    font-size: 0.96rem;
}

.tender-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.tender-card__header-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.tender-card h2 {
    margin: 0;
    font-size: 1.12rem;
    font-weight: 900;
}

.tender-card--compact h2 {
    font-size: 0.95rem;
    line-height: 1.4;
}

.tender-card__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.tender-card__meta--inline {
    gap: 8px;
}

.tender-card__meta > div {
    min-height: 78px;
    padding: 14px;
    border-radius: 18px;
    background: var(--bg-soft);
    border: 1px solid var(--border);
}

.tender-card--compact .tender-card__meta > div {
    min-height: 0;
    padding: 8px 10px;
    border-radius: 14px;
}

.tender-card__meta--inline > div {
    min-width: 0;
}

.tender-card__meta span,
.tender-card__status {
    color: var(--text-secondary);
    font-size: 0.76rem;
}

.tender-card__meta strong {
    display: block;
    margin-top: 8px;
    font-size: 1rem;
    font-weight: 900;
}

.tender-card--compact .tender-card__meta strong {
    margin-top: 3px;
    font-size: 0.9rem;
    line-height: 1.4;
}

.tender-card--compact p {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.6;
}

.request-info-grid--compact-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.tender-card__status {
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
}

.tender-card__status--active {
    color: var(--green);
    background: rgba(0, 140, 88, 0.08);
}

.tender-card__status--closed {
    color: var(--danger);
    background: var(--danger-soft);
}

.tender-card__status--urgent,
.mini-status--urgent-time {
    color: #fff;
    background: linear-gradient(135deg, #f97316, #ef4444);
}

.tender-time-blink {
    animation: tenderBlink 1.2s ease-in-out infinite;
}

@keyframes tenderBlink {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.03); opacity: 0.8; }
}

.tender-action-stack {
    display: grid;
    gap: 12px;
}

.tender-inline-form {
    display: grid;
    gap: 10px;
}

.tender-check {
    min-height: 52px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.deals-list-page,
.deal-detail-page,
.contracts-list-page,
.contract-detail-page,
.contract-sign-page,
.wallet-page,
.finance-page {
    display: grid;
    gap: 20px;
}

.deal-hero,
.contract-detail-hero,
.wallet-hero,
.deal-panel,
.contract-panel,
.wallet-balance-card,
.finance-card,
.sign-panel {
    border: 1px solid var(--border);
    background: var(--bg-card);
    box-shadow: var(--shadow-md);
}

.deal-hero,
.contract-detail-hero,
.wallet-hero {
    border-radius: 28px;
    padding: 24px 28px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    background:
        linear-gradient(135deg, rgba(8, 36, 58, 0.9), rgba(0, 107, 70, 0.72));
    color: #fff;
    border-color: rgba(0, 140, 88, 0.12);
}

[data-theme="dark"] .deal-hero,
[data-theme="dark"] .contract-detail-hero,
[data-theme="dark"] .wallet-hero {
    background:
        linear-gradient(135deg, rgba(3, 17, 29, 0.96), rgba(0, 60, 40, 0.82));
}

.deal-hero h1,
.contract-detail-hero h1,
.wallet-hero h1,
.finance-card__header h1,
.sign-panel__header h1 {
    margin: 12px 0 8px;
    font-size: 1.72rem;
    font-weight: 900;
}

.deal-hero p,
.contract-detail-hero p,
.wallet-hero p,
.finance-card__header p,
.sign-panel__header p {
    margin: 0;
    line-height: 1.85;
}

.deal-hero p,
.contract-detail-hero p,
.wallet-hero p {
    color: rgba(255, 255, 255, 0.8);
}

.deal-hero .dashboard-eyebrow,
.deal-hero h1,
.deal-hero p,
.deal-hero .small,
.deal-hero .text-muted {
    color: #ffffff !important;
}

.deal-hero .dashboard-eyebrow {
    opacity: 0.9;
}

.deal-hero p,
.deal-hero .small {
    opacity: 0.88;
}

.deal-hero .mini-status--muted {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.deal-hero .mini-status--info {
    color: #ffffff;
    background: rgba(59, 130, 246, 0.32);
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.deal-hero__badges,
.contract-detail-hero__status {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.deal-hero__badges--stack {
    flex-direction: column;
    align-items: flex-end;
}

.deal-panel,
.contract-panel,
.finance-card,
.sign-panel {
    border-radius: 28px;
    padding: 22px;
}

.deal-panel--minimal {
    padding: 20px;
}

.deal-panel__header,
.finance-card__section-header,
.sign-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.deal-panel__header h2,
.finance-card__section-header h2,
.sign-panel__header h2,
.contract-panel h2 {
    margin: 0 0 8px;
    font-size: 1.08rem;
    font-weight: 900;
}

.deal-panel__header i,
.finance-icon,
.sign-panel__icon {
    color: var(--green);
}

.finance-icon,
.sign-panel__icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 140, 88, 0.1);
    flex: 0 0 56px;
    font-size: 1.2rem;
}

.deal-progress-stepper {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.deal-progress-step {
    min-height: 96px;
    padding: 16px;
    border-radius: 22px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.deal-progress-step__marker {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    background: rgba(8, 36, 58, 0.08);
    color: var(--text-secondary);
    font-size: 0.82rem;
    font-weight: 900;
}

.deal-progress-step__content {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.deal-progress-step__label {
    font-size: 0.84rem;
    font-weight: 800;
}

.deal-progress-step__state {
    color: var(--text-secondary);
    font-size: 0.75rem;
}

.deal-progress-step.is-current {
    border-color: var(--green-border);
    background: rgba(0, 140, 88, 0.08);
}

.deal-progress-step.is-current .deal-progress-step__marker,
.deal-progress-step.is-completed .deal-progress-step__marker {
    background: linear-gradient(135deg, var(--green-light), var(--green));
    color: #fff;
}

[data-theme="dark"] .deal-progress-step.is-current .deal-progress-step__marker,
[data-theme="dark"] .deal-progress-step.is-completed .deal-progress-step__marker {
    color: #03111d;
}

.deal-action-strip,
.deal-management-grid,
.deal-next-actions,
.deal-secondary-links {
    display: grid;
    gap: 12px;
}

.deal-inline-form {
    width: 100%;
}

.deal-mini-card,
.deal-info-item {
    min-height: 88px;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.deal-mini-card--wide {
    min-height: auto;
}

.deal-mini-card__label {
    color: var(--text-secondary);
    font-size: 0.78rem;
}

.deal-mini-card__value {
    font-size: 1rem;
    font-weight: 900;
}

.deal-assurance-status {
    display: grid;
    gap: 8px;
}

.deal-assurance-status__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.deal-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.deal-info-grid--compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.deal-info-item--highlight {
    border-color: rgba(0, 140, 88, 0.2);
    background: rgba(0, 140, 88, 0.08);
}

.deal-info-item span {
    color: var(--text-secondary);
    font-size: 0.78rem;
}

.deal-info-item strong {
    font-size: 0.92rem;
    line-height: 1.85;
}

.deal-info-item small {
    color: var(--text-muted);
}

.deal-chip-link {
    min-height: 42px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
    color: var(--text-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.deal-chip-link--disabled {
    opacity: 0.55;
    pointer-events: none;
}

.deal-timeline-list {
    display: grid;
    gap: 12px;
}

.deal-timeline-list__item {
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--bg-soft);
    padding: 14px 16px;
}

.contracts-hero,
.contract-detail-hero,
.contract-panel--side {
    border-radius: 28px;
}

.contract-eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.74rem;
    font-weight: 800;
}

.contracts-table-wrap,
.finance-table-wrap,
.template-table-wrap {
    border: 1px solid var(--border);
    border-radius: 22px;
    background: var(--bg-soft);
    overflow-x: auto;
}

.template-table {
    width: 100%;
    border-collapse: collapse;
}

.template-title-cell {
    max-width: 320px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.template-title-cell span {
    color: var(--text-secondary);
    font-size: 0.78rem;
    line-height: 1.7;
}

.template-table__action {
    white-space: nowrap;
}

.template-admin-page {
    display: grid;
    gap: 20px;
}

.template-admin-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.contract-status {
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    font-size: 0.75rem;
    font-weight: 800;
}

.contract-status--success {
    color: var(--green);
    background: rgba(0, 140, 88, 0.08);
}

.contract-status--warning {
    color: var(--warning);
    background: var(--warning-soft);
}

.contract-status--info {
    color: #2563eb;
    background: rgba(59, 130, 246, 0.1);
}

.contract-status--danger {
    color: var(--danger);
    background: var(--danger-soft);
}

.contract-status--muted {
    color: var(--text-secondary);
    background: rgba(8, 36, 58, 0.06);
}

.contract-detail-layout,
.wallet-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.95fr);
    gap: 20px;
    align-items: start;
}

.contract-main,
.contract-sidebar,
.wallet-summary,
.wallet-transactions {
    display: grid;
    gap: 20px;
    align-content: start;
}

.contract-document {
    border: 1px solid var(--border);
    border-radius: 22px;
    background: var(--bg-soft);
    padding: 20px;
    line-height: 2;
    max-height: min(72vh, 760px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--green) transparent;
    padding-inline-end: 16px;
}

.contract-document::-webkit-scrollbar {
    width: 6px;
}

.contract-document::-webkit-scrollbar-track {
    background: transparent;
}

.contract-document::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--green), var(--green-dark));
    border-radius: 999px;
}

.contract-note,
.sign-warning,
.sign-confirm-box {
    border-radius: 20px;
    padding: 16px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.contract-note--warning,
.sign-warning {
    border-color: rgba(225, 138, 16, 0.24);
    background: var(--warning-soft);
}

.contract-note--success {
    border-color: rgba(0, 140, 88, 0.18);
    background: rgba(0, 140, 88, 0.08);
}

.contract-note--info {
    border-color: rgba(59, 130, 246, 0.18);
    background: rgba(59, 130, 246, 0.08);
}

.template-editor-page {
    display: grid;
    gap: 20px;
}

.template-editor-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.template-editor-hero h1 {
    margin: 8px 0 8px;
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--text-primary);
}

.template-editor-hero p {
    margin: 0;
    max-width: 640px;
    color: var(--text-secondary);
    line-height: 1.85;
}

.template-editor-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr);
    gap: 20px;
    align-items: start;
}

.template-editor-sidebar {
    display: grid;
    gap: 20px;
    position: sticky;
    top: 100px;
}

.template-sidebar-hint {
    margin: -6px 0 14px;
    color: var(--text-secondary);
    font-size: 0.84rem;
    line-height: 1.8;
}

.template-content-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.template-content-header span {
    color: var(--text-muted);
    font-size: 0.78rem;
}

.template-active-switch {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--bg-soft);
    cursor: pointer;
    width: 100%;
}

.template-active-switch input {
    width: 18px;
    height: 18px;
    accent-color: var(--green);
    flex: 0 0 auto;
}

.template-active-switch strong {
    display: block;
    font-size: 0.86rem;
    color: var(--text-primary);
}

.template-active-switch small {
    display: block;
    color: var(--text-muted);
    font-size: 0.74rem;
}

.placeholder-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.placeholder-chip {
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--bg-soft);
    color: var(--text-primary);
    padding: 6px 14px;
    font-size: 0.78rem;
    font-weight: 700;
    font-family: "Vazirmatn", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    direction: ltr;
}

.placeholder-chip:hover {
    border-color: var(--green);
    color: var(--green);
    background: rgba(0, 140, 88, 0.08);
}

.placeholder-chip.is-copied {
    border-color: transparent;
    background: linear-gradient(135deg, var(--green-light), var(--green));
    color: #fff;
}

[data-theme="dark"] .placeholder-chip.is-copied {
    color: #03111d;
}

.template-copy-hint {
    margin-top: 14px;
    color: var(--text-muted);
    font-size: 0.78rem;
}

@media (max-width: 991.98px) {
    .template-editor-layout {
        grid-template-columns: 1fr;
    }

    .template-editor-sidebar {
        position: static;
    }
}

.contract-meta-list,
.finance-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.contract-meta-list > div,
.finance-summary-grid > div {
    min-height: 84px;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.finance-summary-grid--single {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.finance-summary-grid__highlight {
    border-color: rgba(0, 140, 88, 0.2);
    background: rgba(0, 140, 88, 0.08);
}

.contract-meta-list span,
.finance-summary-grid span {
    color: var(--text-secondary);
    font-size: 0.78rem;
}

.contract-meta-list strong,
.finance-summary-grid strong {
    font-size: 0.92rem;
    line-height: 1.85;
}

.contract-actions,
.sign-actions {
    display: grid;
    gap: 10px;
}

.amendment-list,
.signature-party-grid {
    display: grid;
    gap: 12px;
}

.amendment-card,
.signature-party-card {
    border: 1px solid var(--border);
    border-radius: 22px;
    background: var(--bg-soft);
    padding: 16px 18px;
}

.amendment-card__header,
.signature-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.amendment-card__body,
.amendment-proposed {
    margin-top: 12px;
    line-height: 1.9;
}

.amendment-card__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.wallet-balance-card {
    border-radius: 24px;
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wallet-balance-card span {
    color: var(--text-secondary);
    font-size: 0.8rem;
}

.wallet-balance-card strong {
    font-size: 1.5rem;
    font-weight: 900;
}

.wallet-balance-card small {
    color: var(--text-muted);
}

.wallet-balance-card--main {
    background: linear-gradient(135deg, rgba(8, 36, 58, 0.94), rgba(0, 107, 70, 0.82));
    color: #fff;
    border-color: rgba(0, 140, 88, 0.16);
}

.wallet-balance-card--main span,
.wallet-balance-card--main small {
    color: rgba(255, 255, 255, 0.8);
}

.wallet-balance-card--warning {
    border-color: rgba(225, 138, 16, 0.24);
    background: var(--warning-soft);
}

.wallet-balance-card--success {
    border-color: rgba(0, 140, 88, 0.18);
    background: rgba(0, 140, 88, 0.08);
}

.finance-positive {
    color: var(--green);
}

.finance-negative {
    color: var(--danger);
}

.finance-card__header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 20px;
}

.sign-contract-preview {
    border: 1px solid var(--border);
    border-radius: 24px;
    background: var(--bg-soft);
    overflow: hidden;
    margin-bottom: 18px;
}

.sign-contract-preview__header {
    padding: 16px 18px;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.sign-contract-preview__body {
    padding: 20px;
    max-height: 360px;
    overflow: auto;
    line-height: 2;
}

.signature-box {
    border: 1px solid var(--border);
    border-radius: 24px;
    background: var(--bg-soft);
    padding: 18px;
}

.signature-box__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.signature-box__header p {
    margin: 0;
    color: var(--text-secondary);
}

.signature-canvas-wrap {
    border: 1px dashed var(--green-border);
    border-radius: 18px;
    background: #fff;
    min-height: 220px;
    overflow: hidden;
}

.signature-canvas-wrap canvas {
    width: 100%;
    height: 220px;
    display: block;
    touch-action: none;
}

.finance-balance-banner,
.finance-warning,
.finance-danger,
.finance-check,
.wallet-mini-panel,
.service-contract-box,
.service-signature-pad {
    border: 1px solid var(--border);
    background: var(--bg-soft);
}

.declaration-video {
    width: 100%;
    max-height: 260px;
    background: #111;
    border-radius: 8px;
}

.signature-thumb-img {
    max-width: 100%;
    height: auto;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
    padding: 4px;
}

.signature-thumb-img--sm {
    max-width: 320px;
    border-radius: 10px;
    padding: 8px;
}

.finance-balance-banner {
    min-height: 72px;
    padding: 16px 18px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.finance-balance-banner span {
    color: var(--text-secondary);
    font-size: 0.82rem;
}

.finance-balance-banner strong {
    font-size: 1.1rem;
    font-weight: 900;
}

.quick-amounts {
    margin-top: 18px;
    display: grid;
    gap: 10px;
}

.quick-amounts > span {
    color: var(--text-secondary);
    font-size: 0.82rem;
}

.quick-amounts__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.quick-amount {
    min-height: 46px;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
    color: var(--text-primary);
    font-weight: 800;
    transition: all 0.28s ease;
}

.quick-amount:hover,
.quick-amount.is-active {
    border-color: var(--green-border);
    background: rgba(0, 140, 88, 0.08);
    color: var(--green);
}

.finance-warning,
.finance-danger,
.finance-check {
    border-radius: 22px;
    padding: 16px 18px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.finance-warning {
    border-color: rgba(225, 138, 16, 0.24);
    background: var(--warning-soft);
}

.finance-danger {
    border-color: rgba(214, 69, 69, 0.24);
    background: var(--danger-soft);
    color: var(--danger);
}

.finance-check {
    cursor: pointer;
}

.finance-warning strong,
.finance-danger strong {
    display: block;
    margin-bottom: 6px;
}

.finance-warning p,
.finance-danger p {
    margin: 0;
    line-height: 1.85;
}

.finance-warning-text {
    color: var(--warning);
}

.wallet-mini-panel {
    border-radius: 24px;
    padding: 18px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.wallet-mini-panel > div {
    min-height: 78px;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid var(--border);
    background: var(--bg-card);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wallet-mini-panel span {
    color: var(--text-secondary);
    font-size: 0.78rem;
}

.wallet-mini-panel strong {
    font-size: 0.92rem;
    font-weight: 900;
}

.service-contract-box {
    border-radius: 20px;
    overflow: hidden;
}

.service-contract-box__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border);
}

.service-contract-box__body {
    padding: 22px;
    line-height: 2.1;
}

.service-signature-pad {
    border-radius: 24px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
}

.service-signature-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(to bottom, rgba(255,255,255,0.95), rgba(248,248,248,0.9));
}

.service-signature-pad .signature-canvas-wrap {
    padding: 18px;
    background: repeating-linear-gradient(0deg, #fafafa, #fafafa 34px, #f1f1f1 35px);
}

.service-signature-pad canvas {
    display: block;
    width: 100%;
    height: 46vh;
    min-height: 320px;
    background: #fff;
    border-radius: 20px;
    border: 2px dashed rgba(0,0,0,0.12);
    touch-action: none;
    cursor: crosshair;
    transition: .25s ease;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 10px 30px rgba(0,0,0,.06);
}

.service-signature-pad canvas:hover {
    border-color: #0d6efd;
}

.service-signature-pad--fullscreen {
    position: fixed;
    inset: 0;
    z-index: 999999;
    width: 100vw;
    height: 100vh;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    background: #fff;
}

.service-signature-pad--fullscreen .signature-canvas-wrap {
    flex: 1;
    display: flex;
    padding: 20px;
}

.service-signature-pad--fullscreen canvas {
    flex: 1;
    width: 100%;
    height: 100%;
    min-height: unset;
    border-radius: 24px;
}

.conversation-page,
.chat-page,
.notification-page,
.ratings-page,
.rating-form-page {
    display: grid;
    gap: 20px;
}

.conversation-hero,
.chat-shell,
.notification-list,
.notification-card,
.ratings-profile-card,
.ratings-stats-card,
.ratings-main,
.rating-card,
.rating-form-card {
    border: 1px solid var(--border);
    background: var(--bg-card);
    box-shadow: var(--shadow-md);
}

.conversation-hero,
.notification-hero,
.ratings-main__header,
.chat-header {
    border-radius: 28px;
    padding: 24px 28px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.conversation-hero,
.notification-hero,
.chat-header {
    background:
        linear-gradient(135deg, rgba(8, 36, 58, 0.9), rgba(0, 107, 70, 0.72));
    color: #fff;
    border-color: rgba(0, 140, 88, 0.12);
}

[data-theme="dark"] .conversation-hero,
[data-theme="dark"] .notification-hero,
[data-theme="dark"] .chat-header {
    background:
        linear-gradient(135deg, rgba(3, 17, 29, 0.96), rgba(0, 60, 40, 0.82));
}

.conversation-hero h1,
.chat-header h1,
.notification-hero .page-hero__title,
.ratings-profile-card h1,
.rating-form-card__header h1 {
    margin: 12px 0 8px;
    font-size: 1.6rem;
    font-weight: 900;
}

.conversation-hero p,
.chat-header p,
.notification-hero .page-hero__subtitle {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.85;
}

.conversation-panel,
.notification-panel,
.notification-toolbar,
.ratings-profile-card,
.ratings-stats-card,
.ratings-main,
.rating-form-card {
    border-radius: 28px;
    padding: 22px;
}

.conversation-list,
.ratings-list {
    display: grid;
    gap: 12px;
}

.conversation-item,
.notification-card,
.rating-card {
    border-radius: 22px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
    padding: 16px 18px;
    text-decoration: none;
    color: inherit;
}

.conversation-item {
    display: flex;
    align-items: center;
    gap: 14px;
}

.conversation-item--unread {
    border-color: rgba(0, 140, 88, 0.2);
    background: rgba(0, 140, 88, 0.08);
}

.conversation-item__icon,
.ratings-avatar--empty,
.rating-icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    background: rgba(0, 140, 88, 0.1);
    color: var(--green);
}

.conversation-item__body {
    flex: 1;
    min-width: 0;
}

.conversation-item__title strong,
.notification-card__top strong,
.rating-card__header strong {
    font-size: 0.94rem;
    font-weight: 900;
}

.conversation-item__body p,
.notification-card__message,
.rating-comment,
.rating-response p {
    margin: 8px 0 0;
    color: var(--text-secondary);
    line-height: 1.85;
}

.conversation-item__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.conversation-badge {
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--green-light), var(--green));
    color: #fff;
    font-size: 0.76rem;
    font-weight: 900;
}

.chat-shell {
    border-radius: 28px;
    padding: 0;
    overflow: hidden;
}

.chat-header {
    border-radius: 0;
    margin: 0;
}

.chat-body {
    max-height: 640px;
    overflow: auto;
    padding: 20px;
    display: grid;
    gap: 14px;
    background: var(--bg-soft);
}

.chat-message {
    display: grid;
    gap: 8px;
}

.chat-message--sent {
    justify-items: end;
}

.chat-message__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    color: var(--text-secondary);
    font-size: 0.76rem;
}

.chat-bubble {
    max-width: min(100%, 640px);
    border-radius: 22px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    background: var(--bg-card);
    box-shadow: var(--shadow-sm);
}

.chat-message--sent .chat-bubble {
    background: rgba(0, 140, 88, 0.08);
    border-color: rgba(0, 140, 88, 0.18);
}

.chat-bubble__text {
    line-height: 1.95;
}

.chat-attachment,
.chat-file-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--green);
    text-decoration: none;
}

.chat-empty {
    min-height: 220px;
    border: 1px dashed var(--border);
    border-radius: 24px;
    background: var(--bg-card);
    display: grid;
    place-items: center;
    text-align: center;
    gap: 10px;
    padding: 20px;
}

.chat-composer {
    padding: 20px;
    border-top: 1px solid var(--border);
    background: var(--bg-card);
}

.chat-warning {
    border-radius: 18px;
    border: 1px solid rgba(225, 138, 16, 0.24);
    background: var(--warning-soft);
    padding: 14px 16px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 14px;
}

.chat-input-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: end;
}

.chat-input-row textarea,
.chat-input-row input[type="text"] {
    min-height: 54px;
}

.chat-file-btn {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    justify-content: center;
    border: 1px solid var(--border);
    background: var(--bg-soft);
    cursor: pointer;
}

.chat-input-row input[type="file"] {
    display: none;
}

.chat-file-name {
    margin-top: 10px;
    color: var(--text-secondary);
    font-size: 0.78rem;
}

.notification-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.notification-tabs {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.notification-tab {
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: var(--text-secondary);
    font-weight: 800;
}

.notification-tab.is-active,
.notification-tab:hover {
    color: var(--green);
    border-color: var(--green-border);
    background: rgba(0, 140, 88, 0.08);
}

.notification-list {
    display: grid;
    gap: 12px;
}

.notification-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.notification-card--unread {
    border-color: rgba(0, 140, 88, 0.2);
}

.notification-card__icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
}

.notification-card__icon--urgent,
.notification-card__icon--high {
    background: var(--danger-soft);
    color: var(--danger);
}

.notification-card__icon--normal {
    background: rgba(0, 140, 88, 0.08);
    color: var(--green);
}

.notification-card__icon--low {
    background: rgba(59, 130, 246, 0.08);
    color: #2563eb;
}

.notification-card__body {
    flex: 1;
    min-width: 0;
}

.notification-card__top,
.notification-card__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.notification-card__top em {
    color: var(--green);
    font-size: 0.74rem;
    font-style: normal;
    font-weight: 800;
}

.notification-card__meta {
    margin-top: 10px;
    color: var(--text-secondary);
    font-size: 0.76rem;
}

.ratings-page {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.ratings-profile,
.ratings-main {
    display: grid;
    gap: 18px;
    align-content: start;
}

.ratings-profile-card,
.ratings-stats-card,
.ratings-main,
.rating-form-card {
    border-radius: 28px;
    padding: 22px;
}

.ratings-avatar {
    width: 110px;
    height: 110px;
    border-radius: 28px;
    object-fit: cover;
    margin-bottom: 18px;
    border: 1px solid var(--green-border);
}

.ratings-profile-card p,
.ratings-main__header span,
.rating-response small {
    color: var(--text-secondary);
}

.ratings-score,
.ratings-count {
    min-height: 64px;
    padding: 14px 16px;
    border-radius: 18px;
    background: var(--bg-soft);
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}

.ratings-score i {
    color: #f59e0b;
}

.rating-progress {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.rating-progress > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.rating-progress__bar {
    height: 10px;
    border-radius: 999px;
    background: rgba(8, 36, 58, 0.08);
    overflow: hidden;
}

.rating-progress__bar span {
    display: block;
    height: 100%;
    background: linear-gradient(135deg, #f59e0b, #facc15);
    border-radius: inherit;
}

.ratings-main__header {
    border: 1px solid var(--border);
    background: var(--bg-card);
    box-shadow: var(--shadow-md);
}

.rating-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.rating-card__score {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #f59e0b;
    font-weight: 900;
}

.rating-breakdown {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.rating-breakdown > div {
    min-height: 76px;
    padding: 12px 14px;
    border-radius: 18px;
    border: 1px solid var(--border);
    background: var(--bg-card);
}

.stars-display,
.rating-stars {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.stars-display .is-active {
    color: #f59e0b;
}

.stars-display .is-muted {
    color: #cbd5e1;
}

.rating-response {
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(0, 140, 88, 0.08);
}

.rating-form-card__header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}

.rating-warning,
.rating-public-check {
    border-radius: 20px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
    padding: 14px 16px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.rating-warning {
    border-color: rgba(225, 138, 16, 0.24);
    background: var(--warning-soft);
    margin-top: 14px;
}

.rating-fields {
    display: grid;
    gap: 14px;
}

.rating-field {
    padding: 16px;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
}

.rating-stars input[type="radio"] {
    display: none;
}

.rating-stars label {
    font-size: 1.5rem;
    color: #cbd5e1;
    cursor: pointer;
    transition: transform 0.2s ease, color 0.2s ease;
}

.rating-stars label:hover,
.rating-stars label:hover ~ label {
    color: #f59e0b;
}

.rating-stars input[type="radio"]:checked + label,
.rating-stars input[type="radio"]:checked + label ~ label {
    color: #f59e0b;
}

.support-side,
.support-main {
    display: grid;
    gap: 24px;
    align-content: start;
}

.support-channel-list,
.support-topic-list {
    display: grid;
    gap: 12px;
}

.support-channel {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--bg-soft);
}

.support-channel__content {
    flex: 1;
    min-width: 0;
}

.support-channel__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 4px;
}

.support-channel__icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 140, 88, 0.09);
    color: var(--green);
    flex: 0 0 44px;
}

.support-channel h3 {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 800;
}

.support-channel strong {
    display: inline-block;
    font-size: 0.88rem;
    margin: 0;
    text-align: left;
}

.support-channel p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.8rem;
    line-height: 1.75;
}

.support-topic-list span {
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 15px;
    background: rgba(0, 140, 88, 0.07);
    color: var(--text-primary);
    border: 1px solid rgba(0, 140, 88, 0.1);
    display: inline-flex;
    align-items: center;
}

@media (max-width: 575.98px) {
    .support-channel__row {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
}

.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--text-primary);
    --bs-table-border-color: var(--border);
}

.table thead th {
    color: var(--text-secondary);
    font-size: 0.8rem;
    font-weight: 800;
    border-bottom-width: 1px;
}

.table tbody td {
    vertical-align: middle;
}

.badge {
    border-radius: 999px;
}

.btn {
    border-radius: 14px;
    font-weight: 800;
}

.btn-primary {
    border-color: transparent;
    background: linear-gradient(135deg, var(--green-light), var(--green));
    box-shadow: 0 8px 24px var(--glow-green);
}

[data-theme="dark"] .btn-primary {
    color: #03111d;
}

.btn-outline-primary {
    color: var(--green);
    border-color: var(--green);
}

.btn-outline-primary:hover {
    background: var(--green);
    border-color: var(--green);
}

.btn-outline-secondary {
    color: var(--text-secondary);
    border-color: var(--border);
}

.btn-outline-secondary:hover {
    color: var(--text-primary);
    background: var(--bg-soft);
    border-color: var(--green-border);
}

.app-footer {
    position: relative;
    margin-top: 56px;
    padding: 80px 0 calc(28px + env(safe-area-inset-bottom));
    background:
        radial-gradient(circle at top right, rgba(0, 140, 88, 0.1), transparent 26%),
        linear-gradient(180deg, var(--bg-soft) 0%, var(--bg-card) 100%);
    color: var(--text-primary);
    border-top: 1px solid var(--border);
}

.app-footer__inner {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 42px;
    margin-bottom: 34px;
}

.app-footer__brand {
    display: block;
}

.app-footer__brand-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

.app-footer__logo-mark {
    position: relative;
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.app-footer__icon {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 16px;
    object-fit: contain;
    box-shadow: 0 10px 26px rgba(0, 140, 88, 0.16);
}

.app-footer__icon--dark {
    display: none;
}

[data-theme="dark"] .app-footer__icon--light {
    display: none;
}

[data-theme="dark"] .app-footer__icon--dark {
    display: block;
}

.app-footer__logo-txt {
    display: inline-block;
    font-size: 1.9rem;
    font-weight: 900;
    background: linear-gradient(135deg, var(--green-light), var(--green));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.app-footer__brand-note {
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 700;
}

.app-footer__desc {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.88rem;
    line-height: 2;
    max-width: 420px;
}

.app-footer__social {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
}

.app-footer__social-btn {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: var(--text-muted);
    background: rgba(255, 255, 255, 0.42);
    border: 1px solid var(--border);
    transition: all 0.3s ease;
}

.app-footer__social-btn:hover {
    transform: translateY(-3px);
    color: var(--green);
    border-color: var(--green-border);
    background: rgba(0, 140, 88, 0.08);
}

.app-footer__title {
    margin-bottom: 16px;
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 900;
}

.app-footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.app-footer__list a {
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 0.82rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color 0.3s ease;
    line-height: 1.9;
}

.app-footer__list a::before {
    content: "◈";
    color: var(--green);
    font-size: 0.56rem;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.app-footer__list a:hover {
    color: var(--green);
}

.app-footer__list a:hover::before {
    opacity: 1;
}

.app-footer__bottom {
    padding-top: 26px;
    border-top: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.app-footer__copy {
    color: var(--text-muted);
    font-size: 0.78rem;
}

.app-footer__badges {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.app-footer__badge {
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.42);
    border: 1px solid var(--border);
    color: var(--text-secondary);
    font-size: 0.76rem;
    font-weight: 700;
}

[data-theme="dark"] .app-footer {
    background:
        radial-gradient(circle at top right, rgba(25, 242, 161, 0.12), transparent 24%),
        linear-gradient(180deg, #08243a 0%, #03111d 100%);
    color: #eaf6ff;
    border-top-color: rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .app-footer__brand-note {
    color: rgba(234, 246, 255, 0.5);
}

[data-theme="dark"] .app-footer__desc {
    color: rgba(234, 246, 255, 0.62);
}

[data-theme="dark"] .app-footer__social-btn {
    color: #9cb4c7;
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .app-footer__title {
    color: #eaf6ff;
}

[data-theme="dark"] .app-footer__list a {
    color: rgba(234, 246, 255, 0.38);
}

[data-theme="dark"] .app-footer__bottom {
    border-top-color: rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .app-footer__copy {
    color: rgba(234, 246, 255, 0.36);
}

[data-theme="dark"] .app-footer__badge {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.06);
    color: #9cb4c7;
}

.helper-toggle {
    position: fixed;
    bottom: 96px;
    inset-inline-end: 18px;
    z-index: 1036;
    min-height: 52px;
    padding: 0 18px;
    border: 0;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: inherit;
    font-weight: 800;
}

.helper-toggle__icon {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.helper-widget {
    position: fixed;
    bottom: 158px;
    inset-inline-end: 18px;
    z-index: 1037;
    width: min(360px, calc(100vw - 28px));
    border-radius: 24px;
    border: 1px solid var(--border);
    background: var(--bg-card);
    box-shadow: var(--shadow-xl);
    overflow: hidden;
    opacity: 0;
    transform: translateY(12px) scale(0.98);
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.helper-widget.is-open {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.helper-widget__header {
    padding: 18px 18px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: linear-gradient(135deg, rgba(0, 140, 88, 0.08), rgba(255, 255, 255, 0.98));
}

[data-theme="dark"] .helper-widget__header {
    background: linear-gradient(135deg, rgba(0, 200, 120, 0.1), rgba(8, 31, 49, 0.98));
}

.helper-widget__close {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text-secondary);
}

.helper-widget__body {
    padding: 16px 18px 18px;
}

.helper-widget__message {
    margin: 0 0 12px;
    color: var(--text-primary);
    line-height: 1.9;
    font-size: 0.9rem;
}

.helper-widget__progress {
    color: var(--text-muted);
    font-size: 0.76rem;
    font-weight: 800;
    margin-bottom: 12px;
}

.helper-widget__actions {
    display: flex;
    gap: 10px;
}

.live-notification-stack {
    position: fixed;
    top: 100px;
    inset-inline-start: 18px;
    z-index: 1045;
    width: min(340px, calc(100vw - 36px));
    display: grid;
    gap: 10px;
}

.live-notif {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: var(--bg-card);
    box-shadow: var(--shadow-lg);
    text-decoration: none;
    color: inherit;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.live-notif.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.live-notif__icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 140, 88, 0.08);
    color: var(--green);
}

.live-notif__title {
    display: block;
    font-size: 0.86rem;
    font-weight: 900;
    margin-bottom: 4px;
}

.live-notif__msg {
    display: block;
    color: var(--text-secondary);
    font-size: 0.8rem;
    line-height: 1.7;
}

.live-notif--urgent {
    border-color: rgba(214, 69, 69, 0.24);
}

.live-notif--urgent .live-notif__icon,
.live-notif--high .live-notif__icon {
    background: var(--danger-soft);
    color: var(--danger);
}

.live-notif--low .live-notif__icon {
    background: rgba(0, 140, 88, 0.06);
}

.mini-status--danger {
    color: var(--danger);
    background: rgba(214, 69, 69, 0.1);
}

.shipment-page {
    display: grid;
    gap: 20px;
}

.shipment-hero,
.shipment-panel,
.transport-tender-card,
.route-card,
.payment-card,
.tracking-item {
    border: 1px solid var(--border);
    background: var(--bg-card);
    box-shadow: var(--shadow-md);
}

.shipment-hero {
    border-radius: 28px;
    padding: 24px 28px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    background:
        linear-gradient(135deg, rgba(8, 36, 58, 0.88), rgba(0, 107, 70, 0.7));
    color: #fff;
    border-color: rgba(0, 140, 88, 0.12);
}

[data-theme="dark"] .shipment-hero {
    background:
        linear-gradient(135deg, rgba(3, 17, 29, 0.96), rgba(0, 60, 40, 0.84));
}

.shipment-hero h1 {
    margin: 14px 0 10px;
    font-size: 1.78rem;
    font-weight: 900;
}

.shipment-hero p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.9;
}

.shipment-hero__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.shipment-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.85fr);
    gap: 20px;
    align-items: start;
}

.shipment-main,
.shipment-side {
    display: grid;
    gap: 20px;
    align-content: start;
}

.shipment-panel {
    border-radius: 28px;
    padding: 22px;
}

.shipment-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.shipment-panel__header h2 {
    margin: 0 0 8px;
    font-size: 1.08rem;
    font-weight: 900;
}

.shipment-panel__header p {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.85;
}

.shipment-panel__header i {
    color: var(--green);
    margin-inline-end: 8px;
}

.shipment-panel--side {
    min-height: 100%;
}

.transport-tender-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.transport-tender-card {
    border-radius: 26px;
    padding: 20px;
    display: grid;
    gap: 16px;
}

.transport-tender-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.transport-tender-card__header h2 {
    margin: 10px 0 0;
    font-size: 1.08rem;
    font-weight: 900;
    line-height: 1.8;
}

.transport-route {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 20px;
    background: var(--bg-soft);
    border: 1px solid rgba(0, 140, 88, 0.1);
}

.transport-route div {
    display: grid;
    gap: 6px;
}

.transport-route span {
    color: var(--text-secondary);
    font-size: 0.76rem;
}

.transport-route strong {
    font-size: 0.94rem;
    font-weight: 900;
}

.transport-route i {
    color: var(--green);
    font-size: 1rem;
}

.transport-meta-grid,
.shipment-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.transport-meta-grid > div,
.shipment-info-grid > div {
    min-height: 92px;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: var(--bg-soft);
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.transport-meta-grid i {
    color: var(--green);
}

.transport-meta-grid span,
.shipment-info-grid span {
    color: var(--text-secondary);
    font-size: 0.76rem;
}

.transport-meta-grid strong,
.shipment-info-grid strong {
    font-size: 0.96rem;
    font-weight: 900;
    line-height: 1.9;
}

.shipment-info-grid--one {
    grid-template-columns: 1fr;
}

.tender-progress {
    display: grid;
    gap: 10px;
}

.tender-progress small {
    color: var(--text-secondary);
}

.tender-progress__bar {
    height: 10px;
    border-radius: 999px;
    background: rgba(8, 36, 58, 0.08);
    overflow: hidden;
}

.tender-progress__bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #1d4ed8, var(--green));
}

.route-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.route-card {
    border-radius: 24px;
    padding: 18px;
    display: grid;
    gap: 10px;
}

.route-card span {
    color: var(--text-secondary);
    font-size: 0.78rem;
}

.route-card strong {
    font-size: 1rem;
    font-weight: 900;
}

.route-card small {
    color: var(--text-secondary);
    line-height: 1.8;
}

.route-card--origin {
    border-color: rgba(0, 140, 88, 0.16);
    background: linear-gradient(180deg, rgba(0, 140, 88, 0.05), rgba(0, 140, 88, 0.01));
}

.route-card--destination {
    border-color: rgba(59, 130, 246, 0.16);
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.06), rgba(59, 130, 246, 0.01));
}

.shipment-table-wrap {
    border: 1px solid var(--border);
    border-radius: 22px;
    background: var(--bg-soft);
    overflow-x: auto;
}

.shipment-table {
    margin: 0;
}

.shipment-table thead th {
    background: rgba(8, 36, 58, 0.03);
    color: var(--text-secondary);
    font-size: 0.78rem;
    font-weight: 800;
    border-bottom-color: var(--border);
    white-space: nowrap;
}

.shipment-table tbody td {
    vertical-align: middle;
    border-color: var(--border);
}

.shipment-table__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.shipment-table__actions form {
    margin: 0;
}

.is-accepted-row {
    background: rgba(0, 140, 88, 0.04);
}

.shipment-action-stack,
.payment-card-list,
.tracking-timeline {
    display: grid;
    gap: 12px;
}

.load-init-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 16px;
    padding: 14px;
    border-radius: 20px;
    background: var(--bg-soft);
    border: 1px solid var(--border);
}

.payment-card {
    border-radius: 24px;
    padding: 18px;
    display: grid;
    gap: 14px;
}

.payment-card__header,
.payment-card__actions {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.payment-card__header strong {
    display: block;
    margin-bottom: 6px;
    font-size: 1rem;
}

.payment-card__header span,
.payment-card__header small,
.payment-card p,
.tracking-item span,
.tracking-item p {
    color: var(--text-secondary);
    line-height: 1.8;
}

.tracking-item {
    border-radius: 22px;
    padding: 16px 18px;
    display: grid;
    gap: 6px;
}

.tracking-item strong {
    font-size: 0.96rem;
    font-weight: 900;
}

.shipment-page .btn.w-100 {
    min-height: 48px;
}

.logistics-form-page {
    width: min(100%, 1040px);
    margin-inline: auto;
    display: grid;
    gap: 20px;
}

.logistics-form-card {
    border: 1px solid var(--border);
    border-radius: 28px;
    background: var(--bg-card);
    box-shadow: var(--shadow-md);
    padding: 24px;
}

.logistics-form-card--wide {
    width: min(100%, 1180px);
}

.logistics-form-card__header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--border);
}

.logistics-icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 56px;
    background: rgba(0, 140, 88, 0.1);
    color: var(--green);
    border: 1px solid rgba(0, 140, 88, 0.18);
}

.logistics-form-card__header h1 {
    margin: 10px 0 8px;
    font-size: 1.42rem;
    font-weight: 900;
    line-height: 1.45;
}

.logistics-form-card__header p {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.8;
}

.logistics-route-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.logistics-route-summary > div {
    border: 1px solid var(--border);
    border-radius: 20px;
    background: var(--bg-soft);
    padding: 14px 16px;
    display: grid;
    gap: 8px;
}

.logistics-route-summary span {
    color: var(--text-secondary);
    font-size: 0.76rem;
}

.logistics-route-summary strong {
    font-weight: 900;
    line-height: 1.8;
}

.signature-pad-body {
    margin: 0;
    min-height: 100vh;
    font-family: "Vazirmatn", sans-serif;
    background: var(--bg-primary);
    color: var(--text-primary);
}

.signature-pad-page {
    min-height: 100vh;
    padding: 28px;
    display: grid;
    place-items: center;
}

.signature-pad-card {
    width: min(100%, 820px);
    border: 1px solid var(--border);
    border-radius: 28px;
    background: var(--bg-card);
    box-shadow: var(--shadow-lg);
    padding: 24px;
    display: grid;
    gap: 18px;
}

.signature-pad-card__header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.signature-pad-card__header h1 {
    margin: 10px 0 8px;
    font-size: 1.38rem;
    font-weight: 900;
}

.signature-pad-card__header p {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.8;
}

.signature-pad-canvas {
    width: 100%;
    height: 240px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: #fff;
    touch-action: none;
}

.signature-pad-toolbar,
.signature-pad-consents {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.signature-pad-consents {
    align-items: flex-start;
    flex-direction: column;
    color: var(--text-secondary);
    line-height: 1.8;
}

.signature-preview-box {
    border: 1px solid var(--border);
    border-radius: 22px;
    background: var(--bg-soft);
    padding: 16px;
}

.signature-preview-box h2 {
    margin: 0 0 12px;
    font-size: 1rem;
    font-weight: 900;
}

.signature-preview-box img {
    max-width: 100%;
    min-height: 80px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #fff;
}

@media (max-width: 1199.98px) {
    .app-container {
        width: min(100vw - 28px, 1120px);
    }

    .support-grid {
        grid-template-columns: 1fr;
    }

    .app-footer__inner {
        grid-template-columns: 1fr 1fr;
        gap: 28px;
    }
}

@media (max-width: 991.98px) {
    .app-main {
        padding-top: 102px;
        padding-bottom: 124px;
    }

    .profile-layout,
    .ratings-page,
    .contract-detail-layout,
    .wallet-layout,
    .request-layout,
    .tender-layout,
    .shipment-layout,
    .dashboard-layout,
    .admin-layout,
    .admin-review-grid,
    .admin-decision-grid,
    .verify-choice-row {
        grid-template-columns: 1fr;
    }

    .request-info-grid,
    .tender-info-grid,
    .tender-summary-grid,
    .spec-list,
    .favorite-categories,
    .request-spec-grid,
    .deal-info-grid,
    .deal-info-grid--compact,
    .contract-meta-list,
    .finance-summary-grid,
    .finance-summary-grid--single,
    .wallet-mini-panel,
    .notification-stats,
    .rating-breakdown,
    .deal-progress-stepper,
    .tender-card-grid,
    .compact-kpi-grid,
    .compact-kpi-grid--six,
    .admin-users-stats,
    .admin-info-grid,
    .transport-meta-grid,
    .shipment-info-grid,
    .route-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-info-grid__wide {
        grid-column: span 2;
    }

    .verification-strip__inner {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .verification-strip__action {
        margin-inline-start: 0;
    }

    .auth-card,
    .auth-card--compact {
        grid-template-columns: 1fr;
    }

    .auth-card__visual {
        min-height: 240px;
    }

    .helper-toggle {
        bottom: 96px;
    }

    .helper-toggle__label {
        display: none;
    }

    .verify-choice-row {
        grid-template-columns: 1fr;
    }

    .transport-tender-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .app-container {
        width: calc(100vw - 24px);
    }

    .app-main {
        padding-top: 96px;
    }

    .nav-logo-sub {
        display: none;
    }

    .nav-logo-text {
        font-size: 1.34rem;
    }

    .page-hero,
    .page-card,
    .verify-panel,
    .verify-fieldset,
    .auth-card__body,
    .auth-card__visual {
        padding: 22px;
    }

    .page-card__header {
        margin-bottom: 18px;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .verify-steps {
        grid-template-columns: 1fr;
    }

    .profile-card,
    .profile-menu,
    .verify-callout,
    .admin-hero,
    .conversation-hero,
    .chat-shell,
    .ratings-profile-card,
    .ratings-stats-card,
    .ratings-main,
    .rating-form-card,
    .deal-hero,
    .contract-detail-hero,
    .wallet-hero,
    .finance-balance-banner,
    .finance-warning,
    .finance-danger,
    .finance-check,
    .deal-panel,
    .contract-panel,
    .finance-card,
    .sign-panel,
    .request-hero,
    .tender-hero,
    .request-panel,
    .tender-panel,
    .shipment-hero,
    .shipment-panel,
    .transport-tender-card,
    .route-card,
    .payment-card,
    .tracking-item,
    .request-form-card,
    .tender-form-card,
    .admin-panel,
    .compact-kpi {
        border-radius: 22px;
    }

    .verify-callout,
    .admin-hero,
    .conversation-hero,
    .chat-header,
    .notification-card,
    .rating-card__header,
    .rating-form-card__header,
    .deal-hero,
    .contract-detail-hero,
    .wallet-hero,
    .deal-panel__header,
    .finance-card__header,
    .sign-panel__header,
    .signature-box__header,
    .amendment-card__header,
    .signature-item,
    .request-hero,
    .tender-hero,
    .request-panel__header,
    .tender-panel__header,
    .request-form-card__header,
    .tender-form-card__header,
    .shipment-hero,
    .shipment-panel__header,
    .payment-card__header,
    .payment-card__actions,
    .dashboard-topbar,
    .admin-panel__header,
    .dashboard-panel__header,
    .admin-document-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .verify-callout .btn {
        margin-inline-start: 0;
        width: 100%;
    }

    .dashboard-topbar__actions,
    .dashboard-panel__actions {
        width: 100%;
    }

    .admin-users-stats,
    .admin-info-grid,
    .compact-kpi-grid,
    .compact-kpi-grid--six,
    .quick-grid,
    .request-info-grid,
    .tender-info-grid,
    .tender-summary-grid,
    .spec-list,
    .favorite-categories,
    .request-spec-grid,
    .tender-card-grid,
    .transport-meta-grid,
    .shipment-info-grid,
    .route-grid,
    .deal-progress-stepper,
    .deal-info-grid,
    .deal-info-grid--compact,
    .contract-meta-list,
    .finance-summary-grid,
    .finance-summary-grid--single,
    .wallet-mini-panel,
    .quick-amounts__grid,
    .notification-stats,
    .rating-breakdown {
        grid-template-columns: 1fr;
    }

    .tender-card__meta,
    .request-info-grid--compact-side {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tender-card--compact {
        padding: 10px;
        gap: 9px;
    }

    .tender-card--compact .tender-card__header {
        gap: 8px;
    }

    .tender-card--compact .tender-card__meta--inline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .tender-card--compact .tender-card__meta > div {
        padding: 7px 8px;
    }

    .tender-card--compact .tender-card__meta span {
        font-size: 0.69rem;
    }

    .tender-card--compact .tender-card__meta strong {
        font-size: 0.82rem;
    }

    .contract-document {
        max-height: min(66vh, 640px);
    }

    .admin-info-grid__wide {
        grid-column: span 1;
    }

    .request-info-grid__wide,
    .tender-info-grid__wide {
        grid-column: span 1;
    }

    .compact-deal,
    .task-row,
    .sheet-link,
    .conversation-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .conversation-item__meta {
        align-items: flex-start;
    }

    .chat-input-row {
        grid-template-columns: 1fr;
    }

    .request-table__actions,
    .tender-table__actions,
    .shipment-table__actions,
    .amendment-card__actions,
    .service-signature-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .request-table__actions .btn,
    .tender-table__actions .btn,
    .shipment-table__actions .btn,
    .request-table__actions form,
    .request-table__actions form .btn,
    .tender-table__actions form,
    .tender-table__actions form .btn,
    .shipment-table__actions form,
    .shipment-table__actions form .btn {
        width: 100%;
    }

    .deal-hero__badges--stack {
        align-items: flex-start;
    }

    .service-signature-pad canvas {
        height: 60vh;
    }

    .admin-action-group,
    .admin-table__actions {
        align-items: stretch;
    }

    .admin-action-group .btn,
    .admin-action-group form,
    .admin-action-group form .btn {
        width: 100%;
    }

    .helper-widget {
        inset-inline: 12px;
        width: auto;
        bottom: 154px;
    }

    .live-notification-stack {
        inset-inline: 12px;
        width: auto;
        top: 88px;
    }

    .app-footer__inner {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .app-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .load-init-form,
    .transport-route,
    .logistics-route-summary {
        grid-template-columns: 1fr;
    }

    .transport-route i {
        transform: rotate(-90deg);
        justify-self: start;
    }

    .about-grid,
    .support-grid {
        grid-template-columns: 1fr;
    }

    .admin-table-wrap table,
    .compact-table-wrap table,
    .request-table-wrap table,
    .tender-table-wrap table,
    .deals-table-wrap table,
    .contracts-table-wrap table,
    .finance-table-wrap table,
    .template-table-wrap table,
    .shipment-table-wrap table {
        border: 0;
    }

    .admin-table-wrap thead,
    .compact-table-wrap thead,
    .request-table-wrap thead,
    .tender-table-wrap thead,
    .deals-table-wrap thead,
    .contracts-table-wrap thead,
    .finance-table-wrap thead,
    .template-table-wrap thead,
    .shipment-table-wrap thead {
        display: none;
    }

    .admin-table-wrap tr,
    .compact-table-wrap tr,
    .request-table-wrap tr,
    .tender-table-wrap tr,
    .deals-table-wrap tr,
    .contracts-table-wrap tr,
    .finance-table-wrap tr,
    .template-table-wrap tr,
    .shipment-table-wrap tr {
        display: block;
        padding: 12px 4px;
        border-bottom: 1px solid var(--border);
    }

    .admin-table-wrap tr:last-child,
    .compact-table-wrap tr:last-child,
    .request-table-wrap tr:last-child,
    .tender-table-wrap tr:last-child,
    .deals-table-wrap tr:last-child,
    .contracts-table-wrap tr:last-child,
    .finance-table-wrap tr:last-child,
    .template-table-wrap tr:last-child,
    .shipment-table-wrap tr:last-child {
        border-bottom: 0;
    }

    .admin-table-wrap td,
    .compact-table-wrap td,
    .request-table-wrap td,
    .tender-table-wrap td,
    .deals-table-wrap td,
    .contracts-table-wrap td,
    .finance-table-wrap td,
    .template-table-wrap td,
    .shipment-table-wrap td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 6px 4px;
        border: 0 !important;
        text-align: end;
    }

    .admin-table-wrap td[data-label]::before,
    .compact-table-wrap td[data-label]::before,
    .request-table-wrap td[data-label]::before,
    .tender-table-wrap td[data-label]::before,
    .deals-table-wrap td[data-label]::before,
    .contracts-table-wrap td[data-label]::before,
    .finance-table-wrap td[data-label]::before,
    .template-table-wrap td[data-label]::before,
    .shipment-table-wrap td[data-label]::before {
        content: attr(data-label);
        flex: 0 0 auto;
        color: var(--text-secondary);
        font-size: 0.78rem;
        font-weight: 800;
    }
}

@media (max-width: 575.98px) {
    .system-messages {
        gap: 10px;
        margin-bottom: 14px;
    }

    .system-alert {
        padding: 14px 14px;
        border-radius: 16px;
        gap: 12px;
    }

    .system-alert__icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .system-alert__body {
        font-size: 0.95rem;
        line-height: 1.8;
    }

    .app-main {
        padding-top: 88px;
        padding-bottom: 118px;
    }

    .navbar.app-navbar {
        min-height: 68px;
    }

    .mobile-dock__item {
        min-height: 50px;
        font-size: 0.62rem;
    }

    .mobile-dock__item i {
        font-size: 0.92rem;
    }

    .helper-toggle {
        inset-inline-end: 12px;
    }

    .support-channel,
    .info-pill {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Home showcase moved from templates/core/home.html */



/* Home showcase moved from templates/core/home.html */

body.home-showcase .app-main{padding:0!important;min-height:0!important;background:transparent!important}
body.home-showcase .app-container{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
    --green:#008C58;--green-dark:#006B46;--green-light:#10B981;
    --green-border:#BFE8D7;--navy:#08243A;--navy-soft:#123A56;
    --bg-primary:#F6FAFC;--bg-secondary:#FFFFFF;--bg-card:#FFFFFF;
    --text-primary:#102A3D;--text-secondary:#607485;--text-muted:#8FA5B5;
    --border:#D8E4EA;
    --shadow-sm:0 2px 8px rgba(8,36,58,.07);
    --shadow-md:0 8px 30px rgba(8,36,58,.10);
    --shadow-lg:0 20px 60px rgba(8,36,58,.12);
    --shadow-xl:0 30px 80px rgba(8,36,58,.15);
    --glow-green:rgba(0,140,88,.20);--glow-green2:rgba(16,185,129,.25);
    --nav-bg:rgba(246,250,252,.92);--nav-border:rgba(0,140,88,.18);
    --img-header:url("../landing/home/images/header.png");
    --img-logo:url("../landing/home/images/logo.png");
    --img-box:url("../landing/home/images/box.png");
    --img-divider:url("../landing/home/images/devider.png");
}
[data-theme="dark"]{
    --green:#00C878;--green-dark:#008C58;--green-light:#19F2A1;
    --green-border:rgba(0,200,120,.55);--navy:#EAF6FF;--navy-soft:#9CB4C7;
    --bg-primary:#03111D;--bg-secondary:#061A2A;--bg-card:#081F31;
    --text-primary:#EAF6FF;--text-secondary:#9CB4C7;--text-muted:#5E7D94;
    --border:#16405C;
    --shadow-sm:0 2px 8px rgba(0,0,0,.45);
    --shadow-md:0 8px 30px rgba(0,0,0,.50);
    --shadow-lg:0 20px 60px rgba(0,0,0,.55);
    --shadow-xl:0 30px 80px rgba(0,0,0,.65);
    --glow-green:rgba(25,242,161,.35);--glow-green2:rgba(0,168,255,.30);
    --nav-bg:rgba(3,17,29,.95);--nav-border:rgba(0,200,120,.30);
    --img-header:url("../landing/home/images/header-dark.png");
    --img-logo:url("../landing/home/images/logo-dark.png");
    --img-box:url("../landing/home/images/box-dark.png");
    --img-divider:url("../landing/home/images/devider-dark.png");
}
html{scroll-behavior:smooth}
body{
    font-family:'Vazirmatn',sans-serif;
    background:var(--bg-primary);color:var(--text-primary);
    transition:background .5s ease,color .5s ease;overflow-x:hidden;
}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--bg-primary)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--green),var(--green-dark));border-radius:100px}
#loader{
    position:fixed;inset:0;z-index:9999;
    background:linear-gradient(135deg,#03111D 0%,#061A2A 50%,#03111D 100%);
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
    transition:opacity .7s ease,visibility .7s ease;
}
#loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-logo-ring{
    position:relative;width:130px;height:130px;
    display:flex;align-items:center;justify-content:center;
}
.loader-logo-ring::before{
    content:'';position:absolute;inset:0;border-radius:50%;
    border:3px solid transparent;border-top-color:#00C878;border-right-color:#19F2A1;
    animation:spinRing 1.5s linear infinite;
}
.loader-logo-ring::after{
    content:'';position:absolute;inset:8px;border-radius:50%;
    border:2px solid transparent;border-bottom-color:#00A8FF;
    animation:spinRing 2s linear infinite reverse;
}
@keyframes spinRing{to{transform:rotate(360deg)}}
.loader-logo-img{
    width:80px;height:80px;
    background:var(--img-logo) center/contain no-repeat;
    animation:logoPulse 2s ease-in-out infinite;
    filter:drop-shadow(0 0 20px rgba(0,200,120,.7));
}
@keyframes logoPulse{
    0%,100%{transform:scale(1);filter:drop-shadow(0 0 20px rgba(0,200,120,.7))}
    50%{transform:scale(1.07);filter:drop-shadow(0 0 40px rgba(25,242,161,1))}
}
.loader-brand{
    font-size:2.2rem;font-weight:900;
    background:linear-gradient(135deg,#19F2A1,#00C878,#00A8FF,#19F2A1);
    background-size:300% auto;
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    animation:gradShift 3s linear infinite;
}
.loader-sub{font-size:.78rem;color:#5E7D94;letter-spacing:4px;font-weight:300}
.loader-bar-wrap{width:240px;height:4px;background:rgba(255,255,255,.06);border-radius:100px;overflow:hidden}
.loader-bar{
    height:100%;
    background:linear-gradient(90deg,#00C878,#19F2A1,#00A8FF,#00C878);
    background-size:300% auto;border-radius:100px;
    animation:loadBar 2.6s ease forwards,gradShift 2s linear infinite;width:0;
}
@keyframes loadBar{0%{width:0}25%{width:35%}55%{width:65%}80%{width:85%}100%{width:100%}}
@keyframes gradShift{0%{background-position:0% center}100%{background-position:300% center}}
.loader-dots{display:flex;gap:8px}
.loader-dots span{width:9px;height:9px;border-radius:50%;animation:dotBounce 1.2s ease-in-out infinite}
.loader-dots span:nth-child(1){background:#00C878}
.loader-dots span:nth-child(2){background:#19F2A1;animation-delay:.2s}
.loader-dots span:nth-child(3){background:#00A8FF;animation-delay:.4s}
@keyframes dotBounce{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-12px);opacity:1}}
#particles-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.5}
.navbar{
    position:fixed;top:0;left:0;right:0;z-index:1000;
    background:var(--nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid var(--nav-border);
    padding:0 44px;height:74px;
    display:flex;align-items:center;justify-content:space-between;
    transition:all .4s ease;box-shadow:0 4px 30px rgba(0,140,88,.07);
}
.navbar.scrolled{height:60px;box-shadow:var(--shadow-md)}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.nav-logo-img{
    width:44px;height:44px;
    object-fit:contain;
    transition:transform .35s ease;flex-shrink:0;
}
.nav-logo:hover .nav-logo-img{transform:rotate(-6deg) scale(1.1)}
.nav-logo-text{
    font-size:1.55rem;font-weight:900;
    background:linear-gradient(135deg,var(--green),var(--green-dark));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
[data-theme="dark"] .nav-logo-text{
    background:linear-gradient(135deg,#19F2A1,#00C878);
    -webkit-background-clip:text;background-clip:text;
}
.nav-logo-sub{font-size:.62rem;color:var(--text-muted);display:block;line-height:1;margin-top:3px;font-weight:400;letter-spacing:1px}
[data-theme="dark"] .nav-logo-sub{color:rgba(234,246,255,.88)}
.nav-links{display:flex;align-items:center;gap:4px;list-style:none}
.nav-links a{
    text-decoration:none;color:var(--text-secondary);
    font-size:.87rem;font-weight:500;padding:8px 14px;border-radius:10px;
    transition:all .3s ease;position:relative;
}
.nav-links a::after{
    content:'';position:absolute;bottom:5px;left:50%;transform:translateX(-50%);
    width:0;height:2px;background:linear-gradient(90deg,var(--green),var(--green-light));
    border-radius:2px;transition:width .3s ease;
}
.nav-links a:hover{color:var(--green);background:rgba(0,140,88,.07)}
.nav-links a:hover::after{width:55%}
.nav-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto;margin-inline-start:12px}
.btn-theme{
    width:40px;height:40px;border-radius:12px;border:1px solid var(--border);
    background:var(--bg-card);cursor:pointer;display:flex;align-items:center;justify-content:center;
    font-size:1.1rem;transition:all .3s ease;color:var(--text-primary);
}
.btn-theme:hover{border-color:var(--green);box-shadow:0 0 16px var(--glow-green);transform:scale(1.06)}
.btn-login{
    padding:9px 20px;background:transparent;border:1.5px solid var(--green);
    color:var(--green);border-radius:12px;font-family:'Vazirmatn',sans-serif;
    font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;
}
.btn-login:hover{background:var(--green);color:#fff;box-shadow:0 4px 20px var(--glow-green)}
.btn-register{
    padding:9px 22px;background:linear-gradient(135deg,var(--green-light),var(--green));
    border:none;color:#fff;border-radius:12px;font-family:'Vazirmatn',sans-serif;
    font-size:.85rem;font-weight:800;cursor:pointer;transition:all .3s ease;
    box-shadow:0 4px 20px var(--glow-green);text-decoration:none;
}
.btn-register:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--glow-green)}
[data-theme="dark"] .btn-register{background:linear-gradient(135deg,#19F2A1,#00C878);color:#03111D}
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:var(--img-header) center/cover no-repeat;transition:background-image .6s ease}
.hero-overlay{
    position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(8,36,58,.88) 0%,rgba(8,36,58,.55) 50%,rgba(0,107,70,.45) 100%);
}
[data-theme="dark"] .hero-overlay{
    background:linear-gradient(135deg,rgba(3,17,29,.94) 0%,rgba(3,17,29,.65) 50%,rgba(0,60,40,.55) 100%);
}
.hero-content{
    position:relative;z-index:2;max-width:1200px;margin:0 auto;
    padding:130px 44px 90px;display:grid;grid-template-columns:1fr 1fr;
    gap:60px;align-items:center;width:100%;
}
.hero-badge{
    display:inline-flex;align-items:center;gap:8px;
    background:rgba(0,140,88,.18);border:1px solid rgba(0,140,88,.45);color:#6DFFC7;
    padding:6px 18px;border-radius:100px;font-size:.78rem;font-weight:700;
    margin-bottom:24px;letter-spacing:1px;animation:fadeSlideDown .8s ease forwards;
}
.hero-badge .dot{width:7px;height:7px;background:#19F2A1;border-radius:50%;animation:pulse 1.5s ease-in-out infinite;box-shadow:0 0 8px #19F2A1}
.hero-title{font-size:clamp(1.9rem,3.8vw,3.1rem);font-weight:900;line-height:1.35;color:#fff;margin-bottom:20px;animation:fadeSlideDown .8s ease .15s forwards;opacity:0}
.hero-title .hl-green{background:linear-gradient(135deg,#6DFFC7,#00C878);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-desc{font-size:1rem;color:rgba(255,255,255,.68);line-height:1.85;margin-bottom:36px;animation:fadeSlideDown .8s ease .3s forwards;opacity:0;font-weight:300}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;animation:fadeSlideDown .8s ease .45s forwards;opacity:0}
.btn-hero-primary{
    padding:14px 34px;background:linear-gradient(135deg,var(--green-light),var(--green));
    color:#fff;border:none;border-radius:14px;font-family:'Vazirmatn',sans-serif;
    font-size:1rem;font-weight:800;cursor:pointer;transition:all .3s ease;
    box-shadow:0 8px 30px var(--glow-green);display:flex;align-items:center;gap:8px;text-decoration:none;
}
.btn-hero-primary:hover{transform:translateY(-3px);box-shadow:0 16px 45px rgba(0,140,88,.5)}
[data-theme="dark"] .btn-hero-primary{background:linear-gradient(135deg,#19F2A1,#00C878);color:#03111D;box-shadow:0 8px 30px rgba(25,242,161,.4)}
.btn-hero-secondary{
    padding:14px 32px;background:rgba(255,255,255,.09);color:#fff;
    border:1.5px solid rgba(255,255,255,.28);border-radius:14px;
    font-family:'Vazirmatn',sans-serif;font-size:1rem;font-weight:600;
    cursor:pointer;transition:all .3s ease;backdrop-filter:blur(10px);text-decoration:none;
}
.btn-hero-secondary:hover{background:rgba(255,255,255,.17);border-color:rgba(255,255,255,.55);transform:translateY(-3px)}
.hero-stats{display:flex;gap:32px;margin-top:50px;animation:fadeSlideDown .8s ease .6s forwards;opacity:0}
.hero-stat{text-align:center}
.hero-stat-num{
    font-size:1.85rem;font-weight:900;
    background:linear-gradient(135deg,#6DFFC7,#00C878);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    display:block;line-height:1;
}
.hero-stat-label{font-size:.7rem;color:rgba(255,255,255,.45);margin-top:5px;font-weight:400;letter-spacing:.5px}
.hero-stat-div{width:1px;background:rgba(255,255,255,.12);align-self:stretch}
.hero-visual{display:flex;flex-direction:column;gap:14px;animation:fadeSlideUp .8s ease .3s forwards;opacity:0}
.hero-card{
    background:rgba(255,255,255,.08);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:20px 24px;transition:all .35s ease;text-decoration:none;
}
[data-theme="dark"] .hero-card{background:rgba(8,31,49,.65);border-color:rgba(0,200,120,.18)}
.hero-card:hover{transform:translateX(-6px);border-color:rgba(0,200,120,.45);box-shadow:0 12px 40px rgba(0,140,88,.25)}
.hero-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.hero-card-title{font-size:.84rem;font-weight:700;color:#fff}
.badge-live{display:flex;align-items:center;gap:5px;background:rgba(0,200,120,.15);color:#19F2A1;padding:3px 10px;border-radius:100px;font-size:.68rem;font-weight:700;border:1px solid rgba(0,200,120,.35)}
.badge-live .ld{width:6px;height:6px;background:#19F2A1;border-radius:50%;animation:pulse 1.2s ease-in-out infinite;box-shadow:0 0 6px #19F2A1}
.badge-hot{background:rgba(255,90,90,.15);color:#FF9090;border-color:rgba(255,90,90,.35)}
.badge-hot .ld{background:#FF9090;box-shadow:0 0 6px #FF9090}
.prog-wrap{background:rgba(255,255,255,.1);border-radius:100px;height:6px;overflow:hidden;margin-bottom:8px}
.prog-bar{height:100%;border-radius:100px;background:linear-gradient(90deg,var(--green-light),#19F2A1);animation:progFill 2s ease 1.2s forwards;width:0}
@keyframes progFill{to{width:var(--tw)}}
.prog-info{display:flex;justify-content:space-between;font-size:.72rem;color:rgba(255,255,255,.45)}
.prog-price{font-size:.88rem;font-weight:700;color:#6DFFC7}
.sec-divider{width:100%;height:56px;background:var(--img-divider) center/contain repeat-x;opacity:.55}
section{position:relative;z-index:1}
.container{max-width:1200px;margin:0 auto;padding:0 44px}
.sec-header{text-align:center;margin-bottom:58px}
.sec-eyebrow{display:inline-block;font-size:.72rem;font-weight:700;color:var(--green);letter-spacing:3.5px;text-transform:uppercase;margin-bottom:12px}
[data-theme="dark"] .sec-eyebrow{color:#19F2A1}
.sec-title{font-size:clamp(1.55rem,3vw,2.35rem);font-weight:900;color:var(--text-primary);line-height:1.32;margin-bottom:14px}
.sec-title .hl{color:var(--green)}
[data-theme="dark"] .sec-title .hl{color:#00C878}
.sec-desc{font-size:.93rem;color:var(--text-secondary);max-width:520px;margin:0 auto;line-height:1.75}
.box-frame{position:relative;background:var(--img-box) center/100% 100% no-repeat;transition:all .4s ease}
.box-frame-inner{position:relative;z-index:1;width:100%;height:100%}
.cats-section{padding:90px 0 72px;background:var(--bg-secondary);overflow:hidden}
.cats-track-wrap{position:relative;overflow:hidden;padding:18px 0}
.cats-track-wrap::before,.cats-track-wrap::after{content:'';position:absolute;top:0;bottom:0;width:130px;z-index:2;pointer-events:none}
.cats-track-wrap::before{right:0;background:linear-gradient(to left,var(--bg-secondary),transparent)}
.cats-track-wrap::after{left:0;background:linear-gradient(to right,var(--bg-secondary),transparent)}
.cats-track{display:flex;gap:18px;width:max-content}
.cats-track.cats-track--js{display:block;position:relative;width:100%}
.cats-track.cats-track--js .cat-card{
    position:absolute;top:0;
    transition:border-color .35s ease,box-shadow .35s ease,background .35s ease,opacity .35s ease;
    will-change:left;
}
.cat-card{
    flex-shrink:0;width:175px;background:var(--bg-card);
    border:1px solid var(--border);border-radius:22px;padding:24px 16px;
    text-align:center;cursor:pointer;transition:all .35s ease;position:relative;overflow:hidden;text-decoration:none;
}
.cat-card::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(0,140,88,.09),transparent);
    opacity:0;transition:opacity .35s ease;border-radius:22px;
}
[data-theme="dark"] .cat-card::before{background:linear-gradient(135deg,rgba(0,200,120,.12),rgba(0,168,255,.06))}
.cat-card:hover::before{opacity:1}
.cat-card:hover{transform:translateY(-9px) scale(1.03);border-color:var(--green);box-shadow:0 14px 40px var(--glow-green)}
[data-theme="dark"] .cat-card:hover{border-color:#00C878;box-shadow:0 14px 45px rgba(0,200,120,.3)}
.cat-icon{
    width:68px;height:68px;margin:0 auto 14px;border-radius:18px;
    display:flex;align-items:center;justify-content:center;font-size:2rem;
    background:linear-gradient(135deg,rgba(0,140,88,.10),rgba(0,140,88,.04));
    border:1px solid var(--green-border);transition:all .35s ease;overflow:hidden;
}
.cat-icon img{width:100%;height:100%;object-fit:cover}
.cat-card:hover .cat-icon{background:linear-gradient(135deg,var(--green),var(--green-dark));border-color:transparent;transform:scale(1.1) rotate(-5deg);box-shadow:0 8px 24px var(--glow-green)}
[data-theme="dark"] .cat-card:hover .cat-icon{background:linear-gradient(135deg,#00C878,#008C58);box-shadow:0 8px 28px rgba(0,200,120,.4)}
.cat-name{font-size:.84rem;font-weight:700;color:var(--text-primary);margin-bottom:5px}
.cat-count{font-size:.7rem;color:var(--text-muted)}
.auctions-section{padding:90px 0;background:var(--bg-primary)}
.contracts-public-section{padding:0 0 90px;background:var(--bg-primary)}
.tabs-row{display:flex;justify-content:center;gap:8px;margin-bottom:48px}
.tab-btn{
    padding:10px 26px;border-radius:13px;border:1.5px solid var(--border);
    background:var(--bg-card);color:var(--text-secondary);
    font-family:'Vazirmatn',sans-serif;font-size:.88rem;font-weight:600;
    cursor:pointer;transition:all .3s ease;
}
.tab-btn.active{background:linear-gradient(135deg,var(--green-light),var(--green));color:#fff;border-color:var(--green);box-shadow:0 6px 24px var(--glow-green)}
[data-theme="dark"] .tab-btn.active{background:linear-gradient(135deg,#19F2A1,#00C878);color:#03111D;border-color:#00C878;box-shadow:0 6px 28px rgba(0,200,120,.4)}
.tab-btn:not(.active):hover{border-color:var(--green);color:var(--green)}
.tab-content{display:none}
.tab-content.active{display:block}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.a-card{position:relative;cursor:pointer;transition:all .4s ease;border-radius:22px;overflow:hidden;background:var(--bg-card);border:1.5px solid var(--border);text-decoration:none}
.a-card:hover{transform: translateY(-9px);box-shadow: var(--shadow-xl);border-color: var(--green);box-shadow: var(--shadow-xl),0 0 0 1px var(--green),0 0 20px var(--glow-green)}
[data-theme="dark"] .a-card{border-color:#16405C}
[data-theme="dark"] .a-card:hover{border-color:#00C878;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px #00C878,0 0 30px rgba(0,200,120,.25)}
.a-card-content{background:var(--bg-card);border-radius:20px;overflow:hidden;height:100%}
[data-theme="dark"] .a-card-content{background:#081F31}
.a-card:hover .a-card-content{background:var(--bg-secondary)}
[data-theme="dark"] .a-card:hover .a-card-content{background:#0A2540}
.a-card-thumb{width:100%;height:176px;display:flex;align-items:center;justify-content:center;font-size:3.8rem;position:relative;overflow:hidden}
.a-card-thumb--buy{background:linear-gradient(135deg,rgba(0,140,88,.12),rgba(8,36,58,.1))}
.a-card-thumb--sell{background:linear-gradient(135deg,rgba(185,28,28,.1),rgba(8,36,58,.12))}
.a-price-row__count{text-align:center}
.a-card-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.55))}
.a-card-badge{position:absolute;top:14px;inset-inline-end:14px;padding:4px 12px;border-radius:100px;font-size:.7rem;font-weight:700}
.b-tender{background:rgba(0,107,70,.85);color:#fff;border:1px solid rgba(255,255,255,.2)}
.b-auction{background:rgba(185,28,28,.85);color:#fff;border:1px solid rgba(255,255,255,.2)}
.b-contract{background:rgba(0,59,92,.85);color:#fff;border:1px solid rgba(255,255,255,.2)}
.a-timer{
    position:absolute;bottom:14px;inset-inline-start:14px;
    background:rgba(0,0,0,.65);color:#6DFFC7;
    padding:4px 12px;border-radius:8px;font-size:.75rem;font-weight:700;
    backdrop-filter:blur(8px);display:flex;align-items:center;gap:5px;
}
.a-timer.is-urgent{color:#FFB366}
.a-card-body{padding:20px}
.a-card-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.a-card-title{font-size:.97rem;font-weight:700;color:var(--text-primary);margin-bottom:8px;line-height:1.45}
.a-card-headline .a-card-title{margin-bottom:0;flex:1}
.a-card-location-inline{
    flex-shrink:0;
    font-size:.75rem;
    color:var(--text-muted);
    display:flex;align-items:center;gap:5px;
    text-align:start;
    max-width:42%;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.a-card-org{font-size:.76rem;color:var(--text-muted);margin-bottom:16px;display:flex;align-items:center;gap:5px}
.a-card-org--product{font-size:1rem;font-weight:900;color:var(--text-primary);margin-bottom:10px}
.a-price-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.price-lbl{font-size:.7rem;color:var(--text-muted)}
.price-val{font-size:1.05rem;font-weight:900;color:var(--green)}
[data-theme="dark"] .price-val{color:#00C878}
.price-val.red{color:#F87171}
.price-unit{font-size:.68rem;color:var(--text-muted);font-weight:400}
.price-count{font-size:1.05rem;font-weight:900;color:var(--green-light)}
[data-theme="dark"] .price-count{color:#19F2A1}
.a-card-footer{display:flex;gap:8px;padding:0 20px 20px}
.btn-ca{flex:1;padding:10px;border-radius:12px;font-family:'Vazirmatn',sans-serif;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .3s ease;text-align:center;text-decoration:none}
.btn-ca-p{background:linear-gradient(135deg,var(--green-light),var(--green));color:#fff;border:none}
.btn-ca-p:hover{box-shadow:0 4px 18px var(--glow-green);transform:translateY(-1px)}
[data-theme="dark"] .btn-ca-p{background:linear-gradient(135deg,#19F2A1,#00C878);color:#03111D}
.btn-ca-o{background:transparent;border:1.5px solid var(--border);color:var(--text-secondary)}
.btn-ca-o:hover{border-color:var(--green);color:var(--green)}
.process-section{padding:90px 0;background:var(--bg-secondary)}
.process-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative}
.process-line{
    position:absolute;top:47px;right:8%;left:8%;height:2px;
    background:linear-gradient(90deg,var(--green),var(--green-light),var(--green));z-index:0;
}
[data-theme="dark"] .process-line{background:linear-gradient(90deg,#00C878,#19F2A1,#00A8FF,#00C878);box-shadow:0 0 12px rgba(25,242,161,.4)}
.proc-step{text-align:center;position:relative;z-index:1;padding:0 10px}
.step-ring{
    width:94px;height:94px;border-radius:50%;background:var(--bg-card);
    border:2.5px solid var(--border);margin:0 auto 20px;
    display:flex;align-items:center;justify-content:center;font-size:2rem;
    transition:all .4s ease;position:relative;cursor:pointer;
}
.step-ring::before{
    content:'';position:absolute;inset:-7px;border-radius:50%;
    border:2px dashed var(--green);opacity:0;transition:opacity .4s ease;
    animation:rotateDash 8s linear infinite;
}
@keyframes rotateDash{to{transform:rotate(360deg)}}
.proc-step:hover .step-ring::before{opacity:1}
.proc-step:hover .step-ring{border-color:var(--green);background:linear-gradient(135deg,rgba(0,140,88,.09),rgba(0,140,88,.04));box-shadow:0 10px 34px var(--glow-green);transform:scale(1.1) translateY(-4px)}
[data-theme="dark"] .proc-step:hover .step-ring{border-color:#00C878;background:linear-gradient(135deg,rgba(0,200,120,.12),rgba(0,168,255,.06));box-shadow:0 10px 40px rgba(0,200,120,.35),0 0 0 1px rgba(0,200,120,.25)}
.step-num{
    position:absolute;top:-8px;left:-8px;width:28px;height:28px;
    background:linear-gradient(135deg,var(--green-light),var(--green));
    color:#fff;font-size:.7rem;font-weight:900;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
}
[data-theme="dark"] .step-num{background:linear-gradient(135deg,#19F2A1,#00C878);color:#03111D}
.step-title{font-size:.88rem;font-weight:700;color:var(--text-primary);margin-bottom:7px}
.step-desc{font-size:.73rem;color:var(--text-muted);line-height:1.65}
.stats-section{
    padding:80px 0;
    background:linear-gradient(135deg,#08243A 0%,#06402A 50%,#08243A 100%);
    position:relative;overflow:hidden;
}
[data-theme="dark"] .stats-section{background:linear-gradient(135deg,#061A2A 0%,#082B1A 50%,#061A2A 100%)}
.stats-section::after{
    content:'';position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(ellipse 400px 300px at 20% 50%,rgba(0,200,120,.08),transparent),
               radial-gradient(ellipse 400px 300px at 80% 50%,rgba(0,168,255,.06),transparent);
}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative;z-index:1}
.stat-card{
    position:relative;cursor:default;
    background:var(--img-box) center/100% 100% no-repeat;
    padding:4px;border-radius:16px;
    transition:all .4s ease;
}
.stat-card:hover{transform:translateY(-7px)}
[data-theme="dark"] .stat-card:hover{filter:drop-shadow(0 20px 40px rgba(0,200,120,.25))}
.stat-card-inner{
    background:rgba(6,26,42,.85);
    border-radius:14px;
    padding:32px 18px;
    text-align:center;
    backdrop-filter:blur(10px);
    height:100%;
}
[data-theme="dark"] .stat-card-inner{background:rgba(3,17,29,.85)}
body:not([data-theme="dark"]) .stat-card-inner{background:rgba(8,36,58,.82)}
.stat-icon{font-size:2.3rem;margin-bottom:14px;display:block}
.stat-number{
    font-size:2.7rem;font-weight:900;
    background:linear-gradient(135deg,#19F2A1,#00C878);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    line-height:1;margin-bottom:8px;display:block;
}
.stat-label{font-size:.82rem;color:rgba(255,255,255,.5);font-weight:400}
.adv-section{padding:90px 0;background:var(--bg-primary)}
.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.adv-card{
    position:relative;cursor:pointer;
    background:var(--img-box) center/100% 100% no-repeat;
    padding:4px;border-radius:26px;
    transition:all .4s ease;
}
.adv-card:hover{transform:translateY(-9px)}
[data-theme="dark"] .adv-card:hover{filter:drop-shadow(0 20px 50px rgba(0,200,120,.3))}
body:not([data-theme="dark"]) .adv-card:hover{filter:drop-shadow(0 20px 50px rgba(0,140,88,.2))}
.adv-card-inner{
    background:var(--bg-card);
    border-radius:23px;padding:32px;
    height:100%;
    transition:background .3s ease;position:relative;
}
[data-theme="dark"] .adv-card-inner{background:#081F31}
.adv-card:hover .adv-card-inner{background:var(--bg-secondary)}
[data-theme="dark"] .adv-card:hover .adv-card-inner{background:#0A2540}
.adv-card-inner::before{
    content:'';position:absolute;top:4px;right:4px;
    width:100px;height:100px;
    background:radial-gradient(circle,var(--glow-green),transparent);
    opacity:0;transition:opacity .4s ease;
    border-radius:0 23px 0 100%;pointer-events:none;
}
.adv-card:hover .adv-card-inner::before{opacity:1}
.adv-icon{
    width:62px;height:62px;border-radius:18px;
    background:linear-gradient(135deg,rgba(0,140,88,.12),rgba(0,140,88,.05));
    border:1px solid var(--green-border);
    display:flex;align-items:center;justify-content:center;
    font-size:1.75rem;margin-bottom:20px;transition:all .35s ease;
}
.adv-card:hover .adv-icon{
    background:linear-gradient(135deg,var(--green-light),var(--green));
    border-color:transparent;transform:scale(1.1) rotate(-5deg);
    box-shadow:0 8px 24px var(--glow-green);
}
[data-theme="dark"] .adv-card:hover .adv-icon{background:linear-gradient(135deg,#19F2A1,#00C878);box-shadow:0 8px 28px rgba(0,200,120,.4)}
.adv-title{font-size:1.02rem;font-weight:800;color:var(--text-primary);margin-bottom:10px}
.adv-desc{font-size:.83rem;color:var(--text-secondary);line-height:1.75}
.adv-more{
    display:inline-flex;align-items:center;gap:4px;
    color:var(--green);font-size:.78rem;font-weight:700;
    margin-top:16px;cursor:pointer;transition:gap .3s ease;
}
[data-theme="dark"] .adv-more{color:#00C878}
.adv-card:hover .adv-more{gap:9px}
.nl-section{padding:80px 0;background:var(--bg-secondary)}
.nl-box{
    background:linear-gradient(135deg,rgba(0,140,88,.07),rgba(0,59,92,.05));
    border:1px solid rgba(0,140,88,.2);border-radius:30px;
    padding:60px 80px;text-align:center;position:relative;overflow:hidden;
}
[data-theme="dark"] .nl-box{background:linear-gradient(135deg,rgba(0,200,120,.07),rgba(0,168,255,.04));border-color:rgba(0,200,120,.25)}
.nl-box::before{
    content:'';position:absolute;top:-50%;left:50%;transform:translateX(-50%);
    width:600px;height:600px;
    background:radial-gradient(circle,rgba(0,140,88,.06),transparent 70%);pointer-events:none;
}
[data-theme="dark"] .nl-box::before{background:radial-gradient(circle,rgba(0,200,120,.07),transparent 70%)}
.nl-title{font-size:1.75rem;font-weight:900;color:var(--text-primary);margin-bottom:12px}
.nl-desc{font-size:.88rem;color:var(--text-muted);margin-bottom:32px;line-height:1.75}
.nl-form{display:flex;gap:12px;max-width:480px;margin:0 auto}
.nl-input{
    flex:1;padding:14px 20px;border-radius:14px;border:1.5px solid var(--border);
    background:var(--bg-card);color:var(--text-primary);
    font-family:'Vazirmatn',sans-serif;font-size:.9rem;outline:none;transition:border-color .3s ease;
}
.nl-input:focus{border-color:var(--green)}
[data-theme="dark"] .nl-input:focus{border-color:#00C878}
.nl-input::placeholder{color:var(--text-muted)}
.btn-nl{
    padding:14px 28px;background:linear-gradient(135deg,var(--green-light),var(--green));
    border:none;border-radius:14px;color:#fff;font-family:'Vazirmatn',sans-serif;
    font-size:.9rem;font-weight:800;cursor:pointer;transition:all .3s ease;white-space:nowrap;
}
.btn-nl:hover{box-shadow:0 8px 24px var(--glow-green);transform:translateY(-2px)}
[data-theme="dark"] .btn-nl{background:linear-gradient(135deg,#19F2A1,#00C878);color:#03111D;box-shadow:0 4px 20px rgba(0,200,120,.35)}
.scroll-top{
    position:fixed;bottom:32px;left:32px;width:48px;height:48px;
    background:linear-gradient(135deg,var(--green-light),var(--green));
    border:none;border-radius:14px;color:#fff;font-size:1.2rem;
    cursor:pointer;transition:all .4s ease;box-shadow:0 8px 24px var(--glow-green);
    display:flex;align-items:center;justify-content:center;
    z-index:500;opacity:0;transform:translateY(20px);
}
[data-theme="dark"] .scroll-top{background:linear-gradient(135deg,#19F2A1,#00C878);color:#03111D;box-shadow:0 8px 28px rgba(0,200,120,.45)}
.scroll-top.vis{opacity:1;transform:translateY(0)}
.scroll-top:hover{transform:translateY(-5px);box-shadow:0 14px 36px rgba(0,140,88,.5)}
@keyframes fadeSlideDown{from{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.88)}}
.reveal{opacity:0;transform:translateY(38px);transition:opacity .75s ease,transform .75s ease}
.reveal.vis{opacity:1;transform:translateY(0)}
.reveal-l{opacity:0;transform:translateX(38px);transition:opacity .75s ease,transform .75s ease}
.reveal-l.vis{opacity:1;transform:translateX(0)}
.reveal-r{opacity:0;transform:translateX(-38px);transition:opacity .75s ease,transform .75s ease}
.reveal-r.vis{opacity:1;transform:translateX(0)}
.d1{transition-delay:.10s}.d2{transition-delay:.20s}.d3{transition-delay:.30s}.d4{transition-delay:.40s}.d5{transition-delay:.50s}
.bnav-wrap{display:none;position:fixed;bottom:0;left:0;right:0;z-index:900;padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:768px){
    .bnav-wrap{display:block}
    body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
    .scroll-top{bottom:calc(90px + env(safe-area-inset-bottom));left:16px}
}
.bnav{
    display:flex;align-items:center;justify-content:space-around;
    background:var(--bg-card);border-top:1px solid var(--border);
    backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
    padding:8px 12px 10px;height:68px;position:relative;
    box-shadow:0 -8px 32px rgba(8,36,58,.10);transition:transform .35s cubic-bezier(.4,0,.2,1);
}
[data-theme="dark"] .bnav{background:rgba(8,31,49,.92);border-top-color:rgba(0,200,120,.15);box-shadow:0 -8px 32px rgba(0,0,0,.5)}
.bnav.hide{transform:translateY(100%)}
.bnav-item{
    flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;
    background:none;border:none;cursor:pointer;padding:6px 4px;border-radius:14px;
    transition:all .25s ease;color:var(--text-muted);position:relative;
    -webkit-tap-highlight-color:transparent;
}
.bnav-item:active{transform:scale(.92)}
.bnav-item.active{color:var(--green)}
[data-theme="dark"] .bnav-item.active{color:#00C878}
.bnav-icon-wrap{position:relative;width:28px;height:28px;display:flex;align-items:center;justify-content:center}
.bnav-item svg{width:24px;height:24px;transition:all .3s ease;stroke:currentColor}
.bnav-item.active svg{transform:scale(1.15);filter:drop-shadow(0 0 6px var(--glow-green))}
[data-theme="dark"] .bnav-item.active svg{filter:drop-shadow(0 0 8px rgba(0,200,120,.6))}
.bnav-label{font-family:'Vazirmatn',sans-serif;font-size:.62rem;font-weight:600;transition:all .3s ease;letter-spacing:.3px}
.bnav-dot{position:absolute;bottom:-2px;left:50%;transform:translateX(-50%) scale(0);width:4px;height:4px;background:var(--green);border-radius:50%;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
[data-theme="dark"] .bnav-dot{background:#00C878}
.bnav-item.active .bnav-dot{transform:translateX(-50%) scale(1)}
.bnav-badge{
    position:absolute;top:-6px;left:-6px;min-width:16px;height:16px;
    background:var(--green);color:#fff;font-size:.55rem;font-weight:800;
    border-radius:100px;display:flex;align-items:center;justify-content:center;
    padding:0 4px;border:2px solid var(--bg-card);font-family:'Vazirmatn',sans-serif;
    animation:badgePop .4s cubic-bezier(.34,1.56,.64,1);
}
.bnav-badge-red{background:#E53E3E}
[data-theme="dark"] .bnav-badge{border-color:#081F31}
@keyframes badgePop{from{transform:scale(0)}to{transform:scale(1)}}
.bnav-fab-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;position:relative}
.bnav-fab{
    width:58px;height:58px;border-radius:20px;
    background:linear-gradient(135deg,var(--green-light),var(--green));
    border:none;display:flex;align-items:center;justify-content:center;
    cursor:pointer;position:relative;margin-top:-24px;
    box-shadow:0 8px 24px var(--glow-green),0 0 0 4px var(--bg-card),0 0 0 5px var(--green-border);
    transition:all .35s cubic-bezier(.34,1.56,.64,1);-webkit-tap-highlight-color:transparent;
}
[data-theme="dark"] .bnav-fab{background:linear-gradient(135deg,#19F2A1,#00C878);box-shadow:0 8px 28px rgba(0,200,120,.5),0 0 0 4px #081F31,0 0 0 5px rgba(0,200,120,.35)}
.bnav-fab:hover{transform:scale(1.08) translateY(-2px)}
.bnav-fab:active{transform:scale(.94)}
.bnav-fab.open{transform:rotate(45deg) scale(1.05);background:linear-gradient(135deg,#E53E3E,#C53030);box-shadow:0 8px 24px rgba(197,48,48,.4),0 0 0 4px var(--bg-card),0 0 0 5px rgba(197,48,48,.25)}
.fab-icon{width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .3s ease}
[data-theme="dark"] .fab-icon{color:#03111D}
.fab-icon svg{width:22px;height:22px;stroke:currentColor}
.bnav-fab-label{font-family:'Vazirmatn',sans-serif;font-size:.6rem;font-weight:700;color:var(--green);margin-top:2px}
[data-theme="dark"] .bnav-fab-label{color:#00C878}
.slide-backdrop{display:none;position:fixed;inset:0;z-index:910;background:rgba(8,36,58,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .35s ease}
[data-theme="dark"] .slide-backdrop{background:rgba(0,0,0,.7)}
.slide-backdrop.show{display:block;opacity:1}
.slide-menu{
    position:fixed;bottom:0;left:0;right:0;z-index:920;
    background:var(--bg-card);border-radius:28px 28px 0 0;
    padding:12px 20px calc(88px + env(safe-area-inset-bottom)) 20px;
    transform:translateY(100%);transition:transform .45s cubic-bezier(.32,0,.67,0);
    max-height:88vh;overflow-y:auto;
    border-top:1.5px solid var(--border);box-shadow:0 -20px 60px rgba(8,36,58,.18);
}
[data-theme="dark"] .slide-menu{background:#061A2A;border-top-color:rgba(0,200,120,.2);box-shadow:0 -20px 60px rgba(0,0,0,.6)}
.slide-menu.open{transform:translateY(0);transition:transform .45s cubic-bezier(.33,1,.68,1)}
.slide-menu::-webkit-scrollbar{display:none}
.slide-handle{width:40px;height:4px;background:var(--border);border-radius:100px;margin:0 auto 20px}
[data-theme="dark"] .slide-handle{background:#16405C}
.slide-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}
[data-theme="dark"] .slide-header{border-bottom-color:#16405C}
.slide-header-title{font-size:1.1rem;font-weight:900;color:var(--text-primary);margin-bottom:4px}
.slide-header-sub{font-size:.78rem;color:var(--text-muted)}
.slide-items{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.slide-item{
    display:flex;align-items:center;gap:14px;padding:16px;border-radius:18px;
    border:1.5px solid var(--border);background:var(--bg-primary);
    cursor:pointer;transition:all .3s ease;text-align:right;
    -webkit-tap-highlight-color:transparent;width:100%;
}
[data-theme="dark"] .slide-item{background:#081F31;border-color:#16405C}
.slide-item:active{transform:scale(.98)}
.slide-item-tender:hover,.slide-item-tender:active{border-color:var(--green);background:rgba(0,140,88,.06);box-shadow:0 4px 20px var(--glow-green)}
[data-theme="dark"] .slide-item-tender:hover{border-color:#00C878;background:rgba(0,200,120,.08)}
.slide-item-auction:hover,.slide-item-auction:active{border-color:#E53E3E;background:rgba(229,62,62,.05);box-shadow:0 4px 20px rgba(229,62,62,.15)}
.slide-item-contract:hover,.slide-item-contract:active{border-color:#2B6CB0;background:rgba(43,108,176,.05);box-shadow:0 4px 20px rgba(43,108,176,.15)}
.slide-item-icon{width:48px;height:48px;border-radius:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease}
.slide-item-tender .slide-item-icon{background:rgba(0,140,88,.1);border:1px solid var(--green-border);color:var(--green)}
[data-theme="dark"] .slide-item-tender .slide-item-icon{background:rgba(0,200,120,.1);border-color:rgba(0,200,120,.25);color:#00C878}
.slide-item-auction .slide-item-icon{background:rgba(229,62,62,.08);border:1px solid rgba(229,62,62,.2);color:#E53E3E}
.slide-item-contract .slide-item-icon{background:rgba(43,108,176,.08);border:1px solid rgba(43,108,176,.2);color:#2B6CB0}
.slide-item:hover .slide-item-icon{transform:scale(1.1) rotate(-5deg)}
.slide-item-icon svg{width:22px;height:22px}
.slide-item-text{flex:1;display:flex;flex-direction:column;gap:3px}
.slide-item-title{font-size:.92rem;font-weight:800;color:var(--text-primary);display:block}
.slide-item-desc{font-size:.72rem;color:var(--text-muted);display:block;line-height:1.4}
.slide-item-arrow{font-size:1rem;color:var(--text-muted);transition:all .3s ease}
.slide-item:hover .slide-item-arrow{transform:translateX(-4px);color:var(--green)}
.slide-divider{display:flex;align-items:center;gap:10px;margin:4px 0 16px}
.slide-divider::before,.slide-divider::after{content:'';flex:1;height:1px;background:var(--border)}
[data-theme="dark"] .slide-divider::before,[data-theme="dark"] .slide-divider::after{background:#16405C}
.slide-divider span{font-size:.7rem;color:var(--text-muted);font-weight:600;white-space:nowrap;letter-spacing:1px}
.slide-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.slide-quick-btn{
    display:flex;flex-direction:column;align-items:center;gap:6px;
    padding:14px 8px;border-radius:16px;border:1px solid var(--border);
    background:var(--bg-primary);cursor:pointer;transition:all .3s ease;
    font-family:'Vazirmatn',sans-serif;font-size:.72rem;font-weight:600;
    color:var(--text-secondary);-webkit-tap-highlight-color:transparent;
}
[data-theme="dark"] .slide-quick-btn{background:#081F31;border-color:#16405C}
.slide-quick-btn span:first-child{font-size:1.3rem}
.slide-quick-btn:hover,.slide-quick-btn:active{border-color:var(--green);color:var(--green);background:rgba(0,140,88,.06);transform:translateY(-2px)}
[data-theme="dark"] .slide-quick-btn:hover{border-color:#00C878;color:#00C878;background:rgba(0,200,120,.08)}
@media(max-width:1024px){
    .hero-content{grid-template-columns:1fr}
    .hero-visual{display:none}
    .process-steps{grid-template-columns:repeat(3,1fr);gap:28px}
    .process-line{display:none}
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .adv-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
    .navbar{padding:0 20px}
    .nav-links{display:none}
    .hero-content{padding:100px 20px 60px}
    .container{padding:0 20px}
    .process-steps{grid-template-columns:1fr 1fr}
    .stats-grid{grid-template-columns:1fr 1fr}
    .adv-grid{grid-template-columns:1fr}
    .nl-box{padding:38px 22px}
    .nl-form{flex-direction:column}
}


