  :root {
    --bg: #0c0c10;
    --surface: #16161d;
    --surface2: #1e1e28;
    --border: #2a2a38;
    --accent-you: #f4a261;
    --accent-wife: #7ec8c8;
    --text: #eeeeff;
    --muted: #6b6b88;
    --green: #52c987;
    --red: #f06080;
    --font: 'Plus Jakarta Sans', sans-serif;
  }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  * { -webkit-tap-highlight-color: transparent !important; }
  *:focus { outline: none !important; }
  /* Hide scrollbar for Chrome, Safari and Opera */
  *::-webkit-scrollbar { display: none; }
  /* Hide scrollbar for IE, Edge and Firefox */
  * { -ms-overflow-style: none; scrollbar-width: none; }
  body {
    font-family: var(--font);
    background: var(--bg);
    color: var(--text);
    min-height: 100vh;
    padding: 28px 16px 80px;
    /* iOS safe area — pushes content below Dynamic Island / notch */
    padding-top: max(28px, env(safe-area-inset-top) + 16px);
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
    padding-bottom: max(90px, env(safe-area-inset-bottom) + 72px);
  }

  .header {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    margin-bottom: 32px;
    gap: 12px;
  }
  .header-left h1 {
    font-size: clamp(1.5rem, 4vw, 2.2rem);
    font-weight: 800;
    letter-spacing: -0.5px;
    background: linear-gradient(110deg, var(--accent-you) 30%, var(--accent-wife));
    -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  }
  .header-left .subtitle { color: var(--muted); font-size: 0.78rem; font-weight: 400; margin-top: 3px; }
  .sync-badge {
    display: flex; align-items: center; gap: 6px;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 100px; padding: 6px 14px;
    font-size: 0.72rem; font-weight: 600; color: var(--muted);
    white-space: nowrap;
  }
  .sync-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); transition: background 0.3s, box-shadow 0.3s; }
  .sync-dot.connecting { background: var(--muted); opacity: 0.4; }
  .sync-dot.live { background: var(--green) !important; box-shadow: 0 0 6px var(--green); opacity: 1; }
  .sync-connecting { opacity: 0.4; }
  #sync-label { transition: opacity 0.3s; }
  /* Account dropdown — fixed on mobile, absolute on desktop */
  #account-dropdown {
    position: absolute;
    right: 0;
    top: 44px;
  }
  @media (max-width: 480px) {
    #account-dropdown {
      position: fixed;
      right: 16px;
      top: 70px;
      left: auto;
    }
  }

  #setup-banner {
    background: linear-gradient(135deg, rgba(244,162,97,0.07), rgba(126,200,200,0.07));
    border: 1px solid rgba(244,162,97,0.22);
    border-radius: 16px; padding: 22px 24px; margin-bottom: 24px;
  }
  #setup-banner h3 { font-size: 0.95rem; font-weight: 700; margin-bottom: 8px; }
  #setup-banner p { font-size: 0.78rem; color: var(--muted); line-height: 1.7; }
  #setup-banner code {
    background: var(--surface2); border: 1px solid var(--border);
    border-radius: 5px; padding: 1px 6px; font-size: 0.78rem; color: var(--accent-you);
    font-family: 'Courier New', monospace;
  }
  .config-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
  @media(max-width:560px){ .config-grid { grid-template-columns: 1fr; } }
  .config-field { display: flex; flex-direction: column; gap: 5px; }
  .config-field label { font-size: 0.66rem; color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; }
  .config-field input {
    background: var(--surface2); border: 1px solid var(--border);
    border-radius: 8px; padding: 9px 12px; color: var(--text);
    font-family: 'Courier New', monospace; font-size: 0.78rem; outline: none; transition: border-color 0.2s;
  }
  .config-field input:focus { border-color: var(--accent-you); }

  .container { max-width: 900px; margin: 0 auto; }
  .tabs { display: flex; gap: 6px; margin-bottom: 26px; flex-wrap: wrap; }
  .tab {
    font-family: var(--font); font-weight: 600; font-size: 0.8rem;
    padding: 8px 18px; border-radius: 100px; border: 1px solid var(--border);
    background: transparent; color: var(--muted); cursor: pointer; transition: all 0.2s;
  }
  .tab:hover { color: var(--text); background: var(--surface2); }
  .tab.active { color: var(--accent-you); border-color: var(--accent-you); background: rgba(244,162,97,0.06); }
  .panel { display: none; }
  .panel.active { display: block; }
  @keyframes shimmer { 0%{transform:translateX(-100%)} 100%{transform:translateX(200%)} }
  @keyframes spin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
  .spinning { display:inline-block; animation:spin 0.8s linear infinite; }

  .summary-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-bottom: 22px; }
  @media (min-width: 600px) { .summary-grid { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); } }
  .stat-card {
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 16px; padding: 20px; position: relative; overflow: hidden;
  }
  .stat-card::after { content:''; position:absolute; top:0; left:0; right:0; height:2px; border-radius:16px 16px 0 0; }
  .stat-card.you::after { background: var(--accent-you); }
  .stat-card.wife::after { background: var(--accent-wife); }
  .stat-card.total::after { background: linear-gradient(90deg, var(--accent-you), var(--accent-wife)); }
  .stat-label { font-size: 0.67rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 10px; }
  .stat-value { font-size: 1.75rem; font-weight: 800; letter-spacing: -1px; }
  .stat-sub { font-size: 0.7rem; color: var(--muted); margin-top: 4px; font-weight: 400; }

  .section-box { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 22px; margin-bottom: 18px; }
  .section-title { font-size: 0.7rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 18px; }

  .card-item { margin-bottom: 16px; }
  .card-item:last-child { margin-bottom: 0; }
  .card-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 7px; }
  .card-name { font-size: 0.83rem; font-weight: 500; display: flex; align-items: center; gap: 8px; }
  .owner-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
  .you-dot { background: var(--accent-you); }
  .wife-dot { background: var(--accent-wife); }
  .card-amount { font-size: 0.85rem; font-weight: 700; }
  .bar-track { height: 5px; background: var(--surface2); border-radius: 4px; overflow: hidden; }
  .bar-fill { height: 100%; border-radius: 4px; transition: width 0.7s cubic-bezier(0.4,0,0.2,1); }
  .you .bar-fill { background: var(--accent-you); }
  .wife .bar-fill { background: var(--accent-wife); }
  .badge { display: inline-block; padding: 1px 8px; border-radius: 100px; font-size: 0.62rem; font-weight: 600; margin-left: 6px; }
  .badge-you { background: rgba(244,162,97,0.12); color: var(--accent-you); }
  .badge-wife { background: rgba(126,200,200,0.12); color: var(--accent-wife); }

  .month-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px,1fr)); gap: 10px; }
  .month-card { background: var(--surface2); border: 1px solid var(--border); border-radius: 12px; padding: 14px; transition: border-color 0.2s; }
  .month-card:hover { border-color: rgba(244,162,97,0.35); }
  .month-name { font-size: 0.8rem; font-weight: 700; margin-bottom: 6px; }
  .month-amount { font-size: 1rem; font-weight: 800; letter-spacing: -0.5px; }
  .month-count { font-size: 0.65rem; color: var(--muted); margin-top: 3px; }

  /* Spending Bar Chart */
  .spending-chart-header { margin-bottom: 12px; }
  .chart-month-label { font-size: 0.78rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 2px; }
  .chart-total-amount { font-size: 1.6rem; font-weight: 900; letter-spacing: -1px; line-height: 1; }
  .chart-total-sub { font-size: 0.7rem; color: var(--muted); margin-top: 3px; }
  .chart-swipe-count { font-size: 0.7rem; color: var(--accent-wife); font-weight: 600; margin-top: 2px; }
  .chart-x-label { font-size: 9px; fill: var(--muted); font-family: var(--font); }
  .chart-avg-label { font-size: 8.5px; fill: var(--muted); font-family: var(--font); }
  .chart-count-label { font-size: 8px; fill: var(--muted); font-family: var(--font); }
  :root { --chart-bar: var(--surface2); }
  [data-theme="dark"] { --chart-bar: #1e3a2e; }
  .chart-bar-group { cursor: pointer; }
  .spending-chart-svg { overflow: visible; display: block; }

  .tx-list { display: flex; flex-direction: column; gap: 8px; }
  .tx-item { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 13px 16px; display: flex; align-items: center; gap: 12px; }
  .tx-cat-icon { width: 38px; height: 38px; border-radius: 10px; background: var(--surface2); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
  .tx-info { flex: 1; min-width: 0; }
  .tx-desc { font-size: 0.83rem; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .tx-meta { font-size: 0.67rem; color: var(--muted); margin-top: 3px; }
  .tx-right { text-align: right; flex-shrink: 0; }
  .tx-amount { font-size: 0.95rem; font-weight: 800; letter-spacing: -0.5px; }
  .tx-card-name { font-size: 0.66rem; color: var(--muted); margin-top: 2px; }
  .btn-del { background: rgba(240,96,128,0.1); border: none; cursor: pointer; color: var(--red); border-radius: 6px; font-size: 0.67rem; font-weight: 600; padding: 3px 9px; margin-top: 4px; font-family: var(--font); }

  .form-card { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 28px; }
  .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  @media(max-width:560px){ .form-grid { grid-template-columns: 1fr; } }
  .form-grid input[type="date"] { width: 100%; box-sizing: border-box; }
  .field { display: flex; flex-direction: column; gap: 6px; }
  .field.full { grid-column: 1/-1; }
  .field label { font-size: 0.67rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.6px; }
  input, select, textarea {
    background: var(--surface2); border: 1px solid var(--border);
    border-radius: 10px; padding: 11px 14px;
    color: var(--text); font-family: var(--font); font-size: 16px;
    outline: none; transition: border-color 0.2s; width: 100%;
  }
  input:focus, select:focus, textarea:focus { border-color: var(--accent-you); }
  select option { background: #1e1e28; }
  textarea { resize: vertical; min-height: 68px; }
  .btn { font-family: var(--font); font-weight: 700; font-size: 0.88rem; padding: 13px 26px; border-radius: 11px; border: none; cursor: pointer; transition: opacity 0.2s, transform 0.1s; }
  .btn:active { transform: scale(0.97); }
  .btn-primary { background: linear-gradient(135deg, var(--accent-you), #d9612a); color: #fff; }
  .btn-primary:hover { opacity: 0.88; }
  .form-actions { margin-top: 18px; display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
  .success-msg { font-size: 0.76rem; font-weight: 600; color: var(--green); opacity: 0; transition: opacity 0.3s; }
  .success-msg.show { opacity: 1; }
  .warn-msg { font-size: 0.74rem; color: #f0c060; font-weight: 500; margin-top: 10px; display: none; }
  .warn-msg.show { display: block; }

  .credit-cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px,1fr)); gap: 12px; margin-bottom: 22px; }
  .credit-card-vis { border-radius: 14px; padding: 18px; position: relative; min-height: 108px; display: flex; flex-direction: column; justify-content: space-between; }
  .cc-you { background: linear-gradient(135deg, #281608, #5c2f12); border: 1px solid rgba(244,162,97,0.3); }
  .cc-wife { background: linear-gradient(135deg, #081b1b, #0f3535); border: 1px solid rgba(126,200,200,0.3); }
  .cc-name { font-size: 0.88rem; font-weight: 700; }
  .cc-owner { font-size: 0.65rem; opacity: 0.5; margin-top: 2px; }
  .cc-total { font-size: 1.25rem; font-weight: 800; letter-spacing: -0.5px; }
  .cc-label { font-size: 0.62rem; opacity: 0.4; }
  .delete-btn { position: absolute; top: 10px; right: 10px; background: rgba(240,96,128,0.1); border: none; cursor: pointer; color: var(--red); border-radius: 6px; font-size: 0.67rem; font-weight: 600; padding: 3px 8px; font-family: var(--font); }
  .add-card-form { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; }
  .add-card-form .field { flex: 1; min-width: 130px; }
  .no-data { color: var(--muted); font-size: 0.82rem; text-align: center; padding: 48px 0; }
  .filter-row { display: flex; gap: 10px; flex-wrap: wrap; }
  .filter-row select { padding: 8px 12px; font-size: 0.78rem; flex:1; min-width: 120px; }

  /* Login screen */
  .login-screen {
    position: fixed; inset: 0; z-index: 9999;
    background: var(--bg);
    display: flex; flex-direction: column; align-items: center;
    padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
    overflow-y: auto;
  }
  .login-screen::before, .login-screen::after {
    content: ''; margin: auto;
  }
  .login-box {
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 24px; padding: 24px 28px;
    width: 100%; max-width: 380px; text-align: center;
    flex-shrink: 0;
  }
  .login-logo { font-size: 2rem; margin-bottom: 8px; }
  .login-title { font-size: 1.3rem; font-weight: 800; letter-spacing: -0.5px; margin-bottom: 4px;
    background: linear-gradient(110deg, var(--accent-you) 30%, var(--accent-wife));
    -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  }
  .login-sub { font-size: 0.78rem; color: var(--muted); margin-bottom: 20px; }
  .login-input-wrap { position: relative; margin-bottom: 14px; }
  .login-input {
    width: 100%; padding: 14px 48px 14px 16px;
    background: var(--surface2); border: 1.5px solid var(--border);
    border-radius: 12px; color: var(--text); font-family: var(--font);
    font-size: 1rem; outline: none; transition: border-color 0.2s; text-align: center;
    letter-spacing: 2px;
  }
  .login-input:focus { border-color: var(--accent-you); }
  .login-toggle {
    position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
    background: none; border: none; cursor: pointer; color: var(--muted); font-size: 1.1rem;
  }
  .login-btn {
    width: 100%; padding: 14px; border-radius: 12px; border: none;
    background: linear-gradient(135deg, var(--accent-you), #d9612a);
    color: #fff; font-family: var(--font); font-size: 1rem; font-weight: 800;
    cursor: pointer; transition: opacity 0.2s, transform 0.1s; margin-bottom: 12px;
  }
  .login-btn:active { transform: scale(0.98); }
  .login-btn:hover { opacity: 0.88; }
  .login-error { font-size: 0.78rem; color: var(--red); font-weight: 600; min-height: 20px; margin-top: 4px; }
  .auth-divider {
    display: flex; align-items: center; gap: 12px;
    margin: 10px 0; color: var(--muted); font-size: 0.75rem;
  }
  .auth-divider::before, .auth-divider::after {
    content: ''; flex: 1; height: 1px; background: var(--border);
  }
  .google-btn {
    width: 100%; padding: 13px; border-radius: 12px;
    border: 1px solid var(--border); background: var(--surface2);
    color: var(--text); font-family: var(--font); font-size: 0.88rem;
    font-weight: 600; cursor: pointer; display: flex; align-items: center;
    justify-content: center; gap: 10px; transition: border-color 0.2s, background 0.2s;
  }
  .google-btn:hover { border-color: #4285f4; background: rgba(66,133,244,0.06); }

  /* Safe area for notched phones */
  body { padding-bottom: max(80px, calc(60px + env(safe-area-inset-bottom))); }

  /* Install banner */
  .install-banner {
    background: linear-gradient(135deg, rgba(244,162,97,0.1), rgba(126,200,200,0.1));
    border: 1px solid rgba(244,162,97,0.25);
    border-radius: 14px; padding: 14px 18px;
    display: flex; align-items: center; gap: 14px;
    margin-bottom: 20px; cursor: pointer;
  }
  .install-banner-icon { font-size: 1.6rem; flex-shrink: 0; }
  .install-banner-text { flex: 1; }
  .install-banner-title { font-size: 0.85rem; font-weight: 700; margin-bottom: 2px; }
  .install-banner-sub { font-size: 0.72rem; color: var(--muted); }
  .install-banner-btn {
    background: linear-gradient(135deg, var(--accent-you), #d9612a);
    color: #fff; border: none; border-radius: 8px;
    padding: 8px 14px; font-family: var(--font);
    font-size: 0.75rem; font-weight: 700; cursor: pointer; white-space: nowrap;
  }
  .install-banner-close {
    background: none; border: none; color: var(--muted);
    cursor: pointer; font-size: 1rem; padding: 4px; flex-shrink: 0;
  }
  .fab {
    position: fixed; bottom: 28px; right: 24px; z-index: 1000;
    width: 62px; height: 62px; border-radius: 50%;
    background: linear-gradient(135deg, var(--accent-you), #d9612a);
    border: none; cursor: pointer; box-shadow: 0 6px 24px rgba(244,162,97,0.45);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.6rem; transition: transform 0.2s, box-shadow 0.2s;
  }
  .fab:hover { transform: scale(1.08); box-shadow: 0 8px 30px rgba(244,162,97,0.55); }
  .fab:active { transform: scale(0.95); }
  .fab-label {
    position: fixed; bottom: 34px; right: 96px; z-index: 1000;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 100px; padding: 6px 14px;
    font-size: 0.75rem; font-weight: 700; color: var(--text);
    box-shadow: 0 4px 16px rgba(0,0,0,0.3); white-space: nowrap;
    pointer-events: none;
  }

  /* Goals */
  .goal-card { background:var(--surface2); border:1px solid var(--border); border-radius:16px; padding:20px; margin-bottom:14px; }
  .goal-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:14px; gap:12px; }
  .goal-title { font-size:1rem; font-weight:800; display:flex; align-items:center; gap:8px; }
  .goal-amounts { text-align:right; flex-shrink:0; }
  .goal-saved-val { font-size:1rem; font-weight:800; color:var(--green); }
  .goal-target-val { font-size:0.7rem; color:var(--muted); margin-top:2px; }
  .goal-bar-track { height:10px; background:var(--surface); border-radius:6px; overflow:hidden; margin-bottom:10px; }
  .goal-bar-fill { height:100%; border-radius:6px; transition:width 0.8s cubic-bezier(0.4,0,0.2,1); background:linear-gradient(90deg,var(--green),#7ec8c8); }
  .goal-bar-fill.complete { background:linear-gradient(90deg,#f4a261,var(--green)); }
  .goal-meta { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; font-size:0.72rem; color:var(--muted); }
  .goal-actions { display:flex; gap:8px; }
  .goal-add-btn { padding:6px 14px; border-radius:8px; border:none; background:rgba(82,201,135,0.15); color:var(--green); font-family:var(--font); font-size:0.74rem; font-weight:700; cursor:pointer; }
  .goal-del-btn { padding:6px 10px; border-radius:8px; border:none; background:rgba(240,96,128,0.1); color:var(--red); font-family:var(--font); font-size:0.74rem; font-weight:700; cursor:pointer; }
  .goal-complete-badge { display:inline-flex; align-items:center; gap:4px; background:rgba(82,201,135,0.15); color:var(--green); padding:4px 12px; border-radius:100px; font-size:0.72rem; font-weight:700; }

  /* Spending alerts */
  .alert-banner { display:flex; align-items:flex-start; gap:12px; background:rgba(240,192,96,0.08); border:1px solid rgba(240,192,96,0.25); border-radius:14px; padding:14px 16px; margin-bottom:12px; }
  .alert-banner.danger { background:rgba(240,96,128,0.08); border-color:rgba(240,96,128,0.25); }
  .alert-icon { font-size:1.3rem; flex-shrink:0; }
  .alert-text { flex:1; }
  .alert-title { font-size:0.82rem; font-weight:700; margin-bottom:2px; color:#f0c060; }
  .alert-banner.danger .alert-title { color:var(--red); }
  .alert-sub { font-size:0.72rem; color:var(--muted); }

  /* Weekly summary */
  .week-compare { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:16px; }
  .week-card { background:var(--surface2); border:1px solid var(--border); border-radius:12px; padding:14px 16px; }
  .week-label { font-size:0.62rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:0.8px; margin-bottom:6px; }
  .week-amount { font-size:1.15rem; font-weight:800; letter-spacing:-0.5px; }
  .week-diff { font-size:0.7rem; margin-top:4px; font-weight:600; }
  .week-diff.up { color:var(--red); }
  .week-diff.down { color:var(--green); }

  /* Import */
  #import-dropzone.drag-over { border-color:var(--accent-you); background:rgba(244,162,97,0.05); }
  .import-tx-row { display:flex; align-items:center; gap:10px; background:var(--surface2); border:1px solid var(--border); border-radius:10px; padding:10px 12px; transition: border-color 0.15s, background 0.15s; }
  .import-tx-row:has(input:checked) { border-color: rgba(244,162,97,0.4); background: rgba(244,162,97,0.05); }
  .import-tx-row:has(input:not(:checked)) { opacity: 0.5; }
  .import-tx-emoji { font-size:1.3rem; flex-shrink:0; }
  .import-tx-info { flex:1; min-width:0; }
  .import-tx-desc { font-size:0.82rem; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .import-tx-meta { font-size:0.68rem; color:var(--muted); margin-top:2px; }
  .import-tx-amount { font-size:0.9rem; font-weight:800; flex-shrink:0; color:var(--accent-you); }
  .import-tx-cat { font-size:0.68rem; background:rgba(244,162,97,0.12); color:var(--accent-you); padding:3px 8px; border-radius:100px; font-weight:600; flex-shrink:0; white-space:nowrap; }
  .import-tx-remove { background:none; border:none; cursor:pointer; color:var(--red); font-size:1rem; padding:0 2px; flex-shrink:0; }

  .income-card {
    background: var(--surface2); border: 1px solid var(--border);
    border-radius: 12px; padding: 14px 16px;
  }
  .income-card-label { font-size:0.67rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:0.6px; margin-bottom:8px; }
  .income-card-value { font-size:1.1rem; font-weight:800; letter-spacing:-0.5px; }
  .income-card-sub { font-size:0.68rem; color:var(--muted); margin-top:3px; }
  .income-card.positive .income-card-value { color:var(--green); }
  .income-card.negative .income-card-value { color:var(--red); }
  .income-card.accent::after { content:''; display:block; height:2px; border-radius:2px; margin-top:10px;
    background: linear-gradient(90deg, var(--accent-you), var(--accent-wife)); }

  /* Budget */
  .budget-limit-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:6px 0; }
  .budget-limit-label { font-size:0.82rem; font-weight:600; min-width:155px; flex:1; display:flex; align-items:center; gap:6px; }
  .budget-limit-input { width:110px; padding:8px 12px; font-size:0.85rem; flex-shrink:0; }
  .budget-bar-wrap { flex:1; min-width:100px; }
  .budget-bar-track { height:5px; background:var(--surface2); border-radius:4px; overflow:hidden; margin-top:5px; }
  .budget-bar-used { height:100%; border-radius:4px; transition:width 0.6s cubic-bezier(0.4,0,0.2,1); }
  .budget-pct { font-size:0.7rem; font-weight:700; }
  .col-over { color:var(--red); }
  .col-ok { color:var(--green); }
  .col-warn { color:#f0c060; }
  .pie-slice { cursor:pointer; transition:opacity 0.15s; }
  .pie-slice:hover { opacity:0.82; }
  .legend-item { display:flex; align-items:center; gap:10px; cursor:pointer; padding:3px 0; }
  .legend-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
  .legend-text { flex:1; font-size:0.78rem; font-weight:500; }
  .legend-amount { font-size:0.8rem; font-weight:700; }
  .legend-pct { font-size:0.67rem; color:var(--muted); }
  .breakdown-row { display:flex; justify-content:space-between; align-items:center; padding:11px 0; border-bottom:1px solid var(--border); }
  .breakdown-row:last-child { border-bottom:none; }
  .breakdown-cat { font-size:0.82rem; font-weight:500; display:flex; align-items:center; gap:8px; }
  .breakdown-right { text-align:right; }
  .breakdown-total { font-size:0.88rem; font-weight:700; }
  .breakdown-limit { font-size:0.68rem; color:var(--muted); margin-top:2px; }
  .warning-item { display:flex; justify-content:space-between; align-items:center; padding:10px 14px; background:rgba(240,96,128,0.08); border-radius:10px; font-size:0.82rem; }
  .warning-item strong { color:var(--red); }

  /* Quick Swipe modal */
  .qs-overlay {
    position: fixed; inset: 0; z-index: 2000;
    background: rgba(0,0,0,0.7); backdrop-filter: blur(4px);
    display: flex; align-items: flex-end; justify-content: center;
    opacity: 0; pointer-events: none; transition: opacity 0.25s;
  }
  .qs-overlay.open { opacity: 1; pointer-events: all; }
  .qs-sheet {
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 24px 24px 0 0; padding: 28px 24px max(40px, env(safe-area-inset-bottom) + 16px);
    width: 100%; max-width: 500px;
    transform: translateY(100%); transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
    position: relative; max-height: 75dvh; overflow-y: auto;
  }
  .qs-overlay.open .qs-sheet { transform: translateY(0); }
  .qs-handle { width: 40px; height: 4px; background: var(--border); border-radius: 4px; margin: 0 auto 20px; }
  .qs-title { font-size: 1.1rem; font-weight: 800; margin-bottom: 20px; text-align: center; }

  /* Card picker */
  .qs-cards { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
  .qs-card-btn {
    flex: 1; min-width: 120px; padding: 10px 12px; border-radius: 10px;
    border: 1.5px solid var(--border); background: var(--surface2);
    color: var(--text); font-family: var(--font); font-size: 0.78rem; font-weight: 600;
    cursor: pointer; transition: all 0.15s; text-align: left;
  }
  .qs-card-btn:hover { border-color: var(--accent-you); }
  .qs-card-btn.selected { border-color: var(--accent-you); background: rgba(244,162,97,0.1); color: var(--accent-you); }
  .qs-card-btn.selected-wife { border-color: var(--accent-wife); background: rgba(126,200,200,0.1); color: var(--accent-wife); }
  .qs-card-owner { font-size: 0.62rem; opacity: 0.6; display: block; margin-top: 2px; font-weight: 400; }

  /* Amount input big */
  .qs-amount-wrap { position: relative; margin-bottom: 16px; }
  .qs-dollar { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); font-size: 1.5rem; font-weight: 700; color: var(--muted); }
  .qs-amount {
    width: 100%; padding: 18px 18px 18px 44px;
    font-size: 2rem; font-weight: 800; letter-spacing: -1px;
    background: var(--surface2); border: 1.5px solid var(--border);
    border-radius: 14px; color: var(--text); font-family: var(--font);
    outline: none; transition: border-color 0.2s;
  }
  .qs-amount:focus { border-color: var(--accent-you); }

  /* Category quick pills */
  .qs-cats { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }
  .qs-cat {
    padding: 7px 13px; border-radius: 100px;
    border: 1px solid var(--border); background: var(--surface2);
    color: var(--muted); font-family: var(--font); font-size: 0.76rem; font-weight: 600;
    cursor: pointer; transition: all 0.15s;
  }
  .qs-cat.selected { border-color: var(--accent-you); background: rgba(244,162,97,0.1); color: var(--accent-you); }
  .qs-save {
    width: 100%; padding: 16px; border-radius: 14px; border: none;
    background: linear-gradient(135deg, var(--accent-you), #d9612a);
    color: #fff; font-family: var(--font); font-size: 1rem; font-weight: 800;
    cursor: pointer; transition: opacity 0.2s, transform 0.1s;
    letter-spacing: -0.3px;
  }
  .qs-save:active { transform: scale(0.98); opacity: 0.9; }
  .qs-success {
    text-align: center; padding: 24px 0; display: none;
  }
  .qs-success-icon { font-size: 3rem; margin-bottom: 10px; }
  .qs-success-text { font-size: 1rem; font-weight: 700; color: var(--green); }
  .qs-success-sub { font-size: 0.78rem; color: var(--muted); margin-top: 4px; }

  /* ── BOTTOM NAV ── */
  .bottom-nav {
    position: fixed; bottom: 0; left: 0; right: 0;
    display: flex; background: rgba(12,12,16,0.97);
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid var(--border);
    padding-bottom: env(safe-area-inset-bottom);
    z-index: 900;
  }
  .nav-item {
    flex: 1; display: flex; flex-direction: column; align-items: center;
    justify-content: center; gap: 3px; background: none; border: none;
    color: var(--muted); font-family: var(--font); font-size: 0.6rem;
    font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px;
    cursor: pointer; padding: 8px 0; transition: color 0.15s;
  }
  .nav-item svg { width: 22px; height: 22px; stroke-width: 1.8; }
  .nav-item.active { color: var(--accent-you) !important; }
  .nav-item.active svg { stroke: var(--accent-you) !important; }

  /* ── TX SWIPE ── */
  .tx-wrap { position: relative; overflow: hidden; border-radius: 12px; margin-bottom: 6px; }
  .tx-wrap .tx-item { position: relative; z-index: 1; will-change: transform; user-select: none; cursor: pointer; }
  .tx-delete-bg {
    position: absolute; right: 0; top: 0; bottom: 0; width: 90px;
    background: linear-gradient(90deg, transparent, rgba(240,96,128,0.9));
    display: flex; align-items: center; justify-content: flex-end;
    padding-right: 22px; opacity: 0; border-radius: 12px; font-size: 1.3rem;
    pointer-events: none;
  }

  /* ── UNDO TOAST ── */
  #undo-toast {
    position: fixed; bottom: 100px; left: 50%;
    transform: translateX(-50%) translateY(80px);
    background: #1e1e26; border: 1px solid rgba(255,255,255,0.15);
    border-radius: 16px; padding: 14px 16px;
    min-width: 300px; max-width: 92vw;
    box-shadow: 0 8px 40px rgba(0,0,0,0.6);
    z-index: 99999; opacity: 0;
    transition: opacity 0.25s ease, transform 0.25s ease;
    pointer-events: none;
    display: flex; flex-direction: column; gap: 10px;
  }
  #undo-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); pointer-events: auto; }
  #undo-toast-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
  #undo-toast-msg { font-size: 0.82rem; color: rgba(255,255,255,0.7); flex: 1; }
  #undo-btn { background: var(--accent-you); border: none; border-radius: 8px; padding: 8px 18px; color: #fff; font-size: 0.82rem; font-weight: 800; cursor: pointer; white-space: nowrap; font-family: var(--font); }
  #undo-progress-track { height: 3px; background: rgba(255,255,255,0.1); border-radius: 2px; overflow: hidden; }
  #undo-progress { height: 100%; background: var(--accent-you); width: 100%; border-radius: 2px; transition: width 5s linear; }

  /* ── RECENTLY DELETED SHEET ── */
  .sheet-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.75); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); z-index: 3500; align-items: flex-end; justify-content: center; }
  .sheet-overlay.open { display: flex; }
  body.scroll-locked { overflow: hidden; position: fixed; width: 100%; }
  .sheet-modal { background: var(--surface); border: 1px solid var(--border); border-radius: 24px 24px 0 0; width: 100%; max-width: 560px; max-height: 75dvh; display: flex; flex-direction: column; overflow: hidden; padding-bottom: calc(env(safe-area-inset-bottom) + 16px); margin-bottom: calc(-1 * env(safe-area-inset-bottom)); }
  .sheet-handle { width: 40px; height: 4px; background: var(--border); border-radius: 4px; margin: 14px auto 0; flex-shrink: 0; }
  .sheet-header { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px 10px; flex-shrink: 0; }
  .sheet-body { overflow-y: auto; flex: 1; padding: 0 12px 20px; }
  .sheet-close { background: var(--surface2); border: none; border-radius: 50%; width: 28px; height: 28px; color: var(--muted); cursor: pointer; font-size: 1rem; display: flex; align-items: center; justify-content: center; }

  /* ── MINI MODAL SYSTEM ── */
  .mini-modal-overlay {
    display: none; position: fixed; inset: 0; z-index: 5000;
    background: rgba(0,0,0,0.7); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    align-items: center; justify-content: center; padding: 20px;
  }
  .mini-modal-overlay.open { display: flex; }
  .mini-modal {
    background: var(--surface); border: 1px solid var(--border); border-radius: 28px;
    padding: 20px; width: 100%; max-width: 360px; max-height: 80vh; 
    overflow-y: auto; position: relative; box-shadow: 0 20px 60px rgba(0,0,0,0.6);
  }
  .modal-close {
    position: absolute; top: 14px; right: 14px; width: 28px; height: 28px;
    background: var(--surface2); border: none; border-radius: 50%;
    color: var(--muted); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 0.9rem;
  }
  .profile-section { margin-bottom: 20px; }
  .profile-section-title { font-size: 0.65rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; color: var(--muted); margin-bottom: 14px; }
  .profile-field { margin-bottom: 14px; }
  .profile-field label { display: block; font-size: 0.67rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.6px; margin-bottom: 6px; }

  /* ── FAB with menu ── */
  .fab-plus {
    position: fixed; bottom: calc(env(safe-area-inset-bottom) + 72px); right: 20px;
    width: 56px; height: 56px; border-radius: 50%;
    background: var(--surface2); border: 2px solid var(--border); color: var(--accent-you);
    cursor: pointer; box-shadow: 0 4px 20px rgba(0,0,0,0.5);
    display: flex; align-items: center; justify-content: center;
    transition: box-shadow 0.2s, border-color 0.2s, transform 0.2s; z-index: 800;
    transform: translateZ(0); 
  }
  .fab-plus:hover { box-shadow: 0 6px 28px rgba(0,0,0,0.6); }
  .fab-plus:active { transform: scale(0.95) translateZ(0); }
  .fab-plus.open { border-color: var(--accent-you); box-shadow: 0 6px 28px rgba(244,162,97,0.25); }
  .fab-plus.open #fab-plus-icon { transform: rotate(45deg); color: var(--red); }

  .fab-menu {
    position: fixed; bottom: calc(env(safe-area-inset-bottom) + 140px); right: 20px;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 14px; padding: 8px; min-width: 200px; z-index: 800;
    box-shadow: 0 8px 32px rgba(0,0,0,0.4); display: flex; flex-direction: column; gap: 2px;
    opacity: 0; pointer-events: none; transform: translateY(10px) scale(0.95);
    transition: all 0.2s cubic-bezier(0.4,0,0.2,1); transform-origin: bottom right;
  }
  .fab-menu.open { opacity: 1; pointer-events: all; transform: translateY(0) scale(1); }


  @keyframes splash-bar {
    0%   { transform: translateX(-100%); }
    50%  { transform: translateX(0%); }
    100% { transform: translateX(100%); }
  }

  /* ── WAITLIST SCREEN ────────────────────────────────────────── */
  #waitlist-screen {
    position: fixed;
    inset: 0;
    background: var(--bg);
    z-index: 9998;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    font-family: var(--font);
  }

  .waitlist-consent-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.82rem;
    color: var(--muted);
    text-align: left;
    margin: 4px 0 12px;
    cursor: pointer;
  }
  .waitlist-consent-label input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: var(--accent);
    width: 16px;
    height: 16px;
    cursor: pointer;
  }

  /* ── EMAIL VERIFICATION SCREEN ──────────────────────────────── */
  #verification-screen {
    position: fixed;
    inset: 0;
    background: var(--bg);
    z-index: 9998;
    align-items: center;
    justify-content: center;
    padding: 24px;
    font-family: var(--font);
  }
  .verification-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 40px 28px;
    max-width: 360px;
    width: 100%;
    text-align: center;
  }
  .verification-icon {
    font-size: 3rem;
    margin-bottom: 16px;
  }
  .verification-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--text);
    margin: 0 0 8px;
  }
  .verification-subtitle {
    font-size: 0.85rem;
    color: var(--muted);
    margin: 0 0 4px;
  }
  .verification-email {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--accent-you);
    margin: 0 0 16px;
    word-break: break-all;
  }
  .verification-hint {
    font-size: 0.82rem;
    color: var(--muted);
    line-height: 1.6;
    margin: 0 0 28px;
  }
  .verification-btn {
    width: 100%;
    margin-bottom: 12px;
  }
  .verification-resend-btn {
    width: 100%;
    background: var(--surface2);
    color: var(--text);
    border: 1px solid var(--border);
    margin-bottom: 10px;
  }
  .verification-signout-btn {
    width: 100%;
    background: transparent;
    color: var(--muted);
    border: none;
    font-size: 0.8rem;
  }


/* ── CSP cleanup: utility & component classes (auto-generated) ── */
.u-hidden { display:none; }
.u-mb-4 { margin-bottom:4px; }
.u-mb-6 { margin-bottom:6px; }
.u-mb-8 { margin-bottom:8px; }
.u-mb-10 { margin-bottom:10px; }
.u-mb-12 { margin-bottom:12px; }
.u-mb-14 { margin-bottom:14px; }
.u-mb-16 { margin-bottom:16px; }
.u-mb-18 { margin-bottom:18px; }
.u-mb-20 { margin-bottom:20px; }
.u-mb-24 { margin-bottom:24px; }
.u-mb-28 { margin-bottom:28px; }
.u-mt-2 { margin-top:2px; }
.u-mt-3 { margin-top:3px; }
.u-mt-4 { margin-top:4px; }
.u-mt-6 { margin-top:6px; }
.u-mt-8 { margin-top:8px; }
.u-mt-10 { margin-top:10px; }
.u-mt-12 { margin-top:12px; }
.u-mt-14 { margin-top:14px; }
.u-mt-16 { margin-top:16px; }
.u-m-0 { margin:0; }
.u-mt-0 { margin-top:0; }
.u-text-center { text-align:center; }
.u-text-right { text-align:right; }
.u-text-left { text-align:left; }
.u-w-full { width:100%; }
.u-flex-gap-8 { display:flex; gap:8px; }
.u-flex-gap-10 { display:flex; gap:10px; }
.u-flex-gap-12 { display:flex; gap:12px; }
.u-flex-col-gap-8 { display:flex; flex-direction:column; gap:8px; }
.u-flex-col-gap-10 { display:flex; flex-direction:column; gap:10px; }
.u-flex-col-gap-4 { display:flex; flex-direction:column; gap:4px; }
.u-flex-1 { flex:1; }
.u-color-muted { color:var(--muted); }
.u-color-text { color:var(--text); }
.u-color-accent-you { color:var(--accent-you); }
.u-color-red { color:var(--red); }
.u-color-green { color:var(--green); }
.u-opacity-07 { opacity:0.7; }
.u-opacity-05 { opacity:0.5; }
.u-opacity-085 { opacity:0.85; }
.s-positi-fixed--inset-0--backgr-bg { position:fixed; inset:0; background:var(--bg); z-index:9999; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; transition:opacity 0.4s ease; }
.s-fontsi-4r { font-size:4rem; }
.s-fontsi-1-4r--fontwe-800--letter--0-5 { font-size:1.4rem; font-weight:800; letter-spacing:-0.5px; background:linear-gradient(110deg,var(--accent-you) 30%,var(--accent-wife)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.s-width-36--height-3--border-2 { width:36px; height:3px; border-radius:2px; background:var(--border); overflow:hidden; }
.s-height-100pct--backgr-linear-g--animat-s { height:100%; background:linear-gradient(90deg,var(--accent-you),var(--accent-wife)); animation:splash-bar 1.8s ease-in-out infinite; }
.s-fontsi-0-9r--margin-5-0-10-0 { font-size:0.9rem; margin:5px 0 10px 0; }
.s-displa-flex--gap-0--backgr-surface2 { display:flex; gap:0; background:var(--surface2); border-radius:12px; padding:4px; }
.s-paddin-8--border-none--border-9 { padding:8px; border:none; border-radius:9px; font-family:var(--font); font-size:0.8rem; font-weight:700; cursor:pointer; background:var(--accent-you); color:#fff; transition:all 0.2s; }
.s-paddin-8--border-none--border-92 { padding:8px; border:none; border-radius:9px; font-family:var(--font); font-size:0.8rem; font-weight:700; cursor:pointer; background:transparent; transition:all 0.2s; }
.s-backgr-none--border-none--fontsi-0-75r { background:none; border:none; font-size:0.75rem; cursor:pointer; font-family:var(--font); }
.s-margin-24--paddin-20--border-1-solid- { margin-top:24px; padding-top:20px; border-top:1px solid var(--border); }
.s-backgr-none--border-none--fontsi-0-78r { background:none; border:none; font-size:0.78rem; cursor:pointer; font-family:var(--font); text-decoration:underline; }
.s-backgr-surface2--border-1-solid---border { background:var(--surface2); border:1px solid var(--border); border-radius:10px; padding:12px 14px; }
.s-displa-flex--aligni-flex-sta--gap-10 { display:flex; align-items:flex-start; gap:10px; cursor:pointer; }
.s-width-16--height-16--accent-accent-y { width:16px; height:16px; accent-color:var(--accent-you); flex-shrink:0; }
.s-fontsi-0-72r--linehe-1-6 { font-size:0.72rem; line-height:1.6; }
.s-backgr-none--border-none--fontsi-0-72r { background:none; border:none; font-size:0.72rem; cursor:pointer; font-family:var(--font); text-decoration:underline; padding:0; }
.s-backgr-linear-g--opacit-0-4--pointe-none { background:linear-gradient(135deg,var(--accent-wife),#5aacac); opacity:0.4; pointer-events:none; }
.s-opacit-0-4--pointe-none { opacity:0.4; pointer-events:none; }
.s-fontsi-0-7r--linehe-1-6 { font-size:0.7rem; line-height:1.6; }
.s-fontsi-0-7r { font-size:0.7rem; }
.s-displa-flex--gap-6--justif-center { display:flex; gap:6px; justify-content:center; align-items:center; }
.s-backgr-none--border-none--fontsi-0-72r2 { background:none; border:none; font-size:0.72rem; cursor:pointer; font-family:var(--font); text-decoration:underline; }
.s-fontsi-0-72r { font-size:0.72rem; }
.s-backgr-none--border-none--cursor-pointer { background:none; border:none; cursor:pointer; font-family:var(--font); text-decoration:underline; }
.s-fontsi-0-68r { font-size:0.68rem; }
.s-fontsi-0-65r { font-size:0.65rem; }
.s-positi-fixed--inset-0--zindex-10000 { position:fixed; inset:0; z-index:10000; background:rgba(0,0,0,0.75); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); align-items:center; justify-content:center; padding:20px; }
.s-backgr-surface--border-1-solid---border- { background:var(--surface); border:1px solid var(--border); border-radius:24px; padding:24px; max-width:360px; position:relative; }
.s-positi-absolute--top-14--right-14 { position:absolute; top:14px; right:14px; width:28px; height:28px; background:var(--surface2); border:none; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:0.9rem; }
.s-fontsi-1r--fontwe-800 { font-size:1rem; font-weight:800; }
.s-fontsi-0-82r--linehe-1-7 { font-size:0.82rem; line-height:1.7; }
.s-positi-fixed--inset-0--backgr-rgba0000 { position:fixed; inset:0; background:rgba(0,0,0,0.7); backdrop-filter:blur(4px); z-index:3000; align-items:center; justify-content:center; padding:24px; }
.s-backgr-surface--border-1-solid---border-2 { background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:28px; max-width:360px; }
.s-displa-flex--justif-space-be--aligni-cen { display:flex; justify-content:space-between; align-items:center; }
.s-backgr-none--border-none--fontsi-1-2r { background:none; border:none; font-size:1.2rem; cursor:pointer; }
.s-fontsi-0-78r--linehe-1-6 { font-size:0.78rem; line-height:1.6; }
.s-backgr-surface2--border-1-5-soli--border { background:var(--surface2); border:1.5px solid var(--border); border-radius:12px; padding:14px 16px; font-family:var(--font); font-size:1rem; font-weight:600; outline:none; }
.s-paddin-14--border-14--border-none { padding:14px; border-radius:14px; border:none; background:linear-gradient(135deg,var(--accent-you),#d9612a); color:#fff; font-family:var(--font); font-size:1rem; font-weight:800; cursor:pointer; }
.s-positi-fixed--inset-0--backgr-rgba00002 { position:fixed; inset:0; background:rgba(0,0,0,0.92); backdrop-filter:blur(6px); z-index:9800; align-items:center; justify-content:center; padding:24px; }
.s-backgr-surface--border-1-solid---border-3 { background:var(--surface); border:1px solid var(--border); border-radius:24px; padding:32px 28px; max-width:380px; }
.s-fontsi-2-5r { font-size:2.5rem; }
.s-fontsi-1-1r--fontwe-800 { font-size:1.1rem; font-weight:800; }
.s-fontsi-0-8r--linehe-1-6 { font-size:0.8rem; line-height:1.6; }
.s-backgr-surface2--border-1-solid---border2 { background:var(--surface2); border:1px solid var(--border); border-radius:12px; padding:14px; }
.s-linehe-1-6 { line-height:1.6; }
.s-backgr-none--border-none--cursor-pointer2 { background:none; border:none; cursor:pointer; font-family:var(--font); text-decoration:underline; padding:0; }
.s-paddin-15--border-14--border-none { padding:15px; border-radius:14px; border:none; background:linear-gradient(135deg,var(--accent-you),#d9612a); color:#fff; font-family:var(--font); font-size:1rem; font-weight:800; cursor:pointer; opacity:0.4; pointer-events:none; }
.s-positi-fixed--inset-0--backgr-rgba00003 { position:fixed; inset:0; background:rgba(0,0,0,0.85); backdrop-filter:blur(6px); z-index:4000; align-items:center; justify-content:center; padding:24px; }
.s-fontsi-3r { font-size:3rem; }
.s-fontsi-0-82r { font-size:0.82rem; }
.s-backgr-surface2--border-1-5-soli--border2 { background:var(--surface2); border:1.5px solid var(--border); border-radius:12px; padding:14px 16px; font-family:var(--font); font-size:1rem; font-weight:600; outline:none; transition:border-color 0.2s; }
.s-backgr-surface2--border-1-solid---border3 { background:var(--surface2); border:1px solid var(--border); border-radius:12px; padding:10px 14px; display:flex; align-items:center; gap:10px; }
.s-fontsi-1-4r { font-size:1.4rem; }
.s-fontwe-600--displa-flex--aligni-center { font-weight:600; display:flex; align-items:center; gap:6px; }
.s-backgr-rgba2441--border-100--paddin-2-8 { background:rgba(244,162,97,0.15); border-radius:100px; padding:2px 8px; font-weight:700; }
.s-fontsi-0-9r--fontwe-800 { font-size:0.9rem; font-weight:800; }
.s-paddin-15--border-14--border-none2 { padding:15px; border-radius:14px; border:none; background:linear-gradient(135deg,var(--accent-you),#d9612a); color:#fff; font-family:var(--font); font-size:1rem; font-weight:800; cursor:pointer; letter-spacing:-0.3px; }
.s-backgr-none--border-none--fontfa-font { background:none; border:none; font-family:var(--font); font-size:0.75rem; cursor:pointer; display:block; }
.s-cursor-pointer--aligni-center--gap-4 { cursor:pointer; align-items:center; gap:4px; background:linear-gradient(135deg,rgba(244,162,97,0.15),rgba(255,200,100,0.1)); border:1px solid rgba(244,162,97,0.35); border-radius:100px; padding:3px 10px; width:fit-content; }
.s-fontwe-800--letter-0-3 { font-weight:800; letter-spacing:0.3px; }
.s-positi-relative { position:relative; }
.s-width-36--height-36--border-50pct { width:36px; height:36px; border-radius:50%; border:2px solid var(--accent-you); background:rgba(244,162,97,0.15); font-weight:800; font-size:0.85rem; cursor:pointer; font-family:var(--font); display:flex; align-items:center; justify-content:center; transition:all 0.2s; }
.s-backgr-surface--border-1-solid---border-4 { background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:8px; min-width:210px; z-index:1000; box-shadow:0 8px 32px rgba(0,0,0,0.4); }
.s-paddin-8-12-12--border-1-solid---wordbr- { padding:8px 12px 12px; border-bottom:1px solid var(--border); word-break:break-all; }
.s-paddin-10-12--border-none--border-9 { padding:10px 12px; border:none; border-radius:9px; background:none; font-family:var(--font); font-weight:600; cursor:pointer; display:flex; align-items:center; gap:8px; }
.s-paddin-10-12--border-none--border-92 { padding:10px 12px; border:none; border-radius:9px; background:none; font-family:var(--font); font-weight:600; cursor:pointer; display:flex; align-items:center; gap:8px; justify-content:space-between; }
.s-backgr-red--color-fff--border-20 { background:var(--red); color:#fff; border-radius:20px; padding:1px 7px; font-weight:800; }
.s-backgr-surface--border-1-solid---border-5 { background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:28px; max-width:380px; }
.s-backgr-surface2--border-10--paddin-14 { background:var(--surface2); border-radius:10px; padding:14px; }
.s-backgr-surface2 { background:var(--surface2); }
.s-paddin-13 { padding:13px; }
.s-fontsi-0-78r--fontwe-600--minhei-20 { font-size:0.78rem; font-weight:600; min-height:20px; }
.s-backgr-surface--border-1-solid---border-6 { background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:28px; max-width:400px; }
.s-fontsi-0-78r { font-size:0.78rem; }
.s-border-1-solid---border-12--paddin-14 { border:1px solid var(--border); border-radius:12px; padding:14px; }
.s-fontwe-700--texttr-uppercas--letter-0-8 { font-weight:700; text-transform:uppercase; letter-spacing:0.8px; }
.s-fontsi-0-75r--wordbr-break-al--linehe-1- { font-size:0.75rem; word-break:break-all; line-height:1.5; }
.s-displa-flex--aligni-center--justif-cente { display:flex; align-items:center; justify-content:center; gap:10px; border-radius:12px; border:none; background:#25D366; color:#fff; font-family:var(--font); font-size:0.88rem; font-weight:700; cursor:pointer; }
.s-displa-flex--aligni-center--justif-cente2 { display:flex; align-items:center; justify-content:center; gap:10px; border-radius:12px; border:none; background:linear-gradient(135deg,#34b7f1,#128c7e); color:#fff; font-family:var(--font); font-size:0.88rem; font-weight:700; cursor:pointer; }
.s-displa-flex--aligni-center--justif-cente3 { display:flex; align-items:center; justify-content:center; gap:10px; border-radius:12px; border:1px solid var(--border); font-family:var(--font); font-size:0.88rem; font-weight:700; cursor:pointer; }
.s-fontsi-0-75r--fontwe-600--minhei-18 { font-size:0.75rem; font-weight:600; min-height:18px; }
.s-border-1-solid---margin-20-0 { border-top:1px solid var(--border); margin:20px 0; }
.s-paddin-11-14--border-1-5-soli--border-10 { padding:11px 14px; border:1.5px solid var(--border); border-radius:10px; font-family:var(--font); outline:none; }
.s-paddin-11-16--border-10--border-none { padding:11px 16px; border-radius:10px; border:none; background:linear-gradient(135deg,var(--accent-you),#d9612a); color:#fff; font-family:var(--font); font-weight:700; cursor:pointer; white-space:nowrap; }
.s-displa-flex--gap-12--aligni-center { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.s-positi-fixed--inset-0--backgr-rgba00004 { position:fixed; inset:0; background:rgba(0,0,0,0.7); backdrop-filter:blur(4px); z-index:3000; align-items:flex-end; justify-content:center; padding:0; }
.s-backgr-surface--border-1-solid---border-7 { background:var(--surface); border:1px solid var(--border); border-radius:20px 20px 0 0; padding:24px; max-width:520px; max-height:80vh; overflow-y:auto; }
.s-displa-flex--gap-10--aligni-center { display:flex; gap:10px; align-items:center; }
.s-backgr-surface--border-1-solid---border-8 { background:var(--surface); border:1px solid var(--border); border-radius:20px; padding:24px; max-width:420px; max-height:90vh; overflow-y:auto; }
.s-backgr-none--border-1-solid---border-10 { background:none; border:1px solid var(--red); border-radius:10px; padding:13px 16px; cursor:pointer; font-family:var(--font); font-weight:600; }
.s-backgr-linear-g--border-2-solid---border { background:linear-gradient(135deg,rgba(244,162,97,0.12),rgba(126,200,200,0.12)); border:2px solid rgba(244,162,97,0.5); border-radius:16px; padding:24px; }
.s-linehe-1-7 { line-height:1.7; }
.s-displa-flex--gap-10--flexwr-wrap { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.s-paddin-12-24--fontsi-0-88r { padding:12px 24px; font-size:0.88rem; }
.s-backgr-none--border-1-solid---border-102 { background:none; border:1px solid var(--border); border-radius:10px; padding:12px 18px; cursor:pointer; font-family:var(--font); }
.s-border-1-solid---border-10--paddin-10-14 { border:1px solid var(--border); border-radius:10px; padding:10px 14px; font-family:var(--font); font-size:16px; outline:none; transition:border-color 0.2s; }
.s-displa-flex--gap-0--border-10 { display:flex; gap:0; border-radius:10px; padding:3px; }
.s-paddin-7--border-none--border-8 { padding:7px; border:none; border-radius:8px; font-family:var(--font); font-size:0.8rem; font-weight:700; cursor:pointer; background:var(--accent-you); color:#fff; transition:all 0.2s; }
.s-paddin-7--border-none--border-82 { padding:7px; border:none; border-radius:8px; font-family:var(--font); font-size:0.8rem; font-weight:700; cursor:pointer; background:none; transition:all 0.2s; }
.s-displa-flex--aligni-center--justif-cente4 { display:flex; align-items:center; justify-content:center; gap:10px; }
.s-border-1-solid---border-8--paddin-6-16 { border:1px solid var(--border); border-radius:8px; padding:6px 16px; cursor:pointer; font-size:1rem; font-family:var(--font); }
.s-fontsi-0-92r--fontwe-700--minwid-140 { font-size:0.92rem; font-weight:700; min-width:140px; }
.s-displa-flex--justif-space-be--aligni-cen2 { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.s-border-10--paddin-10-14--displa-flex { border-radius:10px; padding:10px 14px; display:flex; justify-content:space-between; align-items:center; }
.s-fontwe-600 { font-weight:600; }
.s-fontsi-0-85r { font-size:0.85rem; }
.s-backgr-none--border-1-solid---border-103 { background:none; border:1px solid var(--border); border-radius:10px; padding:12px; cursor:pointer; font-family:var(--font); }
.s-paddin-10--letter-normal { padding:10px; letter-spacing:normal; }
.s-displa-flex--gap-0--border-12 { display:flex; gap:0; border-radius:12px; padding:4px; }
.s-paddin-10--border-none--border-9 { padding:10px; border:none; border-radius:9px; font-family:var(--font); font-size:0.8rem; font-weight:700; cursor:pointer; background:var(--accent-you); color:#fff; transition:all 0.2s; }
.s-paddin-10--border-none--border-92 { padding:10px; border:none; border-radius:9px; font-family:var(--font); font-size:0.8rem; font-weight:700; cursor:pointer; background:transparent; transition:all 0.2s; }
.s-maxwid-320 { max-width:320px; }
.s-margin-0-0-10 { margin:0 0 10px; }
.s-displa-flex--aligni-center--gap-6 { display:flex; align-items:center; gap:6px; background:rgba(126,200,200,0.08); border:1px solid rgba(126,200,200,0.2); border-radius:8px; padding:7px 12px; color:var(--accent-wife); }
.s-border-2-dashed--border-16--paddin-48-24 { border:2px dashed var(--border); border-radius:16px; padding:48px 24px; cursor:pointer; transition:border-color 0.2s,background 0.2s; }
.s-fontwe-700--fontsi-0-95r { font-weight:700; font-size:0.95rem; }
.s-fontsi-0-75r { font-size:0.75rem; }
.s-minhei-18 { min-height:18px; }
.s-border-2-dashed--border-16--paddin-36-24 { border:2px dashed var(--border); border-radius:16px; padding:36px 24px; cursor:pointer; transition:border-color 0.2s,background 0.2s; }
.s-margin-10--backgr-none--border-none { margin-left:10px; background:none; border:none; cursor:pointer; font-family:var(--font); }
.s-displa-flex--flexwr-wrap--gap-8 { display:flex; flex-wrap:wrap; gap:8px; }
.s-paddin-32-0 { padding:32px 0; }
.s-fontwe-800--fontsi-1r { font-weight:800; font-size:1rem; }
.s-margin-20--height-4--border-4 { margin-top:20px; height:4px; border-radius:4px; overflow:hidden; max-width:300px; margin-left:auto; margin-right:auto; }
.s-height-100pct--width-0pct--backgr-linear { height:100%; width:0%; background:linear-gradient(90deg,var(--accent-you),var(--accent-wife)); border-radius:4px; transition:width 0.4s; }
.s-backgr-rgba2441--border-1-solid---border { background:rgba(244,162,97,0.15); border:1px solid rgba(244,162,97,0.4); border-radius:100px; padding:4px 12px; font-weight:700; }
.s-displa-flex--justif-space-be--aligni-cen3 { display:flex; justify-content:space-between; align-items:center; border-radius:10px; padding:10px 14px; border:1px solid var(--border); }
.s-fontsi-1r--fontwe-700 { font-size:1rem; font-weight:700; }
.s-backgr-rgba2441--border-1-solid---border2 { background:rgba(244,162,97,0.07); border:1px solid rgba(244,162,97,0.2); border-radius:8px; padding:7px 12px; }
.s-displa-flex--aligni-center--gap-12 { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--border); }
.s-displa-flex--aligni-center--gap-8 { display:flex; align-items:center; gap:8px; cursor:pointer; font-weight:700; user-select:none; }
.s-width-18--height-18--accent-accent-y { width:18px; height:18px; accent-color:var(--accent-you); cursor:pointer; }
.s-color-border { color:var(--border); }
.s-backgr-none--border-none--cursor-pointer3 { background:none; border:none; cursor:pointer; font-family:var(--font); }
.s-backgr-none--border-1-dashed--border-10 { background:none; border:1px dashed var(--border); border-radius:10px; padding:10px 14px; font-family:var(--font); cursor:pointer; display:flex; align-items:center; justify-content:center; gap:6px; }
.s-fontsi-1r { font-size:1rem; }
.s-border-1-solid---border-10--paddin-12 { border:1px solid var(--border); border-radius:10px; padding:12px; flex-direction:column; gap:8px; }
.s-boxsiz-border-b--backgr-surface--border- { box-sizing:border-box; background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:8px 10px; font-family:var(--font); }
.s-backgr-surface--border-1-solid---border-9 { background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:8px 10px; font-family:var(--font); }
.s-backgr-accent-y--border-none--border-8 { background:var(--accent-you); border:none; border-radius:8px; padding:9px; color:#fff; font-family:var(--font); font-weight:700; cursor:pointer; }
.s-backgr-none--border-1-solid---border-8 { background:none; border:1px solid var(--border); border-radius:8px; padding:9px 14px; font-family:var(--font); cursor:pointer; }
.s-displa-flex--gap-12--flexwr-wrap { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.s-backgr-none--border-1-solid---border-104 { background:none; border:1px solid var(--border); border-radius:10px; padding:11px 18px; cursor:pointer; font-family:var(--font); }
.s-paddin-48-24 { padding:48px 24px; }
.s-paddin-12--border-12--border-1-solid- { padding:12px; border-radius:12px; border:1px solid rgba(244,162,97,0.4); background:rgba(244,162,97,0.08); font-family:var(--font); font-weight:700; cursor:pointer; }
.s-paddin-8--border-none--border-8 { padding:8px; border:none; border-radius:8px; font-family:var(--font); font-weight:700; cursor:pointer; background:var(--accent-you); color:#fff; transition:all 0.2s; }
.s-paddin-8--border-none--border-82 { padding:8px; border:none; border-radius:8px; font-family:var(--font); font-weight:700; cursor:pointer; background:none; transition:all 0.2s; }
.s-border-1-solid---border-8--paddin-6-162 { border:1px solid var(--border); border-radius:8px; padding:6px 16px; cursor:pointer; font-family:var(--font); }
.s-border-rgba2409 { border-color:rgba(240,96,128,0.3); }
.s-displa-flex--justif-space-be--aligni-cen4 { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.s-displa-flex--aligni-center--gap-10 { display:flex; align-items:center; gap:10px; }
.s-paddin-6-12--border-8--border-1-solid- { padding:6px 12px; border-radius:8px; border:1px solid var(--border); font-family:var(--font); font-weight:700; cursor:pointer; display:flex; align-items:center; gap:6px; }
.s-displa-grid--gridte-1fr-1fr--gap-14 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.s-border-1-solid---border-12--paddin-16 { border:1px solid var(--border); border-radius:12px; padding:16px; }
.s-positi-absolute--left-12--top-50pct { position:absolute; left:12px; top:50%; transform:translateY(-50%); font-size:0.9rem; }
.s-paddin-26 { padding-left:26px; }
.s-paddin-10 { padding:10px; }
.s-fontwe-700 { font-weight:700; }
.s-color-accent-w--texttr-uppercas--letter- { color:var(--accent-wife); text-transform:uppercase; letter-spacing:0.8px; }
.s-backgr-linear-g { background:linear-gradient(135deg,var(--accent-wife),#5aacac); }
.s-color-accent-w { color:var(--accent-wife); }
.s-displa-grid--gridte-repeatau--gap-12 { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; }
.s-paddin-11--backgr-surface--border-1-5-da { padding:11px; background:var(--surface); border:1.5px dashed var(--border); border-radius:12px; font-family:var(--font); cursor:pointer; transition:border-color 0.2s,color 0.2s; }
.s-backgr-surface--border-1-5-soli--border- { background:var(--surface); border:1.5px solid var(--border); border-radius:14px; padding:14px; gap:10px; flex-direction:column; }
.s-texttr-uppercas--letter-0-8 { text-transform:uppercase; letter-spacing:0.8px; }
.s-displa-flex--gap-8--aligni-flex-sta { display:flex; gap:8px; align-items:flex-start; flex-direction:column; }
.s-displa-flex--flexwr-wrap--gap-6 { display:flex; flex-wrap:wrap; gap:6px; }
.s-displa-flex--gap-8--aligni-center { display:flex; gap:8px; align-items:center; }
.s-width-60--fontsi-1-2r--border-1-5-soli { width:60px; font-size:1.2rem; border:1.5px solid var(--border); border-radius:10px; padding:8px; font-family:var(--font); outline:none; }
.s-border-1-5-soli--border-10--paddin-10-14 { border:1.5px solid var(--border); border-radius:10px; padding:10px 14px; font-family:var(--font); font-size:0.88rem; outline:none; }
.s-backgr-rgba2409--border-1-solid---border { background:rgba(240,96,128,0.15); border:1px solid var(--red); border-radius:10px; font-family:var(--font); cursor:pointer; }
.s-paddin-10-14--backgr-surface--border-1-s { padding:10px 14px; background:var(--surface); border:1px solid var(--border); border-radius:10px; font-family:var(--font); cursor:pointer; }
.s-displa-flex--flexwr-wrap--gap-24 { display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:center; padding:8px 0; }
.s-width-220--height-220--flexsh-0 { width:220px; height:220px; flex-shrink:0; }
.s-positi-absolute--top-50pct--left-50pct { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; }
.s-fontsi-1-3r--fontwe-800--letter--0-5 { font-size:1.3rem; font-weight:800; letter-spacing:-0.5px; }
.s-minwid-180--displa-flex--flexdi-column { min-width:180px; display:flex; flex-direction:column; gap:10px; }
.s-height-1--backgr-border--margin-16-0 { height:1px; background:var(--border); margin:16px 0; }
.s-displa-flex--aligni-center--gap-102 { display:flex; align-items:center; gap:10px; cursor:pointer; }
.s-transi-transfor--flexsh-0 { transition:transform 0.2s; flex-shrink:0; }
.s-fontsi-0-62r--backgr-rgba2441--border-20 { font-size:0.62rem; background:rgba(244,162,97,0.12); border-radius:20px; padding:2px 8px; }
.s-overfl-hidden--maxhei-0--transi-max-heig { overflow:hidden; max-height:0; transition:max-height 0.3s ease; }
.s-paddin-14 { padding-top:14px; }
.s-displa-flex--flexdi-column--gap-12 { display:flex; flex-direction:column; gap:12px; }
.s-displa-flex--aligni-center--gap-122 { display:flex; align-items:center; gap:12px; }
.s-paddin-8-16--border-9--border-1-solid- { padding:8px 16px; border-radius:9px; border:1px solid var(--border); font-family:var(--font); cursor:pointer; display:flex; align-items:center; gap:6px; }
.s-border-10--paddin-12-16--displa-flex { border-radius:10px; padding:12px 16px; display:flex; justify-content:space-between; align-items:center; }
.s-fontwe-800 { font-weight:800; }
.s-displa-flex--aligni-center--justif-space { display:flex; align-items:center; justify-content:space-between; }
.s-margin-1 { margin-top:1px; }
.s-fontsi-0-63r--opacit-0-6--linehe-1-4 { font-size:0.63rem; opacity:0.6; line-height:1.4; }
.s-border-1-solid---border-10--paddin-6-14 { border:1px solid var(--border); border-radius:10px; padding:6px 14px; font-family:var(--font); cursor:pointer; transition:background 0.15s,transform 0.1s; -webkit-tap-highlight-color:transparent; }
.s-backgr-linear-g--border-1-solid---border { background:linear-gradient(135deg,rgba(244,162,97,0.08),rgba(126,200,200,0.05)); border:1px solid rgba(244,162,97,0.25); border-radius:16px; padding:20px; }
.s-fontsi-0-95r { font-size:0.95rem; }
.s-linehe-1-5 { line-height:1.5; }
.s-texttr-uppercas--letter-0-6 { text-transform:uppercase; letter-spacing:0.6px; }
.s-paddin-10-6--border-10--border-1-5-soli { padding:10px 6px; border-radius:10px; border:1.5px solid var(--border); font-family:var(--font); font-size:0.8rem; cursor:pointer; }
.s-fontsi-0-6r--fontwe-500 { font-size:0.6rem; font-weight:500; }
.s-fontwe-500--texttr-none { font-weight:500; text-transform:none; }
.s-paddin-11-14--border-1-5-soli--border-102 { padding:11px 14px; border:1.5px solid var(--border); border-radius:10px; font-family:var(--font); font-size:0.88rem; outline:none; box-sizing:border-box; }
.s-border-12--border-none--backgr-linear-g { border-radius:12px; border:none; background:linear-gradient(135deg,var(--accent-you),#d9612a); color:#fff; font-family:var(--font); font-size:0.9rem; cursor:pointer; }
.s-minhei-14 { min-height:14px; }
.s-backgr-surface--border-1-solid---border-10 { background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:18px; }
.s-fontsi-0-88r { font-size:0.88rem; }
.s-backgr-none--border-none--fontfa-font2 { background:none; border:none; font-family:var(--font); cursor:pointer; padding:4px 8px; border-radius:6px; border:1px solid var(--accent-you); }
.s-paddin-12--border-1-solid- { padding-top:12px; border-top:1px solid var(--border); }
.s-paddin-12--border-10--border-1-solid- { padding:12px; border-radius:10px; border:1px solid var(--border); }
.s-paddin-9-12--backgr-surface--border-1-5- { padding:9px 12px; background:var(--surface); border:1.5px solid var(--border); border-radius:10px; font-family:var(--font); outline:none; }
.s-paddin-9-16--border-10--border-none { padding:9px 16px; border-radius:10px; border:none; background:var(--accent-you); color:#fff; font-family:var(--font); cursor:pointer; }
.s-paddin-9-12--border-10--border-1-solid- { padding:9px 12px; border-radius:10px; border:1px solid var(--border); font-family:var(--font); cursor:pointer; }
.s-paddin-40-24 { padding:40px 24px; }
.s-minhei-90--overfl-hidden { min-height:90px; overflow:hidden; }
.s-positi-absolute--inset-0--backgr-linear- { position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.04),transparent); animation:shimmer 1.5s infinite; }
.s-paddin-20 { padding:20px; }
.s-height-3--border-4--overfl-hidden { height:3px; border-radius:4px; overflow:hidden; max-width:160px; margin-left:auto; margin-right:auto; }
.s-height-100pct--width-50pct--backgr-linea { height:100%; width:50%; background:linear-gradient(90deg,var(--accent-you),var(--accent-wife)); border-radius:4px; animation:shimmer 1.5s infinite; }
.s-paddin-14-16--border-14--border-1-solid- { padding:14px 16px; border-radius:14px; border:1px solid var(--border); background:var(--surface); line-height:1.4; }
.s-fontsi-0-67r--texttr-uppercas--letter-0- { font-size:0.67rem; text-transform:uppercase; letter-spacing:0.8px; }
.s-paddin-12-14--backgr-surface--border-1-s { padding:12px 14px; background:var(--surface); border:1px solid var(--border); border-radius:12px; }
.s-paddin-12-14--backgr-rgba8220--border-1- { padding:12px 14px; background:rgba(82,201,135,0.08); border:1px solid rgba(82,201,135,0.2); border-radius:12px; }
.s-paddin-24 { padding:24px; }
.s-border-1-solid---border-10--paddin-8-16 { border:1px solid var(--border); border-radius:10px; padding:8px 16px; font-family:var(--font); cursor:pointer; }
.s-paddin-10-12--border-none--border-93 { padding:10px 12px; border:none; border-radius:9px; background:none; font-family:var(--font); cursor:pointer; display:flex; align-items:center; gap:10px; }
.s-fontsi-1-1r { font-size:1.1rem; }
.s-width-24--height-24--transi-transfor { width:24px; height:24px; transition:transform 0.25s ease; flex-shrink:0; }
.s-fontwe-400--texttr-none--letter-0 { font-weight:400; text-transform:none; letter-spacing:0; }
.s-boxsiz-border-b--border-1-5-soli--border { box-sizing:border-box; border:1.5px solid var(--border); border-radius:12px; padding:12px 14px; font-family:var(--font); outline:none; }
.s-zindex-6000 { z-index:6000; }
.s-paddin-12-20-0--displa-flex--flexdi-colu { padding:12px 20px 0; display:flex; flex-direction:column; gap:16px; }
.s-fontsi-0-62r--texttr-uppercas--letter-0- { font-size:0.62rem; text-transform:uppercase; letter-spacing:0.6px; margin-bottom:5px; }
.s-border-1-5-soli--border-10--paddin-11-14 { border:1.5px solid var(--border); border-radius:10px; padding:11px 14px; font-family:var(--font); outline:none; }
.s-border-1-5-soli--border-10--paddin-11-142 { border:1.5px solid var(--border); border-radius:10px; padding:11px 14px; font-family:var(--font); outline:none; color-scheme:dark; }
.s-fontsi-0-62r--border-10--paddin-10-12 { font-size:0.62rem; border-radius:10px; padding:10px 12px; }
.s-backgr-linear-g--color-fff--fontfa-font { background:linear-gradient(135deg,var(--accent-you),#d9612a); color:#fff; font-family:var(--font); border-radius:11px; border:none; cursor:pointer; }
.s-gridte-1fr--gap-10 { grid-template-columns:1fr; gap:10px; }
.s-texttr-uppercas--letter-1 { text-transform:uppercase; letter-spacing:1px; }
.s-fontsi-0-62r { font-size:0.62rem; }
.s-paddin-12 { padding:12px; }
.s-border-1-solid---paddin-20 { border-bottom:1px solid var(--border); padding-bottom:20px; }
.s-paddin-11 { padding:11px; }
.s-border-10--paddin-14 { border-radius:10px; padding:14px; }
.s-border-10--border-none--backgr-linear-g { border-radius:10px; border:none; background:linear-gradient(135deg,var(--accent-you),#d9612a); color:#fff; font-family:var(--font); cursor:pointer; }
.s-minhei-16 { min-height:16px; }
.s-border-10--border-1-solid---fontfa-font { border-radius:10px; border:1px solid var(--border); font-family:var(--font); cursor:pointer; }
.s-paddin-0-2 { padding:0 2px; }
.s-border-10--border-1-solid---backgr-rgba2 { border-radius:10px; border:1px solid var(--accent-you); background:rgba(244,162,97,0.08); font-family:var(--font); cursor:pointer; }
.s-border-10--border-1-solid---backgr-rgba22 { border-radius:10px; border:1px solid var(--red); background:rgba(240,96,128,0.08); font-family:var(--font); cursor:pointer; }
.s-positi-fixed--inset-0--bottom-0 { position:fixed; inset:0; bottom:0; background:#0c0c10; z-index:9500; overflow-y:auto; padding:calc(env(safe-area-inset-top) + 56px) 20px calc(40px + env(safe-area-inset-bottom)); }
.s-positi-fixed--top-calcenvs--right-16 { position:fixed; top:calc(env(safe-area-inset-top) + 12px); right:16px; border:1px solid var(--border); border-radius:50%; width:44px; height:44px; cursor:pointer; z-index:9502; display:flex; align-items:center; justify-content:center; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.s-maxwid-420--margin-0-auto { max-width:420px; margin:0 auto; }
.s-paddin-202 { padding-top:20px; }
.s-fontsi-1-3r { font-size:1.3rem; }
.s-paddin-14-16 { padding:14px 16px; }
.s-paddin-6-0--border-1-solid- { padding:6px 0; border-bottom:1px solid var(--border); }
.s-paddin-6-0 { padding:6px 0; }
.s-border-rgba2441 { border-color:rgba(244,162,97,0.3); }
.s-border-1-solid- { border-bottom:1px solid var(--border); }
.s-paddin-15--border-14--border-2-solid- { padding:15px; border-radius:14px; border:2px solid var(--accent-you); background:rgba(244,162,97,0.08); font-family:var(--font); cursor:pointer; }
.s-height-1--backgr-border { height:1px; background:var(--border); }
.s-displa-grid--gridte-1fr-1fr--gap-12 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.s-backgr-linear-g--border-16--paddin-18 { background:linear-gradient(135deg,var(--accent-you),#d9612a); border-radius:16px; padding:18px; cursor:pointer; }
.s-positi-absolute--top--10--left-50pct { position:absolute; top:-10px; left:50%; transform:translateX(-50%); background:#f0c060; color:#000; font-size:0.6rem; padding:3px 10px; border-radius:20px; }
.s-color-rgba2552 { color:rgba(255,255,255,0.8); }
.s-fontsi-1-6r--color-fff { font-size:1.6rem; color:#fff; }
.s-color-rgba25522 { color:rgba(255,255,255,0.7); }
.s-color-f0c060 { color:#f0c060; }
.s-backgr-surface--border-1-solid---border-11 { background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:18px; cursor:pointer; }
.s-fontsi-1-6r { font-size:1.6rem; }
.s-positi-fixed--inset-0--backgr-rgba00005 { position:fixed; inset:0; background:rgba(0,0,0,0.75); z-index:9100; overflow-y:auto; padding:40px 24px calc(40px + env(safe-area-inset-bottom)); align-items:center; justify-content:center; }
.s-maxwid-400--margin-0-auto--paddin-40-28 { max-width:400px; margin:0 auto; padding:40px 28px; background:var(--surface); border:1px solid var(--border); border-radius:24px; }
.s-fontsi-3-5r { font-size:3.5rem; }
.s-fontsi-1-5r { font-size:1.5rem; }
.s-backgr-rgba2441--border-1-solid---border3 { background:rgba(244,162,97,0.1); border:1px solid rgba(244,162,97,0.3); border-radius:16px; }
.s-paddin-16--border-14--border-none { padding:16px; border-radius:14px; border:none; background:linear-gradient(135deg,var(--accent-you),#d9612a); color:#fff; font-family:var(--font); cursor:pointer; }
.s-positi-fixed--inset-0--backgr-rgba00006 { position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:9200; }
.s-positi-absolute--bottom-0--left-0 { position:absolute; bottom:0; left:0; right:0; background:var(--bg); border-radius:24px 24px 0 0; max-height:90vh; overflow-y:auto; padding:24px 20px 40px; }
.s-width-40--height-4--backgr-border { width:40px; height:4px; background:var(--border); border-radius:4px; margin:0 auto 20px; }
.s-border-none--border-50pct--width-32 { border:none; border-radius:50%; width:32px; height:32px; cursor:pointer; }
.s-border-1-5-soli--border-10--paddin-10-142 { border:1.5px solid var(--border); border-radius:10px; padding:10px 14px; font-family:var(--font); outline:none; }
.s-backgr-accent-y--border-none--border-10 { background:var(--accent-you); border:none; border-radius:10px; padding:10px 16px; color:#fff; font-family:var(--font); cursor:pointer; }
.s-border-10--border-1-solid---backgr-rgba8 { border-radius:10px; border:1px solid var(--green); background:rgba(82,201,135,0.08); font-family:var(--font); cursor:pointer; }
.s-margin-20--border-1-solid- { margin-top:20px; border-top:1px solid var(--border); }
.s-displa-flex--aligni-center--justif-space2 { display:flex; align-items:center; justify-content:space-between; border-radius:12px; }
.s-width-44--height-26--border-13 { width:44px; height:26px; border-radius:13px; cursor:pointer; transition:background 0.2s; flex-shrink:0; margin-left:16px; }
.s-positi-absolute--top-3--width-20 { position:absolute; top:3px; width:20px; height:20px; border-radius:50%; background:#fff; transition:left 0.2s; box-shadow:0 1px 4px rgba(0,0,0,0.3); }
.s-backgr-rgba2441--border-1-solid---border4 { background:rgba(244,162,97,0.12); border:1px solid rgba(244,162,97,0.3); border-radius:8px; padding:8px 12px; }
.consent-signout-btn { background:none; border:none; color:var(--muted); font-family:var(--font); font-size:0.75rem; cursor:pointer; margin-top:14px; display:block; width:100%; }
.cat-panel-toggle-btn { font-size:0.72rem; font-weight:700; color:var(--accent-you); background:rgba(244,162,97,0.08); border:1px solid rgba(244,162,97,0.25); border-radius:20px; padding:5px 10px; cursor:pointer; font-family:var(--font); }
.new-user-notice-box { display:none; margin-top:8px; font-size:0.75rem; background:rgba(126,200,200,0.12); border:1px solid rgba(126,200,200,0.25); border-radius:8px; padding:8px 12px; color:var(--accent-wife); }

/* ── app.js inline style classes ── */
.aj-displa-flex--aligni-center--gap-8px { display:flex; align-items:center; gap:8px; }
.aj-paddin-4px-10px--border-7px--border-none { padding:4px 10px; border-radius:7px; border:none; background:rgba(126,200,200,0.15); color:var(--accent-wife); font-family:var(--font); font-size:0.7rem; font-weight:700; cursor:pointer; white-space:nowrap; }
.aj-cursor-pointer--margin-6px { cursor:pointer; margin-bottom:6px; }
.aj-fontsi-065rem--backgr-rgba2441--border-1 { font-size:0.65rem; background:rgba(244,162,97,0.15); border:1px solid rgba(244,162,97,0.4); border-radius:6px; padding:2px 8px; color:var(--accent-you); font-weight:700; margin-bottom:6px; text-align:center; }
.aj-margin-10px--width-100--paddin-8px { margin-top:10px; width:100%; padding:8px; border-radius:8px; border:none; background:rgba(126,200,200,0.15); color:var(--accent-wife); font-family:var(--font); font-size:0.78rem; font-weight:700; cursor:pointer; }
.aj-margin-6px--width-100--paddin-6px-14px { margin-top:6px; width:100%; padding:6px 14px; border-radius:8px; border:none; background:rgba(255,255,255,0.1); color:var(--text); font-family:var(--font); font-size:0.74rem; font-weight:700; cursor:pointer; }
.aj-displa-inline-f--aligni-center--gap-6px { display:inline-flex; align-items:center; gap:6px; background:var(--surface2); border:1.5px solid var(--border); border-radius:100px; padding:5px 14px; font-size:0.78rem; font-weight:600; cursor:pointer; color:var(--text); font-family:var(--font); transition:border-color 0.2s; }
.aj-width-34px--height-34px--fontsi-12rem { width:34px; height:34px; font-size:1.2rem; background:var(--surface2); border:1.5px solid var(--border); border-radius:8px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:border-color 0.15s; }
.aj-displa-flex--justif-space-be--aligni-cen { display:flex; justify-content:space-between; align-items:center; background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:7px 10px; font-size:0.75rem; }
.aj-backgr-none--border-none--cursor-pointer { background:none; border:none; cursor:pointer; color:var(--red); font-size:0.8rem; padding:0; }
.aj-fontsi-072rem--color-muted--textal-cente { font-size:0.72rem; color:var(--muted); text-align:center; padding:8px 0; }
.aj-backgr-surface2--border-1px-soli--border { background:var(--surface2); border:1px solid var(--border); border-radius:8px; color:var(--text); font-family:var(--font); outline:none; }
.aj-displa-flex--justif-space-be { display:flex; justify-content:space-between; }
.aj-fontsi-07rem--color-muted { font-size:0.7rem; color:var(--muted); }
.aj-cursor-pointer--border-10px--transi-back { cursor:pointer; border-radius:10px; transition:background 0.15s; }
.aj-fontsi-065rem--color-muted--fontwe-500 { font-size:0.65rem; color:var(--muted); font-weight:500; text-align:right; }
.aj-cursor-pointer { cursor:pointer; }
.aj-paddin-6px-14px--border-8px--border-none { padding:6px 14px; border-radius:8px; border:none; background:rgba(255,255,255,0.1); color:var(--text); font-family:var(--font); font-size:0.74rem; font-weight:700; cursor:pointer; }
.aj-fontsi-072rem--color-muted--margin-14px { font-size:0.72rem; color:var(--muted); margin-bottom:14px; }
.aj-fontsi-07rem--color-muted--margin-4px { font-size:0.7rem; color:var(--muted); margin-top:4px; }
.aj-fontsi-072rem--fontwe-700--color-muted { font-size:0.72rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:0.8px; margin-bottom:4px; }
.aj-fontsi-082rem--flex-1 { font-size:0.82rem; flex:1; }
.aj-fontsi-068rem--color-muted--minwid-32px { font-size:0.68rem; color:var(--muted); min-width:32px; text-align:right; }
.aj-fontsi-075rem--color-muted--paddin-3px-0 { font-size:0.75rem; color:var(--muted); padding:3px 0; text-align:center; }
.aj-positi-relative--width-80px--height-80px { position:relative; width:80px; height:80px; }
.aj-width-80px--height-80px--object-cover { width:80px; height:80px; object-fit:cover; border-radius:10px; border:2px solid var(--border); }
.aj-positi-absolute--top--6px--right--6px { position:absolute; top:-6px; right:-6px; width:20px; height:20px; border-radius:50%; border:none; background:var(--red); color:#fff; font-size:0.65rem; cursor:pointer; display:flex; align-items:center; justify-content:center; font-weight:800; }
.aj-fontsi-065rem--fontwe-700--backgr-rgba12 { font-size:0.65rem; font-weight:700; background:rgba(126,200,200,0.15); color:var(--accent-wife); border-radius:100px; padding:1px 6px; margin-left:4px; }
.aj-fontsi-065rem--fontwe-800--backgr-red { font-size:0.65rem; font-weight:800; background:var(--red); color:#fff; border-radius:100px; padding:2px 8px; text-transform:uppercase; letter-spacing:0.5px; box-shadow:0 0 8px rgba(240,96,128,0.4); }
.aj-width-18px--height-18px--flexsh-0 { width:18px; height:18px; flex-shrink:0; accent-color:var(--accent-you); cursor:pointer; }
.aj-minwid-0--flex-1 { min-width:0; flex:1; }
.aj-displa-flex--justif-space-be--aligni-cen2 { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.aj-overfl-hidden--textov-ellipsis--whites-n { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.aj-flexsh-0--whites-nowrap--displa-flex { flex-shrink:0; white-space:nowrap; display:flex; gap:4px; }
.aj-margin-4px--width-100--backgr-surface2 { margin-top:4px; width:100%; background:var(--surface2); border:1px solid var(--border); border-radius:8px; padding:4px 8px; color:var(--text); font-family:var(--font); font-size:0.72rem; cursor:pointer; }
.aj-flexsh-0--displa-flex--flexdi-column { flex-shrink:0; display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.aj-backgr-none--border-1px-soli--border-6px { background:none; border:1px solid var(--border); border-radius:6px; padding:1px 7px; color:var(--muted); font-family:var(--font); font-size:0.7rem; font-weight:700; cursor:pointer; line-height:1.6; }
.aj-fontsi-078rem--color-muted--textal-cente { font-size:0.78rem; color:var(--muted); text-align:center; padding:8px 0; }
.aj-fontsi-072rem--fontwe-700--color-muted2 { font-size:0.72rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:0.6px; margin-bottom:8px; }
.aj-displa-flex--aligni-center--gap-10px { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.aj-flex-1--fontsi-082rem--fontwe-600 { flex:1; font-size:0.82rem; font-weight:600; color:var(--text); }
.aj-width-120px--paddin-9px-12px--backgr-sur { width:120px; padding:9px 12px; background:var(--surface2); border:1.5px solid var(--border); border-radius:10px; color:var(--text); font-family:var(--font); font-size:0.85rem; outline:none; text-align:right; }
.aj-fontsi-078rem--color-muted { font-size:0.78rem; color:var(--muted); }
.aj-displa-flex--aligni-center--justif-space { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.aj-fontsi-082rem--fontwe-700 { font-size:0.82rem; font-weight:700; }
.aj-height-6px--backgr-surface2--border-3px { height:6px; background:var(--surface2); border-radius:3px; overflow:hidden; margin-bottom:6px; }
.aj-backgr-none--border-none--color-muted { background:none; border:none; color:var(--muted); font-family:var(--font); font-size:0.65rem; cursor:pointer; padding:0; text-decoration:underline; }
.aj-displa-flex--justif-space-be--aligni-cen3 { display:flex; justify-content:space-between; align-items:center; margin-top:6px; }
.aj-fontsi-072rem--fontwe-700--color-muted3 { font-size:0.72rem; font-weight:700; color:var(--muted); margin-bottom:6px; }
.aj-fontsi-078rem--color-accent-y--fontwe-70 { font-size:0.78rem; color:var(--accent-you); font-weight:700; margin-top:6px; }
.aj-displa-flex--gap-12px--aligni-flex-sta { display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:rgba(240,96,128,0.08); border-radius:12px; border:1px solid rgba(240,96,128,0.2); }
.aj-fontsi-12rem--flexsh-0 { font-size:1.2rem; flex-shrink:0; }
.aj-fontsi-082rem--fontwe-700--margin-2px { font-size:0.82rem; font-weight:700; margin-bottom:2px; }
.aj-fontsi-075rem--color-muted--linehe-14 { font-size:0.75rem; color:var(--muted); line-height:1.4; }
.aj-displa-flex--gap-12px--aligni-flex-sta2 { display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:var(--surface); border:1px solid var(--border); border-radius:12px; }
.aj-width-22px--height-22px--border-50 { width:22px; height:22px; border-radius:50%; background:var(--surface2); color:var(--muted); font-size:0.75rem; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.aj-fontsi-082rem--linehe-15--paddin-2px { font-size:0.82rem; line-height:1.5; padding-top:2px; }
.aj-backgr-surface--border-1px-soli--border- { background:var(--surface); border:1px solid var(--border); border-radius:24px; padding:28px 24px; width:100%; max-width:360px; position:relative; }
.aj-positi-absolute--top-14px--right-14px { position:absolute; top:14px; right:14px; width:28px; height:28px; background:var(--surface2); border:none; border-radius:50%; color:var(--muted); cursor:pointer; font-size:0.9rem; }
.aj-textal-center--margin-20px { text-align:center; margin-bottom:20px; }
.aj-fontsi-1rem--fontwe-800--margin-6px { font-size:1rem; font-weight:800; margin-bottom:6px; }
.aj-fontsi-078rem--color-muted--linehe-15 { font-size:0.78rem; color:var(--muted); line-height:1.5; }
.aj-width-100--paddin-12px-14p--backgr-surfa { width:100%; padding:12px 14px; background:var(--surface2); border:1.5px solid var(--border); border-radius:10px; color:var(--text); font-family:var(--font); font-size:0.88rem; outline:none; margin-bottom:12px; }
.aj-width-100--paddin-13px--border-12px { width:100%; padding:13px; border-radius:12px; border:none; background:linear-gradient(135deg,var(--accent-you),#d9612a); color:#fff; font-family:var(--font); font-size:0.9rem; font-weight:700; cursor:pointer; }
.aj-fontsi-072rem--textal-center--margin-10p { font-size:0.72rem; text-align:center; margin-top:10px; min-height:16px; color:var(--green); }
.aj-textal-center--border-2px-soli { text-align:center; border-top:2px solid #f4a261; }
.aj-fontsi-12rem--fontwe-800--color-f4a261 { font-size:1.2rem; font-weight:800; color:#f4a261; }
.aj-fontsi-075rem--color-muted--gridco-1-1 { font-size:0.75rem; color:var(--muted); grid-column:1/-1; }
.aj-color-red--fontsi-08rem--gridco-1-1 { color:var(--red); font-size:0.8rem; grid-column:1/-1; }
.aj-fontsi-08rem--color-muted { font-size:0.8rem; color:var(--muted); }
.aj-fontsi-082rem--color-muted { font-size:0.82rem; color:var(--muted); }
.aj-paddin-14px { padding:14px; }
.aj-fontsi-082rem--fontwe-700--margin-4px { font-size:0.82rem; font-weight:700; margin-bottom:4px; }
.aj-fontsi-07rem--color-muted--margin-10px { font-size:0.7rem; color:var(--muted); margin-bottom:10px; }
.aj-fontsi-075rem--color-muted--margin-12px { font-size:0.75rem; color:var(--muted); margin-bottom:12px; }
.aj-paddin-7px-12px--border-8px--border-1px- { padding:7px 12px; border-radius:8px; border:1px solid var(--border); background:var(--surface2); color:var(--text); font-family:var(--font); font-size:0.75rem; font-weight:700; cursor:pointer; }
.aj-margin-12px--paddin-12px--border-1px-sol { margin-top:12px; padding-top:12px; border-top:1px solid var(--border); }
.aj-width-100--paddin-9px--border-8px { width:100%; padding:9px; border-radius:8px; border:1px solid var(--red); background:rgba(240,96,128,0.08); color:var(--red); font-family:var(--font); font-size:0.75rem; font-weight:700; cursor:pointer; }
.aj-color-red--fontsi-08rem { color:var(--red); font-size:0.8rem; }
.aj-textal-center--paddin-40px-20p--color-mu { text-align:center; padding:40px 20px; color:var(--muted); }
.aj-backgr-surface2--border-1px-soli--border2 { background:var(--surface2); border:1px solid var(--border); border-radius:12px; padding:12px 14px; display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.aj-width-36px--height-36px--border-9px { width:36px; height:36px; border-radius:9px; background:rgba(240,96,128,0.12); display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
.aj-fontsi-083rem--fontwe-600--whites-nowrap { font-size:0.83rem; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.aj-fontsi-062rem--color-red--margin-2px { font-size:0.62rem; color:var(--red); margin-top:2px; }
.aj-fontsi-092rem--fontwe-800 { font-size:0.92rem; font-weight:800; }
.aj-margin-6px--backgr-rgba8220--border-1px- { margin-top:6px; background:rgba(82,201,135,0.15); border:1px solid var(--green); border-radius:7px; padding:5px 12px; color:var(--green); font-family:var(--font); font-size:0.72rem; font-weight:700; cursor:pointer; }
.aj-backgr-surface2--border-20px--paddin-28p { background:var(--surface2); border-radius:20px; padding:28px; width:100%; max-width:360px; border:1px solid rgba(255,255,255,0.12); box-shadow:0 20px 60px rgba(0,0,0,0.6); }
.aj-margin-0-0-6px--fontsi-11rem { margin:0 0 6px; font-size:1.1rem; }
.aj-color-text-mut--fontsi-085rem--margin-20 { color:var(--text-muted); font-size:0.85rem; margin-bottom:20px; }
.aj-displa-flex--gap-10px--margin-16px { display:flex; gap:10px; margin-bottom:16px; }
.aj-flex-1--paddin-10px--border-10px { flex:1; padding:10px; border-radius:10px; border:2px solid var(--accent-you); background:var(--accent-you); color:#000; font-weight:700; cursor:pointer; }
.aj-flex-1--paddin-10px--border-10px2 { flex:1; padding:10px; border-radius:10px; border:2px solid rgba(255,255,255,0.15); background:transparent; color:var(--text); font-weight:700; cursor:pointer; }
.aj-margin-16px--displa-none { margin-bottom:16px; display:none; }
.aj-fontsi-08rem--color-text-mut--displa-blo { font-size:0.8rem; color:var(--text-muted); display:block; margin-bottom:6px; }
.aj-width-100--paddin-10px-14p--border-10px { width:100%; padding:10px 14px; border-radius:10px; border:1px solid rgba(255,255,255,0.15); background:rgba(255,255,255,0.05); color:var(--text); font-size:1rem; box-sizing:border-box; }
.aj-flex-1--paddin-12px--border-10px { flex:1; padding:12px; border-radius:10px; border:1px solid rgba(255,255,255,0.15); background:transparent; color:var(--text); cursor:pointer; }
.aj-flex-1--paddin-12px--border-10px2 { flex:1; padding:12px; border-radius:10px; border:none; background:var(--accent-you); color:#000; font-weight:700; cursor:pointer; }
.aj-displa-flex--aligni-center--gap-10px2 { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--border); }
.aj-fontsi-11rem--width-26px { font-size:1.1rem; width:26px; }
.aj-fontsi-084rem--fontwe-700 { font-size:0.84rem; font-weight:700; }
.aj-height-4px--backgr-surface2--border-4px { height:4px; background:var(--surface2); border-radius:4px; margin-top:5px; }
.aj-textal-right--minwid-70px { text-align:right; min-width:70px; }
.aj-fontsi-088rem--fontwe-800 { font-size:0.88rem; font-weight:800; }
.aj-fontsi-068rem--color-muted { font-size:0.68rem; color:var(--muted); }
.aj-fontsi-3rem--margin-20px { font-size:3rem; margin-bottom:20px; }
.aj-fontsi-12rem--fontwe-800--color-text { font-size:1.2rem; font-weight:800; color:var(--text); margin-bottom:12px; }
.aj-fontsi-088rem--color-muted--linehe-17 { font-size:0.88rem; color:var(--muted); line-height:1.7; max-width:300px; margin-bottom:32px; }
.aj-paddin-14px-32p--border-12px--border-non { padding:14px 32px; border-radius:12px; border:none; background:linear-gradient(135deg,var(--accent-you),#d9612a); color:#fff; font-family:var(--font); font-size:0.95rem; font-weight:700; cursor:pointer; }
.stat-card-full { grid-column:1/-1; }
.tx-amount-refund { color:var(--green); }
.u-mr-6 { margin-right:6px; }
.dot-8 { width:8px; height:8px; border-radius:50%; display:inline-block; flex-shrink:0; }
.dot-10 { width:10px; height:10px; border-radius:50%; display:inline-block; }
.breakdown-row-clickable { cursor:pointer; border-radius:10px; transition:background 0.15s; }
.stat-value-lg { font-size:1.4rem; font-weight:800; }
