:root{color-scheme:light dark;--bg: var(--tg-theme-bg-color, #fff);--fg: var(--tg-theme-text-color, #111);--accent: var(--tg-theme-button-color, #2f6fde);--accent-fg: var(--tg-theme-button-text-color, #fff);--muted: var(--tg-theme-hint-color, #777);--card: var(--tg-theme-secondary-bg-color, #f3f4f6);--header-bg: var(--tg-theme-header-bg-color, var(--card));--shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 1px 8px rgba(0, 0, 0, .04);--radius: 14px}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--fg);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--header-bg);border-bottom:1px solid rgba(127,127,127,.12);position:sticky;top:0;z-index:5}.app-header h1{font-size:17px;font-weight:700;letter-spacing:-.01em}.app-header .day-pill{font-size:12px;font-weight:600;color:var(--accent-fg);background:var(--accent);padding:4px 10px;border-radius:999px}.screen{flex:1;padding:16px 16px 88px;max-width:560px;margin:0 auto;width:100%}.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--header-bg);border-top:1px solid rgba(127,127,127,.12);padding-bottom:env(safe-area-inset-bottom,0);z-index:5}.tabs button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 10px;border:0;background:none;color:var(--muted);font-size:11px;font-weight:500;transition:color .15s ease,transform .1s ease}.tabs button .icon{font-size:20px;line-height:1}.tabs button.active{color:var(--accent)}.tabs button:active{transform:scale(.94)}h2{font-size:19px;font-weight:700;letter-spacing:-.01em;margin-bottom:10px}h3{font-size:15px;font-weight:600;margin-bottom:4px}.muted{color:var(--muted);font-size:13.5px}.card{background:var(--card);border-radius:var(--radius);padding:16px;margin-bottom:12px;box-shadow:var(--shadow)}.card+.card{margin-top:0}.progress-wrap{margin:4px 0 16px}.progress-wrap .progress-label{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-bottom:6px}.progress-track{height:8px;border-radius:999px;background:#7f7f7f2e;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .3s ease}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px}.badge.done{background:#2eaf5c29;color:#2eaf5c}.badge.pending{background:#7f7f7f29;color:var(--muted)}button.primary{background:var(--accent);color:var(--accent-fg);border:0;border-radius:12px;padding:13px 16px;font-size:15.5px;font-weight:600;width:100%;transition:transform .1s ease,opacity .15s ease}button.primary:active{transform:scale(.98);opacity:.9}button.primary:disabled{opacity:.5}button.secondary{background:transparent;color:var(--accent);border:1.5px solid var(--accent);border-radius:12px;padding:11.5px 16px;font-size:15px;font-weight:600;width:100%}.error{color:#e05252;font-size:14px}label{display:block;margin:12px 0 5px;font-size:13.5px;font-weight:500;color:var(--muted)}input,textarea,select{width:100%;padding:11px 12px;border-radius:10px;border:1.5px solid rgba(127,127,127,.25);background:var(--bg);color:var(--fg);font:inherit}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}.loading-state{display:flex;align-items:center;justify-content:center;min-height:40vh;color:var(--muted)}
