/* SwiftPay — full Phase 2 product polish */
:root{
  --navy-950:#0b1930;--navy-900:#112441;--navy-700:#254468;
  --gold-700:#a56300;--gold-600:#c17a00;--gold-500:#e09a19;--gold-300:#f3c968;
  --cream-50:#fffdf8;--cream-100:#fbf6eb;--cream-200:#f4ead8;
  --ink:#14213a;--muted-polish:#667085;--line-polish:#e8dfcf;
  --success:#087443;--danger:#b42318;
  --shadow-card:0 10px 30px rgba(17,36,65,.08),0 2px 8px rgba(17,36,65,.05);
  --shadow-lift:0 18px 48px rgba(17,36,65,.14);
}
html{background:var(--cream-100);scroll-behavior:smooth}
body{background:radial-gradient(circle at 12% -10%,rgba(243,201,104,.28),transparent 34%),linear-gradient(180deg,var(--cream-50),var(--cream-100));color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(17,36,65,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(17,36,65,.018) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,black,transparent 70%)}
.app-header{background:rgba(255,253,248,.9)!important;border-bottom:1px solid rgba(232,223,207,.9)!important;backdrop-filter:blur(18px);box-shadow:0 4px 20px rgba(17,36,65,.05)}
.brand-mark{background:linear-gradient(145deg,#fff8db,#f7c85d)!important;border:1px solid #e7ad35!important;box-shadow:inset 0 1px 0 #fff,0 8px 22px rgba(193,122,0,.22)!important;color:var(--navy-950)!important}
.brand{color:var(--navy-950)!important;letter-spacing:-.02em}.subtitle{color:var(--muted-polish)!important}
.app-shell{max-width:1440px!important;margin:0 auto!important}
.tabbar{background:rgba(255,253,248,.92)!important;border-color:var(--line-polish)!important;backdrop-filter:blur(16px)}
.tab{color:#5f6e82!important;font-weight:700!important;transition:background .18s ease,color .18s ease,transform .18s ease!important}
.tab:hover{background:#fff6df!important;color:var(--navy-900)!important}.tab:active{transform:scale(.97)}
.tab.active{background:linear-gradient(135deg,var(--navy-950),var(--navy-700))!important;color:#fff!important;box-shadow:0 8px 18px rgba(17,36,65,.18)!important}
.panel-header .eyebrow,.eyebrow{color:var(--gold-700)!important;letter-spacing:.12em!important}.panel-header h1{color:var(--navy-950)!important;letter-spacing:-.035em!important}.panel-header p{color:var(--muted-polish)!important;max-width:720px}
.card,.form-card,.settings-card,.premium-quick-card,.premium-activity-card{background:rgba(255,255,255,.94)!important;border:1px solid rgba(232,223,207,.95)!important;box-shadow:var(--shadow-card)!important}
.premium-quick-card{background:linear-gradient(145deg,#fffefa,#fff8e8)!important;border-color:#efd79f!important}
.premium-actions .action-tile{border:1px solid #eadfc9!important;background:#fff!important;box-shadow:0 4px 14px rgba(17,36,65,.06)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important}
.premium-actions .action-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)!important;border-color:#e4b957!important}
.premium-actions .action-tile.primary{background:linear-gradient(145deg,var(--navy-950),#1f3d63)!important;color:#fff!important;border-color:transparent!important}
.action-icon,.settings-icon,.stat-icon{background:linear-gradient(145deg,#fff7dc,#f5d27e)!important;color:var(--navy-950)!important;border:1px solid #ecd08d!important}
.stat{background:linear-gradient(180deg,#fff,#fffdf8)!important;border:1px solid var(--line-polish)!important;border-radius:20px!important;box-shadow:0 5px 18px rgba(17,36,65,.05)!important}
.premium-stats-grid .stat-primary{background:linear-gradient(145deg,var(--navy-950),#24466e)!important;color:#fff!important;border-color:transparent!important}
.premium-stats-grid .stat-primary span,.premium-stats-grid .stat-primary small,.premium-stats-grid .stat-primary strong{color:#fff!important}
input,select,textarea{border:1px solid #d9d3c7!important;background:#fff!important;color:var(--ink)!important;border-radius:12px!important;box-shadow:inset 0 1px 2px rgba(17,36,65,.035)!important;transition:border-color .18s ease,box-shadow .18s ease!important}
input:focus,select:focus,textarea:focus{outline:0!important;border-color:var(--gold-600)!important;box-shadow:0 0 0 4px rgba(224,154,25,.18)!important}
label{color:#344054!important;font-weight:750!important}
.primary-btn{background:linear-gradient(135deg,var(--navy-950),#25486f)!important;border:0!important;color:#fff!important;box-shadow:0 8px 18px rgba(17,36,65,.16)!important;transition:transform .16s ease,box-shadow .16s ease!important}
.primary-btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(17,36,65,.22)!important}.primary-btn:active{transform:translateY(1px)}
.secondary-btn,.ghost-btn,.inline-btn{background:#fff!important;color:var(--navy-900)!important;border:1px solid #d9d3c7!important}
.result-box{border-radius:14px!important}.result-box:not(:empty){animation:swiftpay-in .2s ease-out}
@keyframes swiftpay-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.activity-item{border-bottom-color:#eee6d7!important}.activity-item:last-child{border-bottom:0!important}
.health-card,.health-item{border-radius:16px!important;border-color:var(--line-polish)!important;background:#fff!important}
.backup-warning{background:linear-gradient(135deg,#fff8df,#fffdf5)!important;border:1px solid #ecc86d!important;border-radius:18px!important}
.backup-warning-actions{display:flex!important;flex-direction:row!important;width:auto!important}.backup-warning-actions button{min-width:118px}
.app-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:800;max-width:min(440px,calc(100% - 28px));padding:13px 18px;border-radius:999px;background:var(--navy-950);color:#fff;font-weight:750;font-size:13px;box-shadow:var(--shadow-lift);opacity:0;transform:translate(-50%,16px);pointer-events:none;transition:.2s ease}
.app-toast.visible{opacity:1;transform:translate(-50%,0)}
.decision-modal{max-width:440px!important}.decision-modal h2{margin:6px 0 8px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.dialog-actions button{width:100%;min-height:50px}
.reprint-txn{margin-left:6px!important}
:focus-visible{outline:3px solid var(--gold-500)!important;outline-offset:3px!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:720px){
  body{background:var(--cream-100)!important}.app-shell{padding-inline:12px!important}.panel{padding-top:10px!important}.panel-header h1{font-size:28px!important;line-height:1.08!important}
  .card,.form-card,.settings-card,.premium-quick-card,.premium-activity-card{padding:18px!important;border-radius:20px!important}
  .premium-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.premium-actions .action-tile{min-height:116px!important;padding:15px!important}
  .tabbar{padding-top:7px!important}.tab.active{box-shadow:none!important}.app-toast{bottom:calc(94px + env(safe-area-inset-bottom))}
  .dialog-actions{grid-template-columns:1fr}.simple-modal-overlay{align-items:center!important;padding:16px!important}.simple-modal{border-radius:22px!important;max-height:calc(100dvh - 32px)!important}
  .backup-warning-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}.backup-warning-actions button{min-width:0}
}
@media(max-width:360px){.premium-actions{grid-template-columns:1fr!important}.premium-actions .action-tile{min-height:88px!important}.panel-header h1{font-size:25px!important}}
.backup-recovery-panel {
  margin-top: 16px;
  padding: 17px;
  border: 1px solid #e3b94f;
  border-radius: 16px;
  background: #fff8e6;
}
.backup-recovery-panel h3 { margin: 4px 0 3px; }
.backup-recovery-panel p { margin: 0 0 12px; color: #5d6b82; }
.backup-recovery-panel code {
  display: block;
  padding: 13px;
  border: 1px dashed #c89419;
  border-radius: 12px;
  color: #10213f;
  background: #fff;
  font: 800 clamp(14px, 2.2vw, 18px) ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .04em;
  overflow-wrap: anywhere;
}
