:root{--bg: #f6f7fb;--bg-top: #edf0f8;--surface: #ffffff;--surface-2: #f4f6fa;--border: #e8ebf3;--border-strong: #dce1ec;--text: #191e2b;--text-secondary: #454e63;--muted: #8a93a6;--accent: #4a6cf7;--accent-strong: #3d5ef0;--accent-soft: #ecf0fe;--accent-2: #8b5cf6;--accent-grad: linear-gradient(135deg, #4a6cf7 0%, #7a5cf0 60%, #8b5cf6 100%);--ok: #178a50;--ok-bg: #e6f6ed;--warn: #b26a05;--warn-bg: #fdf3df;--err: #d8404a;--err-bg: #fdecec;--info: #3b5bdb;--info-bg: #e9eefe;--neutral: #667089;--neutral-bg: #eef1f6;--radius-lg: 20px;--radius: 16px;--radius-sm: 12px;--shadow-panel: 0 1px 2px rgba(25, 30, 43, .04), 0 12px 32px -20px rgba(25, 30, 43, .22);--shadow-btn: 0 1px 2px rgba(25, 30, 43, .06);--shadow-primary: 0 8px 20px -6px rgba(74, 108, 247, .45)}*{box-sizing:border-box}html,body{margin:0;padding:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;background:linear-gradient(180deg,var(--bg-top) 0%,var(--bg) 320px) var(--bg);background-attachment:fixed}#root{min-height:100vh}.screen{min-height:100vh;display:flex;flex-direction:column}.content{flex:1;padding:16px 16px calc(84px + env(safe-area-inset-bottom));max-width:520px;width:100%;margin:0 auto}.center-screen{align-items:center;justify-content:center;padding:24px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:14px;box-shadow:var(--shadow-panel);animation:panel-in .28s ease both}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.panel-title{font-weight:700;font-size:15px;letter-spacing:-.01em}.panel-actions{display:flex;gap:6px}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;line-height:1.35}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-err{background:var(--err-bg);color:var(--err)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-neutral{background:var(--neutral-bg);color:var(--neutral)}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:11px 18px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:var(--shadow-btn);transition:transform .12s ease,box-shadow .15s ease,background .15s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent-grad);border:none;color:#fff;box-shadow:var(--shadow-primary)}.btn-primary:active{box-shadow:0 4px 12px -4px #4a6cf766}.btn-danger{background:var(--err-bg);border-color:#d8404a47;color:var(--err);box-shadow:none}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}.btn-small{padding:7px 13px;font-size:13px;border-radius:10px}.btn-row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.field{display:block;margin-bottom:12px}.field-label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}input,select,textarea{width:100%;background:var(--surface);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);padding:11px 13px;font-size:15px;font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:#a6aec0}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4a6cf724}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238a93a6' d='M1.5 1.2 6 5.8l4.5-4.6' stroke='%238a93a6' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.radio-row{display:flex;gap:14px}.radio{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--text-secondary);cursor:pointer}.radio input{width:auto;accent-color:var(--accent)}.row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--surface-2)}.row:last-child{border-bottom:none}.row-label{color:var(--muted);font-size:13.5px}.row-value{font-weight:600;color:var(--text);text-align:right;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.empty{color:var(--muted);text-align:center;padding:22px 10px;font-size:14px;border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2)}.muted{color:var(--muted)}.small{font-size:13px}.error-note{background:var(--err-bg);border:1px solid rgba(216,64,74,.25);color:var(--err);border-radius:var(--radius-sm);padding:10px 13px;margin:8px 0;font-size:13px}.ok-note{background:var(--ok-bg);border:1px solid rgba(23,138,80,.25);color:var(--ok);border-radius:var(--radius-sm);padding:10px 13px;margin:8px 0;font-size:13px}code{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-size:12.5px}.home-header{display:flex;align-items:center;gap:13px;margin-bottom:16px}.avatar{width:48px;height:48px;border-radius:16px;background:var(--accent-grad);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:19px;color:#fff;flex-shrink:0;box-shadow:var(--shadow-primary)}.home-header-text{flex:1;min-width:0}.home-name{font-weight:700;font-size:17px;letter-spacing:-.01em}.omnibus-banner{background:var(--warn-bg);border:1px solid rgba(178,106,5,.22);border-radius:var(--radius);padding:12px 15px;margin-bottom:14px}.omnibus-title{font-weight:700;color:var(--warn);margin-bottom:3px;font-size:14px}.card-visual{position:relative;overflow:hidden;background:var(--accent-grad);border-radius:var(--radius);padding:16px 16px 15px;color:#fff;margin:-4px -2px 10px;box-shadow:0 14px 30px -14px #4a6cf78c}.card-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(140px 140px at 88% 8%,rgba(255,255,255,.28),transparent 70%),radial-gradient(220px 180px at -10% 110%,rgba(255,255,255,.14),transparent 70%);pointer-events:none}.card-visual.is-pending{filter:saturate(.45);opacity:.85}.card-visual-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.card-brand{font-weight:800;font-size:13px;letter-spacing:.22em;color:#ffffffeb}.card-visual .badge{background:#fffffff0}.card-pan{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:19px;letter-spacing:2.5px;margin-bottom:4px;text-shadow:0 1px 2px rgba(20,30,80,.2)}.card-meta{color:#ffffffd1;font-size:12.5px;font-weight:500}.iframe-box{margin-top:12px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;background:var(--surface-2)}.iframe-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.iframe-container iframe{width:100%;min-height:200px;border:0;border-radius:10px;background:#fff}.tx-item{padding:12px 0;border-bottom:1px solid var(--surface-2)}.tx-item:last-child{border-bottom:none}.tx-line{display:flex;justify-content:space-between;align-items:center;gap:8px}.tx-merchant{font-weight:600;letter-spacing:-.01em}.tx-amount{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.tx-decline{color:var(--err);font-size:13px;margin-top:4px}.threeds-card{border:1px solid var(--border);border-radius:var(--radius);padding:13px;margin-bottom:12px;background:var(--surface-2)}.event-item{border-bottom:1px solid var(--surface-2);padding:10px 0}.event-item:last-child{border-bottom:none}.event-item summary{display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;list-style:none}.event-item summary::-webkit-details-marker{display:none}.event-type{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;font-weight:600;color:var(--text-secondary)}.event-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.event-payload{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px;font-size:11px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:260px;overflow-y:auto;color:var(--text-secondary)}.tabbar{position:fixed;bottom:0;left:0;right:0;background:#ffffffe0;backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);border-top:1px solid var(--border);display:flex;padding-bottom:env(safe-area-inset-bottom);z-index:10}.tab{flex:1;background:none;border:none;color:#9aa3b5;padding:8px 4px 10px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;font-family:inherit;transition:color .15s ease}.tab-icon{font-size:19px;line-height:1;padding:4px 12px;border-radius:11px;transition:background .18s ease}.tab-label{font-size:11px;font-weight:600}.tab-active{color:var(--accent)}.tab-active .tab-icon{background:var(--accent-soft)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#191e2b66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;z-index:20;animation:fade-in .18s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:520px;padding:0 10px calc(10px + env(safe-area-inset-bottom));animation:slide-up .24s cubic-bezier(.2,.9,.3,1) both}.modal:before{content:"";display:block;width:40px;height:4px;border-radius:999px;background:var(--border-strong);margin:10px auto 6px}@keyframes slide-up{0%{transform:translateY(48px);opacity:.5}to{transform:translateY(0);opacity:1}}.modal .panel{border-radius:var(--radius-lg);box-shadow:0 -8px 40px -12px #191e2b59}.settings-info{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin:12px 0;font-size:13px;display:grid;gap:5px;color:var(--text-secondary)}.auth-error h2{margin:0 0 8px}.auth-error p{margin:0 0 8px;color:var(--text-secondary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d5dae6;border-radius:999px}::-webkit-scrollbar-track{background:transparent}
