:root{--bg: var(--tg-theme-bg-color, #ffffff);--fg: var(--tg-theme-text-color, #1f1f1f);--hint: var(--tg-theme-hint-color, #6b7280);--card: var(--tg-theme-secondary-bg-color, #f3f4f6);--accent: var(--tg-theme-button-color, #e8590c);--accent-fg: var(--tg-theme-button-text-color, #ffffff);--link: var(--tg-theme-link-color, #c2410c);--danger: #c92a2a;--ok: #2f9e44;--radius: 14px;--safe-top: var(--tg-content-safe-area-inset-top, 0px);--safe-bottom: var(--tg-safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--fg)}body{font:16px/1.4 -apple-system,system-ui,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a{color:var(--link)}.app{display:flex;flex-direction:column;min-height:100dvh;padding-top:calc(var(--safe-top) + 8px)}.screen{flex:1;padding:8px 16px calc(84px + var(--safe-bottom))}h1{font-size:22px;margin:8px 0 12px}h2{font-size:17px;margin:18px 0 8px;color:var(--hint);font-weight:600}.hint{color:var(--hint);font-size:14px}.card{background:var(--card);border-radius:var(--radius);padding:12px 14px;margin:8px 0}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.title{font-weight:600}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{font-size:12px;padding:2px 8px;border-radius:999px;background:#00000014;color:var(--hint);white-space:nowrap}.badge.warn{background:#fff3bf;color:#8a5a00}.badge.ok{background:#d3f9d8;color:#2b8a3e}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 16px;border:0;border-radius:12px;background:var(--accent);color:var(--accent-fg);font-weight:600;cursor:pointer;text-decoration:none}.btn.secondary{background:#00000014;color:var(--fg)}.btn.small{min-height:36px;padding:6px 12px;font-size:14px}.btn.block{width:100%}.btn:disabled{opacity:.45;cursor:default}.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.input{width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(0,0,0,.15);border-radius:12px;background:var(--bg);color:var(--fg)}textarea.input{min-height:80px;resize:vertical}.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--bg);border-top:1px solid rgba(0,0,0,.08);padding-bottom:var(--safe-bottom);z-index:10}.tabs button{flex:1;min-height:56px;border:0;background:transparent;color:var(--hint);font-size:12px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer}.tabs button.active{color:var(--accent);font-weight:600}.tabs .ico{font-size:20px;line-height:1}.empty{text-align:center;padding:40px 16px;color:var(--hint)}.steps{padding-left:20px}.steps li{margin:8px 0}.mono{font-family:ui-monospace,Menlo,monospace;font-size:13px;word-break:break-all}.toast{position:fixed;left:16px;right:16px;bottom:calc(72px + var(--safe-bottom));background:#1f1f1f;color:#fff;padding:12px 16px;border-radius:12px;text-align:center;z-index:20}.kind-checkin:before{content:"💬 "}.kind-ending_soon:before{content:"⏳ "}.kind-ended:before{content:"🔁 "}.kind-lapsed:before{content:"😶 "}.kind-birthday:before{content:"🎂 "}.kind-no_contact:before{content:"📵 "}
