/* Oblivet 3.3 — consistent card edges, restrained motion and mobile quick action. */
:root {
  --ob-card-radius: 18px;
  --ob-edge: rgba(255,255,255,.105);
  --ob-edge-hover: rgba(205,216,255,.28);
  --ob-edge-focus: rgba(205,216,255,.48);
}

/* Normalize borders: the old masked gradient could render unevenly on some browsers. */
:is(.stat-card,.panel,.portfolio-hero,.wallet-card,.wallet-mini,.budget-card,.planning-card,.tx-panel,.analytics-card) {
  border: 1px solid var(--ob-edge);
  border-radius: var(--ob-card-radius);
  background-clip: padding-box;
  box-shadow: 0 1px 0 rgba(255,255,255,.018), 0 8px 24px rgba(0,0,0,.07);
  transition: border-color .24s ease, box-shadow .24s ease, transform .24s ease;
}
/* A simple inset highlight replaces the previous mask-composite edge, avoiding doubled or broken corners. */
:is(.stat-card,.panel,.portfolio-hero,.wallet-card,.wallet-mini,.budget-card,.planning-card,.tx-panel,.analytics-card)::after {
  content: none !important;
  display: none !important;
}
@media (hover:hover) and (pointer:fine) {
  :is(.stat-card,.panel,.portfolio-hero,.wallet-card,.wallet-mini,.budget-card,.planning-card,.tx-panel,.analytics-card):hover {
    border-color: var(--ob-edge-hover);
    box-shadow: 0 0 0 1px rgba(190,205,255,.035), 0 14px 32px rgba(0,0,0,.16);
    transform: translateY(-1px);
  }
}
:is(button,a,input,select,textarea,[tabindex]):focus-visible {
  outline: 2px solid var(--ob-edge-focus);
  outline-offset: 3px;
}
body.amoled-mode {
  --ob-edge: rgba(255,255,255,.14);
  --ob-edge-hover: rgba(225,232,255,.34);
  --ob-edge-focus: rgba(225,232,255,.56);
}
body.amoled-mode :is(.stat-card,.panel,.portfolio-hero,.wallet-card,.wallet-mini,.budget-card,.planning-card,.tx-panel,.analytics-card) {
  background-color: #030303;
}

/* Quick add action: stays above the bottom navigation and opens the existing transaction form. */
.mobile-quick-add {
  display: none;
}
@media (max-width: 960px) {
  .mobile-quick-add {
    position: fixed;
    z-index: 81;
    right: 22px;
    bottom: calc(92px + env(safe-area-inset-bottom));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 54px;
    height: 54px;
    padding: 0 18px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    color: #080808;
    background: #f1f1f1;
    box-shadow: 0 10px 28px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.7);
    font-size: 13px;
    font-weight: 650;
    letter-spacing: -.01em;
    transition: transform .18s ease, box-shadow .18s ease;
    -webkit-tap-highlight-color: transparent;
  }
  .mobile-quick-add svg { width: 20px; height: 20px; flex: 0 0 auto; }
  .mobile-quick-add:active { transform: scale(.96); box-shadow: 0 5px 14px rgba(0,0,0,.28); }
  body.amoled-mode .mobile-quick-add { color: #000; background: #fff; border-color: rgba(255,255,255,.32); }
}
@media (max-width: 360px) {
  .mobile-quick-add { right: 14px; width: 52px; min-width: 52px; padding: 0; }
  .mobile-quick-add span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.stat-card,.panel,.portfolio-hero,.wallet-card,.wallet-mini,.budget-card,.planning-card,.tx-panel,.analytics-card), .mobile-quick-add { transition: none !important; }
}
