:root{--bg:#f6f4ef;--surface:#fff;--text:#1d2430;--muted:#6b7380;--line:#e4e0d6;--accent:#0d5eaf;--accent-text:#fff;--ok:#1f7a4d;--ok-bg:#e3f3ea;--bad:#b23a3a;--bad-bg:#f8e4e4;--wait:#9a6a00;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#12161c;--surface:#1b2129;--text:#e8ebf0;--muted:#97a0ad;--line:#2c343f;--accent:#4d94e0;--accent-text:#0b1520;--ok:#5cc08c;--ok-bg:#173226;--bad:#e57b7b;--bad-bg:#3a1d1d;--wait:#e0b450;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font:16px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,sans-serif}#app{max-width:560px;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));margin:0 auto}h1,h2{margin:0}h2{margin-bottom:10px;font-size:17px}.brand{letter-spacing:.5px;color:var(--accent);font-size:40px;font-weight:700}.brand.small{font-size:24px}.muted{color:var(--muted)}.splash{min-height:70vh;color:var(--accent);place-items:center;font-size:36px;font-weight:700;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:16px;padding:18px}button{font:inherit;cursor:pointer;background:var(--line);min-height:48px;color:var(--text);border:0;border-radius:12px;padding:12px 18px}button:disabled{opacity:.6}button.primary{background:var(--accent);color:var(--accent-text);font-weight:600}button.link{color:var(--accent);background:0 0;min-height:0;padding:8px}.login{text-align:center;padding-top:8vh}.form{text-align:left;gap:14px;display:grid}.form label{color:var(--muted);gap:6px;font-size:14px;display:grid}.form input{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;padding:12px 14px;font-size:17px}.error{color:var(--bad);margin:0}.note{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.top{justify-content:space-between;align-items:center;gap:12px;display:flex}.badge{background:var(--surface);border:1px solid var(--line);min-height:32px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:inline-flex}.badge .dot{background:var(--ok);border-radius:50%;width:8px;height:8px}.badge.syncing .dot{background:var(--accent)}.badge.offline .dot,.badge.error .dot,.badge.unauthorized .dot,.badge[data-pending]:not([data-pending="0"]) .dot{background:var(--wait)}.flash{text-align:center}.flash .label{margin:0 0 8px;font-size:13px}.flash .gr{margin:8px 0 16px;font-size:34px;font-weight:600}.flash .ru{margin:0;font-size:22px}.flash .pr{margin:4px 0 16px}.flash .primary{width:100%}.row{grid-template-columns:1fr 1fr;gap:10px;display:grid}button.right{background:var(--ok-bg);color:var(--ok);font-weight:600}button.wrong{background:var(--bad-bg);color:var(--bad);font-weight:600}.log{margin:0;padding:0;list-style:none}.log li{border-top:1px solid var(--line);grid-template-columns:20px 1fr auto;grid-template-areas:"mark word when""mark dev st";column-gap:10px;padding:8px 0;font-size:15px;display:grid}.log li:first-child{border-top:0}.log .ok,.log .bad{grid-area:mark;font-weight:700}.log .ok{color:var(--ok)}.log .bad{color:var(--bad)}.log .w{grid-area:word}.log .when{grid-area:when;font-size:13px}.log .dev{grid-area:dev;font-size:13px}.log .st{text-align:right;grid-area:st;font-size:13px}.log .st.ok{color:var(--ok);font-weight:400}.log .st.wait{color:var(--wait)}.foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 14px;margin-top:20px;font-size:13px;display:flex}.banner,.hint{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.banner{margin-bottom:12px}.banner>span,.hint>span{flex:1}.banner .primary{min-height:36px;padding:6px 14px}.hint{margin-top:20px}
