/* D:\kargah\static\css\app-ui.css — استایل صفحات جدید (موبایل‌اول، ریسپانسیو) */
@font-face { font-family: 'Vazirmatn'; src: url('../fonts/vazir/Vazirmatn-Regular.ttf') format('truetype'); font-weight: normal; }
@font-face { font-family: 'Vazirmatn'; src: url('../fonts/vazir/Vazirmatn-Bold.ttf') format('truetype'); font-weight: bold; }

:root {
    --bg: #f3f6f1; --card: #ffffff; --text: #1f2933; --muted: #6b7785; --border: #e3e8e1;
    --primary: #2E7D32; --primary-dark: #1B5E20; --accent: #F57C00;
    --red: #c62828; --blue: #1565c0; --purple: #6a1b9a; --gray: #546e7a;
    --shadow: 0 6px 20px rgba(27, 94, 32, .08); --radius: 18px;
}
body.dark-theme {
    --bg: #12161c; --card: #1c222b; --text: #eef1f4; --muted: #9aa5b1; --border: #2b333e;
    --shadow: 0 6px 20px rgba(0, 0, 0, .35);
}
* { box-sizing: border-box; }
button, input, select, textarea { font-family: inherit; }
body {
    margin: 0; font-family: 'Vazirmatn', Tahoma, sans-serif; background: var(--bg); color: var(--text);
    line-height: 1.7; padding-bottom: calc(78px + env(safe-area-inset-bottom));
    transition: background-color .25s, color .25s;
}
body.auth-body { padding-bottom: 0; }
.muted { color: var(--muted); font-size: .85rem; }

/* ---- هدر ---- */
.app-header {
    position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 10px;
    padding: calc(10px + env(safe-area-inset-top)) 14px 10px; color: #fff;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    box-shadow: 0 2px 12px rgba(0, 0, 0, .18);
}
.app-title { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.app-title strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.app-title select {
    width: fit-content; border: 0; border-radius: 10px; padding: 2px 8px; font-size: .85rem;
    background: rgba(255, 255, 255, .18); color: #fff;
}
.app-title select option { color: #222; }
.header-actions { display: flex; gap: 8px; }
.icon-btn {
    width: 42px; height: 42px; border-radius: 12px; border: 0; cursor: pointer; text-decoration: none;
    display: inline-flex; align-items: center; justify-content: center; font-size: 1rem;
    background: rgba(255, 255, 255, .16); color: #fff;
}

/* ---- ناوبری: پایین در موبایل، تب‌های افقی در دسکتاپ ---- */
.app-nav {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; display: flex; justify-content: space-around;
    background: var(--card); border-top: 1px solid var(--border);
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); box-shadow: 0 -4px 16px rgba(0, 0, 0, .08);
}
.nav-item {
    flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 4px 2px;
    font-size: .68rem; color: var(--muted); text-decoration: none; border-radius: 12px;
}
.nav-item i { font-size: 1.15rem; }
.nav-item.active { color: var(--primary); font-weight: bold; }
@media (min-width: 768px) {
    body { padding-bottom: 24px; }
    .app-nav {
        position: static; max-width: 1100px; margin: 14px auto 0; gap: 4px; padding: 6px;
        border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow);
    }
    .nav-item { flex-direction: row; justify-content: center; gap: 8px; font-size: .9rem; padding: 10px; }
    .nav-item.active { background: var(--bg); }
}

/* ---- محتوا ---- */
.app-main { max-width: 1100px; margin: 0 auto; padding: 16px 14px; }
.hero { display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; margin-bottom: 14px; }
.hero h1 { margin: 0; font-size: 1.5rem; }
.hero-date {
    background: var(--card); border: 1px solid var(--border); border-radius: 999px;
    padding: 4px 12px; font-size: .85rem; white-space: nowrap;
}
.section-title { font-size: 1.05rem; margin: 22px 4px 10px; }

.summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.stat {
    background: var(--card); border-radius: var(--radius); padding: 14px 16px; box-shadow: var(--shadow);
    border-inline-start: 5px solid var(--primary); display: flex; flex-direction: column;
}
.stat.expense { border-color: var(--accent); }
.stat.loss { border-color: var(--red); }
.stat-label { color: var(--muted); font-size: .85rem; }
.stat b { font-size: 1.45rem; line-height: 1.3; }
.stat small { color: var(--muted); }
.stat.profit b { color: var(--primary); }
.stat.loss b { color: var(--red); }
@media (max-width: 560px) { .stat.net { grid-column: 1 / -1; } }

.tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.tile {
    --tone: var(--primary); display: flex; flex-direction: column; gap: 6px; min-height: 124px; padding: 16px;
    background: var(--card); color: var(--text); text-decoration: none; border: 1px solid var(--border);
    border-radius: var(--radius); box-shadow: var(--shadow); transition: transform .15s;
}
.tile:active { transform: scale(.97); }
@media (hover: hover) { .tile:hover { transform: translateY(-3px); } }
.tile-icon {
    width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 1.25rem; background: var(--tone);
}
.tile small { color: var(--muted); font-size: .78rem; line-height: 1.5; }
.tile em {
    font-style: normal; font-size: .7rem; align-self: flex-start; padding: 1px 10px; border-radius: 999px;
    background: var(--border); color: var(--muted);
}
.tile.disabled { opacity: .55; pointer-events: none; }
.tone-orange { --tone: var(--accent); } .tone-red { --tone: var(--red); } .tone-blue { --tone: var(--blue); }
.tone-purple { --tone: var(--purple); } .tone-gray { --tone: var(--gray); }

.two-col { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 22px; }
@media (min-width: 900px) { .two-col { grid-template-columns: 1fr 1fr; } }
.card {
    background: var(--card); border: 1px solid var(--border); border-radius: var(--radius);
    padding: 16px; box-shadow: var(--shadow);
}
.card h2 { margin: 0 0 12px; font-size: 1rem; }
.bar { margin-bottom: 12px; }
.bar-row { display: flex; justify-content: space-between; gap: 8px; font-size: .88rem; margin-bottom: 4px; }
.bar-track { height: 8px; background: var(--border); border-radius: 999px; overflow: hidden; }
.bar-fill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--accent), #ffb74d); }
.recent { list-style: none; margin: 0; padding: 0; }
.recent li { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.recent li:last-child { border-bottom: 0; }
.r-icon {
    flex: none; width: 38px; height: 38px; border-radius: 12px; display: flex; align-items: center;
    justify-content: center; background: var(--bg); color: var(--primary);
}
.r-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.r-body small { color: var(--muted); }
.r-amount { font-weight: bold; white-space: nowrap; }
.r-amount.plus { color: var(--primary); } .r-amount.minus { color: var(--red); }
.empty { color: var(--muted); text-align: center; padding: 18px 0; list-style: none; }

/* ---- ورود / راه‌اندازی ---- */
.auth-wrap {
    min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; justify-content: center; padding: 20px;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
}
.auth-card {
    width: 100%; max-width: 400px; background: var(--card); border-radius: 24px;
    padding: 28px 24px; box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
}
.auth-card h1 { margin: 0 0 4px; font-size: 1.4rem; text-align: center; }
.auth-card p { margin: 0 0 18px; text-align: center; color: var(--muted); font-size: .9rem; }
.field { display: block; margin-bottom: 14px; }
.field span { display: block; margin-bottom: 4px; font-size: .85rem; color: var(--muted); }
.field input {
    width: 100%; padding: 12px 14px; font-size: 1rem; border: 1px solid var(--border);
    border-radius: 12px; background: var(--bg); color: var(--text);
}
.field input:focus { outline: 2px solid var(--primary); border-color: transparent; }
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 13px;
    border: 0; border-radius: 14px; font-size: 1rem; font-weight: bold; color: #fff; cursor: pointer;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
}
.alert { background: #fdecea; color: #b71c1c; border-radius: 12px; padding: 10px 12px; margin-bottom: 14px; font-size: .88rem; }

/* ==== finance ==== صفحات درآمد / هزینه / تنظیمات مالی */
.page-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; margin-bottom: 14px; }
.page-head h1 { margin: 0; font-size: 1.4rem; }
.btn-link {
    display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; font-size: .85rem;
    background: var(--card); border: 1px solid var(--border); color: var(--text); text-decoration: none; white-space: nowrap;
}
.toolbar { margin: 14px 0 10px; }
.toolbar select, .field select, .field textarea {
    width: 100%; padding: 11px 14px; font-size: 1rem; border: 1px solid var(--border);
    border-radius: 12px; background: var(--card); color: var(--text);
}
.field textarea { background: var(--bg); resize: vertical; }
.field select { background: var(--bg); }

.ledger { list-style: none; margin: 0; padding: 0 0 70px; display: flex; flex-direction: column; gap: 10px; }
.ledger-item {
    display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: var(--card);
    border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow);
}
.li-main { flex: 1; min-width: 0; }
.li-top { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.li-amount { white-space: nowrap; }
.li-amount.plus { color: var(--primary); } .li-amount.minus { color: var(--red); }
.li-sub { display: flex; flex-wrap: wrap; gap: 4px 14px; color: var(--muted); font-size: .8rem; }
.li-desc { margin-top: 4px; font-size: .85rem; color: var(--muted); word-break: break-word; }
.li-actions { display: flex; flex-direction: column; gap: 6px; }
.icon-sm {
    width: 34px; height: 34px; border: 0; border-radius: 10px; cursor: pointer; font-size: .85rem;
    display: inline-flex; align-items: center; justify-content: center; background: var(--bg); color: var(--text);
}
.icon-sm.danger { color: var(--red); }

.fab {
    position: fixed; left: 16px; bottom: calc(86px + env(safe-area-inset-bottom)); z-index: 15; border: 0; cursor: pointer;
    display: inline-flex; align-items: center; gap: 8px; padding: 14px 20px; border-radius: 999px; color: #fff; font-weight: bold;
    background: linear-gradient(135deg, var(--accent), #e65100); box-shadow: 0 8px 22px rgba(230, 81, 0, .4);
}
@media (min-width: 768px) { .fab { bottom: 28px; } .ledger { padding-bottom: 90px; } }

dialog.modal {
    width: min(520px, calc(100vw - 24px)); max-height: 90vh; max-height: 90dvh; overflow: auto; padding: 18px;
    border: 0; border-radius: 22px; background: var(--card); color: var(--text); box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
}
dialog.modal::backdrop { background: rgba(0, 0, 0, .5); }
.modal-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.modal-head h3 { margin: 0; font-size: 1.1rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.field em { font-style: normal; color: var(--primary); }

.settings-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 900px) { .settings-grid { grid-template-columns: 1fr 1fr; } .settings-grid .wide { grid-column: 1 / -1; } }
.card h2 i { color: var(--primary); margin-inline-end: 6px; }
.type-row { display: flex; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--border); flex-wrap: wrap; }
.type-row input[type=text], .type-row .t-name, .type-row .t-unit, .type-row .m-price {
    padding: 9px 12px; font-size: .95rem; border: 1px solid var(--border); border-radius: 10px; background: var(--bg); color: var(--text);
}
.type-row .t-name { flex: 1 1 150px; min-width: 0; }
.type-row .t-unit { width: 90px; }
.type-row .m-price { width: 130px; }
.m-name { flex: 1 1 150px; }
.type-row.add { border-bottom: 0; margin-top: 6px; }
.switch { display: inline-flex; align-items: center; gap: 4px; font-size: .8rem; color: var(--muted); }
.btn-sm {
    padding: 9px 16px; border: 0; border-radius: 10px; cursor: pointer; font-weight: bold; color: #fff;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
}
.toast {
    position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(92px + env(safe-area-inset-bottom)); z-index: 40;
    padding: 10px 18px; border-radius: 999px; background: var(--primary-dark); color: #fff; font-size: .9rem;
}
.toast.bad { background: var(--red); }

/* ==== reports-archive ==== گزارش مالی و آرشیو */
.head-actions { display: flex; gap: 8px; flex-wrap: wrap; }
button.btn-link { cursor: pointer; font-family: inherit; }
.range-form { margin-bottom: 10px; }
.range-form .btn { margin-top: 4px; }
.presets { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 14px; }
.chip {
    display: inline-block; padding: 5px 14px; border-radius: 999px; font-size: .82rem; text-decoration: none;
    background: var(--card); border: 1px solid var(--border); color: var(--text);
}
.chip.on { background: var(--primary); border-color: var(--primary); color: #fff; }
.bar-fill.green { background: linear-gradient(90deg, var(--primary), #81c784); }
.bar-fill.red { background: linear-gradient(90deg, var(--red), #ef9a9a); }
.tbl-wrap { overflow-x: auto; }
.tbl { width: 100%; border-collapse: collapse; font-size: .9rem; min-width: 440px; }
.tbl th, .tbl td { padding: 9px 8px; text-align: start; border-bottom: 1px solid var(--border); white-space: nowrap; }
.tbl th { color: var(--muted); font-weight: normal; font-size: .8rem; }
.tbl td.pos { color: var(--primary); font-weight: bold; } .tbl td.neg { color: var(--red); font-weight: bold; }
.tbl tr.cur td { background: var(--bg); }

.usage { margin-bottom: 12px; }
.arch-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; padding-bottom: 80px; }
.arch-card {
    position: relative; background: var(--card); border: 1px solid var(--border); border-radius: var(--radius);
    box-shadow: var(--shadow); overflow: hidden;
}
.arch-photos { display: flex; gap: 4px; overflow-x: auto; scroll-snap-type: x mandatory; background: var(--bg); }
.arch-photos img { height: 170px; width: auto; max-width: 85%; object-fit: cover; flex: none; cursor: zoom-in; scroll-snap-align: start; }
.arch-body { padding: 12px 14px 14px; }
.arch-meta { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.arch-body h3 { margin: 6px 0 2px; font-size: 1rem; }
.arch-body p { margin: 0; font-size: .88rem; color: var(--muted); white-space: pre-wrap; word-break: break-word; }
.arch-actions { position: absolute; top: 8px; left: 8px; display: flex; gap: 6px; }
.arch-actions .icon-sm { background: rgba(255, 255, 255, .92); color: #222; box-shadow: 0 2px 8px rgba(0, 0, 0, .2); }
.arch-actions .icon-sm.danger { color: var(--red); }
.existing { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.ph { position: relative; display: block; width: 78px; height: 78px; border-radius: 12px; overflow: hidden; cursor: pointer; }
.ph img { width: 100%; height: 100%; object-fit: cover; }
.ph input { position: absolute; top: 4px; right: 4px; }
.ph span { position: absolute; bottom: 0; left: 0; right: 0; text-align: center; font-size: .7rem; color: #fff; background: rgba(0, 0, 0, .45); }
.ph:has(input:checked) img { opacity: .3; }
.ph:has(input:checked) span { background: var(--red); }
.field input[type=file] { padding: 10px; }

.lb { position: fixed; inset: 0; z-index: 60; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .92); }
.lb[hidden] { display: none; }
.lb img { max-width: 100vw; max-height: 100vh; max-height: 100dvh; object-fit: contain; }
.lb-x, .lb-nav {
    position: absolute; border: 0; cursor: pointer; color: #fff; background: rgba(255, 255, 255, .15);
    width: 46px; height: 46px; border-radius: 50%; font-size: 1.8rem; line-height: 1;
}
.lb-x { top: calc(14px + env(safe-area-inset-top)); right: 14px; }
.lb-prev { right: 12px; top: 50%; } .lb-next { left: 12px; top: 50%; }

@media print {
    body, body.dark-theme { --bg: #fff; --card: #fff; --text: #000; --muted: #555; --border: #ccc; background: #fff; color: #000; padding: 0; }
    .app-header, .app-nav, .no-print, .fab, .range-form, .presets { display: none !important; }
    .app-main { max-width: none; padding: 0; }
    .card, .stat { box-shadow: none; break-inside: avoid; }
}


/* ================= [patch5] سیستم طراحی v2 — اجزای مشترک همه‌ی صفحات ================= */
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.app-main { animation: fadeIn .25s ease-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } }
body.dark-theme .alert { background: #3b1f1f; color: #ffb4ab; }
body.dark-theme .field input, body.dark-theme .field select, body.dark-theme .field textarea { color-scheme: dark; }

/* دکمه‌ها: یک خانواده برای همه جا */
.btn:disabled, .btn-sm:disabled { opacity: .6; cursor: default; }
.btn.secondary { background: var(--bg); color: var(--text); border: 1px solid var(--border); }
.btn.danger { background: linear-gradient(135deg, #d32f2f, #b71c1c); }
.btn.sm { width: auto; padding: 9px 16px; font-size: .9rem; }
.btn-row { display: flex; gap: 10px; margin-top: 14px; }
.btn-row .btn { flex: 1; }
.btn-row .btn.secondary { flex: 0 0 34%; }
.btn-sm.secondary { background: var(--bg); color: var(--text); border: 1px solid var(--border); }
a.btn, a.btn-sm { text-decoration: none; }

/* دیالوگ‌ها: روی موبایل از پایین باز می‌شوند (راحت‌تر با انگشت) */
dialog.modal { animation: dlgIn .2s ease-out; }
dialog.modal.sm { width: min(380px, calc(100vw - 24px)); text-align: center; }
dialog.modal.sm .modal-head { justify-content: center; }
@keyframes dlgIn { from { opacity: 0; transform: translateY(18px) scale(.98); } }
@media (max-width: 600px) {
    dialog.modal { width: 100%; max-width: 100%; margin: auto 0 0; border-radius: 22px 22px 0 0; padding-bottom: calc(18px + env(safe-area-inset-bottom)); }
    dialog.modal.sm { margin: auto 12px calc(12px + env(safe-area-inset-bottom)); width: auto; border-radius: 22px; }
}

/* انتخاب سریع با دکمه‌های بزرگ (به‌جای لیست کشویی) */
.pick-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 8px; margin-bottom: 14px; }
.pick { position: relative; display: block; }
.pick input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; margin: 0; cursor: pointer; }
.pick span {
    display: flex; align-items: center; justify-content: center; gap: 6px; text-align: center; min-height: 48px; padding: 6px 8px;
    border: 1.5px solid var(--border); border-radius: 14px; background: var(--bg); font-size: .92rem; transition: .15s;
}
.pick input:checked + span { border-color: var(--primary); background: rgba(46, 125, 50, .13); color: var(--primary); font-weight: bold; }
.pick input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.pick.is-mat span::after { content: '\f0c3'; font-family: 'Font Awesome 5 Free', 'Font Awesome 6 Free'; font-weight: 900; font-size: .7rem; opacity: .5; }

/* شمارنده‌ی + و − */
.stepper { display: flex; align-items: center; gap: 8px; }
.stepper button {
    flex: none; width: 48px; height: 48px; border-radius: 14px; border: 1px solid var(--border); cursor: pointer;
    background: var(--bg); color: var(--text); font-size: 1.4rem; line-height: 1;
}
.stepper input { flex: 1; min-width: 0; text-align: center; font-size: 1.15rem; font-weight: bold; }
.field .stepper input { padding: 12px 8px; }

/* تب‌های قرصی */
.tabs { display: flex; gap: 4px; padding: 4px; margin-bottom: 14px; background: var(--card); border: 1px solid var(--border); border-radius: 16px; }
.tab {
    flex: 1; padding: 10px 6px; border: 0; border-radius: 12px; cursor: pointer; font-size: .9rem;
    background: none; color: var(--muted); white-space: nowrap;
}
.tab.on { background: var(--primary); color: #fff; font-weight: bold; }
.pane[hidden] { display: none; }

/* نشان‌ها و برچسب‌ها */
.badge {
    display: inline-block; padding: 1px 10px; border-radius: 999px; font-size: .74rem; white-space: nowrap;
    background: rgba(46, 125, 50, .13); color: var(--primary);
}
.badge.orange { background: rgba(245, 124, 0, .15); color: var(--accent); }
.badge.gray { background: var(--border); color: var(--muted); }
.mat-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.mat-chip { padding: 2px 10px; border-radius: 999px; font-size: .78rem; background: rgba(21, 101, 192, .12); color: var(--blue); }
body.dark-theme .mat-chip { color: #90caf9; }

/* راهنمای کوتاه زیر فیلد، و جمع‌بندی زنده */
.hint { margin: -6px 0 12px; font-size: .8rem; color: var(--muted); }
.live-total {
    display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; margin: 4px 0 14px;
    border-radius: 14px; background: rgba(46, 125, 50, .1); color: var(--primary); font-size: .92rem;
}
.live-total b { font-size: 1.15rem; }
.sub-card { padding: 12px; margin-bottom: 14px; border: 1px dashed var(--border); border-radius: 16px; background: var(--bg); }
.sub-card h4 { margin: 0 0 8px; font-size: .92rem; }
.row-inline { display: flex; gap: 8px; align-items: center; }
.row-inline > * { min-width: 0; }
.row-inline select, .row-inline input {
    flex: 1; padding: 11px 12px; font-size: .95rem; border: 1px solid var(--border); border-radius: 12px; background: var(--card); color: var(--text);
}
.row-inline input.qty { flex: 0 0 90px; text-align: center; }
.picked { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.picked li { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 12px; background: var(--card); border: 1px solid var(--border); font-size: .9rem; }
.picked li span { flex: 1; min-width: 0; }

/* صفحه‌ی خالی و کارت‌های لیست کارگاه */
.empty-state { text-align: center; padding: 36px 12px; color: var(--muted); }
.empty-state i { font-size: 2.6rem; opacity: .35; display: block; margin-bottom: 8px; }
.ws-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; margin-top: 8px; }
.ws-card { padding: 16px; background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.ws-card h3 { margin: 0 0 10px; font-size: 1.05rem; display: flex; align-items: center; gap: 8px; }
.ws-card h3 i { color: var(--primary); }
.ws-years { display: flex; flex-wrap: wrap; gap: 8px; }

/* برچسب بالای گروه‌های انتخابی، و قاعده‌ی عمومی hidden */
[hidden] { display: none !important; }
.lbl { margin-bottom: 6px; font-size: .85rem; color: var(--muted); }
.type-row select {
    padding: 9px 10px; font-size: .92rem; border: 1px solid var(--border); border-radius: 10px;
    background: var(--bg); color: var(--text);
}

/* نوار فیلتر لیست‌ها */
.chips-scroll { display: flex; gap: 8px; overflow-x: auto; padding: 2px 0 10px; margin-bottom: 4px; }
.chips-scroll .chip { flex: none; cursor: pointer; font-family: inherit; }


/* ================= [patch7] فونت یکدست، هدر دارای نام، منوی همبرگری، نوار پایین بزرگ‌تر ================= */
*, *::before, *::after { font-family: 'Vazirmatn', Tahoma, sans-serif !important; }

.icon-btn { width: auto; min-width: 42px; padding: 0 12px; gap: 6px; }
.icon-btn .btn-txt { font-size: .82rem; white-space: nowrap; }

/* منوی کناری (همبرگری) */
.drawer-backdrop { position: fixed; inset: 0; z-index: 40; background: rgba(0, 0, 0, .45); animation: fadeIn .2s ease-out; }
.drawer {
    position: fixed; top: 0; bottom: 0; right: 0; z-index: 50; width: min(330px, 88vw); display: flex; flex-direction: column;
    background: var(--card); color: var(--text); box-shadow: -12px 0 40px rgba(0, 0, 0, .3);
    padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
    transform: translateX(105%); visibility: hidden; transition: transform .25s ease, visibility .25s;
}
.drawer.open { transform: none; visibility: visible; }
.drawer-head {
    display: flex; align-items: center; gap: 10px; padding: 16px 16px 14px; color: #fff;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
}
.drawer-head > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.drawer-head strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.drawer-head small { opacity: .85; }
.drawer-head .icon-btn { min-width: 40px; height: 40px; }
.drawer-nav { flex: 1; overflow-y: auto; padding: 10px; }
.drawer-foot { padding: 8px 10px 12px; border-top: 1px solid var(--border); }
.drawer-item {
    display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; margin-bottom: 4px; border: 0; border-radius: 14px;
    background: none; color: var(--text); text-decoration: none; text-align: right; cursor: pointer; font-size: 1rem;
}
.drawer-item.active { background: rgba(46, 125, 50, .13); }
.drawer-item:active { background: var(--bg); }
.d-ic { flex: none; width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; color: #fff; font-size: 1.1rem; background: var(--tone, var(--primary)); }
.d-txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.5; }
.d-txt b { font-size: .98rem; }
.d-txt small { color: var(--muted); font-size: .76rem; }
@media print { .drawer, .drawer-backdrop { display: none !important; } }

/* موبایل: نوار میانبر پایین بزرگ‌تر؛ دکمه‌های خانه/ظاهر/خروج داخل منو هستند */
@media (max-width: 767.98px) {
    .hdr-home, .header-actions { display: none; }
    body { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
    body.auth-body { padding-bottom: 0; }
    .app-nav { padding: 8px 6px calc(8px + env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0; gap: 2px; }
    .nav-item { gap: 5px; padding: 8px 2px; min-height: 62px; justify-content: center; font-size: .8rem; border-radius: 16px; }
    .nav-item i { font-size: 1.55rem; }
    .nav-item.active { background: rgba(46, 125, 50, .14); }
    .fab { bottom: calc(116px + env(safe-area-inset-bottom)); }
    .toast { bottom: calc(122px + env(safe-area-inset-bottom)); }
}

/* ---- آیکون‌ها: SVG داخل CSS (مستقل از فایل‌های FontAwesome محلی). Icons: Font Awesome Free 5, CC BY 4.0 ---- */
i.fas, i.fa { display: inline-block; font-style: normal; line-height: 1; }
.fa-trash::before, .fa-seedling::before, .fa-times::before, .fa-check::before, .fa-plus::before, .fa-flask::before, .fa-calendar-day::before, .fa-pen::before, .fa-images::before, .fa-tasks::before, .fa-store::before, .fa-sliders-h::before, .fa-sign-out-alt::before, .fa-receipt::before, .fa-moon::before, .fa-coins::before, .fa-cog::before, .fa-calendar::before, .fa-users::before, .fa-user::before, .fa-th-large::before, .fa-print::before, .fa-home::before, .fa-file-csv::before, .fa-chart-pie::before, .fa-camera::before, .fa-bars::before {
    content: ""; display: inline-block; width: 1em; height: 1em; vertical-align: -.14em; background-color: currentColor;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center;
    -webkit-mask-size: contain; mask-size: contain;
}
.fa-trash::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z'/%3E%3C/svg%3E"); }
.fa-seedling::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z'/%3E%3C/svg%3E"); }
.fa-times::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 352 512'%3E%3Cpath d='M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 352 512'%3E%3Cpath d='M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z'/%3E%3C/svg%3E"); }
.fa-check::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E"); }
.fa-plus::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E"); }
.fa-flask::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z'/%3E%3C/svg%3E"); }
.fa-calendar-day::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z'/%3E%3C/svg%3E"); }
.fa-pen::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z'/%3E%3C/svg%3E"); }
.fa-images::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z'/%3E%3C/svg%3E"); }
.fa-tasks::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M139.61 35.5a12 12 0 0 0-17 0L58.93 98.81l-22.7-22.12a12 12 0 0 0-17 0L3.53 92.41a12 12 0 0 0 0 17l47.59 47.4a12.78 12.78 0 0 0 17.61 0l15.59-15.62L156.52 69a12.09 12.09 0 0 0 .09-17zm0 159.19a12 12 0 0 0-17 0l-63.68 63.72-22.7-22.1a12 12 0 0 0-17 0L3.53 252a12 12 0 0 0 0 17L51 316.5a12.77 12.77 0 0 0 17.6 0l15.7-15.69 72.2-72.22a12 12 0 0 0 .09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 0 0 0-96zm432 16H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M139.61 35.5a12 12 0 0 0-17 0L58.93 98.81l-22.7-22.12a12 12 0 0 0-17 0L3.53 92.41a12 12 0 0 0 0 17l47.59 47.4a12.78 12.78 0 0 0 17.61 0l15.59-15.62L156.52 69a12.09 12.09 0 0 0 .09-17zm0 159.19a12 12 0 0 0-17 0l-63.68 63.72-22.7-22.1a12 12 0 0 0-17 0L3.53 252a12 12 0 0 0 0 17L51 316.5a12.77 12.77 0 0 0 17.6 0l15.7-15.69 72.2-72.22a12 12 0 0 0 .09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 0 0 0-96zm432 16H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z'/%3E%3C/svg%3E"); }
.fa-store::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 616 512'%3E%3Cpath d='M602 118.6L537.1 15C531.3 5.7 521 0 510 0H106C95 0 84.7 5.7 78.9 15L14 118.6c-33.5 53.5-3.8 127.9 58.8 136.4 4.5.6 9.1.9 13.7.9 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18.1 20.1 44.3 33.1 73.8 33.1 4.7 0 9.2-.3 13.7-.9 62.8-8.4 92.6-82.8 59-136.4zM529.5 288c-10 0-19.9-1.5-29.5-3.8V384H116v-99.8c-9.6 2.2-19.5 3.8-29.5 3.8-6 0-12.1-.4-18-1.2-5.6-.8-11.1-2.1-16.4-3.6V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V283.2c-5.4 1.6-10.8 2.9-16.4 3.6-6.1.8-12.1 1.2-18.2 1.2z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 616 512'%3E%3Cpath d='M602 118.6L537.1 15C531.3 5.7 521 0 510 0H106C95 0 84.7 5.7 78.9 15L14 118.6c-33.5 53.5-3.8 127.9 58.8 136.4 4.5.6 9.1.9 13.7.9 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18.1 20.1 44.3 33.1 73.8 33.1 4.7 0 9.2-.3 13.7-.9 62.8-8.4 92.6-82.8 59-136.4zM529.5 288c-10 0-19.9-1.5-29.5-3.8V384H116v-99.8c-9.6 2.2-19.5 3.8-29.5 3.8-6 0-12.1-.4-18-1.2-5.6-.8-11.1-2.1-16.4-3.6V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V283.2c-5.4 1.6-10.8 2.9-16.4 3.6-6.1.8-12.1 1.2-18.2 1.2z'/%3E%3C/svg%3E"); }
.fa-sliders-h::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z'/%3E%3C/svg%3E"); }
.fa-sign-out-alt::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z'/%3E%3C/svg%3E"); }
.fa-receipt::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z'/%3E%3C/svg%3E"); }
.fa-moon::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z'/%3E%3C/svg%3E"); }
.fa-coins::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M0 405.3V448c0 35.3 86 64 192 64s192-28.7 192-64v-42.7C342.7 434.4 267.2 448 192 448S41.3 434.4 0 405.3zM320 128c106 0 192-28.7 192-64S426 0 320 0 128 28.7 128 64s86 64 192 64zM0 300.4V352c0 35.3 86 64 192 64s192-28.7 192-64v-51.6c-41.3 34-116.9 51.6-192 51.6S41.3 334.4 0 300.4zm416 11c57.3-11.1 96-31.7 96-55.4v-42.7c-23.2 16.4-57.3 27.6-96 34.5v63.6zM192 160C86 160 0 195.8 0 240s86 80 192 80 192-35.8 192-80-86-80-192-80zm219.3 56.3c60-10.8 100.7-32 100.7-56.3v-42.7c-35.5 25.1-96.5 38.6-160.7 41.8 29.5 14.3 51.2 33.5 60 57.2z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M0 405.3V448c0 35.3 86 64 192 64s192-28.7 192-64v-42.7C342.7 434.4 267.2 448 192 448S41.3 434.4 0 405.3zM320 128c106 0 192-28.7 192-64S426 0 320 0 128 28.7 128 64s86 64 192 64zM0 300.4V352c0 35.3 86 64 192 64s192-28.7 192-64v-51.6c-41.3 34-116.9 51.6-192 51.6S41.3 334.4 0 300.4zm416 11c57.3-11.1 96-31.7 96-55.4v-42.7c-23.2 16.4-57.3 27.6-96 34.5v63.6zM192 160C86 160 0 195.8 0 240s86 80 192 80 192-35.8 192-80-86-80-192-80zm219.3 56.3c60-10.8 100.7-32 100.7-56.3v-42.7c-35.5 25.1-96.5 38.6-160.7 41.8 29.5 14.3 51.2 33.5 60 57.2z'/%3E%3C/svg%3E"); }
.fa-cog::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z'/%3E%3C/svg%3E"); }
.fa-calendar::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z'/%3E%3C/svg%3E"); }
.fa-users::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z'/%3E%3C/svg%3E"); }
.fa-user::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z'/%3E%3C/svg%3E"); }
.fa-th-large::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z'/%3E%3C/svg%3E"); }
.fa-print::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z'/%3E%3C/svg%3E"); }
.fa-home::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z'/%3E%3C/svg%3E"); }
.fa-file-csv::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-96 144c0 4.42-3.58 8-8 8h-8c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-26.51 0-48-21.49-48-48v-32c0-26.51 21.49-48 48-48h8c4.42 0 8 3.58 8 8v16zm44.27 104H160c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h12.27c5.95 0 10.41-3.5 10.41-6.62 0-1.3-.75-2.66-2.12-3.84l-21.89-18.77c-8.47-7.22-13.33-17.48-13.33-28.14 0-21.3 19.02-38.62 42.41-38.62H200c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-12.27c-5.95 0-10.41 3.5-10.41 6.62 0 1.3.75 2.66 2.12 3.84l21.89 18.77c8.47 7.22 13.33 17.48 13.33 28.14.01 21.29-19 38.62-42.39 38.62zM256 264v20.8c0 20.27 5.7 40.17 16 56.88 10.3-16.7 16-36.61 16-56.88V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v20.8c0 35.48-12.88 68.89-36.28 94.09-3.02 3.25-7.27 5.11-11.72 5.11s-8.7-1.86-11.72-5.11c-23.4-25.2-36.28-58.61-36.28-94.09V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8zm121-159L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-96 144c0 4.42-3.58 8-8 8h-8c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-26.51 0-48-21.49-48-48v-32c0-26.51 21.49-48 48-48h8c4.42 0 8 3.58 8 8v16zm44.27 104H160c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h12.27c5.95 0 10.41-3.5 10.41-6.62 0-1.3-.75-2.66-2.12-3.84l-21.89-18.77c-8.47-7.22-13.33-17.48-13.33-28.14 0-21.3 19.02-38.62 42.41-38.62H200c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-12.27c-5.95 0-10.41 3.5-10.41 6.62 0 1.3.75 2.66 2.12 3.84l21.89 18.77c8.47 7.22 13.33 17.48 13.33 28.14.01 21.29-19 38.62-42.39 38.62zM256 264v20.8c0 20.27 5.7 40.17 16 56.88 10.3-16.7 16-36.61 16-56.88V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v20.8c0 35.48-12.88 68.89-36.28 94.09-3.02 3.25-7.27 5.11-11.72 5.11s-8.7-1.86-11.72-5.11c-23.4-25.2-36.28-58.61-36.28-94.09V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8zm121-159L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z'/%3E%3C/svg%3E"); }
.fa-chart-pie::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 544 512'%3E%3Cpath d='M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 544 512'%3E%3Cpath d='M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z'/%3E%3C/svg%3E"); }
.fa-camera::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z'/%3E%3C/svg%3E"); }
.fa-bars::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z'/%3E%3C/svg%3E"); }
.pick.is-mat span::after { content: ""; display: inline-block; width: .85em; height: .85em; opacity: .5; background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z'/%3E%3C/svg%3E") center / contain no-repeat; }


/* ================= [patch8] تقویم شمسی ================= */
input.jd-input, .field input.jd-input {
    cursor: pointer; padding-left: 44px; background-repeat: no-repeat; background-position: left 14px center; background-size: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%236b7785' d='M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z'/%3E%3C/svg%3E");
}
dialog.cal { width: min(360px, calc(100vw - 24px)); text-align: center; }
dialog.cal .modal-head { justify-content: space-between; }
.cal-head { display: flex; gap: 6px; align-items: center; margin-bottom: 10px; }
.cal-head select {
    flex: 1; min-width: 0; padding: 9px 8px; font-size: .95rem; border: 1px solid var(--border); border-radius: 12px;
    background: var(--bg); color: var(--text);
}
.cal-nav {
    flex: none; width: 42px; height: 42px; border-radius: 12px; border: 1px solid var(--border); cursor: pointer;
    background: var(--bg); color: var(--text); font-size: 1.5rem; line-height: 1;
}
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin: 4px 0 6px; }
.cal-wd { padding: 4px 0; font-size: .78rem; color: var(--muted); }
.cal-wd.fri, .cal-d.fri { color: var(--red); }
.cal-d {
    height: 42px; border: 0; border-radius: 12px; cursor: pointer; background: none; color: var(--text); font-size: .98rem;
}
.cal-d:hover { background: var(--bg); }
.cal-d.today { box-shadow: inset 0 0 0 1.5px var(--accent); }
.cal-d.sel, .cal-d.sel.fri { background: var(--primary); color: #fff; font-weight: bold; }
.btn-row .btn.secondary { flex: 0 0 auto; padding-left: 14px; padding-right: 14px; }


/* ================= [patch11] اصلاح ایرادهای دیده‌شده در مرورگر واقعی ================= */
/* ۱) دکمه‌های پایین دیالوگ‌ها: دکمه‌ی اصلی از صفحه بیرون نزند (حذف، ذخیره، امروز) */
.btn-row .btn { width: auto; min-width: 0; }
.btn-row .btn.secondary { flex: 0 0 34%; padding-left: 14px; padding-right: 14px; }
dialog.cal .btn-row .btn, dialog.cal .btn-row .btn.secondary { flex: 1 1 0; }

/* ۲) تقویم: عنوان و دکمه‌ی بستن روی هم نیفتند */
dialog.modal.cal .modal-head { justify-content: space-between; }

/* ۳) منوی همبرگری: همه‌ی بخش‌ها بدون اسکرول جا شوند */
.drawer-item { padding: 7px 10px; margin-bottom: 2px; }
.d-ic { width: 38px; height: 38px; font-size: 1rem; }
.drawer-nav { padding: 8px; }
@media (max-height: 800px) { .d-txt small { display: none; } }

/* ۴) صفحه‌های بدون منو (لیست کارگاه‌ها، حساب): دکمه‌های هدر در موبایل دیده شوند و هدر مرتب بشکند */
@media (max-width: 767.98px) {
    body.auth-body .header-actions { display: flex; gap: 8px; }
    body.auth-body .app-header { flex-wrap: wrap; justify-content: space-between; gap: 8px; }
    body.auth-body .app-header .app-title { order: -1; flex: 1 1 100%; }
}


/* ================= [patch12] انبار ================= */
.alert.warn { background: rgba(245, 124, 0, .14); color: #a65100; }
body.dark-theme .alert.warn { background: #3a2a12; color: #ffcc80; }
@media (max-height: 900px) { .d-txt small { display: none; } }

.stock-list { display: flex; flex-direction: column; gap: 10px; }
.stock-item {
    display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; padding: 14px; background: var(--card);
    border: 1px solid var(--border); border-right: 5px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow);
}
.stock-item.st-ok { border-right-color: var(--primary); }
.stock-item.st-low { border-right-color: var(--accent); }
.stock-item.st-neg { border-right-color: var(--red); }
.st-main strong { font-size: 1.02rem; }
.st-meta { margin-top: 3px; font-size: .78rem; color: var(--muted); }
.st-qty { text-align: left; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.st-qty b { font-size: 1.5rem; line-height: 1.2; color: var(--primary); }
.st-qty small { color: var(--muted); font-size: .78rem; }
.st-low .st-qty b { color: var(--accent); }
.st-neg .st-qty b { color: var(--red); }
.st-none .st-qty b { color: var(--muted); }
.st-actions { grid-column: 1 / -1; display: flex; gap: 8px; flex-wrap: wrap; }
.mov-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 2px; border-bottom: 1px solid var(--border); }
.mov-main { display: flex; flex-direction: column; min-width: 0; }
.mov-main small { color: var(--muted); font-size: .76rem; }
.mov-qty.plus { color: var(--primary); }
.mov-qty.minus { color: var(--red); }
.line .field { margin-bottom: 10px; }
.line em { font-style: normal; color: inherit; }

/* ---- آیکون‌های جدید (SVG داخل CSS) ---- */
.fa-warehouse::before, .fa-file-invoice::before, .fa-gift::before, .fa-expand::before, .fa-compress::before, .fa-exclamation-triangle::before, .fa-history::before {
    content: ""; display: inline-block; width: 1em; height: 1em; vertical-align: -.14em; background-color: currentColor;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain;
}
.fa-warehouse::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z'/%3E%3C/svg%3E"); }
.fa-file-invoice::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M288 256H96v64h192v-64zm89-151L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm256 304c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-200v96c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-96c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M288 256H96v64h192v-64zm89-151L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm256 304c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-200v96c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-96c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16z'/%3E%3C/svg%3E"); }
.fa-gift::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M32 448c0 17.7 14.3 32 32 32h160V320H32v128zm256 32h160c17.7 0 32-14.3 32-32V320H288v160zm192-320h-42.1c6.2-12.1 10.1-25.5 10.1-40 0-48.5-39.5-88-88-88-41.6 0-68.5 21.3-103 68.3-34.5-47-61.4-68.3-103-68.3-48.5 0-88 39.5-88 88 0 14.5 3.8 27.9 10.1 40H32c-17.7 0-32 14.3-32 32v80c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-80c0-17.7-14.3-32-32-32zm-326.1 0c-22.1 0-40-17.9-40-40s17.9-40 40-40c19.9 0 34.6 3.3 86.1 80h-86.1zm206.1 0h-86.1c51.4-76.5 65.7-80 86.1-80 22.1 0 40 17.9 40 40s-17.9 40-40 40z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M32 448c0 17.7 14.3 32 32 32h160V320H32v128zm256 32h160c17.7 0 32-14.3 32-32V320H288v160zm192-320h-42.1c6.2-12.1 10.1-25.5 10.1-40 0-48.5-39.5-88-88-88-41.6 0-68.5 21.3-103 68.3-34.5-47-61.4-68.3-103-68.3-48.5 0-88 39.5-88 88 0 14.5 3.8 27.9 10.1 40H32c-17.7 0-32 14.3-32 32v80c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-80c0-17.7-14.3-32-32-32zm-326.1 0c-22.1 0-40-17.9-40-40s17.9-40 40-40c19.9 0 34.6 3.3 86.1 80h-86.1zm206.1 0h-86.1c51.4-76.5 65.7-80 86.1-80 22.1 0 40 17.9 40 40s-17.9 40-40 40z'/%3E%3C/svg%3E"); }
.fa-expand::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z'/%3E%3C/svg%3E"); }
.fa-compress::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z'/%3E%3C/svg%3E"); }
.fa-exclamation-triangle::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z'/%3E%3C/svg%3E"); }
.fa-history::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z'/%3E%3C/svg%3E"); }


/* ================= [patch13] هدیه، حالت دستمزد، تمام‌صفحه، حذف کارگاه ================= */
.gift-note {
    display: flex; align-items: center; gap: 8px; margin: 12px 0 4px; padding: 10px 14px; border-radius: 14px;
    background: rgba(245, 124, 0, .13); color: #a65100; font-size: .88rem;
}
body.dark-theme .gift-note { background: #3a2a12; color: #ffcc80; }
.stat.gift { border-right-color: var(--accent); }
.li-amount.gift { color: var(--accent); }
.gift-switch { display: flex; margin: 0 0 14px; font-size: .88rem; }
.tabs.mini { margin-bottom: 10px; }
.tabs.mini .tab { padding: 8px 6px; font-size: .85rem; }
.ws-card h3 { position: relative; }
.ws-card .ws-del { margin-inline-start: auto; width: 34px; height: 34px; }
.ws-card h3 .ws-del i { color: var(--red); }

/* منوی همبرگری با ۱۴ آیتم: فشرده‌تر تا روی گوشی ۸۴۴ پیکسلی بدون اسکرول جا شود */
.drawer-item { padding: 5px 10px; margin-bottom: 1px; }
.d-ic { width: 36px; height: 36px; font-size: .95rem; }
.drawer-head { padding-top: 12px; padding-bottom: 10px; }
.drawer-foot { padding-top: 6px; padding-bottom: 8px; }


/* ================= [patch14] دسکتاپ: فرم‌های استاندارد، پنجره‌ی دوستونه، صفحه‌های جمع‌وجور ================= */
@media (min-width: 768px) {
    /* عرض صفحه: نه بیش‌ازحد کشیده */
    .app-main, .app-nav { max-width: 960px; }
    .app-main.narrow { max-width: 720px; }
    .app-main.narrow .card .field { max-width: 440px; }
    .summary { grid-template-columns: repeat(auto-fill, minmax(200px, 280px)); }
    .toolbar select { max-width: 380px; }

    /* اندازه‌ی استاندارد فیلدها و دکمه‌ها (ارتفاع حدود ۴۰ پیکسل) */
    .field input, .field select, .field textarea, .toolbar select,
    .row-inline select, .row-inline input, .type-row select, .cal-head select {
        padding: 8px 12px; font-size: .95rem; border-radius: 10px;
    }
    .field input[type=file] { padding: 6px 8px; }
    .field .stepper input { padding: 8px; }
    .stepper button { width: 40px; height: 40px; border-radius: 10px; font-size: 1.2rem; }
    .btn { padding: 10px 16px; font-size: .95rem; border-radius: 12px; }
    .pick span { min-height: 38px; font-size: .88rem; border-radius: 10px; }
    .pick-grid { grid-template-columns: repeat(auto-fill, minmax(116px, 1fr)); gap: 6px; margin-bottom: 10px; }
    .live-total { padding: 8px 12px; margin: 0 0 14px; }
    .field { margin-bottom: 12px; }

    /* پنجره‌های فرم: پهن‌تر و دوستونه تا اسکرول لازم نشود */
    dialog.modal:not(.sm):not(.cal) { width: min(760px, calc(100vw - 48px)); }
    dialog.modal:not(.sm):not(.cal)[open] { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; align-content: start; }
    dialog.modal:not(.sm):not(.cal)[open] > * { grid-column: 1 / -1; }
    dialog.modal:not(.sm):not(.cal)[open] > .field,
    dialog.modal:not(.sm):not(.cal)[open] > .live-total,
    dialog.modal:not(.sm):not(.cal)[open] > .presets,
    dialog.modal:not(.sm):not(.cal)[open] > .tabs.mini { grid-column: auto; }
    dialog.modal:not(.sm):not(.cal)[open] > .field:has(textarea),
    dialog.modal:not(.sm):not(.cal)[open] > .field:has(.pick-grid),
    dialog.modal:not(.sm):not(.cal)[open] > .field:has(input[type=file]),
    dialog.modal:not(.sm):not(.cal)[open] > .field:has(#yearRows) { grid-column: 1 / -1; }
    dialog.modal:not(.sm):not(.cal)[open] > .presets { align-self: end; margin: 0 0 12px !important; }
    dialog.modal:not(.sm):not(.cal)[open] > .tabs.mini { align-self: end; margin-bottom: 12px; }
    dialog.modal:not(.sm):not(.cal)[open] > .btn-link { justify-self: start; }
    dialog.modal:not(.sm):not(.cal)[open] .btn-row { margin-top: 6px; }

    /* فاکتور انبار: هر ردیف کالا یک خط (ماده | مقدار | قیمت | جمع) */
    .line { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 0 10px; align-items: end; padding: 10px 12px; }
    .line .form-grid { display: contents; }
    .line .row-inline, .line .field { margin: 0 !important; }
    /* فیلدهای تکی در ردیف‌ها و لیست سال‌ها کشیده نباشند */
    .type-row.add .t-name, .app-main.narrow .type-row .t-name { max-width: 420px; }
    .year-input { flex: 0 1 320px !important; }
    /* صفحه‌های تنظیمات: دکمه‌ها هم‌عرض فیلدها و کارت‌ها با فاصله */
    .app-main.narrow .card { margin-bottom: 16px; }
    .app-main.narrow .card > .btn { max-width: 440px; }
}

/* دکمه‌ی شناور کنار لبه‌ی محتوا بماند، نه گوشه‌ی دور مرورگر */
@media (min-width: 1100px) {
    .fab { left: max(16px, calc(50% - 480px)); }
}

/* ================= [patch15] پیوست، پیش‌نمایش، کپی‌رایت، نوار پایین ۷‌تایی ================= */
.toast { z-index: 90; }
.app-footer { text-align: center; padding: 18px 12px 10px; font-size: .78rem; color: var(--muted); }
.app-footer a { color: var(--primary); text-decoration: none; }
body.auth-body .app-footer { padding-bottom: 18px; }

@media (max-width: 767.98px) {
    /* نوار پایین با ۷ میانبر (شامل انبار) */
    .app-nav .nav-item { font-size: .7rem; padding: 8px 1px; line-height: 1.25; text-align: center; }
    .app-nav .nav-item i { font-size: 1.4rem; }
}

.att-strip { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.att-th {
    width: 46px; height: 46px; padding: 0; border: 1px solid var(--border); border-radius: 10px; overflow: hidden;
    display: grid; place-items: center; background: var(--bg); color: var(--red); cursor: pointer; font-size: 1.3rem;
}
.att-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.att-more { align-self: center; font-size: .78rem; color: var(--muted); }
.att-chip { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg); font-size: .85rem; }
.att-chip span { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.att-field input[type=file] { width: 100%; }

dialog.modal.viewer:not(.sm):not(.cal)[open] { display: block; width: min(940px, 96vw); padding: 12px; }
.v-head { display: flex; align-items: center; gap: 10px; justify-content: space-between; margin-bottom: 8px; }
.v-head strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v-body { height: 68vh; display: grid; place-items: center; overflow: auto; border-radius: 12px; background: var(--bg); }
.v-body img { max-width: 100%; max-height: 100%; object-fit: contain; }
.v-body iframe { width: 100%; height: 100%; border: 0; }
.v-foot { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; justify-content: center; }
.lb-bar { position: absolute; bottom: 18px; left: 0; right: 0; display: flex; gap: 10px; justify-content: center; z-index: 3; }
.lb-bar button { padding: 9px 18px; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .92); color: #1f2933; cursor: pointer; font-size: .9rem; }

/* روی موبایل، کپی‌رایت زیر دکمه‌ی شناور نرود */
@media (max-width: 767.98px) {
    body:not(.auth-body) .app-footer { padding-bottom: 84px; }
}

/* ---- آیکون‌های جدید ---- */
.fa-file-pdf::before, .fa-paperclip::before, .fa-share-alt::before, .fa-download::before {
    content: ""; display: inline-block; width: 1em; height: 1em; vertical-align: -.14em; background-color: currentColor;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain;
}
.fa-file-pdf::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z'/%3E%3C/svg%3E"); }
.fa-paperclip::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z'/%3E%3C/svg%3E"); }
.fa-share-alt::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z'/%3E%3C/svg%3E"); }
.fa-download::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z'/%3E%3C/svg%3E"); }
