@import '/css/familyVazirmatn.css';

:root { --panel-ink:#172033; --panel-muted:#758097; --panel-border:#e8ebf1; --panel-bg:#f4f6fa; }
body { font-family:Vazirmatn,Tahoma,sans-serif; background:var(--panel-bg); color:var(--panel-ink); }
.panel-main { min-height:100vh; }
.panel-topbar { position:sticky; top:0; z-index:1020; display:grid; grid-template-columns:42px minmax(0,1fr) 42px; align-items:center; gap:.75rem; min-height:68px; padding:.7rem max(1rem,calc((100vw - 1120px)/2)); border-bottom:1px solid rgba(226,232,240,.85); background:rgba(255,255,255,.92); backdrop-filter:blur(14px); }
.panel-topbar.panel-topbar-transfer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    border-bottom:0;
    background:linear-gradient(90deg, #a8c83a 0%, #7aa510 45%, #4d6d05 100%);
    color:#fff;
    box-shadow:0 8px 22px rgba(77,109,5,.22);
}
.panel-topbar.panel-topbar-accounting {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    border-bottom:0;
    background:linear-gradient(90deg, #8a9ae0 0%, #5c72bd 42%, #3e4c82 100%);
    color:#fff;
    box-shadow:0 8px 22px rgba(62,76,130,.22);
}
.panel-topbar-brand {
    display:flex;
    align-items:center;
    gap:.55rem;
    min-width:0;
}
.panel-topbar-brand-icon {
    width:36px;
    height:36px;
    flex:0 0 auto;
    object-fit:contain;
    filter:drop-shadow(0 4px 8px rgba(0,0,0,.18));
}
.panel-topbar.panel-topbar-transfer .panel-page-heading,
.panel-topbar.panel-topbar-accounting .panel-page-heading {
    color:#fff;
    font-weight:500;
    text-align:right;
}
.panel-topbar.panel-topbar-transfer .panel-home-link,
.panel-topbar.panel-topbar-accounting .panel-home-link {
    margin-inline-start:auto;
    border-color:rgba(255,255,255,.28);
    background:rgba(255,255,255,.18);
    color:#fff;
    box-shadow:none;
}
.panel-topbar.panel-topbar-transfer .panel-home-link:hover,
.panel-topbar.panel-topbar-accounting .panel-home-link:hover {
    background:rgba(255,255,255,.28);
    color:#fff;
}
.panel-body.aa-theme {
    background:#f3f5fb;
}
.aa-bottom-nav {
    position:fixed;
    left:50%;
    bottom:calc(.85rem + env(safe-area-inset-bottom, 0px));
    z-index:50;
    transform:translateX(-50%);
    width:min(calc(100% - 1.75rem), 360px);
    pointer-events:none;
}
.aa-bottom-nav-bar {
    pointer-events:auto;
    display:flex;
    align-items:center;
    justify-content:space-around;
    gap:.1rem;
    min-height:64px;
    padding:.35rem .4rem .4rem;
    border-radius:999px;
    background:linear-gradient(90deg, #8a9ae0 0%, #5c72bd 42%, #3e4c82 100%);
    box-shadow:0 12px 28px rgba(62,76,130,.32);
}
.aa-bottom-nav-item {
    flex:1 1 0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.12rem;
    min-width:0;
    min-height:52px;
    padding:.15rem .1rem;
    color:rgba(255,255,255,.9);
    text-decoration:none;
}
.aa-bottom-nav-item:hover { color:#fff; }
.aa-bottom-nav-icon {
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:50%;
    font-size:1.05rem;
    line-height:1;
    transition:background-color .16s ease, color .16s ease, transform .16s ease;
}
.aa-bottom-nav-label {
    max-width:100%;
    overflow:hidden;
    color:inherit;
    font-size:.62rem;
    font-weight:600;
    line-height:1.2;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.aa-bottom-nav-item.is-active .aa-bottom-nav-icon {
    background:#fff;
    color:#3e4c82;
    box-shadow:0 4px 12px rgba(15,23,42,.12);
}
.aa-bottom-nav-item.is-active .aa-bottom-nav-label {
    color:#fff;
    font-weight:700;
}
.aa-bottom-nav-item.is-active:hover { color:#fff; }
body.aa-has-bottom-nav .aa-docs,
body.aa-has-bottom-nav .aa-customers {
    padding-bottom:calc(6.4rem + env(safe-area-inset-bottom, 0px));
}
body.aa-has-bottom-nav .aa-create {
    padding-bottom:calc(7.6rem + env(safe-area-inset-bottom, 0px));
}
body.aa-has-bottom-nav .aa-create-submit {
    bottom:calc(5.15rem + env(safe-area-inset-bottom, 0px));
}
body.aa-has-bottom-nav .surplus-footer {
    bottom:calc(5.15rem + env(safe-area-inset-bottom, 0px));
}
body.aa-has-bottom-nav .surplus-page {
    padding-bottom:calc(6.5rem + env(safe-area-inset-bottom, 0px));
}
body.aa-has-bottom-nav .claims-page {
    height:calc(100dvh - 11.5rem);
}
.aa-home {
    max-width:430px;
    margin-inline:auto;
    padding:1.15rem 1rem 1.75rem;
}
.aa-home-hero {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    margin-bottom:1.25rem;
}
.aa-home-hero img {
    width:min(100%, 220px);
    height:auto;
    margin-bottom:.85rem;
    filter:drop-shadow(0 12px 24px rgba(62,76,130,.14));
}
.aa-home-hero h1 {
    margin:0 0 .35rem;
    color:#3e4c82;
    font-size:1.05rem;
    font-weight:400;
    line-height:1.8;
}
.aa-home-hero p {
    margin:0;
    color:#7b8499;
    font-size:.8rem;
    line-height:1.8;
}
.aa-live-rate {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.55rem;
    margin:0 0 1rem;
    padding:.7rem .75rem;
    border:1px solid #dbe3f5;
    border-radius:1rem;
    background:linear-gradient(180deg, #f7f9ff 0%, #eef2fb 100%);
    box-shadow:0 8px 22px rgba(62,76,130,.08);
}
.aa-live-rate-item {
    display:grid;
    gap:.2rem;
    min-width:0;
    text-align:center;
}
.aa-live-rate-item + .aa-live-rate-item {
    border-inline-start:1px solid #d7deed;
    padding-inline-start:.55rem;
}
.aa-live-rate-label {
    color:#64748b;
    font-size:.72rem;
    font-weight:700;
}
.aa-live-rate-value {
    display:inline-flex;
    align-items:baseline;
    justify-content:center;
    gap:.28rem;
    color:#3e4c82;
    font-size:.92rem;
    font-weight:800;
    font-variant-numeric:tabular-nums;
    letter-spacing:.01em;
}
.aa-live-rate-value small {
    color:#7b8499;
    font-size:.68rem;
    font-weight:700;
}
.aa-empty-page {
    display:grid;
    place-items:center;
    min-height:40vh;
    color:#64748b;
    font-size:.92rem;
    text-align:center;
}
.aa-empty-page p {
    margin:0;
}
.aa-menu {
    display:grid;
    gap:.85rem;
}
.aa-menu-row {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.75rem;
}
.aa-menu-row:has(> :nth-child(3)) {
    grid-template-columns:repeat(3, minmax(0, 1fr));
}
.aa-menu-row-single {
    grid-template-columns:minmax(0, 1fr);
}
.aa-menu-card {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:.7rem .75rem;
    border-radius:1rem;
    color:#fff;
    text-align:center;
    text-decoration:none;
    font-size:.92rem;
    font-weight:600;
    line-height:1.35;
    background:linear-gradient(145deg, #8a9ae0 0%, #5c72bd 48%, #3e4c82 100%);
    box-shadow:0 8px 18px rgba(37,56,120,.12);
    transition:transform .18s ease, box-shadow .18s ease;
}
.aa-menu-card:hover {
    transform:translateY(-1px);
    color:#fff;
    box-shadow:0 10px 22px rgba(37,56,120,.18);
}
.aa-menu-documents,
.aa-menu-accounts,
.aa-menu-surplus {
    background:linear-gradient(145deg, #8a9ae0 0%, #5c72bd 48%, #3e4c82 100%);
}
.aa-menu-icon {
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border-radius:16px;
    background:rgba(255,255,255,.18);
    font-size:1.55rem;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
}
.aa-menu-icon img {
    width:36px;
    height:36px;
    object-fit:contain;
    display:block;
    filter:drop-shadow(0 4px 8px rgba(0,0,0,.16));
}
.aa-menu-label {
    font-size:.9rem;
    font-weight:500;
    line-height:1.4;
}
.aa-welcome {
    min-height:calc(100vh - 110px);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0;
    padding:1.5rem 1.25rem 2.5rem;
    text-align:center;
}
.aa-welcome-art {
    width:min(100%, 340px);
    margin-bottom:1.35rem;
}
.aa-welcome-art img {
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
    filter:drop-shadow(0 14px 28px rgba(62,76,130,.16));
}
.aa-welcome-title {
    margin:0 0 .65rem;
    max-width:22rem;
    color:#3e4c82;
    font-size:1.15rem;
    font-weight:400;
    line-height:1.8;
}
.aa-welcome-text {
    margin:0 0 1.6rem;
    max-width:20rem;
    color:#7b8499;
    font-size:.84rem;
    font-weight:400;
    line-height:1.9;
}
.aa-welcome-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:min(100%, 280px);
    min-height:48px;
    padding:.7rem 1.4rem;
    border-radius:.85rem;
    background:linear-gradient(90deg, #8a9ae0 0%, #5c72bd 42%, #3e4c82 100%);
    color:#fff;
    font-size:.92rem;
    font-weight:500;
    text-decoration:none;
    box-shadow:0 12px 26px rgba(62,76,130,.24);
}
.aa-welcome-btn:hover {
    color:#fff;
    filter:brightness(1.03);
}

/* Accounting documents list */
.aa-docs {
    max-width:430px;
    margin-inline:auto;
    padding:.75rem .75rem 4.75rem;
}
.aa-docs-toolbar {
    position:sticky;
    top:calc(68px + .55rem);
    z-index:20;
    display:grid;
    gap:.45rem;
    margin:0 0 .85rem;
    padding:.45rem 0 .7rem;
    background:#f3f5fb;
    box-shadow:0 12px 16px -10px rgba(243,245,251,.98);
}
.aa-docs-search {
    display:flex;
    align-items:center;
    gap:.45rem;
    min-height:38px;
    padding:.4rem .75rem;
    border:1px solid #d9e0f2;
    border-radius:999px;
    background:#fff;
    box-shadow:0 4px 12px rgba(62,76,130,.05);
    color:#8a93a8;
}
.aa-docs-search input {
    flex:1;
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:#334155;
    font-size:.8rem;
}
.aa-docs-search input::placeholder { color:#9aa3b5; }
.aa-docs-customer-select {
    position:relative;
    z-index:21;
}
.aa-docs-customer-search {
    position:relative;
}
.aa-docs-customer-search input {
    padding-left:1.7rem;
}
.aa-docs-customer-caret {
    flex:0 0 auto;
    font-size:.85rem;
    color:#94a3b8;
    pointer-events:none;
}
.aa-docs-customer-clear {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    margin-inline-end:-.2rem;
    border:0;
    border-radius:999px;
    background:transparent;
    color:#94a3b8;
}
.aa-docs-customer-clear:hover {
    background:#eef2f7;
    color:#475569;
}
.aa-docs-customer-select.has-customer .aa-docs-customer-caret {
    display:none;
}
.aa-docs-date-filter {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.3rem;
    width:fit-content;
    min-height:28px;
    padding:.2rem .7rem;
    border:1px solid #d5dcf0;
    border-radius:999px;
    background:#fff;
    color:#5c72bd;
    font-size:.74rem;
    font-weight:500;
}
.aa-docs-date-options {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:.4rem;
}
.aa-docs-date-options .aa-docs-date-option:nth-child(4) {
    grid-column:1 / -1;
}
.aa-docs-date-option {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.3rem;
    min-height:34px;
    padding:.35rem .45rem;
    border:1px solid #d5dcf0;
    border-radius:.75rem;
    background:#fff;
    color:#5c72bd;
    font-size:.72rem;
    font-weight:500;
    white-space:nowrap;
    transition:border-color .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
}
.aa-docs-date-option:hover {
    border-color:#b7c3e8;
    background:#f7f9ff;
}
.aa-docs-date-option.is-active {
    border-color:transparent;
    background:linear-gradient(90deg, #8a9ae0 0%, #5c72bd 50%, #3e4c82 100%);
    color:#fff;
    box-shadow:0 6px 14px rgba(62,76,130,.18);
}
.aa-docs-date-option.is-active:hover {
    background:linear-gradient(90deg, #8a9ae0 0%, #5c72bd 50%, #3e4c82 100%);
}
.aa-docs-status {
    margin-bottom:.55rem;
    padding:.45rem .65rem;
    border-radius:.65rem;
    background:#eef2ff;
    color:#4f6fb8;
    font-size:.76rem;
    text-align:center;
}
.aa-docs-status.is-error {
    background:#fef2f2;
    color:#dc2626;
}
.aa-docs-loading,
.aa-docs-loading-more {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.65rem;
    padding:2rem 1rem;
    color:#64748b;
    font-size:.82rem;
    text-align:center;
}
.aa-docs-loading-more {
    flex-direction:row;
    gap:.5rem;
    padding:1rem;
}
.aa-docs-spinner {
    width:34px;
    height:34px;
    border:3px solid #e2e8f4;
    border-top-color:#5c72bd;
    border-radius:50%;
    animation:aa-docs-spin .75s linear infinite;
}
.aa-docs-spinner-sm {
    width:20px;
    height:20px;
    border-width:2px;
}
@keyframes aa-docs-spin {
    to { transform:rotate(360deg); }
}
.aa-docs-list {
    display:grid;
    gap:.55rem;
}
.aa-doc-card {
    padding:.65rem .7rem .7rem;
    border:1px solid #e4e9f5;
    border-radius:.9rem;
    background:#fff;
    box-shadow:0 4px 12px rgba(62,76,130,.05);
}
.aa-doc-customer {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:.5rem;
    margin-bottom:.45rem;
    padding-bottom:.45rem;
    border-bottom:1px solid #eef2f7;
}
.aa-doc-customer-name {
    color:#1f2937;
    font-size:.86rem;
    font-weight:600;
    line-height:1.35;
    min-width:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.aa-doc-customer-code {
    flex:0 0 auto;
    color:#94a3b8;
    font-size:.72rem;
    direction:ltr;
    unicode-bidi:isolate;
}
.aa-doc-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:.45rem;
    margin-bottom:.35rem;
}
.aa-doc-title-row {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.3rem .35rem;
    min-width:0;
}
.aa-doc-title {
    color:#2f3a5a;
    font-size:.8rem;
    font-weight:500;
    line-height:1.3;
    margin-inline-end:.15rem;
}
.aa-doc-menu {
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border:1px solid #d7dff2;
    border-radius:.5rem;
    background:#f7f9ff;
    color:#5c72bd;
    font-size:.85rem;
    flex:0 0 auto;
}
.aa-doc-chip {
    display:inline-flex;
    align-items:center;
    min-height:20px;
    padding:.05rem .4rem;
    border-radius:999px;
    background:#eef2ff;
    color:#4b5f99;
    font-size:.65rem;
    font-weight:500;
    white-space:nowrap;
}
.aa-doc-desc {
    margin:0 0 .45rem;
    padding-top:.35rem;
    border-top:1px solid #edf1f8;
    color:#475569;
    font-size:.74rem;
    line-height:1.55;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.aa-doc-grid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.3rem;
}
.aa-doc-metric {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:.1rem;
    min-height:0;
    padding:.35rem .45rem;
    border-radius:.55rem;
    background:#f5f7fd;
    border:1px solid #e8edf8;
}
.aa-doc-metric-label {
    color:#8a93a8;
    font-size:.6rem;
    line-height:1.2;
}
.aa-doc-metric-value {
    display:inline-flex;
    flex-direction:row;
    align-items:baseline;
    justify-content:flex-start;
    gap:.25rem;
    direction:rtl;
    color:#334155;
    font-size:.7rem;
    font-weight:600;
    line-height:1.25;
    word-break:break-word;
}
.aa-doc-metric-value .aa-amount-num {
    direction:ltr;
    unicode-bidi:isolate;
}
.aa-doc-metric-value.is-negative { color:#dc2626; }
.aa-doc-metric-value.is-positive { color:#16a34a; }
.aa-doc-metric-value.is-neutral { color:#64748b; }
.aa-docs-empty {
    padding:1.5rem 1rem;
    border-radius:.85rem;
    background:#fff;
    border:1px dashed #d7dff2;
    color:#8a93a8;
    text-align:center;
    font-size:.8rem;
}
.aa-docs-fab {
    position:fixed;
    right:max(1rem, calc((100vw - 430px) / 2 + 1rem));
    left:auto;
    bottom:1rem;
    z-index:30;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.35rem;
    min-height:40px;
    padding:.55rem 1rem;
    border-radius:999px;
    background:linear-gradient(90deg, #8a9ae0 0%, #5c72bd 42%, #3e4c82 100%);
    color:#fff;
    font-size:.8rem;
    font-weight:500;
    text-decoration:none;
    box-shadow:0 10px 22px rgba(62,76,130,.26);
}
.aa-docs-fab:hover { color:#fff; filter:brightness(1.03); }

/* Accounting customers list */
.aa-customers {
    max-width:430px;
    margin-inline:auto;
    padding:.75rem .75rem 4.75rem;
}
.aa-customers-toolbar {
    position:sticky;
    top:calc(68px + .55rem);
    z-index:20;
    margin:0 0 .85rem;
    padding:.45rem 0 .7rem;
    background:#f3f5fb;
    box-shadow:0 12px 16px -10px rgba(243,245,251,.98);
}
.aa-list-toolbar-row {
    display:flex;
    align-items:stretch;
    gap:.45rem;
}
.aa-list-toolbar-row .aa-customers-search,
.aa-list-toolbar-row .aa-docs-customer-select {
    flex:1;
    min-width:0;
}
.aa-list-reload {
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    min-height:42px;
    padding:0;
    border:1px solid #d8dee8;
    border-radius:.7rem;
    background:#fff;
    color:#5c72bd;
    box-shadow:0 2px 8px rgba(15,23,42,.04);
}
.aa-list-reload:hover {
    border-color:#b7c3e8;
    background:#f7f9ff;
    color:#3e4c82;
}
.aa-list-reload:disabled {
    opacity:.65;
    pointer-events:none;
}
.aa-list-reload.is-busy i {
    animation:aa-docs-spin .75s linear infinite;
}
.aa-customers-search {
    display:flex;
    align-items:center;
    gap:.5rem;
    min-height:42px;
    padding:.45rem .85rem;
    border:1px solid #d8dee8;
    border-radius:.7rem;
    background:#fff;
    box-shadow:0 2px 8px rgba(15,23,42,.04);
    color:#94a3b8;
}
.aa-customers-search input {
    flex:1;
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:#334155;
    font-size:.86rem;
}
.aa-customers-search input::placeholder { color:#9aa3b5; }
.aa-customers-list {
    display:grid;
    gap:.65rem;
}
.aa-customers-status {
    margin-bottom:.55rem;
    padding:.45rem .65rem;
    border-radius:.65rem;
    background:#eef2ff;
    color:#4f6fb8;
    font-size:.76rem;
    text-align:center;
}
.aa-customers-status.is-error {
    background:#fef2f2;
    color:#dc2626;
}
.aa-customers-loading,
.aa-customers-loading-more {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.65rem;
    padding:2rem 1rem;
    color:#64748b;
    font-size:.82rem;
    text-align:center;
}
.aa-customers-loading-more {
    flex-direction:row;
    gap:.5rem;
    padding:1rem;
}
.aa-customers-spinner {
    width:34px;
    height:34px;
    border:3px solid #e2e8f4;
    border-top-color:#5c72bd;
    border-radius:50%;
    animation:aa-customers-spin .75s linear infinite;
}
.aa-customers-spinner-sm {
    width:20px;
    height:20px;
    border-width:2px;
}
@keyframes aa-customers-spin {
    to { transform:rotate(360deg); }
}
.aa-customer-card {
    padding:.75rem .8rem .8rem;
    border:1px solid #e6ebf4;
    border-radius:.95rem;
    background:#fff;
    box-shadow:0 4px 14px rgba(62,76,130,.06);
}
.aa-customer-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.65rem;
    margin-bottom:.65rem;
}
.aa-customer-identity {
    display:flex;
    align-items:center;
    gap:.5rem;
    min-width:0;
}
.aa-customer-meta {
    display:flex;
    flex-direction:column;
    gap:.1rem;
    min-width:0;
}
.aa-customer-code {
    color:#94a3b8;
    font-size:.72rem;
    line-height:1.2;
    direction:ltr;
    unicode-bidi:isolate;
    text-align:right;
}
.aa-customer-avatar {
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:.55rem;
    background:#eef1f6;
    color:#64748b;
    font-size:.68rem;
    font-weight:600;
    line-height:1;
}
.aa-customer-name {
    color:#1f2937;
    font-size:.88rem;
    font-weight:600;
    line-height:1.35;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.aa-customer-date {
    flex:0 0 auto;
    color:#94a3b8;
    font-size:.74rem;
    direction:ltr;
    unicode-bidi:isolate;
}
.aa-customer-balances {
    display:grid;
    gap:.4rem;
    margin-bottom:.7rem;
    padding:.55rem .65rem;
    border-radius:.7rem;
    background:#f4f6fa;
}
.aa-customer-balance-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
}
.aa-customer-balance-label {
    color:#64748b;
    font-size:.76rem;
    white-space:nowrap;
}
.aa-customer-balance-value {
    display:inline-flex;
    flex-direction:row;
    align-items:baseline;
    justify-content:flex-start;
    gap:.25rem;
    direction:rtl;
    color:#1f2937;
    font-size:.78rem;
    font-weight:600;
    line-height:1.35;
    word-break:break-word;
}
.aa-customer-balance-value .aa-amount-num {
    direction:ltr;
    unicode-bidi:isolate;
}
.aa-customer-balance-value.is-negative { color:#dc2626; }
.aa-customer-balance-value.is-positive { color:#16a34a; }
.aa-customer-balance-value.is-neutral { color:#1f2937; }
.aa-customer-taraz {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    margin-top:.15rem;
    padding:.4rem .55rem;
    border:1px solid #d7dff2;
    border-radius:.65rem;
    background:linear-gradient(90deg, rgba(138,154,224,.16) 0%, rgba(92,114,189,.12) 42%, rgba(62,76,130,.1) 100%);
}
.aa-customer-taraz.is-positive {
    border-color:#bbf7d0;
    background:linear-gradient(90deg, #f0fdf4 0%, #ecfdf5 100%);
}
.aa-customer-taraz.is-negative {
    border-color:#fecaca;
    background:linear-gradient(90deg, #fef2f2 0%, #fff1f2 100%);
}
.aa-customer-taraz-label {
    color:#5c72bd;
    font-size:.74rem;
    font-weight:700;
    white-space:nowrap;
}
.aa-customer-taraz.is-positive .aa-customer-taraz-label { color:#15803d; }
.aa-customer-taraz.is-negative .aa-customer-taraz-label { color:#b91c1c; }
.aa-customer-taraz-value {
    display:inline-flex;
    flex-direction:row;
    align-items:baseline;
    justify-content:flex-start;
    gap:.25rem;
    direction:rtl;
    color:#3e4c82;
    font-size:.8rem;
    font-weight:800;
    line-height:1.35;
    word-break:break-word;
}
.aa-customer-taraz-value .aa-amount-num { unicode-bidi:isolate; }
.aa-customer-taraz-value.is-negative { color:#dc2626; }
.aa-customer-taraz-value.is-positive { color:#16a34a; }
.aa-customer-taraz-value.is-neutral { color:#3e4c82; }
.aa-customer-taraz-value .aa-amount-unit {
    color:inherit;
    opacity:.75;
    font-size:.68rem;
    font-weight:600;
}
.aa-customer-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.45rem;
}
.aa-customer-btn-more {
    grid-column:1 / -1;
    border:0;
    background:#f3f6fd;
    color:#4f6fb8;
    cursor:pointer;
}
.aa-customer-btn-more:hover {
    background:#e8eefc;
    color:#3e5a9a;
}
.aa-customer-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:.4rem .6rem;
    border-radius:.65rem;
    font-family:inherit;
    font-size:.8rem;
    font-weight:500;
    text-decoration:none;
}
.aa-customer-btn-primary {
    border:1px solid transparent;
    background:#4f6fb8;
    color:#fff;
}
.aa-customer-btn-primary:hover {
    color:#fff;
    filter:brightness(1.04);
}
.aa-customer-btn-outline {
    border:1px solid #4f6fb8;
    background:#fff;
    color:#4f6fb8;
}
.aa-customer-btn-outline:hover {
    background:#f5f8ff;
    color:#3e5a9a;
}
.aa-customers-empty {
    padding:1.5rem 1rem;
    border-radius:.85rem;
    background:#fff;
    border:1px dashed #d7dff2;
    color:#8a93a8;
    text-align:center;
    font-size:.8rem;
}
.aa-customer-sheet {
    position:fixed;
    inset:0;
    z-index:11000;
    display:grid;
    align-items:end;
}
.aa-customer-sheet[hidden] { display:none; }
.aa-customer-sheet-backdrop {
    position:absolute;
    inset:0;
    border:0;
    background:rgba(22, 30, 58, .48);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
}
.aa-customer-sheet-panel {
    position:relative;
    z-index:1;
    width:min(100%, 430px);
    max-height:min(86vh, 640px);
    margin-inline:auto;
    display:flex;
    flex-direction:column;
    padding:.55rem 1rem 1.25rem;
    border-radius:1.35rem 1.35rem 0 0;
    background:linear-gradient(180deg, #f7f9ff 0%, #ffffff 42%);
    box-shadow:0 -16px 40px rgba(15,23,42,.2);
    animation:aaSheetUp .28s cubic-bezier(.22,1,.36,1);
}
.aa-customer-sheet-handle {
    width:42px;
    height:4px;
    margin:.15rem auto .85rem;
    border-radius:999px;
    background:#d5dcf0;
}
.aa-customer-sheet-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:.75rem;
    margin-bottom:.85rem;
}
.aa-customer-sheet-title {
    display:flex;
    align-items:flex-start;
    gap:.7rem;
    min-width:0;
}
.aa-customer-sheet-icon {
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:.9rem;
    background:linear-gradient(145deg, #8a9ae0 0%, #5c72bd 55%, #3e4c82 100%);
    color:#fff;
    font-size:1.05rem;
    box-shadow:0 8px 16px rgba(62,76,130,.22);
}
.aa-customer-sheet-head h2 {
    margin:0 0 .15rem;
    color:#2f3a5a;
    font-size:.98rem;
    font-weight:600;
}
.aa-customer-sheet-code {
    margin:0;
    color:#8a93a8;
    font-size:.74rem;
}
.aa-customer-sheet-close {
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border:1px solid #d7dff2;
    border-radius:.75rem;
    background:#fff;
    color:#64748b;
}
.aa-customer-sheet-body {
    overflow:auto;
    display:grid;
    gap:.7rem;
    padding-bottom:.35rem;
}
.aa-customer-sheet-extras {
    display:grid;
    gap:.45rem;
}
.aa-customer-sheet-extra {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:.75rem;
    padding:.7rem .8rem;
    border:1px solid #e6ebf7;
    border-radius:.8rem;
    background:#fff;
}
.aa-customer-sheet-extra-name {
    color:#334155;
    font-size:.8rem;
    font-weight:600;
}
.aa-customer-sheet-extra-eq {
    margin-top:.2rem;
    color:#8a93a8;
    font-size:.7rem;
}
.aa-customer-sheet-extra-value {
    display:inline-flex;
    align-items:baseline;
    gap:.25rem;
    color:#1f2937;
    font-size:.82rem;
    font-weight:800;
    white-space:nowrap;
}
.aa-customer-sheet-extra-value.is-negative { color:#dc2626; }
.aa-customer-sheet-extra-value.is-positive { color:#16a34a; }
.aa-customer-sheet-extra-value .aa-amount-unit {
    color:inherit;
    opacity:.75;
    font-size:.68rem;
    font-weight:600;
}
.aa-customer-sheet-empty,
.aa-customer-sheet-error {
    padding:.7rem .8rem;
    border-radius:.8rem;
    background:#f8fafc;
    color:#8a93a8;
    font-size:.76rem;
    text-align:center;
}
.aa-customer-sheet-error {
    background:#fef2f2;
    color:#b91c1c;
}
.aa-customer-sheet-skel {
    height:52px;
    border-radius:.8rem;
    background:linear-gradient(90deg, #eef2ff 0%, #f8fafc 50%, #eef2ff 100%);
    background-size:200% 100%;
    animation:aa-skel-shine 1.25s ease-in-out infinite;
}
@media(max-width:575.98px) {
    .aa-customers { padding:.65rem .65rem 4.5rem; }
    .aa-customers-toolbar { top:calc(60px + .5rem); margin-bottom:.75rem; padding:.4rem 0 .65rem; }
    .aa-customer-card { padding:.65rem .7rem .7rem; }
    .aa-customer-name { font-size:.84rem; }
    .aa-customer-btn { min-height:36px; font-size:.76rem; }
}

/* Accounting create document */
.aa-create {
    max-width:430px;
    margin-inline:auto;
    padding:.75rem .75rem 5.5rem;
}
.aa-create-submit {
    position:fixed;
    bottom:1rem;
    left:50%;
    z-index:40;
    transform:translateX(-50%);
    width:min(calc(100% - 1.5rem), 400px);
    min-height:48px;
    border:0;
    border-radius:.95rem;
    background:linear-gradient(90deg, #8a9ae0 0%, #5c72bd 42%, #3e4c82 100%);
    color:#fff;
    font-size:.9rem;
    font-weight:500;
    box-shadow:0 10px 22px rgba(62,76,130,.26);
}
.aa-create-submit:disabled {
    opacity:.45;
    cursor:not-allowed;
    box-shadow:none;
}
.aa-review-sheet {
    position:fixed;
    inset:0;
    z-index:12000;
    display:grid;
    align-items:end;
}
.aa-review-sheet[hidden] { display:none; }
.aa-review-sheet-backdrop {
    position:absolute;
    inset:0;
    border:0;
    background:rgba(22, 30, 58, .48);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
}
.aa-review-sheet-panel {
    position:relative;
    z-index:1;
    width:min(100%, 430px);
    margin-inline:auto;
    padding:.55rem 1rem 1.15rem;
    border-radius:1.35rem 1.35rem 0 0;
    background:linear-gradient(180deg, #f7f9ff 0%, #ffffff 42%);
    box-shadow:0 -16px 40px rgba(15,23,42,.2);
    animation:aaSheetUp .28s cubic-bezier(.22,1,.36,1);
}
.aa-review-sheet-handle {
    width:42px;
    height:4px;
    margin:.15rem auto .85rem;
    border-radius:999px;
    background:#d5dcf0;
}
.aa-review-title {
    margin:0 0 .85rem;
    color:#2f3a5a;
    font-size:.98rem;
    font-weight:600;
    line-height:1.7;
    text-align:center;
}
.aa-review-rows {
    display:grid;
    gap:.45rem;
    margin-bottom:1rem;
    padding:.75rem .8rem;
    border:1px solid #e4e9f5;
    border-radius:1rem;
    background:#fff;
}
.aa-review-row {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:.75rem;
}
.aa-review-row-label {
    color:#8a93a8;
    font-size:.76rem;
    white-space:nowrap;
}
.aa-review-row-value {
    color:#1f2937;
    font-size:.8rem;
    font-weight:600;
    text-align:left;
    word-break:break-word;
}
.aa-review-actions {
    display:grid;
    grid-template-columns:1.2fr .9fr;
    gap:.5rem;
}
.aa-review-confirm,
.aa-review-cancel {
    min-height:44px;
    border-radius:.85rem;
    font-size:.86rem;
    font-weight:500;
}
.aa-review-confirm {
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    background:linear-gradient(90deg, #8a9ae0 0%, #5c72bd 42%, #3e4c82 100%);
    color:#fff;
}
.aa-review-confirm.is-loading {
    color:transparent;
    pointer-events:none;
}
.aa-review-confirm.is-loading::after {
    content:'';
    position:absolute;
    width:18px;
    height:18px;
    border:2px solid rgba(255,255,255,.35);
    border-top-color:#fff;
    border-radius:50%;
    animation:aaCodeFieldSpin .75s linear infinite;
}
.aa-review-cancel {
    border:1px solid #d5dcf0;
    background:#fff;
    color:#5c72bd;
}
body.aa-review-open { overflow:hidden; }
body.aa-review-open .swal2-container { z-index:13000 !important; }
.login-submit {
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
}
.login-submit.is-loading {
    color:transparent !important;
    pointer-events:none;
}
.login-submit.is-loading .login-submit-label { visibility:hidden; }
.login-submit-spinner {
    position:absolute;
    width:18px;
    height:18px;
    border:2px solid rgba(255,255,255,.35);
    border-top-color:#fff;
    border-radius:50%;
    animation:aaCodeFieldSpin .75s linear infinite;
}
.login-submit.is-loading .login-submit-spinner { display:block; }
.login-submit .login-submit-spinner { display:none; }
.aa-create-customer-panel {
    margin-bottom:.75rem;
    padding:.85rem .8rem .9rem;
    border-radius:1rem;
    background:#eef1f6;
}
.aa-create-field {
    position:relative;
}
.aa-float-field {
    position:relative;
    margin-bottom:.7rem;
}
.aa-float-field:last-child { margin-bottom:0; }
.aa-create-havaleh-row .aa-float-field { margin-bottom:0; }
.aa-create-coin-row .aa-float-field { margin-bottom:0; }
.aa-float-label {
    position:absolute;
    top:50%;
    right:.85rem;
    z-index:2;
    transform:translateY(-50%);
    padding:0 .25rem;
    color:#94a3b8;
    font-size:.86rem;
    line-height:1;
    pointer-events:none;
    transition:top .16s ease, transform .16s ease, font-size .16s ease, color .16s ease, background-color .16s ease;
    background:transparent;
}
.aa-float-select .aa-float-label,
.aa-float-field.is-focused .aa-float-label,
.aa-float-field.has-value .aa-float-label,
.aa-float-field .aa-create-input:not(:placeholder-shown) ~ .aa-float-label,
.aa-float-field .aa-create-select:focus ~ .aa-float-label {
    top:0;
    font-size:.7rem;
    color:#64748b;
    background:#fff;
}
.aa-float-on-panel.is-focused .aa-float-label,
.aa-float-on-panel.has-value .aa-float-label,
.aa-float-on-panel .aa-create-input:not(:placeholder-shown) ~ .aa-float-label {
    background:#eef1f6;
}
.aa-create-code-field.has-code-action .aa-create-code-input {
    padding-left:5.6rem;
}
.aa-create-code-field.is-loading .aa-create-code-input {
    color:transparent;
    caret-color:transparent;
    background:linear-gradient(90deg, #f3f5f9 0%, #e9edf6 45%, #f3f5f9 90%);
    background-size:200% 100%;
    animation:aaCodeFieldShimmer 1.1s ease-in-out infinite;
    pointer-events:none;
}
.aa-create-code-fetch {
    position:absolute;
    top:50%;
    left:.45rem;
    z-index:3;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:4.75rem;
    height:2rem;
    padding:0 .65rem;
    border:0;
    border-radius:.55rem;
    background:linear-gradient(90deg, #8a9ae0 0%, #5c72bd 42%, #3e4c82 100%);
    color:#fff;
    font-size:.72rem;
    font-weight:600;
    line-height:1;
    transform:translateY(-50%);
    cursor:pointer;
    box-shadow:0 4px 12px rgba(62,76,130,.22);
    transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}
.aa-create-code-fetch:hover:not(:disabled) {
    transform:translateY(-50%) translateY(-1px);
    box-shadow:0 6px 14px rgba(62,76,130,.28);
}
.aa-create-code-fetch:active:not(:disabled) {
    transform:translateY(-50%);
    box-shadow:0 3px 8px rgba(62,76,130,.2);
}
.aa-create-code-fetch:disabled {
    cursor:wait;
    opacity:.88;
}
.aa-create-code-fetch-label {
    white-space:nowrap;
}
.aa-create-code-field.is-loading .aa-create-code-fetch-label {
    display:none;
}
.aa-create-code-fetch-spinner {
    width:16px;
    height:16px;
    border:2px solid rgba(255,255,255,.35);
    border-top-color:#fff;
    border-radius:50%;
    animation:aaCodeFieldSpin .75s linear infinite;
}
.aa-create-code-field.is-loading .aa-create-code-fetch-spinner {
    display:block;
}
@keyframes aaCodeFieldSpin {
    to { transform:rotate(360deg); }
}
@keyframes aaCodeFieldShimmer {
    0% { background-position:100% 0; }
    100% { background-position:-100% 0; }
}
.aa-create-input {
    width:100%;
    min-height:46px;
    padding:.65rem .85rem;
    border:1px solid #cfd6e4;
    border-radius:.7rem;
    background:#fff;
    color:#1f2937;
    font-size:.88rem;
    outline:0;
}
.aa-create-input:focus {
    border-color:#5c72bd;
    box-shadow:0 0 0 3px rgba(92,114,189,.12);
}
.aa-create-customer-field {
    position:relative;
}
.aa-create-customer-list {
    position:absolute;
    top:calc(100% + .35rem);
    right:0;
    left:0;
    z-index:30;
    max-height:220px;
    overflow:auto;
    border:1px solid #d7dff2;
    border-radius:.75rem;
    background:#fff;
    box-shadow:0 10px 24px rgba(15,23,42,.12);
}
.aa-create-customer-option {
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.65rem;
    padding:.7rem .85rem;
    border:0;
    border-bottom:1px solid #eef2f7;
    background:#fff;
    color:#1f2937;
    text-align:right;
}
.aa-create-customer-option:last-child { border-bottom:0; }
.aa-create-customer-option:hover { background:#f5f7fd; }
.aa-create-customer-option strong {
    font-size:.84rem;
    font-weight:600;
}
.aa-create-customer-option span {
    color:#64748b;
    font-size:.74rem;
}
.aa-create-customer-empty {
    padding:.85rem;
    color:#94a3b8;
    font-size:.8rem;
    text-align:center;
}
.aa-create-customer-status {
    padding:.65rem .85rem;
    color:#64748b;
    font-size:.76rem;
    text-align:center;
    background:#f8fafc;
}
.aa-create-account {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.45rem .55rem;
    margin-top:.7rem;
}
.aa-create-account-label {
    color:#475569;
    font-size:.78rem;
    font-weight:500;
}
.aa-create-account-badges {
    display:flex;
    flex-wrap:wrap;
    gap:.4rem;
}
.aa-create-badge {
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:.25rem .65rem;
    border:1px solid #d8dee8;
    border-radius:999px;
    background:#fff;
    color:#334155;
    font-size:.72rem;
    font-weight:500;
    white-space:nowrap;
}
.aa-create-badge-amount.is-negative { color:#dc2626; }
.aa-create-badge-amount.is-positive { color:#16a34a; }
.aa-create-badge-amount.is-neutral { color:inherit; }
.aa-create-badge-taraz {
    border-color:#d7dff2;
    background:linear-gradient(90deg, rgba(138,154,224,.18) 0%, rgba(92,114,189,.14) 42%, rgba(62,76,130,.12) 100%);
    color:#3e4c82;
    font-weight:700;
}
.aa-create-badge-taraz.is-positive {
    border-color:#bbf7d0;
    background:linear-gradient(90deg, #f0fdf4 0%, #ecfdf5 100%);
    color:#15803d;
}
.aa-create-badge-taraz.is-negative {
    border-color:#fecaca;
    background:linear-gradient(90deg, #fef2f2 0%, #fff1f2 100%);
    color:#b91c1c;
}
.aa-create-receiver-account {
    margin:.55rem 0 .75rem;
}
.aa-create-card {
    margin-bottom:.75rem;
    padding:.9rem .85rem 1rem;
    border:1px solid #e6ebf4;
    border-radius:1rem;
    background:#fff;
    box-shadow:0 4px 14px rgba(62,76,130,.05);
}
.aa-create-section-title {
    margin:0 0 .75rem;
    color:#1f2937;
    font-size:.9rem;
    font-weight:600;
}
.aa-create-radio-grid {
    display:grid;
    gap:.55rem .75rem;
}
.aa-create-radio-grid-2 {
    grid-template-columns:repeat(2, minmax(0, 1fr));
}
.aa-create-radio {
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    min-height:28px;
    cursor:pointer;
    user-select:none;
}
.aa-create-radio input {
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.aa-create-radio-ui {
    width:18px;
    height:18px;
    flex:0 0 auto;
    border:2px solid #5c72bd;
    border-radius:50%;
    background:#fff;
    position:relative;
}
.aa-create-radio input:checked + .aa-create-radio-ui::after {
    content:"";
    position:absolute;
    inset:3px;
    border-radius:50%;
    background:#5c72bd;
}
.aa-create-radio-label {
    color:#1f2937;
    font-size:.84rem;
    font-weight:500;
}
.aa-create-radio-code {
    margin-inline-start:.15rem;
    color:#64748b;
    font-weight:400;
}
.aa-create-divider {
    height:1px;
    margin:.9rem 0;
    background:#e8edf5;
}
.aa-create-havaleh .aa-create-field { margin-bottom:.65rem; }
.aa-create-cash .aa-create-field { margin-bottom:.65rem; }
.aa-create-cash .aa-create-field:last-child { margin-bottom:0; }
.aa-create-coin .aa-float-field { margin-bottom:.7rem; }
.aa-create-coin .aa-float-field:last-child { margin-bottom:0; }
.aa-create-outlined {
    position:relative;
}
.aa-create-outline-label {
    position:absolute;
    top:-.55rem;
    right:.7rem;
    z-index:1;
    padding:0 .28rem;
    background:#fff;
    color:#64748b;
    font-size:.72rem;
    line-height:1;
}
.aa-create-coin-row {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.5rem;
    margin-bottom:.25rem;
}
.aa-create-input.is-readonly {
    background:#f3f5f9;
    color:#334155;
}
.aa-create-coin-hint {
    margin:-.15rem 0 .7rem;
    color:#64748b;
    font-size:.72rem;
    line-height:1.5;
}
.aa-create-melted .aa-float-field { margin-bottom:.65rem; }
.aa-create-melted .aa-float-field:last-child { margin-bottom:0; }
.aa-create-coin-money .aa-float-field { margin-bottom:.7rem; }
.aa-create-coin-money .aa-float-field:last-child { margin-bottom:0; }
.aa-create-havaleh-row {
    display:grid;
    grid-template-columns:minmax(0, 1.4fr) minmax(0, .9fr);
    gap:.5rem;
}
.aa-create-amount-field .aa-create-input {
    padding-left:3rem;
}
.aa-create-amount-field.is-disabled {
    opacity:.45;
}
.aa-create-amount-field.is-disabled .aa-create-input {
    cursor:not-allowed;
    background:#f8fafc;
}
.aa-create-unit {
    position:absolute;
    top:50%;
    left:.85rem;
    z-index:2;
    transform:translateY(-50%);
    color:#64748b;
    font-size:.8rem;
    pointer-events:none;
}
.aa-create-select-wrap,
.aa-float-select {
    position:relative;
    display:block;
}
.aa-create-select {
    width:100%;
    min-height:46px;
    padding:.65rem 2rem .65rem .85rem;
    border:1px solid #cfd6e4;
    border-radius:.7rem;
    background:#fff;
    color:#1f2937;
    font-size:.84rem;
    appearance:none;
    outline:0;
}
.aa-create-select:focus {
    border-color:#5c72bd;
    box-shadow:0 0 0 3px rgba(92,114,189,.12);
}
.aa-create-select-wrap > i,
.aa-float-select > i {
    position:absolute;
    top:50%;
    left:.75rem;
    transform:translateY(-50%);
    color:#64748b;
    font-size:.8rem;
    pointer-events:none;
}
@media(max-width:575.98px) {
    .aa-create { padding:.65rem .65rem 5.2rem; }
    .aa-create-customer-panel { padding:.75rem .7rem .8rem; }
    .aa-create-card { padding:.8rem .75rem .9rem; }
    .aa-create-radio-label { font-size:.8rem; }
    .aa-create-submit { bottom:.85rem; width:min(calc(100% - 1.3rem), 400px); min-height:46px; }
    body.aa-has-bottom-nav .aa-create { padding-bottom:calc(7.4rem + env(safe-area-inset-bottom, 0px)); }
    body.aa-has-bottom-nav .aa-create-submit { bottom:calc(5rem + env(safe-area-inset-bottom, 0px)); }
    .aa-bottom-nav { width:min(calc(100% - 1.2rem), 380px); bottom:calc(.65rem + env(safe-area-inset-bottom, 0px)); }
    .aa-bottom-nav-bar { min-height:60px; padding:.3rem .3rem .35rem; }
    .aa-bottom-nav-item { min-height:50px; gap:.1rem; }
    .aa-bottom-nav-icon { width:28px; height:28px; font-size:.98rem; }
    .aa-bottom-nav-label { font-size:.58rem; }
}

/* Jalali calendar bottom sheet */
body.aa-sheet-open { overflow:hidden; }
.aa-calendar-sheet {
    position:fixed;
    inset:0;
    z-index:11000;
    display:grid;
    align-items:end;
}
.aa-calendar-sheet[hidden] { display:none; }
.aa-calendar-sheet-backdrop {
    position:absolute;
    inset:0;
    border:0;
    background:rgba(22, 30, 58, .48);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
}
.aa-calendar-sheet-panel {
    position:relative;
    z-index:1;
    width:min(100%, 430px);
    margin-inline:auto;
    padding:.55rem 1rem 1.15rem;
    border-radius:1.35rem 1.35rem 0 0;
    background:linear-gradient(180deg, #f7f9ff 0%, #ffffff 42%);
    box-shadow:0 -16px 40px rgba(15,23,42,.2);
    animation:aaSheetUp .28s cubic-bezier(.22,1,.36,1);
}
@keyframes aaSheetUp {
    from { transform:translateY(18%); opacity:.55; }
    to { transform:translateY(0); opacity:1; }
}
.aa-calendar-sheet-handle {
    width:42px;
    height:4px;
    margin:.15rem auto .85rem;
    border-radius:999px;
    background:#d5dcf0;
}
.aa-calendar-sheet-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:.75rem;
    margin-bottom:.85rem;
}
.aa-calendar-sheet-title {
    display:flex;
    align-items:flex-start;
    gap:.7rem;
    min-width:0;
}
.aa-calendar-sheet-icon {
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:.9rem;
    background:linear-gradient(145deg, #8a9ae0 0%, #5c72bd 55%, #3e4c82 100%);
    color:#fff;
    font-size:1.05rem;
    box-shadow:0 8px 16px rgba(62,76,130,.22);
}
.aa-calendar-sheet-head h2 {
    margin:0 0 .15rem;
    color:#2f3a5a;
    font-size:.98rem;
    font-weight:600;
}
.aa-calendar-sheet-close {
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border:1px solid #d7dff2;
    border-radius:.7rem;
    background:#fff;
    color:#5c72bd;
    flex:0 0 auto;
}
.aa-calendar-sheet-hint {
    margin:0;
    color:#8a93a8;
    font-size:.74rem;
    line-height:1.6;
}
.aa-calendar-picker-wrap {
    position:relative;
    min-height:280px;
    margin-bottom:.85rem;
    padding:.35rem .15rem .45rem;
    border:1px solid #e4e9f5;
    border-radius:1.05rem;
    background:#fff;
    overflow:hidden;
}
.aa-calendar-input {
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
    border:0;
    padding:0;
    margin:0;
}
.aa-calendar-confirm {
    width:100%;
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.4rem;
    border:0;
    border-radius:.95rem;
    background:linear-gradient(90deg, #8a9ae0 0%, #5c72bd 42%, #3e4c82 100%);
    color:#fff;
    font-size:.88rem;
    font-weight:500;
    box-shadow:0 10px 20px rgba(62,76,130,.22);
}
.aa-calendar-confirm:disabled {
    opacity:.45;
    cursor:not-allowed;
    box-shadow:none;
}

/* Theme jalaliDatepicker inside our sheet flow */
body.aa-sheet-open jdp-overlay {
    display:none !important;
}
body.aa-sheet-open jdp-container {
    --jdp-day-size:42px;
    --jdp-color-0:#fff;
    --jdp-color-1:#eef2ff;
    --jdp-color-2:#e4e9f5;
    --jdp-color-3:#c5cfe8;
    --jdp-color-4:#8a93a8;
    --jdp-color-5:#2f3a5a;
    --jdp-primary:#5c72bd;
    --jdp-red:#dc2626;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:.35rem 0 .15rem !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    animation:none !important;
    font-family:inherit;
}
body.aa-sheet-open jdp-container .jdp-years,
body.aa-sheet-open jdp-container .jdp-months {
    margin:0 1.5%;
    font-size:1rem;
    font-weight:600;
}
body.aa-sheet-open jdp-container .jdp-icon-plus,
body.aa-sheet-open jdp-container .jdp-icon-minus {
    border-color:#d5dcf0;
    border-radius:.65rem;
    background:#f7f9ff;
}
body.aa-sheet-open jdp-container .jdp-days-header {
    margin-top:.55rem;
    border-radius:.65rem;
    background:#f3f6fd;
}
body.aa-sheet-open jdp-container .jdp-day-name {
    color:#7b86a3;
    font-weight:600;
    font-size:.72rem;
}
body.aa-sheet-open jdp-container .jdp-day {
    border-radius:.7rem !important;
    font-size:.86rem;
    font-weight:500;
}
body.aa-sheet-open jdp-container .jdp-day.today {
    border-color:#8a9ae0;
    background:#eef2ff;
}
body.aa-sheet-open jdp-container .jdp-day.selected {
    background:linear-gradient(145deg, #8a9ae0 0%, #5c72bd 55%, #3e4c82 100%) !important;
    box-shadow:0 6px 12px rgba(62,76,130,.25);
}
body.aa-sheet-open jdp-container .jdp-day:not(.disabled-day):hover {
    background:#e8edf8;
    transform:scale(1.08);
}
body.aa-sheet-open jdp-container .jdp-footer {
    padding:.65rem .45rem .2rem;
}
body.aa-sheet-open jdp-container .jdp-btn-today {
    min-height:34px;
    padding:.35em .9em;
    border-radius:.7rem;
    background:linear-gradient(90deg, #8a9ae0 0%, #5c72bd 50%, #3e4c82 100%);
    font-weight:500;
    box-shadow:0 6px 12px rgba(62,76,130,.18);
}
@media(max-width:575.98px) {
    .aa-docs { padding:.65rem .65rem 4.5rem; }
    .aa-docs-toolbar { top:calc(60px + .5rem); gap:.4rem; margin-bottom:.75rem; padding:.4rem 0 .65rem; }
    .aa-doc-card { padding:.55rem .6rem .6rem; border-radius:.8rem; }
    .aa-docs-fab { right:.85rem; left:auto; bottom:.85rem; min-height:38px; }
    .aa-docs-date-option { font-size:.68rem; min-height:32px; padding:.3rem .3rem; }
    .aa-calendar-picker-wrap { min-height:260px; }
    body.aa-sheet-open jdp-container {
        --jdp-day-size:40px;
    }
    body.aa-has-bottom-nav .aa-docs,
    body.aa-has-bottom-nav .aa-customers {
        padding-bottom:calc(6.2rem + env(safe-area-inset-bottom, 0px));
    }
}
@media(max-width:575.98px) {
    .aa-home { padding:1rem .85rem 1.5rem; }
    .aa-menu-card { min-height:48px; border-radius:.9rem; font-size:.86rem; }
    .aa-welcome { padding:1.1rem 1rem 2rem; }
    .aa-welcome-art { width:min(100%, 280px); margin-bottom:1.1rem; }
    .aa-welcome-title { font-size:1.05rem; }
    .aa-welcome-text { font-size:.8rem; }
    .aa-welcome-btn { min-height:44px; font-size:.86rem; }
}
.panel-body.rt-theme {
    --rt-green-light:#a8c83a;
    --rt-green:#7aa510;
    --rt-green-dark:#4d6d05;
    --rt-green-soft:#eef6d4;
    --rt-green-soft-2:#f5f9e8;
    background:#fff;
}
.panel-body.rt-theme .content {
    padding: .85rem .9rem 1.25rem;
}
.panel-page-heading { overflow:hidden; font-size:.95rem; font-weight:700; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.panel-home-link,.panel-user-link { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--panel-border); border-radius:14px; background:#fff; color:var(--panel-ink); font-size:1.1rem; text-decoration:none; box-shadow:0 5px 16px rgba(15,23,42,.05); }
.content { max-width:1120px; margin-inline:auto; padding:1.25rem; }
.panel-home-content { max-width:430px; padding:0; }
.card { border:0; border-radius:1rem; box-shadow:0 3px 18px rgba(31,41,55,.06); }
.table>:not(caption)>*>* { padding:.85rem .75rem; vertical-align:middle; }
.table thead th { color:#6b7280; font-size:.86rem; font-weight:600; white-space:nowrap; }
.form-label { font-weight:600; font-size:.9rem; }
.required:after { content:' *'; color:#dc3545; }
.btn { border-radius:.7rem; }
.badge { padding:.45rem .65rem; }
.login-page { min-height:100vh; display:grid; place-items:center; padding:1rem; background:linear-gradient(145deg,#101827,#263e91); }
.login-card { width:100%; max-width:430px; }
.login-mobile-row { display:flex; flex-direction:column; align-items:center; gap:.35rem; }
.login-mobile-value { font-weight:700; font-size:.95rem; color:var(--panel-ink); letter-spacing:.02em; }
.login-edit-mobile { font-size:.8rem; color:#3157d5; text-decoration:none; }
.login-edit-mobile:hover { text-decoration:underline; }
.otp-inputs {
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:center;
    gap:.4rem;
    margin-top:.25rem;
    width:100%;
}
.otp-input.form-control {
    width:2.55rem;
    min-width:2.55rem;
    max-width:2.55rem;
    height:2.85rem;
    flex:0 0 2.55rem;
    padding:0;
    text-align:center;
    font-size:1.15rem;
    font-weight:700;
    border-radius:.7rem;
}
.otp-inputs.is-invalid .otp-input { border-color:#dc3545; }
.otp-resend { min-height:1.5rem; }
.otp-timer-text { font-variant-numeric:tabular-nums; }
.otp-resend-btn {
    font-size:.875rem;
    color:#3157d5;
    text-decoration:none;
}
.otp-resend-btn:hover { text-decoration:underline; }
.otp-resend-btn:disabled { opacity:.6; pointer-events:none; }
@media(max-width:575.98px) {
    .otp-inputs { gap:.3rem; }
    .otp-input.form-control {
        width:2.3rem;
        min-width:2.3rem;
        max-width:2.3rem;
        height:2.65rem;
        flex:0 0 2.3rem;
        font-size:1.05rem;
    }
}

/* Panel home */
body.panel-body:has(.home-shell),
.panel-main:has(.home-shell) { background:#f0f4f8; }
.content.panel-home-content { max-width:430px; padding:0; }
.home-shell {
    min-height:100vh;
    display:flex;
    flex-direction:column;
    background:#f0f4f8;
}
.home-header { padding:1.05rem 1.15rem .75rem; }
.home-brand-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    margin-bottom:1.05rem;
    padding-bottom:.85rem;
    border-bottom:2px solid rgba(229, 232, 236, 0.65);
}
.home-brand { display:inline-flex; align-items:center; }
.home-brand-logo {
    display:block;
    width:auto;
    height:44px;
    max-width:180px;
    object-fit:contain;
}
.home-date {
    color:#000000;
    font-size:.78rem;
    font-weight:500;
    white-space:nowrap;
}
.home-user-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
}
.home-user-main {
    display:flex;
    align-items:center;
    gap:.7rem;
    min-width:0;
}
.home-user-link {
    flex:1;
    min-width:0;
    color:inherit;
    text-decoration:none;
    border-radius:.85rem;
    padding:.15rem .1rem;
    transition:background-color .16s ease;
}
.home-user-link:hover,
.home-user-link:focus-visible {
    color:inherit;
    background:rgba(255,255,255,.55);
    outline:0;
}
.home-avatar {
    width:46px;
    height:46px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff;
    color:#111;
    box-shadow:none;
}
.home-avatar-icon {
    width:24px;
    height:24px;
    display:block;
}
.home-user-name {
    font-size:.95rem;
    font-weight:400;
    color:#1f2937;
    line-height:1.35;
}
.home-user-mobile {
    margin-top:.1rem;
    color:#9aa3b2;
    font-size:.8rem;
    text-align:right;
}
.home-logout-form { margin:0; }
.home-user-action {
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border:0;
    padding:0;
    background:transparent;
    color:#c0c6d0;
    font-size:1.15rem;
}
.home-subscription { margin-top:1.05rem; }
.home-subscription-bar {
    height:5px;
    overflow:hidden;
    border-radius:999px;
    background:#fff;
    direction:rtl;
}
.home-subscription-fill {
    display:block;
    height:100%;
    border-radius:inherit;
    background:#e53935;
}
.home-subscription-meta {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    margin-top:.55rem;
}
.home-subscription-text {
    color:#6b7280;
    font-size:.76rem;
    font-weight:600;
}
.home-renew-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:62px;
    height:28px;
    padding:0 .9rem;
    border-radius:.55rem;
    background:#c9a227;
    color:#fff;
    font-size:.78rem;
    font-weight:700;
    text-decoration:none;
}
.home-renew-btn:hover { color:#fff; background:#b89220; }
.home-sheet {
    flex:1;
    display:flex;
    flex-direction:column;
    gap:1rem;
    margin-top:0;
    padding:1.25rem 1.1rem 1.5rem;
    border-radius:1.75rem 1.75rem 0 0;
    background:#fff;
}
.home-live-rate {
    padding:.85rem .9rem .9rem;
    border:1px solid #e8edf5;
    border-radius:1.2rem;
    background:linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
    box-shadow:0 8px 20px rgba(37,56,120,.06);
}
.home-live-rate-head {
    margin-bottom:.55rem;
    color:#3e4c82;
    font-size:.78rem;
    font-weight:800;
}
.home-live-rate-grid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.45rem;
}
.home-live-rate-item {
    display:grid;
    gap:.18rem;
    min-width:0;
    text-align:center;
}
.home-live-rate-item + .home-live-rate-item {
    border-inline-start:1px solid #dbe3ee;
    padding-inline-start:.45rem;
}
.home-live-rate-label {
    color:#64748b;
    font-size:.7rem;
    font-weight:700;
}
.home-live-rate-value {
    display:inline-flex;
    align-items:baseline;
    justify-content:center;
    gap:.28rem;
    color:#1f2937;
    font-size:.9rem;
    font-weight:800;
    font-variant-numeric:tabular-nums;
}
.home-live-rate-value small {
    color:#6b7280;
    font-size:.66rem;
    font-weight:700;
}
.home-feature {
    position:relative;
    display:grid;
    grid-template-columns:72px minmax(0,1fr) auto;
    align-items:center;
    gap:.55rem;
    min-height:100px;
    padding:.85rem 1rem .85rem .95rem;
    border-radius:1.45rem;
    color:#fff;
    text-decoration:none;
    overflow:visible;
    box-shadow:0 10px 24px rgba(37,56,120,.14);
    transition:transform .18s ease, box-shadow .18s ease;
}
.home-feature[href]:hover {
    transform:translateY(-2px);
    color:#fff;
    box-shadow:0 14px 30px rgba(37,56,120,.2);
}
.home-feature-accounting {
    background:linear-gradient(90deg, #8a9ae0 0%, #5c72bd 42%, #3e4c82 100%);
}
.home-feature-transfer {
    background:linear-gradient(90deg, #a8c83a 0%, #7aa510 45%, #4d6d05 100%);
}
.home-feature-surplus {
    background:linear-gradient(90deg, #f0a35a 0%, #e07a2f 45%, #b84f12 100%);
}
.home-feature-reconcile {
    background:linear-gradient(90deg, #6b84ff 0%, #445df5 45%, #0b23c2 100%);
}
.home-feature-icon {
    width:72px;
    height:72px;
    margin-inline-end:-.15rem;
    display:grid;
    place-items:center;
    position:relative;
    z-index:1;
}
.home-feature-icon img {
    width:72px;
    height:72px;
    object-fit:contain;
    display:block;
    filter:drop-shadow(0 8px 12px rgba(0,0,0,.18));
}
.home-feature-copy {
    min-width:0;
    padding-inline-end:.15rem;
}
.home-feature-copy h2 {
    margin:0 0 .28rem;
    font-size:1rem;
    font-weight:400;
    letter-spacing:-.01em;
}
.home-feature-copy p {
    margin:0;
    color:rgba(255,255,255,.88);
    font-size:.72rem;
    line-height:1.75;
}
.home-feature-action {
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(255,255,255,.22);
    color:#fff;
    flex:0 0 auto;
    line-height:0;
}
.home-feature-action svg {
    display:block;
    width:12px;
    height:12px;
}
.home-feature-soon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:.25rem .75rem;
    border-radius:999px;
    background:#1e3a8a;
    color:rgba(255,255,255,.72);
    font-size:.7rem;
    font-weight:400;
    white-space:nowrap;
}
.home-feature.is-disabled { cursor:default; }
@media(max-width:575.98px) {
    .content{padding:1rem .85rem}
    .content.panel-home-content{padding:0}
    .home-header{padding:.95rem 1rem .7rem}
    .home-sheet{padding:1.1rem .95rem 1.35rem; gap:.9rem}
    .home-feature{
        min-height:96px;
        padding:.8rem .9rem;
        gap:.45rem;
        grid-template-columns:64px minmax(0,1fr) auto;
        border-radius:1.35rem;
    }
    .home-feature-icon{width:64px; height:64px}
    .home-feature-icon img{width:64px; height:64px}
    .home-feature-copy h2{font-size:.95rem}
}

body.panel-body:has(.profile-shell),
.panel-main:has(.profile-shell) { background:#eef2f7; }
.profile-shell {
    min-height:100vh;
    display:flex;
    flex-direction:column;
    background:#eef2f7;
}
.profile-top {
    display:flex;
    justify-content:flex-start;
    padding:1rem 1.15rem .35rem;
}
.profile-back {
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    color:#111827;
    font-size:1.15rem;
    text-decoration:none;
}
.profile-back:hover { color:#111827; }
.profile-sheet {
    flex:1;
    display:flex;
    flex-direction:column;
    margin-top:.35rem;
    padding:2.35rem 1.15rem 1.35rem;
    border-radius:1.85rem 1.85rem 0 0;
    background:#fff;
    box-shadow:0 -8px 28px rgba(15,23,42,.06);
}
.profile-hero {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    margin-top:-3.1rem;
    margin-bottom:1.15rem;
}
.profile-avatar {
    width:74px;
    height:74px;
    display:grid;
    place-items:center;
    margin-bottom:.85rem;
    border-radius:50%;
    background:#fff;
    color:#111827;
    box-shadow:0 8px 22px rgba(15,23,42,.08);
}
.profile-avatar-icon {
    width:34px;
    height:34px;
    display:block;
}
.profile-name {
    margin:0 0 .35rem;
    color:#111827;
    font-size:1.02rem;
    font-weight:700;
    line-height:1.4;
}
.profile-mobile {
    margin:0;
    color:#8b95a7;
    font-size:.84rem;
    line-height:1.4;
}
.profile-subscription {
    margin-bottom:1.15rem;
    padding:0 .15rem;
}
.profile-subscription-bar {
    height:5px;
    overflow:hidden;
    border-radius:999px;
    background:#c8d0e6;
    direction:rtl;
}
.profile-subscription-fill {
    display:block;
    height:100%;
    border-radius:inherit;
    background:#c9a227;
}
.profile-subscription-meta {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    margin-top:.55rem;
}
.profile-subscription-text {
    color:#6b7280;
    font-size:.76rem;
    font-weight:600;
}
.profile-renew-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:62px;
    height:28px;
    padding:0 .9rem;
    border-radius:.55rem;
    background:#c9a227;
    color:#fff;
    font-size:.78rem;
    font-weight:700;
    text-decoration:none;
}
.profile-renew-btn:hover { color:#fff; background:#b89220; }
.profile-menu {
    display:grid;
    gap:.65rem;
}
.profile-menu-item {
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 18px;
    align-items:center;
    gap:.65rem;
    min-height:54px;
    padding:.65rem .85rem;
    border-radius:.95rem;
    background:#f3f4f6;
    color:#111827;
    text-decoration:none;
    transition:background-color .16s ease;
}
.profile-menu-item:hover {
    color:#111827;
    background:#eceff3;
}
.profile-menu-icon {
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    color:#111827;
}
.profile-menu-icon svg {
    width:22px;
    height:22px;
    display:block;
}
.profile-menu-label {
    font-size:.84rem;
    font-weight:500;
    line-height:1.5;
}
.profile-menu-chevron {
    display:grid;
    place-items:center;
    color:#111827;
    font-size:.95rem;
    line-height:1;
}
.profile-logout-form {
    margin-top:auto;
    padding-top:1.35rem;
}
.profile-logout-btn {
    width:100%;
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    border:0;
    border-radius:999px;
    background:#ffe7e7;
    color:#d64545;
    font-size:.88rem;
    font-weight:600;
}
.profile-logout-btn:hover { background:#ffdcdc; }
.profile-logout-icon {
    width:20px;
    height:20px;
    display:grid;
    place-items:center;
}
.profile-logout-icon svg {
    width:18px;
    height:18px;
    display:block;
}
.profile-credit {
    margin:.95rem 0 0;
    text-align:center;
    color:#9aa3b2;
    font-size:.72rem;
    line-height:1.6;
}
.profile-credit-brand {
    color:#c9a227;
    font-weight:700;
    text-decoration:none;
}
.profile-credit-brand:hover {
    color:#b89220;
    text-decoration:underline;
}
@media(max-width:575.98px) {
    .profile-top { padding:.9rem 1rem .25rem; }
    .profile-sheet { padding:2.2rem 1rem 1.2rem; }
    .profile-menu-item { min-height:52px; }
}

body.panel-body:has(.admins-shell),
.panel-main:has(.admins-shell) { background:#fff; }
.admins-shell {
    min-height:100vh;
    display:flex;
    flex-direction:column;
    background:#fff;
    padding:0 1.05rem calc(6.2rem + env(safe-area-inset-bottom, 0px));
}
.admins-top {
    display:flex;
    align-items:center;
    gap:.45rem;
    padding:1.05rem 0 .85rem;
}
.admins-top-form { justify-content:flex-start; }
.admins-back {
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    color:#111827;
    font-size:1.2rem;
    text-decoration:none;
    flex-shrink:0;
}
.admins-back:hover { color:#111827; }
.admins-title {
    margin:0;
    color:#111827;
    font-size:1.08rem;
    font-weight:800;
    line-height:1.4;
}
.admins-list {
    display:grid;
    gap:.7rem;
}
.admins-empty {
    margin:1.5rem 0 0;
    color:#6b7280;
    font-size:.88rem;
    text-align:center;
}
.admin-card {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto 36px 32px;
    align-items:center;
    gap:.35rem;
    min-height:58px;
    padding:.7rem .85rem;
    border-radius:.95rem;
    background:#f3f4f6;
}
.admin-card-name {
    color:#111827;
    font-size:.92rem;
    font-weight:700;
    line-height:1.4;
}
.admin-status {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:52px;
    height:24px;
    padding:0 .7rem;
    border-radius:999px;
    font-size:.72rem;
    font-weight:700;
}
.admin-status.is-active {
    background:#dcfce7;
    color:#15803d;
}
.admin-status.is-inactive {
    background:#fee2e2;
    color:#dc2626;
}
.admin-card-action {
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    color:#111827;
    background:transparent;
    border:0;
    padding:0;
    text-decoration:none;
}
.admin-card-action svg {
    width:18px;
    height:18px;
    display:block;
}
.admin-card-delete { color:#ef4444; }
.admin-delete-form { margin:0; }
.admins-fab {
    position:fixed;
    left:50%;
    bottom:calc(1.15rem + env(safe-area-inset-bottom, 0px));
    z-index:20;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    width:calc(100% - 2.1rem);
    max-width:390px;
    min-height:54px;
    transform:translateX(-50%);
    border-radius:999px;
    background:#3b82f6;
    color:#fff;
    font-size:.95rem;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 8px 22px rgba(59,130,246,.28);
}
.admins-fab:hover { color:#fff; background:#2563eb; }
.admins-fab i { font-size:1.15rem; line-height:1; }
.admins-limit-note {
    position:fixed;
    left:50%;
    bottom:calc(1.15rem + env(safe-area-inset-bottom, 0px));
    z-index:20;
    width:calc(100% - 2.1rem);
    max-width:390px;
    margin:0;
    transform:translateX(-50%);
    color:#9ca3af;
    font-size:.82rem;
    font-weight:600;
    text-align:center;
    line-height:1.6;
}
.admin-form {
    display:flex;
    flex-direction:column;
    gap:.85rem;
    padding-bottom:.5rem;
}
.admin-field { display:grid; gap:.4rem; }
.admin-field-label {
    color:#4b5563;
    font-size:.82rem;
    font-weight:600;
}
.admin-field-input {
    width:100%;
    height:48px;
    padding:0 .95rem;
    border:1px solid #d1d5db;
    border-radius:.85rem;
    background:#fff;
    color:#111827;
    font-size:.92rem;
    outline:none;
}
.admin-field-input:focus { border-color:#93c5fd; box-shadow:0 0 0 3px rgba(59,130,246,.12); }
.admin-field-input.is-invalid { border-color:#f87171; }
.admin-field-error { color:#dc2626; font-size:.75rem; }
.admin-form-divider {
    height:1px;
    margin:.35rem 0 .15rem;
    background:#e5e7eb;
}
.admin-permissions {
    display:grid;
    gap:.85rem;
}
.admin-permissions-title {
    margin:0;
    color:#6b7280;
    font-size:.88rem;
    font-weight:700;
}
.admin-permissions-group {
    margin:0;
    color:#334155;
    font-size:.9rem;
    font-weight:700;
}
.admin-permissions-subgroup {
    display:grid;
    gap:.65rem;
    margin-top:.15rem;
    padding:.85rem .9rem 1rem;
    border:1px solid #e5e7eb;
    border-radius:18px;
    background:#fafafa;
}
.admin-permissions-subgroup-list {
    display:grid;
    gap:.65rem;
}
.admin-toggle-nested {
    background:#fff;
    border:1px solid #eef2f7;
}
.admin-toggle {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:52px;
    padding:.7rem 1rem;
    border-radius:999px;
    background:#f3f4f6;
    cursor:pointer;
}
.admin-toggle input {
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.admin-toggle-label {
    color:#111827;
    font-size:.9rem;
    font-weight:600;
}
.admin-toggle-ui {
    width:46px;
    height:26px;
    position:relative;
    flex-shrink:0;
    border-radius:999px;
    background:#d1d5db;
    transition:background-color .16s ease;
}
.admin-toggle-ui::after {
    content:"";
    position:absolute;
    top:3px;
    right:3px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 1px 4px rgba(15,23,42,.18);
    transition:transform .16s ease;
}
.admin-toggle input:checked + .admin-toggle-ui { background:#3b82f6; }
.admin-toggle input:checked + .admin-toggle-ui::after { transform:translateX(-20px); }
.admin-save-btn {
    position:fixed;
    left:50%;
    bottom:calc(1.15rem + env(safe-area-inset-bottom, 0px));
    z-index:20;
    width:calc(100% - 2.1rem);
    max-width:390px;
    min-height:54px;
    transform:translateX(-50%);
    border:0;
    border-radius:999px;
    background:#3b82f6;
    color:#fff;
    font-size:1rem;
    font-weight:700;
    box-shadow:0 8px 22px rgba(59,130,246,.28);
}
.admin-save-btn:hover { background:#2563eb; }
.admins-form-shell { padding-bottom:calc(6.2rem + env(safe-area-inset-bottom, 0px)); }
@media(max-width:575.98px) {
    .admins-shell { padding-left:1rem; padding-right:1rem; }
    .admin-card { min-height:56px; }
}

/* Buy/Sell Surplus */
.surplus-page {
    display:flex;
    flex-direction:column;
    gap:.75rem;
    padding-bottom:calc(4.75rem + env(safe-area-inset-bottom, 0px));
}
.surplus-loading,
.surplus-error {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    min-height:6rem;
    color:#64748b;
    font-size:.88rem;
}
.surplus-error {
    color:#b91c1c;
    background:#fef2f2;
    border-radius:12px;
    padding:.85rem;
}
.surplus-body {
    display:flex;
    flex-direction:column;
    gap:.7rem;
}
.surplus-summary {
    display:flex;
    flex-direction:column;
    gap:.55rem;
}
.surplus-card {
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:.55rem .7rem .45rem;
}
.surplus-card-total {
    background:#fff7ed;
    border-color:#fed7aa;
}
.surplus-card-title {
    margin:0 0 .35rem;
    color:#0f172a;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:-.01em;
}
.surplus-card-total .surplus-card-title {
    color:#9a3412;
}
.surplus-card-rows {
    display:flex;
    flex-direction:column;
}
.surplus-row {
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:center;
    gap:.5rem;
    min-height:1.7rem;
    border-top:1px solid #f1f5f9;
}
.surplus-row:first-child {
    border-top:0;
}
.surplus-row-label {
    color:#475569;
    font-size:.82rem;
    font-weight:500;
}
.surplus-row-result .surplus-row-label {
    color:#0f172a;
    font-weight:700;
}
.surplus-value {
    min-width:5.4rem;
    text-align:left;
    color:#0f172a;
    font-size:.9rem;
    font-weight:700;
    font-variant-numeric:tabular-nums;
    direction:ltr;
    letter-spacing:.01em;
}
.surplus-value[dir="ltr"] {
    display:inline-flex;
    align-items:baseline;
    justify-content:flex-end;
    gap:.28rem;
}
.surplus-value-unit {
    color:#64748b;
    font-size:.7rem;
    font-weight:600;
}
.surplus-value-result.is-positive { color:#16a34a; }
.surplus-value-result.is-negative { color:#dc2626; }
.surplus-value-result.is-zero { color:#0f172a; }
.surplus-coins {
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    overflow:hidden;
}
.surplus-coins-head {
    padding:.55rem .75rem;
    border-bottom:1px solid #eef2f7;
}
.surplus-coins-head h2 {
    margin:0;
    color:#0f172a;
    font-size:.78rem;
    font-weight:700;
}
.surplus-coins-list {
    max-height:14rem;
    overflow:auto;
}
.surplus-coin-row {
    display:grid;
    grid-template-columns:4.2rem 4.2rem minmax(0, 1fr);
    align-items:center;
    gap:.35rem;
    padding:.48rem .75rem;
    border-top:1px solid #f1f5f9;
    font-size:.84rem;
    color:#0f172a;
}
.surplus-coin-row.is-positive,
.surplus-coin-row.is-positive .surplus-coin-num,
.surplus-coin-row.is-positive .surplus-coin-name {
    color:#16a34a;
}
.surplus-coin-row.is-negative,
.surplus-coin-row.is-negative .surplus-coin-num,
.surplus-coin-row.is-negative .surplus-coin-name {
    color:#dc2626;
}
.surplus-coin-head,
.surplus-coin-head .surplus-coin-meta {
    color:#94a3b8;
}
.surplus-coin-head {
    background:#f8fafc;
    border-top:0;
    position:sticky;
    top:0;
}
.surplus-coin-row:first-child {
    border-top:0;
}
.surplus-page.is-refreshing {
    opacity:.92;
}
.surplus-coin-meta {
    color:#94a3b8;
    font-size:.72rem;
    margin-bottom:.15rem;
}
.surplus-coin-name {
    color:#0f172a;
    font-weight:600;
    text-align:right;
}
.surplus-coin-num {
    direction:ltr;
    text-align:center;
    font-weight:700;
    font-variant-numeric:tabular-nums;
    color:#0f172a;
}
.surplus-table-empty {
    padding:.9rem;
    text-align:center;
    color:#94a3b8;
    font-size:.84rem;
}
.surplus-footer {
    position:fixed;
    left:50%;
    bottom:calc(.75rem + env(safe-area-inset-bottom, 0px));
    transform:translateX(-50%);
    z-index:25;
    width:calc(100% - 2rem);
    max-width:420px;
    display:flex;
    justify-content:center;
}
.surplus-date-btn {
    min-width:7.5rem;
    min-height:40px;
    border:1px solid #dbe4ee;
    border-radius:999px;
    background:#fff;
    color:#334155;
    font-size:.86rem;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.35rem;
    box-shadow:0 6px 18px rgba(15,23,42,.08);
}
.surplus-date-btn:hover {
    background:#f8fafc;
    color:#0f172a;
}
.surplus-date-tabs {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.55rem;
    margin-bottom:.85rem;
}
.surplus-date-tab {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:.2rem;
    min-height:58px;
    padding:.55rem .7rem;
    border:1px solid #e4e9f5;
    border-radius:.95rem;
    background:#fff;
    text-align:right;
}
.surplus-date-tab.is-active {
    border-color:#5c72bd;
    background:#eef2ff;
    box-shadow:inset 0 0 0 1px rgba(92,114,189,.25);
}
.surplus-date-tab-label {
    color:#8a93a8;
    font-size:.72rem;
    font-weight:600;
}
.surplus-date-tab-value {
    color:#2f3a5a;
    font-size:.92rem;
    font-weight:700;
    direction:ltr;
}
.surplus-date-actions {
    display:flex;
    flex-direction:column;
    gap:.5rem;
    margin-top:.15rem;
}
.surplus-date-clear {
    min-height:42px;
    border:1px solid #e2e8f0;
    border-radius:12px;
    background:#fff;
    color:#475569;
    font-weight:600;
}

/* Claims list */
.claims-page {
    display:flex;
    flex-direction:column;
    gap:.75rem;
    height:calc(100dvh - 7rem);
    min-height:0;
    font-size:.8rem;
}
.claims-loading,
.claims-error,
.claims-empty {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    min-height:6rem;
    color:#64748b;
    font-size:.78rem;
}
.claims-error { color:#b91c1c; background:#fef2f2; border-radius:12px; padding:.85rem; }
.claims-body { display:flex; flex-direction:column; gap:.65rem; min-height:0; flex:1; height:100%; }
.claims-toolbar {
    display:flex;
    flex-direction:column;
    gap:.45rem;
    flex-shrink:0;
}
.claims-toolbar .aa-list-reload {
    width:38px;
    min-height:38px;
}
.claims-toolbar .aa-customers-search {
    flex:1;
    min-width:0;
    min-height:38px;
    padding:.35rem .75rem;
}
.claims-toolbar .aa-customers-search input {
    font-size:.78rem;
}
.claims-date-options {
    grid-template-columns:repeat(3, minmax(0, 1fr));
}
.claims-date-options .aa-docs-date-option {
    min-height:30px;
    font-size:.68rem;
    padding:.3rem .25rem;
}
[data-claims-calendar-sheet] .jdp-btn-empty,
[data-claims-calendar-sheet] .jdp-btn-close,
body.aa-sheet-open:has([data-claims-calendar-sheet]:not([hidden])) .jdp-btn-empty,
body.aa-sheet-open:has([data-claims-calendar-sheet]:not([hidden])) .jdp-btn-close {
    display:none !important;
}
.claims-table-wrap {
    flex:1;
    min-height:0;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fff;
}
.claims-table {
    width:max-content;
    min-width:100%;
    border-collapse:separate;
    border-spacing:0;
    font-size:.78rem;
}
.claims-table th,
.claims-table td {
    padding:.42rem .55rem;
    border-bottom:1px solid #f1f5f9;
    vertical-align:middle;
}
.claims-table th {
    position:sticky;
    top:0;
    z-index:1;
    background:#f8fafc;
    color:#475569;
    font-weight:700;
    white-space:nowrap;
}
.claims-table th.is-sortable button {
    display:inline-flex;
    align-items:center;
    gap:.25rem;
    border:0;
    background:transparent;
    color:inherit;
    font:inherit;
    font-weight:700;
    padding:0;
}
.claims-table th.is-sortable.is-active { color:#1d4ed8; }
.claims-table th.claims-col-debit.is-active { color:#dc2626; }
.claims-table th.claims-col-credit.is-active { color:#16a34a; }
.claims-sort-sheet .aa-calendar-sheet-panel {
    max-height:none;
}
.claims-sort-options {
    display:grid;
    gap:.55rem;
    padding:.15rem 0 .35rem;
}
.claims-sort-option {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    width:100%;
    padding:.95rem 1rem;
    border:1px solid #e2e8f0;
    border-radius:14px;
    background:#fff;
    color:#0f172a;
    text-align:right;
}
.claims-sort-option-main {
    display:grid;
    gap:.2rem;
    min-width:0;
}
.claims-sort-option-main strong {
    font-size:.92rem;
    font-weight:800;
}
.claims-sort-option-main small {
    color:#64748b;
    font-size:.72rem;
    font-weight:600;
}
.claims-sort-option-check {
    flex:0 0 auto;
    opacity:0;
    color:#16a34a;
    font-size:1.1rem;
}
.claims-sort-option.is-active {
    border-color:#86efac;
    background:#f0fdf4;
}
.claims-sort-option.is-active .claims-sort-option-check {
    opacity:1;
}
.claims-sort-option:hover,
.claims-sort-option:focus-visible {
    border-color:#cbd5e1;
    outline:none;
}
.claims-table tbody tr:nth-child(even) { background:#fafbfc; }
.claims-table tbody tr[data-claims-row] {
    cursor:pointer;
}
.claims-table tbody tr[data-claims-row]:hover,
.claims-table tbody tr[data-claims-row]:hover td.claims-col-customer {
    background:#eef2ff;
}
.claims-col-customer {
    text-align:right;
    min-width:7.5rem;
    white-space:nowrap;
}
.claims-table th.claims-col-customer,
.claims-table td.claims-col-customer {
    position:sticky;
    right:0;
    z-index:2;
    background:#fff;
    box-shadow:-6px 0 10px -8px rgba(15,23,42,.28);
}
.claims-table th.claims-col-customer {
    top:0;
    z-index:4;
    background:#f8fafc;
}
.claims-table tbody tr:nth-child(even) td.claims-col-customer {
    background:#fafbfc;
}
.claims-col-amount {
    min-width:8.5rem;
}
.claims-amount-stack {
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:.3rem;
}
.claims-amount-line {
    display:flex;
    align-items:baseline;
    justify-content:flex-end;
    gap:.3rem;
    font-family:'IRANSansXFaNum', Tahoma, sans-serif;
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
}
.claims-amount-line[hidden] {
    display:none;
}
.claims-amount-value {
    font-size:.86rem;
    font-weight:700;
}
.claims-amount-unit {
    flex:0 0 auto;
    font-size:.68rem;
    font-weight:600;
    opacity:.75;
    color:#64748b;
}
.claims-amount-money {
    order:1;
}
.claims-amount-stack.has-both .claims-amount-money {
    padding-bottom:.26rem;
    border-bottom:1px solid #dbe3f0;
}
.claims-amount-weight {
    order:2;
}
.claims-col-debit .claims-amount-money.is-debit .claims-amount-value,
.claims-col-debit .claims-amount-weight.is-debit .claims-amount-value { color:#dc2626; }
.claims-col-credit .claims-amount-money.is-credit .claims-amount-value,
.claims-col-credit .claims-amount-weight.is-credit .claims-amount-value { color:#16a34a; }
.claims-col-zero .claims-amount-line { color:#94a3b8; }
.claims-table th.claims-col-debit,
.claims-table th.claims-col-credit { color:#475569; }
.claims-table th.claims-col-debit.is-active { color:#dc2626; }
.claims-table th.claims-col-credit.is-active { color:#16a34a; }
.claims-customer-name {
    font-weight:600;
    font-size:.78rem;
    color:#0f172a;
    line-height:1.4;
}
.claims-customer-meta {
    margin-top:.2rem;
    color:#64748b;
    font-size:.72rem;
    font-weight:400;
    line-height:1.45;
}
.claims-customer-code {
    color:#94a3b8;
    font-family:'IRANSansXFaNum', Tahoma, sans-serif;
    font-size:.62rem;
    font-weight:400;
}
.claims-detail-grid {
    display:grid;
    gap:.55rem;
}
.claims-detail-item {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:.75rem;
    padding:.75rem .85rem;
    border:1px solid #e6ebf7;
    border-radius:.8rem;
    background:#fff;
}
.claims-detail-item span {
    color:#64748b;
    font-size:.7rem;
    white-space:nowrap;
}
.claims-detail-item strong {
    color:#0f172a;
    font-size:.78rem;
    font-weight:700;
    text-align:left;
    word-break:break-word;
}
.claims-detail-amount {
    font-family:'IRANSansXFaNum', Tahoma, sans-serif;
    font-variant-numeric:tabular-nums;
}
.claims-detail-amount.is-negative { color:#dc2626; }
.claims-detail-amount.is-positive { color:#16a34a; }

/* Bank balances */
.banks-page {
    display:flex;
    flex-direction:column;
    gap:.75rem;
    min-height:calc(100dvh - 7rem);
    padding-bottom:calc(5.5rem + env(safe-area-inset-bottom, 0px));
}
body.aa-has-bottom-nav .banks-page {
    padding-bottom:calc(7.2rem + env(safe-area-inset-bottom, 0px));
}
.banks-loading,
.banks-error,
.banks-empty {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    min-height:8rem;
    color:#64748b;
    font-size:.88rem;
}
.banks-error { color:#b91c1c; background:#fef2f2; border-radius:12px; padding:.85rem; min-height:auto; }
.banks-body { display:flex; flex-direction:column; gap:.7rem; min-height:0; flex:1; }
.banks-toolbar { display:flex; justify-content:flex-start; }
.banks-date-btn {
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    min-height:40px;
    padding:.45rem .9rem;
    border:1px solid #d7dff2;
    border-radius:999px;
    background:#fff;
    color:#3e4c82;
    font-size:.82rem;
    font-weight:600;
    box-shadow:0 4px 12px rgba(62,76,130,.08);
}
.banks-list {
    display:grid;
    gap:.65rem;
}
.banks-card {
    padding:.85rem .9rem;
    border:1px solid #e4e9f5;
    border-radius:1rem;
    background:#fff;
    box-shadow:0 4px 14px rgba(62,76,130,.06);
}
.banks-card-title {
    margin:0 0 .7rem;
    color:#1f2937;
    font-size:.9rem;
    font-weight:700;
    line-height:1.4;
}
.banks-card-metrics {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:.45rem;
}
.banks-metric {
    display:flex;
    flex-direction:column;
    gap:.25rem;
    padding:.55rem .45rem;
    border-radius:.75rem;
    text-align:center;
}
.banks-metric span {
    color:#64748b;
    font-size:.68rem;
    font-weight:600;
}
.banks-metric strong {
    font-size:.8rem;
    font-weight:800;
    font-variant-numeric:tabular-nums;
}
.banks-metric.is-deposit { background:#f0fdf4; }
.banks-metric.is-withdraw { background:#fef2f2; }
.banks-metric.is-balance { background:#f3f4f6; }
.banks-metric strong.is-negative { color:#dc2626; }
.banks-metric strong.is-positive { color:#16a34a; }
.banks-metric strong.is-neutral { color:#0f172a; }
.banks-totals {
    position:fixed;
    left:50%;
    bottom:calc(.85rem + env(safe-area-inset-bottom, 0px));
    z-index:40;
    transform:translateX(-50%);
    width:min(calc(100% - 1.5rem), 430px);
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:.4rem;
}
body.aa-has-bottom-nav .banks-totals {
    bottom:calc(5.15rem + env(safe-area-inset-bottom, 0px));
}
.banks-total-item {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.2rem;
    padding:.55rem .35rem;
    border-radius:.85rem;
    box-shadow:0 8px 20px rgba(15,23,42,.08);
}
.banks-total-item span {
    font-size:.62rem;
    font-weight:700;
}
.banks-total-item strong {
    font-size:.78rem;
    font-weight:800;
    font-variant-numeric:tabular-nums;
}
.banks-total-item.is-deposit { background:#f0fdf4; color:#166534; }
.banks-total-item.is-withdraw { background:#fef2f2; color:#991b1b; }
.banks-total-item.is-balance { background:#f3f4f6; color:#374151; }
@media(max-width:575.98px) {
    .banks-card-metrics { gap:.35rem; }
    .banks-metric { padding:.45rem .3rem; }
    .banks-metric strong { font-size:.72rem; }
    .banks-total-item strong { font-size:.7rem; }
}

/* Melted gold inventory */
.melted-page {
    display:flex;
    flex-direction:column;
    gap:.65rem;
    min-height:calc(100dvh - 7rem);
    padding-bottom:calc(5.2rem + env(safe-area-inset-bottom, 0px));
}
body.aa-has-bottom-nav .melted-page {
    padding-bottom:calc(7rem + env(safe-area-inset-bottom, 0px));
}
.melted-loading,
.melted-error,
.melted-empty {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    min-height:5rem;
    color:#64748b;
    font-size:.88rem;
}
.melted-error { color:#b91c1c; background:#fef2f2; border-radius:12px; padding:.85rem; }
.melted-body { display:flex; flex-direction:column; gap:.55rem; min-height:0; flex:1; }
.melted-toolbar {
    display:flex;
    align-items:center;
    gap:.65rem;
    flex-shrink:0;
    position:sticky;
    top:68px;
    z-index:20;
    padding-bottom:.15rem;
    background:linear-gradient(180deg, #f3f5fb 70%, rgba(243,245,251,0));
}
.melted-search {
    flex:1;
    display:flex;
    align-items:center;
    gap:.45rem;
    min-height:40px;
    padding:0 .75rem;
    border:1px solid #e2e8f0;
    border-radius:12px;
    background:#fff;
    color:#94a3b8;
}
.melted-search input {
    flex:1;
    border:0;
    outline:0;
    background:transparent;
    color:#0f172a;
    font-size:.86rem;
}
.melted-list {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.45rem;
}
.melted-card {
    padding:.45rem .55rem .4rem;
    border:1px solid #e4e9f5;
    border-radius:.75rem;
    background:#fff;
    box-shadow:0 2px 8px rgba(62,76,130,.05);
}
.melted-card-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.35rem;
    margin-bottom:.3rem;
    padding-bottom:.3rem;
    border-bottom:1px solid #eef2f7;
}
.melted-card-name {
    min-width:0;
    color:#1f2937;
    font-size:.78rem;
    font-weight:700;
    line-height:1.3;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.melted-card-status {
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    min-height:18px;
    padding:.05rem .35rem;
    border-radius:999px;
    background:#eef2ff;
    color:#4b5f99;
    font-size:.62rem;
    font-weight:600;
    white-space:nowrap;
}
.melted-card-rows {
    display:flex;
    flex-direction:column;
    gap:.12rem;
}
.melted-card-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.4rem;
    min-height:1.15rem;
}
.melted-card-row span {
    color:#8a93a8;
    font-size:.66rem;
    font-weight:600;
    white-space:nowrap;
}
.melted-card-row strong {
    color:#0f172a;
    font-size:.74rem;
    font-weight:800;
    font-variant-numeric:tabular-nums;
    line-height:1.2;
    direction:rtl;
}
.melted-card-row strong[dir="ltr"] {
    direction:ltr;
}
.melted-totals {
    position:fixed;
    left:50%;
    bottom:calc(.85rem + env(safe-area-inset-bottom, 0px));
    z-index:40;
    transform:translateX(-50%);
    width:min(calc(100% - 1.5rem), 430px);
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.45rem;
}
body.aa-has-bottom-nav .melted-totals {
    bottom:calc(5.15rem + env(safe-area-inset-bottom, 0px));
}
.melted-total-item {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.2rem;
    padding:.55rem .45rem;
    border-radius:.85rem;
    box-shadow:0 8px 20px rgba(15,23,42,.08);
}
.melted-total-item span {
    font-size:.62rem;
    font-weight:700;
}
.melted-total-item strong {
    font-size:.78rem;
    font-weight:800;
    font-variant-numeric:tabular-nums;
    direction:rtl;
    text-align:center;
}
.melted-total-item.is-gold { background:#fff7ed; color:#9a3412; }
.melted-total-item.is-750 { background:#eef2ff; color:#3730a3; }
@media(max-width:360px) {
    .melted-list { grid-template-columns:1fr; }
}

/* PWA install modal */
body.pwa-install-open { overflow:hidden; }
.pwa-install-modal[hidden] { display:none !important; }
.pwa-install-modal {
    position:fixed;
    inset:0;
    z-index:1200;
    display:grid;
    place-items:center;
    padding:1rem;
}
.pwa-install-backdrop {
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.55);
}
.pwa-install-dialog {
    position:relative;
    z-index:1;
    width:min(100%, 22rem);
    padding:1.35rem 1.2rem 1.15rem;
    border-radius:1.15rem;
    background:#fff;
    box-shadow:0 18px 50px rgba(15,23,42,.28);
    text-align:center;
}
.pwa-install-icon {
    width:4.5rem;
    height:4.5rem;
    border-radius:1rem;
    object-fit:cover;
    margin-bottom:.85rem;
}
.pwa-install-title {
    margin:0 0 .45rem;
    color:#0f172a;
    font-size:1.05rem;
    font-weight:800;
}
.pwa-install-text,
.pwa-install-ios {
    margin:0;
    color:#64748b;
    font-size:.88rem;
    line-height:1.7;
}
.pwa-install-ios {
    margin-top:.75rem;
    padding:.7rem .8rem;
    border-radius:.8rem;
    background:#f8fafc;
    text-align:right;
}
.pwa-install-actions {
    display:grid;
    gap:.55rem;
    margin-top:1.1rem;
}
.pwa-install-btn {
    min-height:2.75rem;
    border:0;
    border-radius:.85rem;
    background:#3b82f6;
    color:#fff;
    font-size:.95rem;
    font-weight:700;
}
.pwa-install-link {
    border:0;
    background:transparent;
    color:#64748b;
    font-size:.86rem;
    font-weight:600;
    min-height:2.2rem;
}

/* Accounting Assistant — skeleton loading */
.aa-skel {
    display:block;
    position:relative;
    overflow:hidden;
    border-radius:.45rem;
    background:#e8edf6;
}
.aa-skel::after {
    content:"";
    position:absolute;
    inset:0;
    transform:translateX(100%);
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
    animation:aa-skel-shine 1.25s ease-in-out infinite;
}
@keyframes aa-skel-shine {
    100% { transform:translateX(-100%); }
}
.aa-skel-line {
    height:.78rem;
    width:100%;
}
.aa-skel-line-sm { height:.68rem; }
.aa-skel-line-xs { height:.55rem; }
.aa-skel-avatar {
    width:34px;
    height:34px;
    flex:0 0 auto;
    border-radius:.55rem;
}
.aa-skel-btn {
    min-height:38px;
    border-radius:.65rem;
}
.aa-skel-chip {
    width:3.6rem;
    height:20px;
    border-radius:999px;
}
.aa-skel-icon-btn {
    width:26px;
    height:26px;
    flex:0 0 auto;
    border-radius:.5rem;
}
.aa-skel-pill {
    display:inline-block;
    border-radius:999px;
}
.aa-skel-stack {
    display:grid;
    gap:.65rem;
    width:100%;
}
.aa-skel-card {
    pointer-events:none;
    user-select:none;
}
.aa-docs-loading,
.aa-docs-loading-more,
.aa-customers-loading,
.aa-customers-loading-more {
    display:block;
    padding:0;
    color:inherit;
    text-align:initial;
}
.aa-docs-loading-more,
.aa-customers-loading-more {
    margin-top:.55rem;
}
.aa-docs-loading[hidden],
.aa-docs-loading-more[hidden],
.aa-customers-loading[hidden],
.aa-customers-loading-more[hidden],
.claims-loading[hidden],
.banks-loading[hidden],
.surplus-loading[hidden],
.melted-loading[hidden] {
    display:none !important;
}
.claims-loading,
.banks-loading,
.surplus-loading,
.melted-loading {
    display:block;
    min-height:0;
    padding:0;
    align-items:stretch;
    justify-content:flex-start;
    color:inherit;
}
.aa-skel-claims {
    display:flex;
    flex-direction:column;
    gap:.65rem;
    height:calc(100dvh - 7rem);
    min-height:0;
}
.aa-skel-claims .claims-table-wrap {
    flex:1;
    min-height:0;
}
.aa-skel-claims .claims-table td,
.aa-skel-claims .claims-table th {
    vertical-align:middle;
}
.aa-skel-melted {
    display:flex;
    flex-direction:column;
    gap:.55rem;
}
.aa-skel-melted .melted-list {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.45rem;
}
.aa-skel-surplus {
    display:flex;
    flex-direction:column;
    gap:.7rem;
}
.aa-create-customer-skel {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    padding:.7rem .85rem;
    border-bottom:1px solid #edf1f8;
    pointer-events:none;
}
.aa-create-customer-skel:last-child { border-bottom:0; }
.aa-create-customer-skel-meta {
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:.35rem;
}
