:root{--bg: #f2f2f7;--card: #ffffff;--fg: #111214;--muted: #7b818c;--line: #e6e8ec;--accent: #7c5cff;--accent-soft: rgba(124, 92, 255, .12);--ok: #24b26b;--warn: #f0a020;--err: #e5484d;--radius: 16px;--safe-b: env(safe-area-inset-bottom, 0px)}:root[data-theme=dark]{--bg: #0f1115;--card: #171a21;--fg: #f2f4f8;--muted: #8f96a3;--line: #252932;--accent: #8f74ff;--accent-soft: rgba(143, 116, 255, .16)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overscroll-behavior-y:none}.app{max-width:560px;margin:0 auto;padding:12px 14px calc(84px + var(--safe-b))}h1{font-size:20px;margin:0 0 4px;font-weight:700;letter-spacing:-.01em}h2{font-size:13px;margin:20px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}p{margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.card{background:var(--card);border-radius:var(--radius);padding:16px;margin-bottom:10px;border:1px solid var(--line)}.card.tight{padding:12px 14px}.card.flat{background:transparent;border:none;padding:0}.row{display:flex;align-items:center;gap:12px}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:10px}.hero{text-align:center;padding:22px 16px 18px}.hero .emoji{font-size:44px;line-height:1}.hero .title{font-size:22px;font-weight:700;margin-top:8px}.hero .sub{color:var(--muted);margin-top:4px;font-size:14px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge.ok{background:#24b26b24;color:var(--ok)}.badge.warn{background:#f0a02029;color:var(--warn)}.badge.err{background:#e5484d24;color:var(--err)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.meter{height:8px;background:var(--line);border-radius:999px;overflow:hidden}.meter>i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .4s ease}.meter.warn>i{background:var(--warn)}.meter.err>i{background:var(--err)}button,.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;font:inherit;font-weight:600;border-radius:12px;padding:14px 16px;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:opacity .15s,transform .05s}button:active,.btn:active{transform:scale(.985)}button:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--accent-soft);color:var(--accent)}.btn-ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}.btn-danger{background:#e5484d1f;color:var(--err)}.btn-sm{padding:9px 12px;font-size:13px;border-radius:10px;width:auto}.list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.item{display:flex;align-items:center;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line)}.item:last-child{border-bottom:none}.item .ic{font-size:22px;width:28px;text-align:center;flex-shrink:0}.item .t{font-weight:600}.item .s{color:var(--muted);font-size:13px}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tariff{position:relative;border:1.5px solid var(--line);background:var(--card);border-radius:var(--radius);padding:14px;text-align:left;width:100%;display:block;margin-bottom:10px}.tariff.sel{border-color:var(--accent);background:var(--accent-soft)}.tariff .nm{font-weight:700;font-size:16px}.tariff .pm{color:var(--muted);font-size:13px;margin-top:2px}.tariff .pr{font-weight:700;font-size:17px;white-space:nowrap}.tariff .tag{position:absolute;top:-8px;right:12px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px}input,textarea,select{width:100%;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}textarea{min-height:96px;resize:vertical}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:var(--safe-b)}.tabs button{flex:1;background:transparent;color:var(--muted);border-radius:0;flex-direction:column;gap:3px;padding:9px 4px 8px;font-size:11px;font-weight:500}.tabs button.on{color:var(--accent)}.tabs .ti{font-size:20px;line-height:1}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px}.spinner{width:22px;height:22px;border:2.5px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.bars{display:flex;align-items:flex-end;gap:3px;height:64px}.bars>i{flex:1;background:var(--accent-soft);border-radius:3px 3px 0 0;min-height:3px}.bars>i.hi{background:var(--accent)}.kpi{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.kpi .k{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px}.kpi .k .v{font-size:20px;font-weight:700}.kpi .k .l{font-size:12px;color:var(--muted);margin-top:1px}.seg{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:3px;gap:3px;margin-bottom:12px}.seg button{padding:8px;font-size:13px;border-radius:8px;background:transparent;color:var(--muted)}.seg button.on{background:var(--card);color:var(--fg)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(90px + var(--safe-b));background:var(--fg);color:var(--bg);padding:11px 18px;border-radius:12px;font-size:14px;font-weight:600;z-index:50;max-width:90%;animation:rise .2s ease}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:40}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--card);border-radius:20px 20px 0 0;padding:18px 16px calc(20px + var(--safe-b));max-height:88vh;overflow-y:auto;animation:up .22s ease}@keyframes up{0%{transform:translateY(100%)}}.sheet h3{margin:0 0 12px;font-size:18px}
