:root{--bg:var(--tg-theme-secondary-bg-color,#f2f2f7);--cell:var(--tg-theme-section-bg-color,var(--tg-theme-bg-color,#fff));--text:var(--tg-theme-text-color,#000);--muted:var(--tg-theme-subtitle-text-color,var(--tg-theme-hint-color,#6d6d72));--accent:var(--tg-theme-accent-text-color,var(--tg-theme-link-color,#1f73c4));--sep:var(--tg-theme-section-separator-color,#e5e5ea);--danger:var(--tg-theme-destructive-text-color,#d70015);--btn:var(--tg-theme-button-color,#1f73c4);--btn-text:var(--tg-theme-button-text-color,#fff);--bar-bg:var(--tg-theme-bottom-bar-bg-color,var(--tg-theme-secondary-bg-color,#f7f7f8));--late:#b45309;--late-tint:#fffaf3;--late-badge:#fff1de;--late-fill:#f0a030;--late-ink:#3b2300;--muted-icon:#8e8e93;--chevron:#c4c4c7;--press:#0000000d;--blue-badge:#e6f0fa;--shadow:0 6px 20px #0000002e;--green:#34c759;--green-text:#1e7f3c;--green-tint:#34c75924;--blue-tint:#1f73c41f;--gray-tint:#8e8e9324;--ring-track:#3c3c431f;--skel-a:#7878801f;--skel-b:#78788038;--ease:cubic-bezier(.32, .72, 0, 1)}:root[data-scheme=dark]{--bg:var(--tg-theme-secondary-bg-color,#000);--cell:var(--tg-theme-section-bg-color,var(--tg-theme-bg-color,#1c1c1e));--text:var(--tg-theme-text-color,#fff);--muted:var(--tg-theme-subtitle-text-color,var(--tg-theme-hint-color,#98989f));--accent:var(--tg-theme-accent-text-color,var(--tg-theme-link-color,#4a9eec));--sep:var(--tg-theme-section-separator-color,#38383a);--danger:var(--tg-theme-destructive-text-color,#ff6961);--btn:var(--tg-theme-button-color,#2f84d6);--bar-bg:var(--tg-theme-bottom-bar-bg-color,var(--tg-theme-secondary-bg-color,#1c1c1e));--late:#f5a54a;--late-tint:#f0a0301f;--late-badge:#f0a03033;--late-fill:#f0a030;--late-ink:#2b1a00;--muted-icon:#98989f;--chevron:#5a5a5e;--press:#ffffff14;--blue-badge:#4a9eec2e;--shadow:0 6px 20px #0009;--green-text:#5fd980;--green-tint:#34c7592e;--blue-tint:#4a9eec2e;--gray-tint:#98989f2e;--ring-track:#ebebf529;--skel-a:#ebebf514;--skel-b:#ebebf529}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--bg);overscroll-behavior-y:none}button,.grp,.lt,.sh,.lh{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button,a,input,label{touch-action:manipulation}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,system-ui,sans-serif;font-size:17px;overflow-x:hidden}button{font:inherit;color:inherit}h1,h2,p{margin:0}.app{flex-direction:column;min-height:100dvh;display:flex}.body{padding:calc(12px + max(env(safe-area-inset-top,0px), var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px))) calc(16px + max(env(safe-area-inset-right,0px), var(--tg-safe-area-inset-right,0px))) calc(28px + max(env(safe-area-inset-bottom,0px), var(--tg-safe-area-inset-bottom,0px) + var(--tg-content-safe-area-inset-bottom,0px))) calc(16px + max(env(safe-area-inset-left,0px), var(--tg-safe-area-inset-left,0px)));flex-direction:column;flex:1;gap:28px;width:100%;max-width:640px;margin:0 auto;display:flex}.lt{flex-direction:column;gap:2px;padding:0 4px;display:flex}.lt h1{overflow-wrap:anywhere;font-size:34px;font-weight:700;line-height:1.15}.lt p{color:var(--muted);font-size:15px}.sh{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0 16px 6px;font-size:13px;font-weight:400}.th{text-transform:none;column-gap:12px;display:grid}.th .right,.t{text-align:right}.sf{color:var(--muted);margin:6px 16px 0;font-size:13px;line-height:1.4}.grp{background:var(--cell);border-radius:12px;overflow:hidden}.r{background:var(--cell);width:100%;color:var(--text);text-align:left;border:0;padding:0 0 0 16px;display:flex}.r.tint{background:var(--late-tint)}button.tap{cursor:pointer}button.tap:active,button.it:active{background:var(--press)}.in{border-bottom:1px solid var(--sep);flex:1;align-items:center;gap:12px;min-width:0;min-height:56px;padding:10px 16px 10px 0;font-size:17px;display:flex}.r:last-child .in{border-bottom:0}.in.grid{column-gap:12px;display:grid}.in.tall{gap:14px;min-height:76px;padding-top:14px;padding-bottom:14px}.tm{font-variant-numeric:tabular-nums;font-size:19px;font-weight:600}.nm{text-wrap:balance;font-size:17px;display:block}.sub{color:var(--muted);margin-top:1px;font-size:13px;display:block}.t{font-variant-numeric:tabular-nums;font-size:17px}.col{flex-direction:column;gap:2px;min-width:0;display:flex}.big{font-size:20px;font-weight:600}.bigtime{font-variant-numeric:tabular-nums;font-size:28px;font-weight:600}.muted{color:var(--muted)}.small{font-size:15px}.late{color:var(--late)}.strong{font-weight:600}.right{text-align:right}.link{color:var(--accent)}.danger{color:var(--danger)}.ok,.green{color:var(--green-text)}.v{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;margin-left:auto}.v.late,.t.late{color:var(--late)}.et{font-variant-numeric:tabular-nums;flex:none;width:52px;font-weight:600}.lt2{color:var(--muted);font-variant-numeric:tabular-nums}.logmsg{padding:4px 0;font-size:15px;line-height:1.35}.stt{font-variant-numeric:tabular-nums;white-space:nowrap;justify-self:end;align-items:center;gap:6px;font-size:15px;display:inline-flex}.ic-check{color:var(--green)}.badge{border-radius:20px;flex:none;place-items:center;width:40px;height:40px;display:grid}.badge.orange{background:var(--late-badge);color:var(--late)}.badge.blue{background:var(--blue-badge);color:var(--accent)}.appicon{background:#1f73c4;border-radius:7px;flex:none;place-items:center;width:30px;height:30px;display:grid}.stats{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat{flex-direction:column;gap:2px;padding:14px 16px;display:flex}.stat+.stat{border-left:1px solid var(--sep)}.num{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.num.late{color:var(--late)}.num.dim{color:var(--muted)}.lbl{color:var(--muted);font-size:13px}.mx{border-bottom:1px solid var(--sep);align-items:center;margin-left:16px;padding-right:16px;display:grid}.mrow{background:var(--cell);min-height:56px;color:var(--text);border:0;border-bottom:1px solid var(--sep);text-align:left;padding:0 16px 0 0}.grp>.mrow:last-child{border-bottom:0}button.mrow{width:calc(100% - 16px)}.ch{flex-direction:column;align-items:center;gap:1px;padding:10px 0 8px;display:flex}.ct{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.cm{color:var(--muted);font-size:11px}.dl{font-size:17px}.mc{place-items:center;display:grid}.nodata{border:1.5px dashed var(--muted-icon);background:var(--gray-tint);min-height:36px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;margin:10px 0;font-size:15px;display:flex}.nodata.soon{border-color:var(--accent);background:var(--blue-tint);color:var(--accent)}.dwrap{flex-direction:column;gap:1px;min-width:0;display:flex}.dst{color:var(--accent);font-size:12px;font-weight:600}.mrow.today{background:var(--blue-tint)}.pend-note{color:var(--accent);margin:8px 16px 0;font-size:15px}.empty-box{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:36px 20px 28px;animation:.25s ease-out pop;display:flex}.empty-box h2{margin:8px 0 0;font-size:22px;font-weight:700}.empty-box p{max-width:300px;color:var(--muted);margin:0;font-size:17px;line-height:1.4}.empty-box p.go{color:var(--accent);font-weight:600}.legend{flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}.lg{align-items:center;gap:4px;display:inline-flex}.picker{flex-direction:column;gap:10px;padding:16px;display:flex}.picker input[type=time]{font:inherit;border:1px solid var(--sep);background:var(--bg);width:100%;min-height:64px;color:var(--text);font-variant-numeric:tabular-nums;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;border-radius:12px;padding:0 12px;font-size:34px;font-weight:600}@media (prefers-color-scheme:dark){.picker input[type=time]{--lightningcss-light: ;--lightningcss-dark:initial}}.bar{margin:auto -16px calc(-28px - env(safe-area-inset-bottom));padding:8px 16px calc(20px + env(safe-area-inset-bottom));background:var(--bar-bg);border-top:1px solid var(--sep);flex-direction:column;gap:8px;display:flex;position:sticky;bottom:0}.mb,.sb{cursor:pointer;border-radius:12px;min-height:56px;font-size:17px;font-weight:600}.mb{background:var(--btn);color:var(--btn-text);border:0}.sb{border:1px solid var(--sep);background:var(--cell);color:var(--accent)}.mb:disabled,.sb:disabled{opacity:.55;cursor:default}.backnav{margin:-4px 0 -16px -8px}.back{min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0 8px 0 2px;font-size:17px;display:inline-flex}.gate{text-align:center;flex-direction:column;justify-content:center;gap:12px;min-height:100dvh;padding:32px 24px;display:flex}.gate h1{font-size:28px}.gate p{color:var(--muted);font-size:17px;line-height:1.4}.mockbanner{background:var(--late-badge);color:var(--late);text-align:center;padding:4px;font-size:13px}.toast{z-index:10;background:var(--text);max-width:560px;color:var(--bg);box-shadow:var(--shadow);border-radius:14px;margin:0 auto;padding:14px 16px;font-size:17px;line-height:1.3;animation:.2s ease-out pop;position:fixed;top:12px;left:16px;right:16px}.toast.err{background:var(--danger);color:#fff}@keyframes pop{0%{opacity:0;transform:translateY(-8px)}}:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;border-radius:8px}.grp{border-radius:14px}.lt{padding:4px 4px 0}.lh{letter-spacing:.01em;align-items:center;gap:8px;margin:0 8px 8px;font-size:15px;font-weight:600;display:flex}.lh:before{content:"";background:currentColor;border-radius:5px;flex:none;width:10px;height:10px}.lh.blue{color:var(--accent)}.lh.green{color:var(--green-text)}.lh.orange{color:var(--late)}.lh.gray{color:var(--muted)}.prog{background:var(--ring-track);border-radius:3px;height:6px;margin:-2px 8px 10px;overflow:hidden}.prog span{background:var(--green);height:100%;transition:width .6s var(--ease);border-radius:3px;display:block}.ncard{border-radius:20px;flex-direction:column;gap:6px;margin:4px 0 22px;padding:18px 20px;animation:.25s ease-out pop;display:flex}.ncard.blue{background:var(--blue-tint);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--accent) 35%, transparent)}.ncard.orange{background:var(--late-tint);box-shadow:inset 0 0 0 2px var(--late-fill)}.ncard.green{background:var(--green-tint);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--green) 45%, transparent)}.nlbl{text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.nlbl.blue{color:var(--accent)}.nlbl.orange{color:var(--late)}.nlbl.green{color:var(--green-text)}.nname{text-wrap:balance;font-size:26px;font-weight:700;line-height:1.2}.nrow{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.ntime{font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1.1}.nin{font-size:22px;font-weight:700}.nin.blue{color:var(--accent)}.nin.orange{color:var(--late)}.nsub{color:var(--muted);font-size:16px}.nafter{border-top:1px solid color-mix(in srgb, var(--late-fill) 45%, transparent);color:var(--muted);font-variant-numeric:tabular-nums;margin-top:8px;padding-top:12px;font-size:16px}.it{border:0;border-bottom:1px solid var(--sep);background:var(--cell);width:100%;min-height:64px;color:var(--text);text-align:left;align-items:center;gap:14px;padding:10px 16px;display:flex;position:relative}.it:last-child{border-bottom:0}button.it{cursor:pointer}.it.hot{background:var(--late-tint)}.itx{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.itx .nm{font-size:17px;font-weight:600}.sub2{font-size:15px;font-weight:600}.sub2.late{color:var(--late)}.chip{font-variant-numeric:tabular-nums;border-radius:12px;flex:none;place-items:center;width:68px;min-height:44px;font-size:20px;font-weight:700;display:grid}.chip.blue{color:var(--accent);background:var(--blue-tint);background:color-mix(in srgb, var(--accent) 14%, transparent)}.chip.orange{color:var(--late);background:var(--late-badge)}.it.compact{min-height:52px;padding:6px 16px}.it.compact .chip{width:62px;min-height:36px;font-size:18px}.ico.sm{width:26px;height:26px}.dtime{font-variant-numeric:tabular-nums;color:var(--muted);align-items:center;gap:6px;font-size:17px;font-weight:600;display:inline-flex}.dtime.late{color:var(--late)}.tarde{background:var(--late-badge);border-radius:8px;padding:2px 8px;font-size:13px;font-weight:700}.ico{flex:none;place-items:center;width:32px;height:32px;display:grid}.nowcard{box-shadow:inset 0 0 0 2px var(--late-fill)}.hero{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:24px 16px 22px;display:flex}.hero-tx{font-size:22px;font-weight:700;line-height:1.2}.hero-sub{color:var(--muted);font-size:15px}.hero.green{background:var(--green-tint)}.hero.green .hero-tx{color:var(--green-text)}.hero.orange{background:var(--late-tint);box-shadow:inset 0 0 0 1.5px var(--late-fill)}.hero.orange .hero-tx{color:var(--late)}.hero.blue{background:var(--blue-tint)}.hero.blue .hero-tx{color:var(--accent)}.hero.gray{background:var(--gray-tint)}.hero.gray .hero-tx{color:var(--muted)}.hero-ic svg{display:block}.skel{background:linear-gradient(90deg, var(--skel-a) 25%, var(--skel-b) 50%, var(--skel-a) 75%);background-size:200% 100%;flex:none;animation:1.4s ease-in-out infinite shimmer;display:block}.skelwrap{flex-direction:column;gap:14px;display:flex}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.body.enter-push{animation:slide-in .25s var(--ease) both;background:var(--bg);z-index:2;position:relative}.body.enter-pop{animation:under-in .25s var(--ease) both}.ghost{pointer-events:none;z-index:1;background:var(--bg);min-height:100dvh;margin:0 auto;position:fixed;left:0;right:0}.ghost-push{animation:under-out .25s var(--ease) both}.ghost-pop{z-index:3;animation:slide-out .25s var(--ease) both;box-shadow:-8px 0 24px #0000001f}@keyframes slide-in{0%{transform:translate(100%)}to{transform:none}}@keyframes slide-out{0%{transform:none}to{transform:translate(100%)}}@keyframes under-in{0%{opacity:.6;transform:translate(-25%)}to{opacity:1;transform:none}}@keyframes under-out{0%{opacity:1;transform:none}to{opacity:.6;transform:translate(-25%)}}@media (prefers-reduced-motion:reduce){.toast,.skel,.body.enter-push,.body.enter-pop,.ghost{animation:none!important}.ring-arc{transition:none}.ghost{display:none}}.logmsg,.sf{-webkit-user-select:text;user-select:text}.sumlbl.gray{color:var(--muted)}
