etc.) omitted - they are homepage-only blocks that render as literal text off the homepage. ============================================================ */ .bttx{ --green:#84C341; --green-2:#9FD55E; --green-dark:#6BA831; --green-50:#F4F9EC; --green-100:#E8F5D1; --navy:#0B2046; --navy-2:#13305E; --navy-cta:#004e82; --ink:#131A22; --muted:#4A5663; --line:#E7ECE4; --bg-page:#FFFFFF; --bg-blue:#E5EBFA; --bg-blue-soft:#F2F5FC; --bg-cream:#FBFBF8; --amber:#F0A32B; --teal:#1FB68A; --blue:#1A9CFF; --fs-h1:clamp(34px, 4.4vw, 50px); --fs-h2:clamp(26px, 3vw, 34px); --fs-h3:clamp(19px,2.1vw,23px); --fs-lead:16.5px; --fs-body:16px; --fs-small:13.5px; --fs-eyebrow:12px; --fw-regular:400; --fw-semibold:600; --fw-bold:700; --fw-heading:600; --lh-h1:1.07; --lh-h2:1.12; --lh-h3:1.28; --lh-body:1.75; --lh-lead:1.78; --lh-card:1.6; --ls-h1:-.03em; --ls-h2:-.025em; --ls-h3:-.015em; --ls-eyebrow:.08em; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-8:32px; --sp-10:40px; --sp-12:48px; --sp-16:64px; --section-y:64px; --section-y-sm:48px; --hero-pad:100px 0 84px; --r-sm:12px; --r:18px; --r-lg:28px; --r-pill:999px; --shadow-sm:0 2px 10px rgba(11,32,70,.05); --shadow-md:0 16px 40px -18px rgba(11,32,70,.16); --grad-btn:linear-gradient(180deg,var(--green-2),var(--green)); --grad-icon:linear-gradient(135deg,var(--green-2),var(--green-dark)); --ease:cubic-bezier(.22,.7,.25,1); --dur:.22s; --gap:56px; --container-max:1200px; background:var(--bg-page); color:var(--ink); font-size:var(--fs-body); line-height:var(--lh-body); overflow-x:hidden; } .bttx *{ box-sizing:border-box; } .bttx .bttx-container{ max-width:var(--container-max); margin:0 auto; padding:0 24px; position:relative; } .bttx h1,.bttx h2,.bttx h3,.bttx h4{ color:var(--ink); margin:0; } .bttx h1{ font-size:var(--fs-h1); line-height:var(--lh-h1); font-weight:var(--fw-heading); letter-spacing:var(--ls-h1); } .bttx h2{ font-size:var(--fs-h2); line-height:var(--lh-h2); font-weight:var(--fw-heading); letter-spacing:var(--ls-h2); } .bttx h3{ font-size:var(--fs-h3); line-height:var(--lh-h3); font-weight:var(--fw-heading); letter-spacing:var(--ls-h3); } .bttx h4{ font-size:20px; font-weight:var(--fw-heading); } .bttx p{ margin:0; color:var(--muted); } .bttx a{ color:var(--green-dark); } .bttx .grn{ color:var(--green-dark); } .bttx .lead{ font-size:var(--fs-lead); line-height:var(--lh-lead); color:var(--muted); } .bttx img{ max-width:100%; } .bttx .section{ padding:var(--section-y) 0; } .bttx .section--tint{ background:var(--bg-blue-soft); } .bttx .section--green{ background:var(--green-50); } .bttx .section-intro{ text-align:center; max-width:900px; margin:0 auto var(--sp-12); } .bttx .section-title{ text-align:center; font-size:var(--fs-h2); } .bttx .section-intro .lead{ margin-top:var(--sp-5); } .bttx .eyebrow-wrap{ margin-bottom:var(--sp-5); } .bttx .eyebrow-wrap.center{ display:flex; justify-content:center; } .bttx .dl-eyebrow{ display:inline-flex; align-items:center; gap:10px; padding:7px 15px; border-radius:var(--r-pill); background:var(--green-100); color:var(--green-dark); font-weight:var(--fw-bold); font-size:var(--fs-eyebrow); letter-spacing:var(--ls-eyebrow); text-transform:uppercase; line-height:1; white-space:nowrap; } .bttx .dl-eyebrow__dot{ width:16px; height:16px; border-radius:50%; background:linear-gradient(135deg,#a0dc5a,#6ba831); flex:none; } .bttx .dl-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:var(--fw-bold); font-size:15px; line-height:1; border-radius:var(--r-pill); border:2px solid transparent; cursor:pointer; white-space:nowrap; text-decoration:none; padding:13px 26px; transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); } .bttx .dl-btn:hover{ transform:translateY(-2px); text-decoration:none; } .bttx .dl-btn--lg{ padding:15px 30px; font-size:16px; } .bttx .dl-btn--primary{ background:var(--grad-btn); color:#fff; box-shadow:0 10px 24px rgba(132,195,65,.35), inset 0 -2px 0 rgba(0,0,0,.08); } .bttx .dl-btn--primary:hover{ color:#fff; box-shadow:0 14px 30px rgba(132,195,65,.45), inset 0 -2px 0 rgba(0,0,0,.08); } .bttx .dl-btn--ghost{ background:transparent; border-color:var(--green); color:var(--green-dark); } .bttx .dl-btn--ghost:hover{ background:var(--green-50); color:var(--green-dark); } .bttx .dl-btn--white{ background:#fff; color:var(--navy-cta); } .bttx .dl-btn--white:hover{ color:var(--navy-cta); } .bttx .dl-btn--outline-white{ background:transparent; border-color:rgba(255,255,255,.6); color:#fff; } .bttx .dl-btn--outline-white:hover{ color:#fff; border-color:#fff; } /* Hero */ .bttx .bttx-hero{ padding:var(--hero-pad); position:relative; overflow:hidden; background:var(--green-50); } .bttx .bttx-hero__grid{ position:absolute; inset:0; pointer-events:none; opacity:.35; background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size:64px 64px; -webkit-mask-image:radial-gradient(70% 60% at 50% 0%, #000, transparent 72%); mask-image:radial-gradient(70% 60% at 50% 0%, #000, transparent 72%); } /* modern 2-column layered hero */ .bttx .bttx-hero{ background:radial-gradient(720px 400px at 86% -50px, rgba(132,195,65,.16), transparent 70%), radial-gradient(540px 320px at 8% 14%, rgba(0,78,130,.06), transparent 70%), #FBFDF9; } .bttx .bttx-hero__wrap{ position:relative; z-index:1; display:grid; grid-template-columns:1fr 1.05fr; gap:52px; align-items:center; } .bttx .bttx-hero__center{ position:relative; text-align:left; max-width:none; margin:0; } .bttx .bttx-hero__center .eyebrow-wrap.center{ justify-content:flex-start; display:flex; } .bttx .bttx-hero__badge{ display:inline-flex; align-items:center; gap:8px; padding:7px 14px 7px 10px; border-radius:var(--r-pill); background:#fff; border:1px solid var(--green-100); box-shadow:var(--shadow-sm); font-weight:var(--fw-bold); color:var(--green-dark); font-size:12.5px; margin-bottom:18px; } .bttx .bttx-hero__badge .dot{ width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px var(--green-50); } .bttx .bttx-hero__sub{ margin:var(--sp-4) 0 0; max-width:52ch; } .bttx .bttx-hero__cta{ display:flex; gap:var(--sp-4); margin-top:var(--sp-8); flex-wrap:wrap; justify-content:flex-start; } .bttx .bttx-hero__trust{ display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:var(--sp-6); } .bttx .bttx-hero__trust span{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:var(--fw-semibold); color:var(--muted); } .bttx .bttx-hero__trust span::before{ content:""; width:18px; height:18px; flex:none; border-radius:50%; background:var(--green-50) url("data:image/svg+xml;utf8,") center/12px no-repeat; } .bttx .bttx-hero__art{ position:relative; max-width:none; margin:0; } .bttx .bttx-hero__art::before{ content:""; position:absolute; inset:-6% -4% -10% 2%; border-radius:36px; z-index:0; background:radial-gradient(60% 60% at 60% 40%, rgba(132,195,65,.20), transparent 72%); } .bttx .bttx-hero__art .frame{ position:relative; z-index:1; } .bttx .bttx-hero__float{ position:absolute; z-index:3; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-md); padding:11px 13px; display:flex; align-items:center; gap:10px; animation:bttFloat 4.6s var(--ease) infinite; } .bttx .bttx-hero__float--a{ top:-4%; left:-6%; } .bttx .bttx-hero__float--b{ bottom:6%; right:-5%; animation-delay:.8s; } .bttx .bttx-hero__fic{ width:36px; height:36px; flex:none; border-radius:10px; display:grid; place-items:center; color:#fff; background:var(--grad-icon); } .bttx .bttx-hero__fl{ font-size:9.5px; font-weight:800; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; } .bttx .bttx-hero__fv{ font-size:14px; font-weight:800; color:var(--ink); line-height:1.1; margin-top:1px; } .bttx .bttx-hero__ring{ width:40px; height:40px; flex:none; border-radius:50%; display:grid; place-items:center; position:relative; background:conic-gradient(var(--green) 87%, var(--line) 0); } .bttx .bttx-hero__ring::before{ content:""; position:absolute; inset:6px; background:#fff; border-radius:50%; } .bttx .bttx-hero__ring span{ position:relative; font-size:10px; font-weight:800; color:var(--ink); } @keyframes bttFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } } .bttx .img-frame{ border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm); background:#fff; } /* feature checklist */ .bttx .fcheck{ display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; max-width:960px; margin:0 auto; } .bttx .fcheck li{ display:flex; gap:12px; align-items:center; list-style:none; font-size:15px; color:var(--ink); font-weight:var(--fw-semibold); line-height:1.4; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:14px 18px; box-shadow:var(--shadow-sm); transition:transform var(--dur) var(--ease), border-color var(--dur); } .bttx .fcheck li:hover{ transform:translateY(-2px); border-color:color-mix(in oklch, var(--green) 35%, var(--line)); } .bttx .fcheck .chk{ flex:none; width:26px; height:26px; border-radius:8px; background:var(--green-50); color:var(--green-dark); display:grid; place-items:center; margin-top:0; } .bttx ul.fcheck{ padding:0; margin:0; } /* split feature rows */ .bttx .split{ display:grid; grid-template-columns:1fr 1fr; gap:var(--gap); align-items:center; } .bttx .split--rev .split__media{ order:-1; } .bttx .split__body h2{ margin-bottom:14px; } .bttx .split__body > p{ margin-bottom:var(--sp-5); } .bttx .split__intro{ font-weight:var(--fw-bold); color:var(--ink); margin-bottom:12px; } .bttx .split__list{ list-style:none; padding:0; margin:0; display:grid; gap:11px; } .bttx .split__list li{ display:flex; gap:11px; align-items:flex-start; font-size:14.5px; color:var(--muted); line-height:1.5; } .bttx .split__list .chk{ flex:none; width:22px; height:22px; border-radius:50%; background:var(--green-50); color:var(--green-dark); display:grid; place-items:center; margin-top:1px; } .bttx .split__tag{ margin-top:var(--sp-6); display:inline-flex; align-items:center; gap:10px; background:var(--bg-cream); border:1px solid var(--line); border-radius:var(--r-pill); padding:9px 18px; font-size:13.5px; } .bttx .split__tag b{ color:var(--green-dark); text-transform:uppercase; letter-spacing:.05em; font-size:12px; } .bttx .img-frame{ border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm); background:#fff; } .bttx .img-frame img{ width:100%; height:auto; display:block; } /* CTA band with image bg */ .bttx .bigcta{ background:var(--navy-cta); border-radius:var(--r-lg); padding:52px 56px; color:#fff; position:relative; overflow:hidden; text-align:center; } .bttx .bigcta::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.6; background:radial-gradient(90% 120% at 100% 0%, rgba(159,213,94,.16), transparent 55%); } .bttx .bigcta h2{ color:#fff; position:relative; max-width:860px; margin:0 auto; } .bttx .bigcta p{ color:rgba(255,255,255,.85); position:relative; max-width:680px; margin:14px auto 0; } .bttx .bigcta__btns{ position:relative; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:var(--sp-6); } .bttx .bigcta__pills{ position:relative; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:18px; } .bttx .bigcta__pill{ display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); border-radius:var(--r-pill); padding:7px 15px; font-size:13.5px; font-weight:var(--fw-bold); color:#fff; } .bttx .bigcta__fine{ position:relative; margin-top:16px; font-size:13px; color:rgba(255,255,255,.72); } /* 3 feature cards */ .bttx .fcards{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; } .bttx .fcard{ position:relative; overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:30px; box-shadow:var(--shadow-sm); transition:transform var(--dur) var(--ease), box-shadow var(--dur), border-color var(--dur); } .bttx .fcard::after{ content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--grad-icon); transform:scaleX(0); transform-origin:left; transition:transform var(--dur) var(--ease); } .bttx .fcard:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:color-mix(in oklch, var(--green) 40%, var(--line)); } .bttx .fcard:hover::after{ transform:scaleX(1); } .bttx .fcard__ic{ background:linear-gradient(150deg,var(--green-50),#fff); border:1px solid var(--green-100); color:var(--green-dark) !important; box-shadow:0 6px 16px -8px rgba(132,195,65,.5) !important; } .bttx .fcard__ic{ width:52px; height:52px; border-radius:15px; background:var(--grad-icon); color:#fff !important; display:grid; place-items:center; margin-bottom:16px; box-shadow:var(--shadow-sm); } .bttx .fcard h4{ font-size:18px; margin-bottom:10px; } .bttx .fcard p{ font-size:14.5px; line-height:1.6; } /* accordion (productivity) with side image */ .bttx .acc-wrap{ display:grid; grid-template-columns:.9fr 1.1fr; gap:var(--gap); align-items:start; } .bttx .acc-media{ position:sticky; top:24px; } .bttx .acc-media .img-frame img{ border-radius:var(--r-lg); } /* accordion side CSS summary card (replaces low-res image) */ .bttx .acc-sum{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-md); overflow:hidden; } .bttx .acc-sum__top{ background:linear-gradient(150deg,var(--navy-cta),#013a63); color:#fff; padding:22px 22px 20px; position:relative; overflow:hidden; } .bttx .acc-sum__top::before{ content:""; position:absolute; inset:0; opacity:.5; background:radial-gradient(70% 120% at 100% 0%, rgba(159,213,94,.22), transparent 55%); } .bttx .acc-sum__top > *{ position:relative; z-index:1; } .bttx .acc-sum__eyebrow{ font-family:var(--mono); font-size:11px; color:var(--green-2); font-weight:700; letter-spacing:.04em; } .bttx .acc-sum__title{ color:#fff; font-size:19px; font-weight:var(--fw-heading); margin-top:6px; line-height:1.25; } .bttx .acc-sum__ring{ width:96px; height:96px; border-radius:50%; display:grid; place-items:center; position:relative; margin:16px auto 6px; background:conic-gradient(var(--green-2) 92%, rgba(255,255,255,.18) 0); } .bttx .acc-sum__ring::before{ content:""; position:absolute; inset:11px; background:#013a63; border-radius:50%; } .bttx .acc-sum__ring b{ position:relative; color:#fff; font-size:22px; font-weight:800; } .bttx .acc-sum__ring small{ position:relative; display:block; text-align:center; color:rgba(255,255,255,.7); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; margin-top:2px; } .bttx .acc-sum__body{ padding:20px; } .bttx .acc-sum__stat{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); } .bttx .acc-sum__stat:last-child{ border-bottom:0; } .bttx .acc-sum__stat .l{ display:flex; align-items:center; gap:10px; font-size:13.5px; font-weight:var(--fw-semibold); color:var(--ink); } .bttx .acc-sum__stat .ic{ width:30px; height:30px; flex:none; border-radius:9px; background:var(--green-50); color:var(--green-dark); display:grid; place-items:center; } .bttx .acc-sum__stat .v{ font-weight:800; color:var(--green-dark); font-size:15px; } .bttx .acc-sum__bars{ display:flex; align-items:flex-end; gap:6px; height:56px; margin-top:14px; } .bttx .acc-sum__bars i{ flex:1; border-radius:4px 4px 0 0; background:linear-gradient(180deg,var(--green-2),var(--green)); } .bttx .acc{ display:grid; gap:14px; } .bttx .acc__item{ background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow-sm); overflow:hidden; } .bttx .acc__item[open]{ border-color:color-mix(in oklch, var(--green) 40%, var(--line)); } .bttx .acc__q{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; font-weight:var(--fw-heading); font-size:17px; color:var(--ink); } .bttx .acc__q::-webkit-details-marker{ display:none; } .bttx .acc__ic{ flex:none; width:24px; height:24px; border-radius:50%; background:var(--green-dark); position:relative; } .bttx .acc__ic::before,.bttx .acc__ic::after{ content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:#fff; border-radius:2px; } .bttx .acc__ic::before{ width:11px; height:2px; } .bttx .acc__ic::after{ width:2px; height:11px; transition:transform var(--dur); } .bttx .acc__item[open] .acc__ic::after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0; } .bttx .acc__body{ padding:0 24px 22px; } .bttx .acc__body p{ font-size:14.5px; line-height:1.65; } .bttx .acc__body p + p{ margin-top:10px; } .bttx .acc__sub{ display:block; font-weight:var(--fw-heading); color:var(--ink); font-size:16px; margin:6px 0 8px; } .bttx .acc__list{ list-style:none; padding:0; margin:12px 0 0; display:grid; gap:9px; } .bttx .acc__list li{ display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--muted); line-height:1.5; } .bttx .acc__list .chk{ flex:none; width:20px; height:20px; border-radius:50%; background:var(--green-50); color:var(--green-dark); display:grid; place-items:center; margin-top:1px; } .bttx .acc__list--2{ grid-template-columns:1fr 1fr; gap:9px 20px; } /* FAQ */ .bttx .dl-faq{ max-width:880px; margin:0 auto; display:grid; gap:14px; } .bttx .dl-faq__item{ background:var(--green-50); border:1px solid color-mix(in oklch, var(--green) 30%, white); border-radius:16px; padding:4px 24px; box-shadow:0 8px 24px rgba(132,195,65,.10); } .bttx .dl-faq__item[open]{ border-color:color-mix(in oklch, var(--green) 50%, white); } .bttx .dl-faq__q{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; font-weight:var(--fw-heading); font-size:17px; color:var(--ink); letter-spacing:-.01em; } .bttx .dl-faq__q::-webkit-details-marker{ display:none; } .bttx .dl-faq__ic{ flex:none; width:26px; height:26px; border-radius:50%; background:var(--green-dark); position:relative; } .bttx .dl-faq__ic::before,.bttx .dl-faq__ic::after{ content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:#fff; border-radius:2px; } .bttx .dl-faq__ic::before{ width:12px; height:2px; } .bttx .dl-faq__ic::after{ width:2px; height:12px; transition:transform var(--dur); } .bttx .dl-faq__item[open] .dl-faq__ic::after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0; } .bttx .dl-faq__a{ padding:0 0 18px; font-size:15px; line-height:1.6; color:var(--muted); } .bttx .dl-faq__a p{ margin:0; color:var(--muted); } /* ---- dashboard mock components (scoped .bttx) ---- */ .bttx{ --font-mono:'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace; --navy-solid:#0B2046; --status-focus:#84C341; --status-idle:#F4D24C; --status-private:#F76B6B; --status-other:#1A9CFF; } .bttx .frame{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:0 24px 60px -30px rgba(11,32,70,.22); } .bttx .frame__bar{ display:flex; align-items:center; gap:12px; height:40px; padding:0 16px; border-bottom:1px solid var(--line); background:linear-gradient(180deg,#fff,var(--bg-cream)); } .bttx .frame__dots{ display:inline-flex; gap:6px; } .bttx .frame__dots i{ width:10px; height:10px; border-radius:50%; background:var(--line); } .bttx .frame__dots i:nth-child(1){ background:#f0a9a0; } .bttx .frame__dots i:nth-child(2){ background:#f4d68a; } .bttx .frame__dots i:nth-child(3){ background:color-mix(in oklch, var(--green) 60%, white); } .bttx .frame__title{ font-family:var(--font-mono); font-size:12px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .bttx .dash{ padding:16px; background:#fff; display:flex; flex-direction:column; gap:13px; } .bttx .dash__panel{ border:1px solid var(--line); border-radius:12px; padding:14px; background:#fff; } .bttx .dash__h{ font-size:11px; font-weight:800; color:var(--muted); letter-spacing:.04em; text-transform:uppercase; margin-bottom:10px; display:flex; align-items:center; justify-content:space-between; gap:8px; } .bttx .dash__h .tag{ font-family:var(--font-mono); font-weight:600; color:var(--green-dark); font-size:10px; text-transform:none; letter-spacing:0; } .bttx .d-stats{ display:grid; gap:10px; } .bttx .d-stats--2{ grid-template-columns:1fr 1fr; } .bttx .d-stats--3{ grid-template-columns:repeat(3,1fr); } .bttx .d-stat{ border:1px solid var(--line); border-radius:10px; padding:10px 12px; } .bttx .d-stat__l{ font-size:9px; font-weight:800; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; } .bttx .d-stat__v{ font-size:18px; font-weight:800; color:var(--ink); margin-top:4px; letter-spacing:-.01em; } .bttx .d-stat__v.green{ color:var(--green-dark); } .bttx .d-stat__v small{ font-size:11px; color:var(--muted); font-weight:700; } .bttx .d-timeline{ position:relative; height:22px; border-radius:7px; background:#eef2f7; overflow:hidden; margin-bottom:8px; } .bttx .d-timeline i{ position:absolute; top:0; bottom:0; } .bttx .seg-focus{ background:var(--status-focus); } .bttx .seg-idle{ background:var(--status-idle); } .bttx .seg-private{ background:var(--status-private); } .bttx .seg-other{ background:var(--status-other); } .bttx .d-axis{ display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:9px; color:var(--muted); } .bttx .d-legend{ display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; font-size:10px; color:var(--muted); font-weight:700; } .bttx .d-legend span{ display:inline-flex; align-items:center; gap:5px; } .bttx .d-legend i{ width:9px; height:9px; border-radius:3px; } .bttx .d-prog{ height:7px; border-radius:999px; background:#eef2f7; overflow:hidden; } .bttx .d-prog i{ display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,var(--green-2),var(--green)); } .bttx .d-av{ width:26px; height:26px; border-radius:50%; background:linear-gradient(135deg,var(--green-2),var(--green-dark)); color:#fff; font-size:10px; font-weight:800; display:grid; place-items:center; flex:none; } .bttx .d-av.n{ background:linear-gradient(135deg,#6db8f2,#1f7fd1); } .bttx .d-av.p{ background:linear-gradient(135deg,#8f8ef0,#5b46d8); } .bttx .d-av.o{ background:linear-gradient(135deg,#f6a56b,#e0742e); } /* running timer / task row */ .bttx .d-timer{ display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--green-50); border:1px solid color-mix(in oklch, var(--green) 25%, var(--line)); border-radius:12px; padding:12px 14px; } .bttx .d-timer__l{ display:flex; align-items:center; gap:11px; } .bttx .d-timer__dot{ width:34px; height:34px; border-radius:10px; background:var(--grad-icon); color:#fff; display:grid; place-items:center; flex:none; position:relative; } .bttx .d-timer__dot::after{ content:""; position:absolute; inset:-3px; border-radius:12px; border:2px solid color-mix(in oklch, var(--green) 45%, transparent); animation:bttx-pulse 1.8s ease-out infinite; } @keyframes bttx-pulse{ 0%{ transform:scale(1); opacity:.8; } 100%{ transform:scale(1.35); opacity:0; } } .bttx .d-timer__t{ font-size:12.5px; font-weight:800; color:var(--ink); } .bttx .d-timer__s{ font-size:10.5px; color:var(--muted); } .bttx .d-timer__time{ font-family:var(--font-mono); font-size:17px; font-weight:800; color:var(--green-dark); } .bttx .d-row{ display:flex; align-items:center; gap:11px; padding:9px 4px; border-bottom:1px solid #f0f3f7; font-size:12px; } .bttx .d-row:last-child{ border-bottom:0; } .bttx .d-row__t{ flex:1; font-weight:700; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .bttx .d-row__time{ font-family:var(--font-mono); font-size:11px; color:var(--muted); font-weight:700; } .bttx .d-chip{ font-size:9px; font-weight:800; padding:3px 8px; border-radius:999px; text-transform:uppercase; letter-spacing:.03em; } .bttx .d-chip.run{ background:color-mix(in oklch, var(--green) 16%, #fff); color:var(--green-dark); } .bttx .d-chip.done{ background:#eef2f7; color:var(--muted); } /* team who-on-what row */ .bttx .d-team{ display:flex; align-items:center; gap:11px; padding:10px 4px; border-bottom:1px solid #f0f3f7; } .bttx .d-team:last-child{ border-bottom:0; } .bttx .d-team__n{ font-size:12px; font-weight:800; color:var(--ink); line-height:1.2; } .bttx .d-team__task{ font-size:10.5px; color:var(--muted); font-family:var(--font-mono); } .bttx .d-team__bar{ flex:1; } .bttx .d-team__time{ font-family:var(--font-mono); font-size:11px; font-weight:700; color:var(--green-dark); } /* kanban board */ .bttx .d-kan{ display:grid; grid-template-columns:repeat(4,1fr); gap:9px; } .bttx .d-kan__col{ background:#f7f9fc; border:1px solid var(--line); border-radius:10px; padding:9px; } .bttx .d-kan__t{ font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin-bottom:9px; display:flex; justify-content:space-between; align-items:center; } .bttx .d-kan__t b{ background:#fff; border:1px solid var(--line); border-radius:999px; padding:0 6px; color:var(--muted); font-size:9px; } .bttx .d-card{ background:#fff; border:1px solid var(--line); border-top:3px solid var(--green); border-radius:8px; padding:9px; margin-bottom:8px; box-shadow:var(--shadow-sm); } .bttx .d-card:last-child{ margin-bottom:0; } .bttx .d-card.n{ border-top-color:var(--status-other); } .bttx .d-card.p{ border-top-color:var(--status-private); } .bttx .d-card.d{ border-top-color:var(--muted); } .bttx .d-card__t{ font-size:10px; font-weight:700; color:var(--ink); line-height:1.3; } .bttx .d-card__m{ display:flex; align-items:center; justify-content:space-between; margin-top:7px; font-size:8.5px; color:var(--muted); font-family:var(--font-mono); } .bttx .d-card__m .d-av{ width:18px; height:18px; font-size:8px; } @media (max-width:600px){ .bttx .d-kan{ grid-template-columns:1fr 1fr; } } @media (max-width:991px){ .bttx .bttx-hero{ padding:82px 0 56px; } .bttx .bttx-hero__wrap{ grid-template-columns:1fr; gap:44px; } .bttx .bttx-hero__art{ order:-1; max-width:540px; margin:0 auto; } .bttx .section{ padding:var(--section-y-sm) 0; } .bttx .split,.bttx .acc-wrap{ grid-template-columns:1fr; } .bttx .split--rev .split__media{ order:0; } .bttx .split__media{ order:-1; } .bttx .acc-media{ position:static; } .bttx .fcards{ grid-template-columns:1fr; } .bttx .fcheck,.bttx .acc__list--2{ grid-template-columns:1fr; } } @media (max-width:560px){ .bttx .bigcta{ padding:38px 24px; } .bttx .bttx-hero__float{ display:none; } } @media (prefers-reduced-motion:reduce){ .bttx *{ transition:none !important; } } /* cta-merge:bttx */ .bttx .section--tint{ background:var(--bg-blue-soft); } .bttx .inline-cta{ margin-top:48px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; background:#fff; border:1px solid color-mix(in oklch, var(--blue,#1A9CFF) 22%, var(--line)); border-radius:var(--r-lg); box-shadow:var(--shadow-sm); padding:26px 34px; } .bttx .inline-cta__t{ flex:1; min-width:240px; font-size:20px; font-weight:var(--fw-heading); color:var(--ink); line-height:1.3; } .bttx .inline-cta__t p{ font-size:14px; font-weight:400; color:var(--muted); margin-top:6px; } .bttx .inline-cta__btns{ display:flex; gap:12px; flex-wrap:wrap; } @media (max-width:640px){ .bttx .inline-cta{ flex-direction:column; align-items:flex-start; text-align:left; } }
Task Tracking

Best Task Tracking App

Desklog; the best task tracker app for teams and individuals to track tasks, measure time spent on work, and improve productivity, without complexity.

Automatic & manual time tracking Kanban & list views Privacy-first

What Is The Best Task-Tracking App

The best task tracking app is one that lets you create, assign, and track tasks while accurately measuring time and progress in a single, easy-to-use platform. It should provide real-time visibility, automatic and manual time tracking, collaboration features, and clear reporting to help teams stay organized and productive without added complexity.

What are the key features to look for in a personal task manager

  • Accurate automatic and manual time tracking
  • Integrations with tools your team already uses
  • Clear task hierarchy with projects and sub-tasks
  • Privacy-first tracking with role-based access
  • Visual task views like Kanban and lists
  • Fast onboarding with a clean, simple interface
  • Real-time dashboards for workload visibility
  • Mobile and desktop support for flexible work
  • Reports and exports for actionable insights
  • Recurring tasks and automation to save time

Why Desklog, the Best Task Tracking App?

Desklog is more than a basic timer. It's a complete task tracking app that brings task management, time tracking, and productivity insights into one simple system. Designed for teams and individuals alike, Desklog helps you see what you're working on, how time is spent, and where improvements matter, making it a clear, reliable task tracker without added complexity.

A Simple Yet Powerful Task Tracker App For Modern Work

Track Tasks and Time from Anywhere

Start tracking time for any task or project in just one click. Support for automatic and manual tracking ensures accurate project time tracking across all types of work. Projects can be broken down into manageable units, with time tracked at both task and project levels for clear visibility.

Track tasks using:

  • Enables quick task access and time tracking
  • Supports focused work through desktop tracking
  • Captures work time automatically in the background
  • Maintains accurate task and time records
  • Keeps tracking simple across work environments
Available On: Windows • macOS • Linux
desklog.io · task timer
Design landing hero
Website Redesign · running
01:24:07
Today’s Tasks5 tracked
LiveDesign landing hero1h 24m
DoneAPI rate limiting2h 06m
DoneClient onboarding flow1h 48m
DoneWeekly report export0h 42m
Tracked
06h 00m
Projects
4
Mode
Auto
desklog.io · live dashboard
Online
18
Active Tasks
42
Avg Activity
87%
Who’s Working on WhatLive
AK
Aisha K.
Checkout redesign
02:11
RM
Ravi M.
API integration
01:47
JL
Jonas L.
Sprint planning
00:56
MP
Mia P.
Bug triage
01:20
Workload DistributionThis week
Design
Engineering
QA

See Who Is Working on What in Real Time

The live dashboard provides a clear, real-time view of task activity across teams and projects, helping managers understand who is working on what, how time is being spent, and how workloads are distributed, all without constant follow-ups or micromanagement.

This view highlights:

  • Active projects, tasks, and sub-tasks
  • Time spent per task, project, and employee
  • Workload distribution across teams
Ideal For: Office-Based • Remote • Hybrid • Freelancers

Visualize Work with Kanban Boards

Kanban boards give teams a clear visual view of tasks as they move through different stages of work, helping everyone understand progress and priorities at a glance. Tasks are organized by status, making it easy to track movement, manage workloads, and spot delays early.

This view highlights:

  • Instant clarity on task status and progress
  • Team alignment with a shared visual workflow
  • Balance workloads more effectively across stages
  • Faster identification and resolution of blockers
  • Projects organized and moving forward smoothly
Ideal For: Agile Teams | Project Managers | Cross-Functional Teams
desklog.io · kanban board
To Do2
Onboarding emails
TSK-51AK
Pricing page copy
TSK-56MP
In Progress2
Checkout redesign
TSK-42RM
API integration
TSK-44AK
Review1
Reports export
TSK-39JL
Done2
Auth refactor
TSK-37AK
Webhook queue
TSK-38RM
See Your Tasks and Time Come Together

Get a clear view of work, time, and progress in one place, without changing how your team already works.

Monitor Team Progress with Confidence

Workflows can be organized using sequential tasks, helping teams complete work in the correct order while progress is tracked step by step. Time-based insights make it easier to spot delays, workflow gaps, and areas that need improvement, keeping projects moving forward smoothly.

Simplify Repetitive Work with Recurring Tasks

Recurring tasks allow routine work to repeat automatically based on a defined schedule. This keeps ongoing activities consistent, reduces manual setup, and ensures important tasks are never overlooked.

One Platform to Manage Tasks from Start to Finish

Task management and time tracking come together in one unified platform. From planning work to tracking progress and reviewing performance, everything stays connected in a single dashboard, making it a practical best to do list app for individuals and teams.

Why Desklog Is the Best Task Tracker App
  • Automatic & manual time tracking for complete accuracy
  • Kanban-style visual task management for clear workflow control
  • Real-time task and employee visibility for better coordination
  • Built-in task lists and to-dos for structured daily planning
  • Advanced reports, timesheets, and exports for actionable insights
  • Idle time and productivity analysis for smarter performance improvement

Everything you need to track tasks, manage time, and improve productivity; without complexity.

How Desklog Improves Daily Productivity

Adds value beyond features, focuses on outcomes.

Turn Daily Work Into Measurable Progress.

Desklog helps teams work with more focus and less guesswork by turning everyday tasks into clear, trackable data.

With Desklog, teams can:

  • Stay focused on center tasks without time leaks
  • Understand where time is actually spent each day
  • Reduce manual updates and status reporting
  • Make smarter decisions using real work data

The result is consistent productivity without added effort.

Simple Setup. Easy Adoption.

Removes friction and reduces hesitation.

Get Started in Minutes.

Desklog is built for fast setup and easy onboarding.

  • Create tasks and projects instantly
  • Start tracking time with one click
  • No complex configurations or training required
  • Works quietly in the background

Teams can start tracking real work on day one.

Privacy-First Task & Time Tracking
Designed With Transparency in Mind.

Desklog focuses on visibility, not surveillance.

  • Tracks tasks and time, not personal behavior
  • Clear visibility into what is tracked and why
  • Helps teams stay accountable without micromanagement

This approach supports trust, fairness, and healthy work habits.

Desklog vs Traditional Task Tracking Methods

Traditional task tracking often relies on spreadsheets, status meetings, or end-of-day updates, leading to missed data and inaccurate reporting. Desklog replaces this with:

  • Real-time task and time tracking
  • Automatic activity capture
  • Always-updated project visibility

This makes task tracking reliable, consistent, and effortless.

Start Tracking Tasks with Desklog - Free

FAQs

What is Desklog used for?

Desklog is used to track tasks, measure time spent on work, and monitor productivity for individuals and teams in one simple platform.

Is Desklog really free to use?

Yes. Desklog offers a free plan that allows users to track tasks and time without any upfront cost.

Can Desklog track time for projects and tasks?

Yes. Desklog supports project and task-level time tracking, helping users understand where time is spent across different types of work.

Does Desklog work for remote and hybrid teams?

Absolutely. Desklog works seamlessly for office-based, remote, and hybrid teams with real-time visibility into tasks and time.

Can managers see team progress in real time?

Yes. The live dashboard shows active tasks, time spent, and workload distribution without the need for constant check-ins.

Is Desklog suitable for freelancers and individuals?

Yes. Desklog is ideal for freelancers and individuals who want a simple way to track tasks, time, and daily productivity.

Does Desklog require complex setup or training?

No. Desklog is easy to set up and can be used immediately without technical configuration or training.

Is Desklog a task tracker or a time tracking tool?

Desklog combines both. It functions as a task tracker and a time tracking tool in a single, unified system.

Which is the best task tracking app for remote teams in India?

The best task tracking app for remote teams in India is one that offers real-time visibility, accurate time tracking, easy onboarding, and strong privacy controls. Desklog stands out by combining task management, automatic and manual time tracking, and live dashboards in one simple platform, making it ideal for distributed and hybrid teams.

How do I track my task?

To track your task using the Desklog task tracking app, create a project and add your tasks or sub-tasks. Start the timer when you begin working, or use automatic tracking to capture time in the background. Once the task is completed, review your timesheet and reports to see how much time was spent and monitor your overall productivity and progress.

Best task tracking apps for team collaboration

The best task tracking apps for team collaboration offer shared task boards, real-time updates, task assignments, and built-in time tracking. The Desklog task tracking app supports team collaboration with live dashboards, clear workload visibility, and easy task management in one platform.

Where can I download popular task tracking apps for iOS?

You can download popular task tracking apps from the Apple App Store. To get the Desklog task tracking app, search for "Desklog" in the App Store and install it directly on your iPhone or iPad, or use the download link available on the official Desklog website.

Start Making Smarter Workforce Decisions Today

Turn your task management software into a source of real workforce intelligence.

No Credit Card Required