:root{--bg: #0c121e;--surface: #131d2e;--surface-2: #1b283d;--surface-hover: #21314a;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text: #f5f7fb;--text-muted: #8d9bb0;--text-dim: #627086;--primary: #ffffff;--primary-text: #0c121e;--green: #22c55e;--green-soft: rgba(34, 197, 94, .14);--red: #f87171;--red-border: rgba(248, 113, 113, .45);--red-soft: rgba(239, 68, 68, .14);--amber: #fbbf24;--amber-soft: rgba(251, 191, 36, .14);--radius-card: 20px;--radius-item: 14px;--radius-pill: 999px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Inter,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}.app-shell{max-width:440px;margin:0 auto;min-height:100dvh;padding:calc(16px + var(--safe-top)) 16px calc(104px + var(--safe-bottom));display:flex;flex-direction:column;gap:14px}.back-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.back-btn{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:14px;padding:4px 0}.brand-label{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--text-muted);text-transform:uppercase}.page-title{margin:0;font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.page-subtitle{margin:4px 0 0;font-size:14px;color:var(--text-muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px;display:flex;flex-direction:column;gap:12px}.card-title{margin:0;font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px}.card-desc{margin:0;font-size:14px;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;padding:0 20px;border-radius:var(--radius-pill);font-size:15px;font-weight:600;transition:transform .12s ease,opacity .15s ease,background .15s ease}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-text)}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-danger-outline{background:transparent;color:var(--red);border:1px solid var(--red-border)}.btn-sm{height:38px;padding:0 14px;font-size:13px;width:auto}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-item);width:100%;text-align:left}.list-item-plain{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 2px;width:100%;text-align:left;border-bottom:1px solid var(--border)}.list-item-plain:last-child{border-bottom:none;padding-bottom:2px}.list-item-plain:first-child{padding-top:2px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:var(--radius-pill)}.badge-active{background:var(--green-soft);color:var(--green)}.badge-disabled{background:var(--amber-soft);color:var(--amber)}.badge-expired{background:var(--red-soft);color:var(--red)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13px;font-weight:600;color:var(--text-muted)}.input,.textarea,.select{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px 14px;color:var(--text);outline:none}.input:focus,.textarea:focus,.select:focus{border-color:var(--border-strong)}.textarea{min-height:110px;resize:vertical}.tabbar-wrap{position:fixed;left:0;right:0;bottom:calc(12px + var(--safe-bottom));display:flex;justify-content:center;padding:0 12px;pointer-events:none;z-index:40}.tabbar{pointer-events:auto;width:100%;max-width:416px;background:#131d2ef0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border);border-radius:999px;padding:6px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;box-shadow:0 12px 32px #00000073}.tab-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:54px;border-radius:999px;color:var(--text-muted);font-size:11px;font-weight:600;transition:background .15s ease,color .15s ease}.tab-btn.active{background:var(--primary);color:var(--primary-text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080fb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border-strong);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:14px}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.chips-wrap{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:9px 16px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:14px;font-weight:600}.chip.active{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.step-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--text);font-size:12px;font-weight:700;flex-shrink:0}.switch{width:46px;height:26px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border-strong);position:relative;transition:background .15s ease;flex-shrink:0}.switch.on{background:var(--green);border-color:var(--green)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s ease}.switch.on:after{transform:translate(20px)}.toast{position:fixed;top:calc(14px + var(--safe-top));left:50%;transform:translate(-50%);background:#1f2d45;color:#fff;border:1px solid var(--border-strong);padding:10px 16px;border-radius:999px;font-size:13px;font-weight:600;z-index:200;box-shadow:0 8px 24px #0006}
