/* Reusable control contract — one height, one border and one focus behavior. */
.arg-button {
    min-height: var(--arg-control-height);
    padding: 0 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid transparent;
    border-radius: var(--arg-control-radius);
    font-size: .8rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: color var(--arg-transition-fast), background var(--arg-transition-fast), border-color var(--arg-transition-fast), box-shadow var(--arg-transition-fast), transform var(--arg-transition-fast);
}
.arg-button:not(:disabled):hover { transform: translateY(-1px); }
.arg-button:disabled { color: var(--arg-text-disabled); background: var(--arg-control-bg-disabled); border-color: var(--arg-border); opacity: 1; transform: none; box-shadow: none; }
.arg-button--primary { color: #fff; background: linear-gradient(145deg, #29486f, var(--arg-color-primary)); border-color: var(--arg-color-primary-pressed); box-shadow: 0 9px 20px rgba(31,58,95,.19), inset 0 1px 0 rgba(255,255,255,.13); }
.arg-button--primary:not(:disabled):hover { background: linear-gradient(145deg, #234064, var(--arg-color-primary-hover)); box-shadow: 0 12px 26px rgba(31,58,95,.24); }
.arg-button--secondary { color: #27384f; background: var(--arg-control-bg); border-color: var(--arg-control-border); box-shadow: var(--arg-shadow-xs); }
.arg-button--secondary:not(:disabled):hover { color: var(--arg-color-primary); background: var(--arg-control-bg-hover); border-color: var(--arg-control-border-hover); box-shadow: 0 7px 18px rgba(25,45,72,.08); }
.arg-button--ghost { color: var(--arg-text-secondary); background: transparent; border-color: transparent; }
.arg-button--ghost:not(:disabled):hover { color: var(--arg-color-primary); background: var(--arg-color-primary-faint); }
.arg-button--danger { color: #fff; background: var(--arg-color-danger); border-color: #84313d; }
.arg-button--danger:not(:disabled):hover { background: #8e3541; }
.arg-button--block { width: 100%; }
.arg-button.is-busy, .arg-button[data-busy="true"] { pointer-events: none; }
.arg-button__spinner { animation: arg-spin .8s linear infinite; }
@keyframes arg-spin { to { transform: rotate(360deg); } }

.arg-icon-button {
    width: var(--arg-control-height);
    height: var(--arg-control-height);
    padding: 0;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    color: var(--arg-text-secondary);
    background: var(--arg-control-bg);
    border: 1px solid var(--arg-control-border);
    border-radius: var(--arg-control-radius);
    box-shadow: var(--arg-shadow-xs);
    cursor: pointer;
    transition: color var(--arg-transition-fast), background var(--arg-transition-fast), border-color var(--arg-transition-fast), box-shadow var(--arg-transition-fast), transform var(--arg-transition-fast);
}
.arg-icon-button:not(:disabled):hover { color: var(--arg-color-primary); background: var(--arg-control-bg-hover); border-color: var(--arg-control-border-hover); box-shadow: 0 7px 17px rgba(22,42,69,.08); transform: translateY(-1px); }
.arg-icon-button:disabled { color: var(--arg-text-disabled); background: var(--arg-control-bg-disabled); opacity: 1; box-shadow: none; }

.arg-field { min-width: 0; display: grid; align-content: start; gap: 6px; }
.arg-field--wide { grid-column: 1 / -1; }
.arg-field > label,
.arg-field > .arg-field__label,
.arg-field > span:first-child:not(.arg-input-wrap):not(.arg-select-wrap):not(.arg-jalali-date) { min-height: 19px; color: #35445a; font-size: .76rem; font-weight: 900; }
.arg-field > [data-valmsg-for],
.arg-field > [data-validation-for],
.arg-field > .arg-field__error { color: var(--arg-color-danger); font-size: .7rem; }
.arg-field small { color: var(--arg-text-muted); font-size: .69rem; }
.arg-input-wrap {
    --arg-control-surface: var(--arg-control-bg);
    width: 100%;
    height: var(--arg-control-height);
    min-height: var(--arg-control-height);
    padding: 0 var(--arg-control-padding-x);
    display: flex;
    align-items: center;
    gap: 9px;
    overflow: hidden;
    color: var(--arg-control-text);
    background: var(--arg-control-surface);
    border: 1px solid var(--arg-control-border);
    border-radius: var(--arg-control-radius);
    box-shadow: inset 0 1px 2px rgba(18,34,55,.025);
    transition: border-color var(--arg-transition-fast), box-shadow var(--arg-transition-fast), background var(--arg-transition-fast);
}
.arg-input-wrap:hover { border-color: var(--arg-control-border-hover); }
.arg-input-wrap:focus-within { border-color: var(--arg-control-border-focus); box-shadow: 0 0 0 3px var(--arg-focus-ring), inset 0 1px 2px rgba(18,34,55,.02); }
.arg-input-wrap > i { width: 18px; flex: 0 0 18px; color: var(--arg-control-icon); text-align: center; }
.arg-input-wrap input,
.arg-input-wrap select {
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 0;
    padding: 0;
    color: var(--arg-control-text);
    background: transparent;
    border: 0;
    outline: 0;
    font: inherit;
}
.arg-input-wrap textarea {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 92px;
    padding: 6px 0;
    color: var(--arg-control-text);
    background: transparent;
    border: 0;
    outline: 0;
    font: inherit;
    line-height: 1.85;
    resize: vertical;
}
/* Any textarea inside the shared input wrapper automatically receives the
   multiline contract; callers no longer need a page-level height patch. */
.arg-input-wrap--textarea,
.arg-input-wrap:has(> textarea) {
    height: auto;
    min-height: 110px;
    padding-block: 8px;
    align-items: stretch;
}
.arg-input-wrap input::placeholder,
.arg-input-wrap textarea::placeholder { color: var(--arg-control-placeholder); opacity: 1; }
.arg-input-wrap input[readonly] { color: var(--arg-text-secondary); cursor: default; }
.arg-input-wrap:has(input[readonly]),
.arg-input-wrap:has(textarea[readonly]) { background: var(--arg-control-bg-readonly); border-style: dashed; }
.arg-input-wrap:has(input:disabled),
.arg-input-wrap:has(textarea:disabled),
.arg-input-wrap:has(select:disabled) { color: var(--arg-text-disabled); background: var(--arg-control-bg-disabled); border-color: var(--arg-border); }
.arg-input-wrap--ltr input { direction: ltr; text-align: left; unicode-bidi: plaintext; }
.arg-input-wrap--ltr input[type="password"] { letter-spacing: .09em; }
.arg-password-toggle { width: 32px; height: 32px; padding: 0; display: grid; place-items: center; flex: 0 0 auto; color: var(--arg-control-icon); background: transparent; border-radius: 8px; cursor: pointer; }
.arg-password-toggle:hover { color: var(--arg-color-primary); background: var(--arg-color-primary-faint); }

.arg-check { display: flex; align-items: center; gap: 9px; color: #536174; font-size: .76rem; cursor: pointer; }
.arg-check input { width: 17px; height: 17px; accent-color: var(--arg-color-primary); }
.arg-check-list { display: grid; gap: 8px; }
.arg-form { display: grid; gap: 15px; }
.arg-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 15px; }
.arg-form-grid--two { grid-template-columns: repeat(2,minmax(0,1fr)); }

/* Shared pattern for a field with an adjacent action button.
   The action is aligned with the control itself, not with hint/error rows. */
.arg-field-with-action {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: start;
    gap: 10px;
}
.arg-field-with-action__action {
    display: grid;
    grid-template-rows: 19px var(--arg-control-height);
    gap: 6px;
    align-self: start;
}
.arg-field-with-action__action::before {
    content: "";
    grid-row: 1;
}
.arg-field-with-action__action > .arg-button,
.arg-field-with-action__action > .arg-icon-button {
    grid-row: 2;
    align-self: stretch;
}
@media (max-width: 620px) {
    .arg-field-with-action { grid-template-columns: 1fr; }
    .arg-field-with-action__action {
        display: block;
        padding: 0;
    }
    .arg-field-with-action__action::before { display: none; }
    .arg-field-with-action__action > .arg-button { width: 100%; }
}
.arg-form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--arg-border-soft); }
.arg-validation-summary:empty { display: none; }
.arg-validation-summary { padding: 11px 13px; color: #7b2d38; background: #fbf0f1; border: 1px solid #e2bbc0; border-radius: 11px; font-size: .75rem; }
.arg-validation-summary ul { margin: 0; padding-inline-start: 18px; }

.arg-inline-note { padding: 10px 12px; display: flex; align-items: flex-start; gap: 9px; color: #385a70; background: #edf4f7; border: 1px solid #cbdce4; border-radius: 11px; font-size: .72rem; }
.arg-inline-note i { margin-top: 3px; color: var(--arg-color-accent); }
.arg-alert { padding: 12px 14px; display: flex; align-items: flex-start; gap: 10px; border: 1px solid; border-radius: 12px; font-size: .76rem; }
.arg-alert > i { margin-top: 3px; }
.arg-alert strong, .arg-alert span { display: block; }
.arg-alert--success { color: #285c50; background: #edf7f4; border-color: #c3ded6; }
.arg-alert--warning { color: #73501f; background: #fcf6e9; border-color: #e7d3a7; }
.arg-alert--error { color: #7c303b; background: #fbf0f2; border-color: #e4bbc1; }

.arg-badge, .arg-status-badge { min-height: 25px; padding: 3px 9px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; border: 1px solid; border-radius: 999px; font-size: .67rem; font-weight: 900; white-space: nowrap; }
.arg-badge--active, .arg-status-badge--active, .arg-badge--info { color: #285f73; background: #e9f2f5; border-color: #c0d7df; }
.arg-badge--success, .arg-status-badge--success { color: #2b6758; background: #eaf5f1; border-color: #c4ded5; }
.arg-badge--muted, .arg-status-badge--muted { color: #657184; background: #f1f3f5; border-color: #d9dee5; }
.arg-badge--warning, .arg-status-badge--warning { color: #78521e; background: #fbf4e6; border-color: #e7d0a2; }
.arg-badge--error, .arg-status-badge--error { color: #80303c; background: #fbf0f2; border-color: #e3b8bf; }

.arg-card {
    padding: 20px;
    background: rgba(255,255,255,.95);
    border: 1px solid var(--arg-border);
    border-radius: var(--arg-radius-md);
    box-shadow: var(--arg-shadow-sm);
}
.arg-card--feature { position: relative; overflow: hidden; border-top: 0; }
.arg-card--feature::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 4px; background: linear-gradient(var(--arg-color-luxury), var(--arg-color-accent)); }
.arg-card__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 13px; }
.arg-card__header h2 { margin-bottom: 0; }
.arg-card__header > i { width: 42px; height: 42px; display: grid; place-items: center; color: var(--arg-color-primary); background: var(--arg-color-primary-faint); border: 1px solid #dce3ec; border-radius: 12px; font-size: 1.05rem; }

.arg-toast-host { position: fixed; inset-block-start: 18px; inset-inline-end: 18px; z-index: var(--arg-z-toast); width: min(390px,calc(100vw - 36px)); display: grid; gap: 9px; }
.arg-toast { padding: 12px 13px; display: grid; grid-template-columns: 34px 1fr 30px; align-items: center; gap: 10px; color: var(--arg-text-primary); background: rgba(255,255,255,.97); border: 1px solid var(--arg-border); border-inline-start: 3px solid var(--arg-color-info); border-radius: 13px; box-shadow: var(--arg-shadow-float); backdrop-filter: blur(12px); animation: arg-toast-in .2s ease-out both; }
.arg-toast--success { border-inline-start-color: var(--arg-color-success); }
.arg-toast--warning { border-inline-start-color: var(--arg-color-warning); }
.arg-toast--error { border-inline-start-color: var(--arg-color-danger); }
.arg-toast__icon { width: 32px; height: 32px; display: grid; place-items: center; color: var(--arg-color-info); background: #edf4f8; border-radius: 10px; }
.arg-toast--success .arg-toast__icon { color: var(--arg-color-success); background: #ecf6f2; }
.arg-toast--warning .arg-toast__icon { color: var(--arg-color-warning); background: #fcf5e8; }
.arg-toast--error .arg-toast__icon { color: var(--arg-color-danger); background: #fbf0f2; }
.arg-toast__content strong, .arg-toast__content span { display: block; }
.arg-toast__content strong { font-size: .75rem; }
.arg-toast__content span { color: var(--arg-text-secondary); font-size: .72rem; }
.arg-toast__close { width: 28px; height: 28px; color: #8490a0; background: transparent; border-radius: 8px; cursor: pointer; }
.arg-toast__close:hover { color: var(--arg-text-primary); background: #f1f3f6; }
@keyframes arg-toast-in { from { opacity: 0; transform: translateY(-8px) scale(.985); } to { opacity: 1; transform: none; } }

.arg-confirm[hidden] { display: none; }
.arg-confirm { position: fixed; inset: 0; z-index: var(--arg-z-confirm); padding: 18px; display: grid; place-items: center; }
.arg-confirm__backdrop, .arg-modal__backdrop { position: absolute; inset: 0; background: var(--arg-overlay); backdrop-filter: blur(5px); }
.arg-confirm__dialog { width: min(430px,100%); padding: 25px; position: relative; text-align: center; background: #fff; border: 1px solid rgba(255,255,255,.72); border-radius: var(--arg-radius-lg); box-shadow: var(--arg-shadow-lg); animation: arg-dialog-in .19s ease-out both; }
.arg-confirm__icon { width: 56px; height: 56px; margin: 0 auto 13px; display: grid; place-items: center; color: var(--arg-color-primary); background: var(--arg-color-primary-faint); border: 1px solid #dae2ed; border-radius: 17px; font-size: 1.25rem; }
.arg-confirm__dialog h2 { margin-bottom: 6px; }
.arg-confirm__dialog p { margin-bottom: 0; color: var(--arg-text-secondary); font-size: .78rem; }
.arg-confirm__actions { margin-top: 19px; display: flex; justify-content: center; gap: 9px; }
@keyframes arg-dialog-in { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }

.arg-modal-open, .arg-confirm-open { overflow: hidden; }
.arg-modal { position: fixed; inset: 0; z-index: var(--arg-z-modal); padding: 20px; display: grid; place-items: center; }
.arg-modal__dialog { width: min(760px,100%); max-height: min(840px,calc(100vh - 40px)); position: relative; display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid rgba(255,255,255,.75); border-radius: var(--arg-radius-lg); box-shadow: var(--arg-shadow-lg); animation: arg-dialog-in .19s ease-out both; }
.arg-modal__header { min-height: 70px; padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; gap: 14px; background: linear-gradient(180deg,#fff,#fafbfc); border-bottom: 1px solid var(--arg-border-soft); }
.arg-modal__header h2 { margin: 0; font-size: 1.02rem; }
.arg-modal__body { min-height: 0; padding: 20px; overflow: auto; scrollbar-width: thin; scrollbar-color: rgba(75,96,121,.3) transparent; }
.arg-modal__footer { min-height: 66px; padding: 12px 18px; display: flex; align-items: center; justify-content: flex-end; gap: 9px; background: #fafbfc; border-top: 1px solid var(--arg-border-soft); }
.arg-modal[data-busy="true"] .arg-modal__body { pointer-events: none; opacity: .72; }

.arg-user-menu { position: relative; }
.arg-user-menu__button { min-height: 48px; padding: 4px 8px; display: flex; align-items: center; gap: 9px; color: var(--arg-text-primary); background: transparent; border-radius: 12px; cursor: pointer; }
.arg-user-menu__button:hover { background: #f3f5f8; }
.arg-avatar { width: 37px; height: 37px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg,#35537c,#263f67); border: 1px solid rgba(20,37,64,.16); border-radius: 12px; box-shadow: 0 7px 16px rgba(35,59,99,.16); font-weight: 950; }
.arg-user-menu__text { min-width: 0; text-align: right; line-height: 1.35; }
.arg-user-menu__text strong, .arg-user-menu__text small { display: block; }
.arg-user-menu__text strong { max-width: 150px; overflow: hidden; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.arg-user-menu__text small { color: var(--arg-text-muted); font-size: .66rem; }
.arg-dropdown { width: 260px; padding: 8px; position: absolute; inset-block-start: calc(100% + 8px); inset-inline-end: 0; display: none; background: rgba(255,255,255,.98); border: 1px solid var(--arg-border); border-radius: 14px; box-shadow: var(--arg-shadow-float); backdrop-filter: blur(14px); animation: arg-dropdown-in .14s ease-out both; }
.arg-user-menu.is-open .arg-dropdown { display: block; }
.arg-dropdown__summary { padding: 10px 11px 13px; margin-bottom: 5px; border-bottom: 1px solid var(--arg-border-soft); }
.arg-dropdown__summary strong, .arg-dropdown__summary span { display: block; }
.arg-dropdown__summary strong { font-size: .78rem; }
.arg-dropdown__summary span { margin-top: 2px; color: var(--arg-text-muted); font-size: .67rem; }
.arg-dropdown a, .arg-dropdown button { width: 100%; min-height: 40px; padding: 8px 10px; display: flex; align-items: center; gap: 9px; color: #3d4b5e; background: transparent; border-radius: 10px; cursor: pointer; font-size: .73rem; }
.arg-dropdown a:hover, .arg-dropdown button:hover { color: var(--arg-color-primary); background: var(--arg-color-primary-faint); }
@keyframes arg-dropdown-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }

.arg-active-context { max-width: 350px; height: var(--arg-control-height); min-height: var(--arg-control-height); padding: 5px 10px; display: flex; align-items: center; gap: 9px; color: #33445b; background: #f7f8fa; border: 1px solid #d8dee7; border-radius: 12px; box-shadow: var(--arg-shadow-xs); font: inherit; text-align: right; cursor: pointer; transition: background var(--arg-transition-fast), border-color var(--arg-transition-fast), box-shadow var(--arg-transition-fast); }
.arg-active-context:hover { color: var(--arg-color-primary); background: #fff; border-color: #abb8c8; box-shadow: 0 8px 19px rgba(21,41,68,.075); }
.arg-active-context > i:first-child { color: var(--arg-color-luxury); }
.arg-active-context > span { min-width: 0; }
.arg-active-context small, .arg-active-context strong { display: block; }
.arg-active-context small { color: #7d8897; font-size: .61rem; font-weight: 800; }
.arg-active-context strong { max-width: 155px; overflow: hidden; color: #27384f; font-size: .72rem; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
.arg-active-context__fiscal { max-width: 118px; padding: 3px 8px; overflow: hidden; color: #315d73; background: #eaf2f5; border: 1px solid #c9dbe2; border-radius: 999px; font-size: .65rem; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.arg-active-context__fiscal.is-closed { color: #75531f; background: #fbf4e7; border-color: #e5d0a6; }
.arg-context-modal .modal-dialog { max-width: 640px; }
.arg-context-modal .modal-content { border: 0; border-radius: 18px; box-shadow: var(--arg-shadow-lg); }
.arg-context-modal .modal-header, .arg-context-modal .modal-footer { padding: 16px 20px; border-color: var(--arg-border); }
.arg-context-modal .modal-body { padding: 18px 20px; }
.arg-context-modal .modal-title { margin-top: 3px; font-size: 1rem; font-weight: 950; }
.arg-context-modal__help { margin: 0 0 16px; color: var(--arg-text-muted); font-size: .75rem; line-height: 1.9; }

/* Central user notification inbox */
.arg-notification-center { position: relative; flex: 0 0 auto; }
.arg-notification-center__toggle {
    width: var(--arg-control-height);
    height: var(--arg-control-height);
    position: relative;
    display: grid;
    place-items: center;
    color: #496078;
    background: #f7f9fb;
    border: 1px solid #d7e0e9;
    border-radius: 12px;
    box-shadow: var(--arg-shadow-xs);
    cursor: pointer;
    transition: color var(--arg-transition-fast), background var(--arg-transition-fast), border-color var(--arg-transition-fast);
}
.arg-notification-center__toggle:hover,
.arg-notification-center.is-open .arg-notification-center__toggle {
    color: var(--arg-color-primary);
    background: #fff;
    border-color: #aebdcd;
}
.arg-notification-center__badge {
    min-width: 18px;
    height: 18px;
    padding-inline: 4px;
    position: absolute;
    inset-block-start: -5px;
    inset-inline-start: -5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--arg-color-danger);
    border: 2px solid #fff;
    border-radius: 999px;
    font-size: .58rem;
    font-weight: 950;
    line-height: 1;
}
.arg-notification-center__panel {
    width: min(390px, calc(100vw - 28px));
    max-height: min(610px, calc(100vh - 92px));
    position: absolute;
    inset-block-start: calc(100% + 9px);
    inset-inline-end: 0;
    z-index: 40;
    overflow: hidden;
    color: var(--arg-text-primary);
    background: rgba(255,255,255,.99);
    border: 1px solid var(--arg-border);
    border-radius: 16px;
    box-shadow: var(--arg-shadow-float);
    backdrop-filter: blur(16px);
    animation: arg-dropdown-in .14s ease-out both;
}
.arg-notification-center__panel[hidden] { display: none; }
.arg-notification-center__header {
    min-height: 67px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: linear-gradient(145deg,#f9fbfd,#f3f7fb);
    border-bottom: 1px solid var(--arg-border-soft);
}
.arg-notification-center__header strong,
.arg-notification-center__header span { display: block; }
.arg-notification-center__header strong { font-size: .82rem; }
.arg-notification-center__header span { margin-top: 2px; color: var(--arg-text-muted); font-size: .66rem; }
.arg-notification-center__read-all,
.arg-notification-center__footer button {
    padding: 6px 8px;
    color: var(--arg-color-primary);
    background: transparent;
    border-radius: 8px;
    font-size: .67rem;
    font-weight: 850;
    cursor: pointer;
}
.arg-notification-center__read-all:hover,
.arg-notification-center__footer button:hover { background: var(--arg-color-primary-faint); }
.arg-notification-center__read-all:disabled { opacity: .5; cursor: default; }
.arg-notification-center__list {
    max-height: min(470px, calc(100vh - 220px));
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(76,98,124,.3) transparent;
}
.arg-notification-center__state {
    min-height: 165px;
    padding: 26px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--arg-text-muted);
    text-align: center;
    font-size: .72rem;
}
.arg-notification-center__state i { color: #7590ac; font-size: 1.25rem; }
.arg-notification-center__state.is-error i { color: var(--arg-color-danger); }
.arg-notification-item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1fr) 31px;
    border-bottom: 1px solid var(--arg-border-soft);
    border-inline-start: 3px solid transparent;
}
.arg-notification-item.is-unread { background: #f6f9fd; border-inline-start-color: var(--arg-color-info); }
.arg-notification-item--success.is-unread { border-inline-start-color: var(--arg-color-success); }
.arg-notification-item--warning.is-unread { border-inline-start-color: var(--arg-color-warning); }
.arg-notification-item--error.is-unread { border-inline-start-color: var(--arg-color-danger); }
.arg-notification-item__main {
    min-width: 0;
    padding: 12px 11px;
    display: grid;
    grid-template-columns: 35px minmax(0,1fr);
    align-items: start;
    gap: 10px;
    color: inherit;
    background: transparent;
    text-align: start;
    cursor: pointer;
}
.arg-notification-item__main:hover { background: rgba(232,240,249,.55); }
.arg-notification-item__icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: var(--arg-color-info);
    background: var(--arg-color-info-soft);
    border-radius: 10px;
}
.arg-notification-item--success .arg-notification-item__icon { color: var(--arg-color-success); background: var(--arg-color-success-soft); }
.arg-notification-item--warning .arg-notification-item__icon { color: var(--arg-color-warning); background: var(--arg-color-warning-soft); }
.arg-notification-item--error .arg-notification-item__icon { color: var(--arg-color-danger); background: var(--arg-color-danger-soft); }
.arg-notification-item__content { min-width: 0; }
.arg-notification-item__content strong,
.arg-notification-item__content span,
.arg-notification-item__content small { display: block; }
.arg-notification-item__content strong { font-size: .73rem; line-height: 1.7; }
.arg-notification-item__content > span { margin-top: 2px; color: var(--arg-text-secondary); font-size: .68rem; line-height: 1.75; }
.arg-notification-item__content small { margin-top: 5px; color: var(--arg-text-muted); font-size: .61rem; }
.arg-notification-item:not(.is-unread) .arg-notification-item__content strong { color: var(--arg-text-secondary); font-weight: 800; }
.arg-notification-item__archive {
    width: 27px;
    height: 27px;
    margin-block-start: 9px;
    display: grid;
    place-items: center;
    align-self: start;
    color: #8a98a8;
    background: transparent;
    border-radius: 8px;
    cursor: pointer;
}
.arg-notification-item__archive:hover { color: var(--arg-color-danger); background: var(--arg-color-danger-soft); }
.arg-notification-center__footer {
    min-height: 43px;
    padding: 6px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fafbfd;
    border-top: 1px solid var(--arg-border-soft);
}
.arg-notification-center__footer button { display: inline-flex; align-items: center; gap: 6px; }
.arg-notification-center.is-loading .arg-notification-center__footer i { animation: arg-spin .75s linear infinite; }

@media (max-width: 640px) {
    .arg-notification-center__panel {
        position: fixed;
        inset-block-start: calc(var(--arg-header-height) + 7px);
        inset-inline: 10px;
        width: auto;
        max-height: calc(100vh - var(--arg-header-height) - 18px);
    }
    .arg-notification-center__list { max-height: calc(100vh - var(--arg-header-height) - 145px); }
}


/* Phase 03.1.1 — reusable form system hardening */
.arg-field__label {
    min-height: 19px;
    color: #35445a;
    font-size: .76rem;
    font-weight: 900;
}
.arg-field__label em { color: var(--arg-color-danger); font-style: normal; }
.arg-field__hint { min-height: 17px; color: var(--arg-text-muted); font-size: .68rem; line-height: 1.6; }
.arg-field__error { min-height: 17px; color: var(--arg-color-danger); font-size: .68rem; line-height: 1.6; }
.arg-field__hint:empty,
.arg-field__error:empty,
.arg-field [data-valmsg-for]:empty,
.arg-field [data-validation-for]:empty { display: none; min-height: 0; }
.arg-field.has-error .arg-input-wrap,
.arg-field.has-error .arg-select-wrap,
.arg-field.has-error .arg-jalali-date { border-color: var(--arg-color-danger); box-shadow: 0 0 0 3px var(--arg-danger-ring); }
.arg-field.is-disabled { opacity: .58; }
.arg-field.is-disabled .arg-input-wrap,
.arg-field.is-disabled .arg-select-wrap,
.arg-field.is-disabled .arg-jalali-date { background: var(--arg-control-bg-disabled); }

.arg-form-grid--12 { grid-template-columns: repeat(12,minmax(0,1fr)); }
.arg-col-3 { grid-column: span 3; }
.arg-col-4 { grid-column: span 4; }
.arg-col-6 { grid-column: span 6; }
.arg-col-8 { grid-column: span 8; }
.arg-col-9 { grid-column: span 9; }
.arg-col-12 { grid-column: 1 / -1; }

.arg-select-wrap {
    --arg-control-surface: var(--arg-control-bg);
    width: 100%;
    height: var(--arg-control-height);
    min-height: var(--arg-control-height);
    padding: 0;
    position: relative;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    background: var(--arg-control-surface);
    border: 1px solid var(--arg-control-border);
    border-radius: var(--arg-control-radius);
    box-shadow: inset 0 1px 2px rgba(18,34,55,.025);
    transition: border-color var(--arg-transition-fast), box-shadow var(--arg-transition-fast), background var(--arg-transition-fast);
}
.arg-select-wrap:hover { border-color: var(--arg-control-border-hover); }
.arg-select-wrap:focus-within,
.arg-select-wrap.is-open { border-color: var(--arg-control-border-focus); box-shadow: 0 0 0 3px var(--arg-focus-ring); }
.arg-select-wrap.is-disabled { color: var(--arg-text-disabled); background: var(--arg-control-bg-disabled); border-color: var(--arg-border); cursor: default; }
.arg-select-wrap > .arg-select__legacy-icon { display: none; }
.arg-select__native {
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    display: block !important;
    border: 0 !important;
    position: absolute;
    inset: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
}
.arg-select__trigger {
    width: 100%;
    height: 100%;
    min-width: 0;
    padding: 0 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--arg-text-primary);
    background: transparent;
    border: 0;
    outline: 0;
    font: inherit;
    font-size: .78rem;
    font-weight: 850;
    text-align: start;
    cursor: pointer;
}
.arg-select__trigger:disabled { cursor: default; }
.arg-select__value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.arg-select__value.is-placeholder { color: var(--arg-text-muted); }
.arg-select__chevron { flex: 0 0 auto; color: var(--arg-control-icon); font-size: .68rem; transition: transform var(--arg-transition-fast); }
.arg-select-wrap.is-open .arg-select__chevron { transform: rotate(180deg); }
.arg-select-wrap--toolbar {
    min-width: 150px;
    height: var(--arg-control-height);
    min-height: var(--arg-control-height);
}
.arg-select-wrap--toolbar .arg-select__trigger { font-size: .75rem; font-weight: 850; }

.arg-select-popover {
    min-width: 190px;
    padding: 7px;
    position: fixed;
    z-index: var(--arg-z-select);
    overflow: hidden;
    color: var(--arg-text-primary);
    background: rgba(255,255,255,.99);
    border: 1px solid var(--arg-border-strong);
    border-radius: 13px;
    box-shadow: 0 18px 44px rgba(21,39,65,.2);
    backdrop-filter: blur(13px);
    animation: arg-select-popover-in .14s ease-out both;
}
.arg-select-popover[hidden] { display: none; }
.arg-select-popover.opens-upward { transform-origin: bottom center; }
.arg-select-popover__search {
    height: 39px;
    margin-bottom: 6px;
    padding-inline: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #778598;
    background: #f6f8fa;
    border: 1px solid var(--arg-border);
    border-radius: 9px;
}
.arg-select-popover__search:focus-within { border-color: var(--arg-color-accent); box-shadow: 0 0 0 3px var(--arg-focus-ring); }
.arg-select-popover__search input { width: 100%; min-width: 0; padding: 0; background: transparent; border: 0; outline: 0; font: inherit; font-size: .72rem; }
.arg-select-popover__list { max-height: min(310px,calc(100vh - 100px)); overflow: auto; outline: 0; scrollbar-width: thin; }
.arg-select-option {
    width: 100%;
    min-height: 40px;
    padding: 7px 10px;
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 8px;
    color: #33445b;
    background: transparent;
    border: 0;
    border-radius: 9px;
    font: inherit;
    text-align: start;
    cursor: pointer;
}
.arg-select-option:hover,
.arg-select-option.is-highlighted { color: var(--arg-color-primary); background: var(--arg-color-primary-faint); }
.arg-select-option.is-selected { color: #173b60; background: #e8f1f5; font-weight: 950; }
.arg-select-option:disabled { opacity: .45; cursor: default; }
.arg-select-option__text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .74rem; }
.arg-select-option__description { grid-column: 1 / -1; margin-top: -3px; color: var(--arg-text-muted); font-size: .63rem; font-weight: 500; }
.arg-select-option__check { color: var(--arg-color-accent); font-size: .7rem; }
.arg-select-popover__empty { padding: 14px 10px; color: var(--arg-text-muted); font-size: .7rem; text-align: center; }
@keyframes arg-select-popover-in { from { opacity: 0; transform: translateY(-5px) scale(.99); } to { opacity: 1; transform: none; } }

.arg-filter-field { display: grid; gap: 4px; }
.arg-filter-field > span:first-child { color: var(--arg-text-muted); font-size: .63rem; font-weight: 850; }
.arg-search-box--grow { flex: 1 1 320px; }

.arg-input-wrap input:-webkit-autofill,
.arg-input-wrap input:-webkit-autofill:hover,
.arg-input-wrap input:-webkit-autofill:focus,
.arg-input-wrap input:-webkit-autofill:active,
.arg-search-box input:-webkit-autofill,
.arg-search-box input:-webkit-autofill:hover,
.arg-search-box input:-webkit-autofill:focus,
.arg-search-box input:-webkit-autofill:active {
    -webkit-text-fill-color: var(--arg-text-primary) !important;
    caret-color: var(--arg-text-primary);
    box-shadow: 0 0 0 1000px var(--arg-control-surface,#fff) inset !important;
    transition: background-color 9999s ease-out 0s;
}

.arg-modal__dialog--large { width: min(950px,100%); }
.arg-modal__dialog--wide { width: min(1180px,100%); }

@media (max-width: 900px) {
    .arg-form-grid--12 { grid-template-columns: repeat(6,minmax(0,1fr)); }
    .arg-col-3, .arg-col-4 { grid-column: span 3; }
    .arg-col-6, .arg-col-8, .arg-col-9, .arg-col-12 { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
    .arg-form-grid--12 { grid-template-columns: 1fr; }
    .arg-col-3, .arg-col-4, .arg-col-6, .arg-col-8, .arg-col-9, .arg-col-12 { grid-column: 1 / -1; }
    .arg-modal { padding: 8px; }
    .arg-modal__dialog { max-height: calc(100vh - 16px); }
}

/* Data pages and controls */
.arg-data-page, .arg-master-detail-page { height: calc(100vh - var(--arg-header-height) - var(--arg-footer-height) - 36px); min-height: 500px; display: flex; flex-direction: column; gap: 10px; }
.arg-search-box, .arg-select { height: var(--arg-control-height); min-height: var(--arg-control-height); display: flex; align-items: center; gap: 8px; color: var(--arg-control-icon); background: var(--arg-control-bg); border: 1px solid var(--arg-control-border); border-radius: var(--arg-control-radius); transition: border-color var(--arg-transition-fast), box-shadow var(--arg-transition-fast); }
.arg-search-box { min-width: 250px; padding-inline: var(--arg-control-padding-x); }
.arg-search-box:hover { border-color: var(--arg-control-border-hover); }
.arg-search-box:focus-within { border-color: var(--arg-control-border-focus); box-shadow: 0 0 0 3px var(--arg-focus-ring); }
.arg-search-box input { width: 100%; min-width: 0; height: 100%; color: var(--arg-control-text); background: transparent; border: 0; outline: 0; }
.arg-search-box input::placeholder { color: var(--arg-control-placeholder); opacity: 1; }
.arg-select { padding: 0 10px; color: var(--arg-text-primary); }
.arg-select--small { min-width: 130px; }
.arg-pager { min-height: 48px; padding: 7px 9px; display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--arg-text-secondary); background: #fff; border: 1px solid var(--arg-border); border-radius: 12px; font-size: .72rem; }
.arg-pager button { min-height: 34px; padding: 5px 11px; color: #33445b; background: #f7f8fa; border: 1px solid #d5dbe4; border-radius: 9px; cursor: pointer; }
.arg-pager button:not(:disabled):hover { color: var(--arg-color-primary); background: #fff; border-color: #aab7c7; }
.arg-pager button:disabled { opacity: .45; }

/* Central ArgessGrid */
.arg-grid {
    width: 100%;
    min-height: 320px;
    --ag-font-family: var(--arg-font-family);
    --ag-font-size: 12px;
    --ag-foreground-color: var(--arg-text-primary);
    --ag-secondary-foreground-color: var(--arg-text-secondary);
    --ag-background-color: #fff;
    --ag-header-background-color: var(--arg-grid-header-bg);
    --ag-header-foreground-color: var(--arg-grid-header-text);
    --ag-border-color: var(--arg-grid-border);
    --ag-row-border-color: #e8ebf0;
    --ag-odd-row-background-color: #fbfcfd;
    --ag-row-hover-color: var(--arg-grid-row-hover);
    --ag-selected-row-background-color: var(--arg-grid-selected);
    --ag-input-focus-border-color: var(--arg-color-accent);
    --ag-wrapper-border-radius: 14px;
    --ag-range-selection-border-color: var(--arg-color-accent);
}
.arg-grid, .arg-grid *, .ag-theme-balham, .ag-theme-balham * { font-family: var(--arg-font-family) !important; }
.arg-grid .ag-root-wrapper { overflow: hidden; border: 1px solid var(--arg-grid-border); border-radius: 14px; box-shadow: var(--arg-shadow-sm); }
.arg-grid .ag-header { background: linear-gradient(180deg,var(--arg-grid-header-bg),var(--arg-grid-header-bg-2)); border-bottom: 0; }
.arg-grid .ag-header-cell, .arg-grid .ag-header-group-cell { border-inline-end-color: rgba(255,255,255,.075); }
.arg-grid .ag-header-cell-label { justify-content: flex-start; gap: 6px; color: #f7f9fc; font-weight: 950; }
.arg-grid .ag-header-cell-text { color: #f7f9fc; }
.arg-grid .ag-icon { color: rgba(255,255,255,.73); }
.arg-grid .ag-cell { display: flex; align-items: center; color: #2f3c4e; border-inline-end-color: #edf0f4; }
.arg-grid .ag-row { border-bottom-color: #e8ebf0; }
.arg-grid .ag-row-hover { box-shadow: inset 3px 0 0 rgba(43,111,134,.38); }
.arg-grid .ag-row-selected { box-shadow: inset 3px 0 0 var(--arg-color-accent); }
.arg-grid .ag-body-horizontal-scroll, .arg-grid .ag-horizontal-left-spacer, .arg-grid .ag-horizontal-right-spacer { min-height: 0 !important; height: 0 !important; display: none !important; }
.arg-grid__empty, .arg-grid__loading { min-width: 240px; padding: 26px; display: grid; place-items: center; gap: 9px; color: var(--arg-text-muted); background: rgba(255,255,255,.88); border: 1px dashed #cbd3de; border-radius: 14px; font-size: .76rem; }
.arg-grid__empty i, .arg-grid__loading i { color: var(--arg-color-accent); font-size: 1.25rem; }
.arg-grid--fill { flex: 1 1 auto; min-height: var(--arg-grid-min-height, 280px); }
.arg-grid--monitor { min-height: 410px; }
.arg-grid--master-detail { flex: 1; min-height: 0; height: 100%; border-radius: 0; }
.arg-grid--master-detail .ag-root-wrapper { border: 0; border-radius: 0; box-shadow: none; }
.arg-grid-actions { display: flex; align-items: center; justify-content: flex-start; gap: 5px; }
.arg-grid-action-button, .arg-grid-actions button { min-height: 31px; padding: 4px 8px; display: inline-flex; align-items: center; gap: 5px; color: #39506a; background: #f6f8fa; border: 1px solid #d9dfe7; border-radius: 8px; font-size: .66rem; font-weight: 900; cursor: pointer; }
.arg-grid-action-button:hover, .arg-grid-actions button:hover { color: var(--arg-color-primary); background: #fff; border-color: #a8b6c7; box-shadow: 0 5px 13px rgba(24,44,71,.08); }
.arg-grid-action-button i, .arg-grid-actions button i { color: var(--arg-color-accent); }

/* Master/detail tabs */
.arg-md-tabs, .arg-tabs { padding: 6px; display: flex; align-items: center; gap: 6px; background: rgba(255,255,255,.92); border: 1px solid var(--arg-border); border-radius: 13px; box-shadow: var(--arg-shadow-sm); }
.arg-md-tabs button, .arg-tabs button { min-height: 40px; padding: 7px 13px; display: inline-flex; align-items: center; gap: 7px; color: #5b687a; background: transparent; border: 1px solid transparent; border-radius: 10px; font-size: .75rem; font-weight: 900; cursor: pointer; }
.arg-md-tabs button:hover, .arg-tabs button:hover { color: var(--arg-color-primary); background: var(--arg-color-primary-faint); }
.arg-md-tabs button.is-active, .arg-tabs button.is-active { color: #fff; background: linear-gradient(145deg,#304b72,var(--arg-color-primary)); border-color: #1e355a; box-shadow: 0 8px 18px rgba(35,59,99,.18); }
.arg-md-tab-badge { max-width: 190px; padding: 2px 7px; overflow: hidden; color: inherit; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.2); border-radius: 999px; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.arg-md-panel, .arg-tab-panel { flex: 1; min-height: 0; display: none; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--arg-border); border-radius: 15px; box-shadow: var(--arg-shadow-sm); }
.arg-md-panel.is-active, .arg-tab-panel.is-active { display: flex; }
.arg-md-panel-header { min-height: 60px; padding: 11px 15px; display: flex; align-items: center; justify-content: space-between; background: linear-gradient(180deg,#fff,#fafbfc); border-bottom: 1px solid var(--arg-border-soft); }
.arg-md-panel-header h3 { margin: 0; color: #24344a; font-size: .86rem; font-weight: 950; }
.arg-md-panel-header small { display: block; margin-top: 2px; color: var(--arg-text-muted); font-size: .68rem; }

.arg-readonly-summary, .arg-readonly-field { padding: 10px 12px; background: #f5f7fa; border: 1px dashed #c6ced9; border-radius: 11px; }
.arg-readonly-summary span, .arg-readonly-field span { display: block; color: var(--arg-text-muted); font-size: .66rem; font-weight: 800; }
.arg-readonly-summary strong { display: block; margin-top: 3px; color: #2b3b50; font-size: .82rem; font-weight: 950; }
.arg-section-title { margin: 14px 0 9px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.arg-section-title h3, .arg-access-editor h3 { margin: 0; color: #2e3f55; font-size: .8rem; }
.arg-role-row { margin-bottom: 8px; padding: 8px; display: grid; grid-template-columns: 1fr 1fr 40px; gap: 8px; background: #f7f8fa; border: 1px solid var(--arg-border); border-radius: 11px; }
.arg-role-row select { min-width: 0; height: 38px; padding-inline: 8px; color: var(--arg-text-primary); background: #fff; border: 1px solid var(--arg-border-strong); border-radius: 9px; }
.arg-permission-matrix { display: grid; gap: 12px; }
.arg-permission-matrix section { padding: 13px; background: #fafbfc; border: 1px solid var(--arg-border); border-radius: 12px; }
.arg-permission-matrix section h3 { margin-bottom: 10px; }
.arg-tree-label { display: flex; align-items: center; gap: 7px; }
.arg-tree-label i { color: var(--arg-color-accent); }
.arg-tree-level-1 { padding-inline-start: 10px; }.arg-tree-level-2 { padding-inline-start: 20px; }.arg-tree-level-3 { padding-inline-start: 30px; }.arg-tree-level-4 { padding-inline-start: 40px; }.arg-tree-level-5 { padding-inline-start: 50px; }.arg-tree-level-6 { padding-inline-start: 60px; }.arg-tree-level-7 { padding-inline-start: 70px; }.arg-tree-level-8 { padding-inline-start: 80px; }

.arg-health-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.arg-health-card { padding: 14px; background: #fff; border: 1px solid var(--arg-border); border-radius: 13px; box-shadow: var(--arg-shadow-sm); }
.arg-health-card > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.arg-health-card p { margin: 8px 0 3px; color: var(--arg-text-secondary); font-size: .73rem; }
.arg-health-card small { color: var(--arg-text-muted); }
.arg-health-healthy { border-inline-start: 3px solid var(--arg-color-success); }
.arg-health-warning { border-inline-start: 3px solid var(--arg-color-warning); }
.arg-health-critical { border-inline-start: 3px solid var(--arg-color-danger); }
.arg-log-level-3 { color: #78521e; }.arg-log-level-4, .arg-log-level-5 { color: #80303c; }
.arg-log-details dl { display: grid; grid-template-columns: 120px 1fr; gap: 7px 12px; }
.arg-log-details dt { color: var(--arg-text-muted); }.arg-log-details dd { margin: 0; }.arg-log-details pre { max-height: 320px; padding: 12px; overflow: auto; direction: ltr; text-align: left; color: #dce6f1; background: #162338; border-radius: 11px; font-size: .72rem; }

.arg-help-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 15px; align-items: start; }
.arg-help-categories { position: sticky; top: 0; padding: 12px; display: grid; gap: 4px; background: #fff; border: 1px solid var(--arg-border); border-radius: 13px; box-shadow: var(--arg-shadow-sm); }
.arg-help-categories a { padding: 8px 9px; color: var(--arg-text-secondary); border-radius: 9px; font-size: .72rem; }.arg-help-categories a:hover { color: var(--arg-color-primary); background: var(--arg-color-primary-faint); }
.arg-help-topics { display: grid; gap: 11px; }.arg-help-section h2 { margin-bottom: 9px; }.arg-help-topic { overflow: hidden; background: #fff; border: 1px solid var(--arg-border); border-radius: 13px; box-shadow: var(--arg-shadow-xs); }.arg-help-topic summary { padding: 13px 15px; cursor: pointer; }.arg-help-topic summary span, .arg-help-topic summary small { display: block; }.arg-help-topic summary small { color: var(--arg-text-muted); }.arg-help-topic > div { padding: 0 15px 15px; color: var(--arg-text-secondary); }

@media (max-width: 980px) {
    .arg-data-page, .arg-master-detail-page { height: auto; }
    .arg-grid--fill, .arg-grid--master-detail { height: 520px; flex: none; }
    .arg-health-grid { grid-template-columns: 1fr; }
    .arg-help-layout { grid-template-columns: 1fr; }
    .arg-help-categories { position: static; }
}
@media (max-width: 700px) {
    .arg-form-grid, .arg-form-grid--two { grid-template-columns: 1fr; }
    .arg-role-row { grid-template-columns: 1fr; }
    .arg-role-row .arg-icon-button { justify-self: end; }
    .arg-active-context { max-width: 190px; }
    .arg-active-context > span:first-of-type { display: none; }
    .arg-md-tabs, .arg-tabs { overflow-x: auto; }
}

/* Phase 03.2 - central Jalali range component */
.arg-date-range {
    display: grid;
    grid-template-columns: minmax(145px, 1fr) auto minmax(145px, 1fr);
    align-items: end;
    gap: 8px;
    min-width: 0;
}
.arg-date-range > .arg-field { min-width: 0; }
.arg-date-range__separator {
    width: 28px;
    height: var(--arg-control-height);
    display: grid;
    place-items: center;
    color: var(--arg-text-muted);
}
@media (max-width: 680px) {
    .arg-date-range { grid-template-columns: 1fr; }
    .arg-date-range__separator { display: none; }
}
.arg-form-check-grid {
    padding: 12px 14px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 22px;
    background: #f7f9fa;
    border: 1px solid var(--arg-border-soft);
    border-radius: 12px;
}


/* Grid sizing contract — reusable for low-volume and data-heavy pages. */
.arg-grid.arg-grid--fixed-rows {
    height: var(--arg-grid-fixed-height, 280px);
    min-height: var(--arg-grid-fixed-height, 280px);
    max-height: var(--arg-grid-fixed-height, 280px);
    flex: 0 0 var(--arg-grid-fixed-height, 280px);
}
.arg-grid.arg-grid--min-rows {
    min-height: var(--arg-grid-min-visible-height, 280px);
}



/* Phase 03.4 — unified row rhythm, help launcher and select polish */
.arg-select-wrap > .arg-select__legacy-icon { display: none !important; }
.arg-select-wrap > .arg-select__leading-icon {
    width: 42px;
    min-width: 42px;
    height: 100%;
    display: grid;
    place-items: center;
    color: #738195;
    background: linear-gradient(180deg,#fbfcfd,#f1f4f7);
    border-inline-end: 1px solid var(--arg-border-soft);
}
.arg-select-popover {
    text-align: right;
    direction: rtl;
}
.arg-select-popover__list { direction: rtl; }
.arg-select-option {
    grid-template-columns: auto minmax(0,1fr);
    text-align: right;
}
.arg-select-option__check { order: -1; }
.arg-page-help { position: relative; display: inline-flex; align-items: center; }
.arg-page-help__button {
    width: var(--arg-control-height); height: var(--arg-control-height); display:grid; place-items:center; color:var(--arg-text-secondary);
    background:#fff; border:1px solid var(--arg-border-strong); border-radius:12px; box-shadow:var(--arg-shadow-xs);
}
.arg-page-help__button:hover { color: var(--arg-color-primary); background:#f8fafc; }
.arg-page-help__panel {
    width: min(420px, calc(100vw - 18px));
    position: absolute;
    inset-inline-end: 0;
    inset-block-start: calc(100% + 8px);
    z-index: var(--arg-z-help);
    padding: 14px;
    background: rgba(255,255,255,.99);
    border: 1px solid var(--arg-border);
    border-radius: 18px;
    box-shadow: 0 22px 48px rgba(18,37,63,.18);
}
.arg-page-help__header { margin-bottom: 10px; display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.arg-page-help__header small { color:var(--arg-text-muted); font-size:.62rem; font-weight:900; }
.arg-page-help__header h3 { margin:2px 0 5px; color:#203650; font-size:.92rem; }
.arg-page-help__header p { margin:0; color:var(--arg-text-secondary); font-size:.68rem; line-height:1.9; }
.arg-page-help__body { display:grid; gap:10px; color:#32465f; font-size:.72rem; line-height:2; }
.arg-page-help__body h4 { margin:0; color:#253b55; font-size:.74rem; }
.arg-page-help__body ul, .arg-page-help__body ol { margin:0; padding-inline-start: 18px; }
.arg-page-help__body li + li { margin-top:4px; }
.arg-page-help__body .arg-inline-note { margin:0; }
.arg-page-help-open { overflow-x:hidden; }
@media (max-width: 700px) {
    .arg-page-help__panel {
        width: calc(100vw - 16px);
        position: fixed;
        inset-inline: 8px;
        inset-block-start: auto;
        inset-block-end: 8px;
        max-height: min(72vh, 560px);
        overflow: auto;
    }
}

/* Central RTL Select contract. */
.arg-select-wrap {
    direction: rtl;
}

.arg-select__trigger {
    direction: rtl;
    text-align: right;
}

.arg-select-popover,
.arg-select-popover__list,
.arg-select-option {
    direction: rtl !important;
    text-align: right !important;
}

.arg-select-option {
    grid-template-columns: 22px minmax(0, 1fr) !important;
}

.arg-select-option__check {
    grid-column: 1;
    grid-row: 1;
    order: initial !important;
    justify-self: center;
}

.arg-select-option__text {
    grid-column: 2;
    grid-row: 1;
    text-align: right;
}

.arg-select-option__description {
    grid-column: 2;
    text-align: right;
}


/* Platform page title and contextual help contract */
.arg-page-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.arg-page-title-row > div:first-child { min-width: 0; }
.arg-page-title-row h1 { margin: 3px 0 4px; color: var(--arg-text-primary); font-size: 1.22rem; }
.arg-page-title-row p { max-width: 780px; margin: 0; color: var(--arg-text-secondary); font-size: .76rem; line-height: 1.8; }

.arg-page-help__footer {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--arg-border-soft);
}

.arg-page-help__footer a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--arg-color-primary);
    font-size: .68rem;
    font-weight: 900;
}

.arg-page-help__footer a:hover { color: var(--arg-color-accent); }

@media (max-width: 760px) {
    .arg-page-title-row { align-items: center; }
    .arg-page-title-row p { display: none; }
}

/* =========================================================
   Phase 03.4-P8 — central component visual refinement
   All current and future callers inherit these rules.
   ========================================================= */
.arg-button {
    border-radius: var(--arg-control-radius);
    box-shadow: none;
}
.arg-button--primary {
    background: linear-gradient(135deg, var(--arg-color-primary), var(--arg-color-accent));
    border-color: #0f4f87;
    box-shadow: 0 10px 24px rgba(40,117,199,.23), inset 0 1px 0 rgba(255,255,255,.16);
}
.arg-button--primary:not(:disabled):hover {
    background: linear-gradient(135deg, #0c2745, #226ab5);
    box-shadow: 0 14px 30px rgba(40,117,199,.30);
}
.arg-button--secondary {
    color: var(--arg-color-primary);
    background: #eef6fd;
    border-color: #c9dced;
}
.arg-button--secondary:not(:disabled):hover {
    color: #0f4f87;
    background: #e1f0fc;
    border-color: #abc9e2;
    box-shadow: 0 8px 18px rgba(40,117,199,.10);
}
.arg-button--ghost:not(:disabled):hover { background: var(--arg-color-accent-faint); }
.arg-icon-button {
    color: #536b84;
    background: #fff;
    border-color: var(--arg-border-strong);
}
.arg-icon-button:not(:disabled):hover {
    color: var(--arg-color-accent);
    background: var(--arg-color-accent-faint);
    border-color: #abc9e2;
    box-shadow: 0 8px 18px rgba(40,117,199,.10);
}
.arg-input-wrap,
.arg-search-box,
.arg-select-wrap,
.arg-jalali-date {
    box-shadow: inset 0 1px 2px rgba(17,47,82,.02);
}
.arg-input-wrap:hover,
.arg-search-box:hover,
.arg-select-wrap:hover,
.arg-jalali-date:hover { background: #fbfdff; }
.arg-input-wrap:focus-within,
.arg-search-box:focus-within,
.arg-select-wrap:focus-within,
.arg-select-wrap.is-open,
.arg-jalali-date:focus-within {
    background: #fff;
    box-shadow: 0 0 0 4px var(--arg-focus-ring), inset 0 1px 2px rgba(17,47,82,.02);
}
.arg-input-wrap > i,
.arg-select-wrap > .arg-select__leading-icon { color: #7590aa; }
.arg-select-wrap > .arg-select__leading-icon {
    background: linear-gradient(180deg,#fbfdff,#edf4fa);
    border-inline-end-color: var(--arg-border);
}
.arg-select-popover {
    padding: 7px;
    border-color: var(--arg-border-strong);
    border-radius: 14px;
    box-shadow: var(--arg-shadow-float);
}
.arg-select-option { border-radius: 9px; }
.arg-select-option:hover,
.arg-select-option.is-highlighted { color: var(--arg-color-primary); background: var(--arg-color-accent-faint); }
.arg-select-option.is-selected { color: #155a96; background: var(--arg-color-accent-soft); }
.arg-check input { accent-color: var(--arg-color-accent); }

.arg-alert {
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(17,47,82,.045);
}
.arg-alert--success { color: #176f51; background: var(--arg-color-success-soft); border-color: #bfe1d3; }
.arg-alert--warning { color: #815019; background: var(--arg-color-warning-soft); border-color: #efd4ae; }
.arg-alert--error { color: #8e2f3b; background: var(--arg-color-danger-soft); border-color: #efc4ca; }
.arg-badge--active,
.arg-status-badge--active,
.arg-badge--info { color: #1f5f9f; background: var(--arg-color-accent-soft); border-color: #c6ddf4; }

.arg-card {
    background: rgba(255,255,255,.96);
    border-color: rgba(203,216,229,.90);
    border-radius: var(--arg-radius-md);
    box-shadow: var(--arg-shadow-sm);
    backdrop-filter: blur(14px);
}
.arg-card--feature::before { background: linear-gradient(var(--arg-color-accent), var(--arg-color-petrol)); }
.arg-card__header > i {
    color: var(--arg-color-primary);
    background: var(--arg-color-accent-soft);
    border-color: #d4e5f7;
    border-radius: 14px;
}

.arg-toast {
    background: rgba(255,255,255,.98);
    border-color: var(--arg-border);
    border-radius: 14px;
    box-shadow: var(--arg-shadow-float);
}
.arg-toast__icon { color: var(--arg-color-info); background: var(--arg-color-info-soft); }
.arg-confirm__dialog,
.arg-modal__dialog {
    background: rgba(255,255,255,.985);
    border: 1px solid rgba(203,216,229,.92);
    box-shadow: var(--arg-shadow-lg);
    backdrop-filter: blur(18px);
}
.arg-confirm__icon {
    color: var(--arg-color-accent);
    background: var(--arg-color-accent-soft);
    border-color: #cfe2f5;
}
.arg-modal__header {
    background: linear-gradient(180deg,#fff,#f6f9fc);
    border-bottom-color: var(--arg-border);
}
.arg-modal__footer {
    background: #f7fafd;
    border-top-color: var(--arg-border);
}

.arg-pager {
    background: rgba(255,255,255,.96);
    border-color: var(--arg-border);
    border-radius: 13px;
    box-shadow: var(--arg-shadow-xs);
}
.arg-pager button { color: #40516a; background: #f3f7fb; border-color: #d7e1ea; }
.arg-pager button:not(:disabled):hover { color: var(--arg-color-accent); background: #fff; border-color: #abc9e2; }

/* Central ArgessGrid: approved rows and controls with a dark, high-contrast header. */
.arg-grid {
    --ag-font-size: 12px;
    --ag-background-color: #fff;
    --ag-header-background-color: var(--arg-grid-header-bg);
    --ag-header-foreground-color: var(--arg-grid-header-text);
    --ag-row-border-color: #e9eef4;
    --ag-odd-row-background-color: #fbfdff;
    --ag-row-hover-color: var(--arg-grid-row-hover);
    --ag-selected-row-background-color: var(--arg-grid-selected);
    --ag-input-focus-border-color: var(--arg-color-accent);
    --ag-wrapper-border-radius: 16px;
    --ag-checkbox-checked-color: var(--arg-color-accent);
    --ag-range-selection-border-color: var(--arg-color-accent);
}
.arg-grid .ag-root-wrapper {
    border-color: var(--arg-grid-border);
    border-radius: 16px;
    box-shadow: var(--arg-shadow-sm);
}
.arg-grid .ag-header {
    background: linear-gradient(180deg,var(--arg-grid-header-bg),var(--arg-grid-header-bg-2));
    border-bottom: 1px solid #0b223c;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.08);
}
.arg-grid .ag-header-cell,
.arg-grid .ag-header-group-cell { border-inline-end-color: rgba(255,255,255,.10); }
.arg-grid .ag-header-cell-label { color: var(--arg-grid-header-text); font-weight: 950; }
.arg-grid .ag-header-cell-text { color: var(--arg-grid-header-text); }
.arg-grid .ag-header .ag-icon { color: rgba(255,255,255,.82); }
.arg-grid .ag-cell {
    color: #34465c;
    border-inline-end-color: #edf2f6;
    line-height: 1.65;
}
.arg-grid .ag-row { border-bottom-color: #e9eef4; }
.arg-grid .ag-row-hover { box-shadow: inset 3px 0 0 rgba(40,117,199,.34); }
.arg-grid .ag-row-selected { box-shadow: inset 3px 0 0 var(--arg-color-accent); }
.arg-grid .ag-row-selected .ag-cell { color: #183f67; }
.arg-grid .ag-header-cell-resize::after { background-color: rgba(255,255,255,.28); }
.arg-grid .ag-paging-panel { color: var(--arg-text-secondary); background: #f8fbfe; border-top-color: var(--arg-grid-border); }
.arg-grid__empty,
.arg-grid__loading {
    color: var(--arg-text-muted);
    background: rgba(255,255,255,.96);
    border-color: #cbd8e5;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(23,61,105,.06);
}
.arg-grid__empty i,
.arg-grid__loading i { color: var(--arg-color-accent); }
.arg-grid__empty strong { color: var(--arg-text-primary); font-size: .82rem; font-weight: 950; }
.arg-grid__empty span, .arg-grid__loading span { color: var(--arg-text-muted); font-size: .72rem; }
.arg-grid-action-button,
.arg-grid-actions button {
    color: #40516a;
    background: #f3f7fb;
    border-color: #d7e1ea;
    border-radius: 9px;
}
.arg-grid-action-button:hover,
.arg-grid-actions button:hover {
    color: var(--arg-color-accent);
    background: #fff;
    border-color: #abc9e2;
    box-shadow: 0 7px 16px rgba(40,117,199,.10);
}
.arg-grid-action-button i,
.arg-grid-actions button i { color: var(--arg-color-accent); }

.arg-md-tabs,
.arg-tabs {
    background: rgba(255,255,255,.96);
    border-color: var(--arg-border);
    box-shadow: var(--arg-shadow-xs);
}
.arg-md-tabs button.is-active,
.arg-tabs button.is-active {
    color: #fff;
    background: linear-gradient(135deg,var(--arg-color-primary),var(--arg-color-accent));
    box-shadow: 0 8px 18px rgba(40,117,199,.20);
}
.arg-form-check-grid { background: #f7fafd; border-color: var(--arg-border); }
.arg-page-help__panel {
    border-color: var(--arg-border);
    background: rgba(255,255,255,.99);
    box-shadow: var(--arg-shadow-float);
}
