:root {
  --bg:#f5f2eb; --surface:#fffdf8; --surface-2:#eeebe3; --text:#342c2b;
  --muted:#78726a; --line:#ddd7cc; --accent:#722b41; --accent-ink:#fff9f5;
  --good:#326e55; --warning:#8a5d25; --danger:#a53e35; --radius:7px;
  --font:'Vazirmatn', sans-serif;
  color-scheme:light;
}
:root[data-theme="dark"] {
  --bg:#201d1c; --surface:#2a2524; --surface-2:#322c2b; --text:#f3eee6;
  --muted:#b4a69b; --line:#4a403b; --accent:#e6a4b3; --accent-ink:#381c24;
  --good:#99c7ae; --warning:#d6b180; --danger:#ed9c8a;
  color-scheme:dark;
}
body {background:var(--bg);font-family:var(--font);letter-spacing:-.18px;}
button,a,input,select,textarea {-webkit-tap-highlight-color:transparent;}
button {cursor:pointer;}
.app-shell {max-width:560px;margin-inline:auto;min-height:100dvh; background:var(--bg);}
.app-header {padding:calc(15px + max(env(safe-area-inset-top),var(--host-safe-top,0px))) 23px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);background:var(--bg);}
.paper-brand {text-decoration:none;display:flex;align-items:center;gap:9px;color:var(--text);font-weight:750;font-size:14px;min-width:0;}
.paper-mark {display:grid;place-items:center;width:34px;height:36px;background:var(--accent);color:var(--accent-ink);border-radius:4px 4px 10px 4px;flex:none;}
.paper-header-actions {display:flex;align-items:center;gap:7px;}
.paper-header-actions .icon-btn {width:38px;height:40px;background:transparent;color:var(--text);border:0;}
.paper-language {background:transparent;border:0;border-inline-end:1px solid var(--line);padding:10px 12px;color:var(--text);font:650 12px var(--font);min-height:42px;min-width:42px;}
.app-main {padding:22px 23px 118px;}
.paper-kicker,.paper-page-overline {font-size:10px;letter-spacing:1.5px;font-weight:600;color:var(--accent);margin-bottom:6px;}
[dir="rtl"] .paper-kicker,[dir="rtl"] .paper-page-overline {letter-spacing:0;font-size:12px;}
.paper-title-row {display:flex;justify-content:space-between;align-items:center;gap:12px;}
.paper-title-row h1 {font-size:29px;font-weight:850;line-height:1.6;margin:0;display:flex;align-items:baseline;gap:10px;letter-spacing:-1.2px;}
.paper-count {font-size:14px;font-weight:450;color:var(--muted);letter-spacing:0;}
.paper-add {width:44px;height:44px;flex:none;border:1px solid var(--accent);color:var(--accent);background:transparent;border-radius:50%;display:grid;place-items:center;}
.paper-ledger-summary {display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);margin-top:16px;}
.paper-ledger-summary button {font:inherit;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:10px 0;border:0;background:transparent;color:var(--text);text-align:start;}
.paper-ledger-summary button+button {border-inline-start:1px solid var(--line);padding-inline-start:18px;margin-inline-start:18px;}
.paper-ledger-summary span {font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px;}
.paper-ledger-summary strong {font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;}
.paper-dot {width:5px;height:5px;background:var(--good);border-radius:50%;}
.paper-collection {margin-top:16px;}
.paper-control-wrap {position:relative;}
.paper-control-wrap .search-box {margin-inline-end:52px;}
.paper-refresh {position:absolute;top:0;inset-inline-end:0;display:flex;align-items:center;justify-content:center;gap:5px;width:44px;min-height:46px;font:500 10px var(--font);background:transparent;border:1px solid var(--line);border-radius:5px;padding:0;color:var(--accent);}
.list-controls {gap:9px;margin-bottom:12px;}
.search-box {min-height:46px;background:transparent!important;border:1px solid var(--line)!important;border-radius:5px!important;}
.search-box input {font-size:12px;background:transparent;}
.search-box .icon {color:var(--muted);width:17px;}
.segmented {padding:0!important;gap:5px;background:transparent!important;border-radius:0!important;}
.segmented button {border-radius:3px!important;font-size:11px!important;min-height:35px;box-shadow:none!important;}
.segmented button.active,.segmented button[aria-pressed="true"],.segmented button.selected {background:var(--text)!important;color:var(--bg)!important;}
.controls,.subscription-controls {margin-bottom:17px;}
.paper-receipts {display:grid;gap:19px;margin-top:10px;}
.paper-receipt {background:var(--surface);border:1px solid var(--line);border-radius:5px;overflow:hidden;position:relative;}
.paper-receipt:before {content:"";display:block;height:3px;background:var(--accent);}
.paper-receipt.is-inactive:before {background:var(--line);}
.paper-receipt-top {display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 17px 10px;}
.paper-category {font-size:10px;color:var(--muted);font-weight:450;max-width:65%;overflow-wrap:anywhere;}
.paper-stamp {font-size:10px;color:var(--good);border:1px solid currentColor;padding:2px 6px;border-radius:3px;display:inline-flex;align-items:center;gap:4px;white-space:normal;flex-shrink:0;max-width:62%;line-height:1.8;}
.paper-stamp i {width:4px;height:4px;border-radius:50%;background:currentColor;flex:none;}
.paper-stamp.warning {color:var(--warning);}
.paper-stamp.critical {color:var(--danger);}
.paper-stamp.muted {color:var(--muted);}
.paper-identity {padding:0 17px;display:flex;align-items:center;gap:12px;justify-content:space-between;}
.paper-name {padding:0;border:0;background:transparent;font:700 17px var(--font);color:var(--text);line-height:1.5;overflow-wrap:anywhere;text-align:start;min-width:0;}
.paper-detail {flex:none;width:32px;height:32px;border:0;background:transparent;padding:5px;color:var(--muted);}
.paper-technical {margin:3px 17px 0;font-size:11px;color:var(--muted);overflow-wrap:anywhere;text-align:start;}
.paper-allowance {padding:15px 17px 17px;}
.paper-data-line {display:flex;align-items:baseline;gap:9px;}
.paper-data-value {font-size:49px;font-weight:450;line-height:1.1;letter-spacing:-2.6px;font-variant-numeric:tabular-nums;}
.paper-data-line>span {font-size:11px;color:var(--muted);font-weight:450;}
.paper-ticks {display:flex;gap:3px;height:14px;margin:14px 0 10px;direction:ltr;}
.paper-ticks i {display:block;flex:1;background:var(--surface-2);border:1px solid var(--line);border-radius:1px;}
.paper-ticks i.filled {background:var(--accent);border-color:var(--accent);}
.tone-warning .paper-ticks i.filled {background:var(--warning);border-color:var(--warning);}
.tone-critical .paper-ticks i.filled {background:var(--danger);border-color:var(--danger);}
.paper-usage-caption {display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);}
.paper-usage-caption b {font-size:10px;color:var(--text);font-weight:500;margin-inline-start:2px;}
.paper-caption {display:block;font-size:11px;color:var(--muted);}
.paper-unknown {display:block;font-size:20px;font-weight:500;margin-top:5px;}
.paper-allowance-unknown {padding-top:17px;}
.paper-allowance-unknown>.muted {font-size:10px;}
.paper-allowance-unknown .paper-ticks {margin-top:13px;}
.paper-receipt-meta {margin-inline:17px;display:flex;justify-content:space-between;align-items:center;gap:5px;padding:8px 0 10px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);}
.paper-receipt-meta>span,.paper-receipt-meta>button {display:flex;align-items:center;gap:4px;}
.paper-receipt-meta>button {font:inherit;color:var(--muted);background:transparent;border:0;padding:3px 0;min-height:28px;}
.paper-receipt-foot {border-top:1px dashed var(--line);padding:13px 17px;display:flex;align-items:center;gap:9px;position:relative;}
.paper-receipt-foot:before,.paper-receipt-foot:after {content:"";position:absolute;width:12px;height:12px;border:1px solid var(--line);border-radius:50%;background:var(--bg);top:-7px;}
.paper-receipt-foot:before {left:-7px;}.paper-receipt-foot:after {right:-7px;}
.paper-primary,.paper-qr,.paper-quiet {min-height:42px;border-radius:4px;display:flex;align-items:center;justify-content:center;gap:7px;font:550 11px var(--font);}
.paper-primary {background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);padding:0 16px;}
.paper-qr {background:transparent;border:1px solid var(--line);color:var(--text);width:42px;flex:none;}
.paper-quiet {background:transparent;border:0;color:var(--muted);padding:0 0 0 3px;margin-inline-start:auto;}
[dir="rtl"] .paper-quiet .icon {transform:rotate(180deg);}
.paper-state-note {display:flex;align-items:center;gap:12px;padding:22px 17px;color:var(--danger);}
.paper-state-note>div {display:grid;gap:4px;}
.paper-state-note strong {font-size:13px;font-weight:600;}
.paper-state-note span {font-size:10px;color:var(--muted);line-height:1.8;}
.paper-state-note>.icon {flex:none;}
.is-inactive .paper-receipt-meta {display:none;}
.is-inactive .paper-primary {background:transparent;color:var(--accent);border-color:var(--line);}
.app-nav {position:fixed;bottom:0;inset-inline:0;transform:none;margin-inline:auto;width:100%;max-width:560px;display:grid;grid-template-columns:repeat(3,1fr);padding:10px 18px calc(10px + max(env(safe-area-inset-bottom),var(--host-safe-bottom,0px)));gap:8px;border-top:1px solid var(--line);background:var(--bg);z-index:20;}
.app-nav .paper-tab {display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:0;background:transparent;color:var(--muted);padding:9px 4px;min-height:62px;border-radius:5px;font:500 10px var(--font);}
.app-nav .paper-tab.is-current {background:var(--accent);color:var(--accent-ink);}
.paper-page-overline {margin:2px 0 12px;}
.page-title {font-size:28px!important;font-weight:800;letter-spacing:-.8px;margin-bottom:24px;}
.section-title {font-size:14px;}
.btn {border-radius:4px!important;font-size:12px;min-height:44px;box-shadow:none!important;}
.btn.primary,.primary {background:var(--accent);color:var(--accent-ink);}
.btn.secondary {background:transparent;border:1px solid var(--line);color:var(--text);}
.btn.danger {background:var(--danger);color:var(--bg);}
.panel {border:1px solid var(--line);box-shadow:none;border-radius:5px;background:var(--surface);}
.badge {border-radius:3px!important;font-size:10px;font-weight:500;}
.wallet-card {border-radius:5px!important;background:var(--accent)!important;color:var(--accent-ink)!important;border:0!important;box-shadow:none!important;padding:25px!important;position:relative;}
.wallet-card .muted,.wallet-card p,.wallet-card small {color:var(--accent-ink)!important;opacity:.77;}
.wallet-card strong,.wallet-card .balance {font-weight:450;font-size:35px;letter-spacing:-1px;font-variant-numeric:tabular-nums;}
.wallet-tabs {padding-bottom:7px;border-bottom:1px solid var(--line);}
.wallet-tabs button {border-radius:3px!important;}
.transaction-list {background:var(--surface);border:1px solid var(--line);border-radius:5px;overflow:hidden;}
.transaction {background:transparent!important;border:0!important;border-bottom:1px dashed var(--line)!important;border-radius:0!important;padding:17px!important;box-shadow:none!important;}
.transaction:last-child {border-bottom:0!important;}
.tx-icon {background:var(--surface-2)!important;border-radius:50%!important;width:37px;height:37px;}
.tx-amount {font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;}
.category-list {gap:13px;}
.category-card,.plan-card {border-radius:5px!important;background:var(--surface)!important;border:1px solid var(--line)!important;box-shadow:none!important;position:relative;}
.category-card {padding:21px 18px!important;}
.plan-card {border-inline-start:3px solid var(--accent)!important;}
.plan-list {gap:12px;}
.category-card h3,.plan-card h3 {font-size:16px;font-weight:650;}
.category-card .icon {color:var(--accent);}
.category-card:hover,.plan-card:hover {border-color:var(--accent)!important;}
.field input,.field select,.field textarea {border-radius:4px!important;border-color:var(--line)!important;background:var(--surface)!important;}
.field label {font-size:12px;}
.notice {border-radius:4px;font-size:12px;line-height:1.95;}
.empty {padding:35px 17px;border:1px dashed var(--line);border-radius:5px;background:var(--surface);}
dialog.sheet {background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:14px 14px 0 0;box-shadow:none;}
.sheet-header {border-bottom:1px solid var(--line);padding:22px!important;}
.sheet-header h2 {font-size:19px;font-weight:750;}
.sheet-body {padding:22px!important;}
.sheet-actions {border-top:1px dashed var(--line);background:var(--bg);padding:17px 22px calc(17px + env(safe-area-inset-bottom))!important;}
.fact-list>div {padding:11px 0;border-bottom:1px solid var(--line);}
.fact-list {font-size:12px;}
.progress {border-radius:2px;background:var(--surface-2);}
.progress>span,.progress>i {background:var(--accent);border-radius:2px;}
.toast {background:var(--text);color:var(--bg);border-radius:5px;border:1px solid var(--line);box-shadow:none;line-height:1.9;}
:focus-visible {outline:3px solid var(--accent);outline-offset:4px;}
@media (max-width:380px) {
  .app-header {padding-inline:18px;}.app-main {padding-inline:18px;}.paper-title-row h1 {font-size:25px;}
  .paper-data-value {font-size:44px;}.paper-ledger-summary button+button {margin-inline-start:13px;padding-inline-start:13px;}
  .paper-ledger-summary span {font-size:10px;}.paper-receipt-top {padding-inline:14px;}.paper-primary {padding-inline:12px;}
  .paper-name {font-size:16px;}.paper-usage-caption,.paper-usage-caption b {font-size:10px;}
}
@media (min-width:700px) {
  .app-shell {border-inline:1px solid var(--line);}
  .app-main {padding:32px 32px 125px;}.app-header {padding-inline:32px;}
  .paper-receipt {border-radius:5px;}.paper-data-value {font-size:55px;}
}
@media (prefers-reduced-motion:reduce) {* {scroll-behavior:auto!important;animation:none!important;transition:none!important;}}
