/* V2 Focus: rounded 8, bright accents, one stream */
.v2{--r:8px;min-height:100%}
.v2 .top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;height:56px;padding:0 24px;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.v2 .brand{font:600 13px var(--mono);letter-spacing:.02em}
.v2 .pages{margin-left:auto;display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--sunk)}
.v2 .pages button{display:flex;align-items:center;gap:7px;height:34px;padding:0 14px;border:0;border-radius:7px;background:none;color:var(--ink2);cursor:pointer;font-size:14px;transition:background-color 150ms ease-out,color 150ms ease-out}
.v2 .pages button svg{width:16px;height:16px}
.v2 .pages button.on{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line)}
.v2 .pages button:active{transform:scale(.96)}
.v2 .wrap{max-width:1180px;margin:0 auto;padding:0 24px 96px}
.v2 .hero h1{margin:28px 0 16px;font-size:34px;line-height:1.1;letter-spacing:-.03em;font-weight:700;text-wrap:balance}

/* status bar = the filter */
.v2 .sbar{display:flex;gap:6px;margin:0 0 14px}
.v2 .sb{min-width:64px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0 0 4px;border:0;background:none;cursor:pointer;text-align:left;border-radius:var(--r);transition:opacity 150ms ease-out}
.v2 .sb-bar{display:block;width:100%;height:12px;border-radius:4px;background:var(--c);margin-bottom:8px;transition:transform 150ms var(--ease)}
.v2 .sb b{font-size:26px;line-height:1;letter-spacing:-.02em;font-weight:650}
.v2 .sb span:last-child{font:12px var(--mono);color:var(--muted)}
.v2 .sb-today{--c:var(--now)} .v2 .sb-inprogress{--c:var(--prog)} .v2 .sb-waiting{--c:var(--wait)} .v2 .sb-open{--c:var(--open)} .v2 .sb-done{--c:var(--done)}
.v2 .sb.dim{opacity:.35}
.v2 .sb.on span:last-child{color:var(--ink)}
.v2 .sb.on .sb-bar{transform:scaleY(1.35)}
@media (hover:hover) and (pointer:fine){.v2 .sb:hover .sb-bar{transform:scaleY(1.35)}}
.v2 .sb:active{transform:scale(.98)}

.v2 .fbar{position:sticky;top:56px;z-index:4;display:flex;gap:10px;align-items:center;padding:10px 0;background:var(--bg);border-bottom:1px solid var(--line);margin-bottom:8px}
.v2 .ap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;padding:2px}
.v2 .ap::-webkit-scrollbar{display:none}
.v2 .apb{flex:none;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);cursor:pointer;font-size:13.5px;transition:border-color 150ms ease-out,background-color 150ms ease-out}
.v2 .apb .num{font:12px var(--mono);color:var(--muted)}
.v2 .apb.zero{color:var(--muted)}
.v2 .apb.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.v2 .apb.on .num{color:color-mix(in srgb,var(--bg) 70%,transparent)}
.v2 .apb:active{transform:scale(.96)}
@media (hover:hover) and (pointer:fine){.v2 .apb:not(.on):hover{border-color:var(--line2)}}
.v2 .q{position:relative;flex:0 1 240px;display:flex;align-items:center}
.v2 .q svg{position:absolute;left:10px;width:15px;height:15px;color:var(--muted);pointer-events:none}
.v2 .q input{width:100%;height:36px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:16px var(--sans);padding:0 12px 0 32px;outline:0}
.v2 .q input:focus{border-color:var(--ink)}

.v2 .sec{margin-top:28px}
.v2 .sec > h2{display:flex;align-items:baseline;gap:8px;margin:0 0 10px;font-size:15px;font-weight:650;letter-spacing:-.01em}
.v2 .sec > h2 .num{font-size:12px;color:var(--muted);font-weight:400}
.v2 .sec-today > h2 span:first-child{color:var(--now-ink)}
.v2 .sec-inprogress > h2 span:first-child{color:var(--prog-ink)}
.v2 .sec-waiting > h2 span:first-child{color:var(--wait-ink)}
.v2 .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px}
.v2 .c{display:flex;gap:4px;padding:10px 16px 14px 6px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);min-width:0}
.v2 .c-b{min-width:0;padding-top:10px}
.v2 .c h3{margin:4px 0 4px;font-size:16px;font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}
.v2 .c p{margin:0;color:var(--ink2);font-size:14px;overflow-wrap:anywhere;max-width:65ch}
.v2 .c.big{background:color-mix(in srgb,var(--now) 7%,var(--surface));border-color:color-mix(in srgb,var(--now) 35%,var(--line))}
.v2 .c.big h3{font-size:19px}
.v2 .c.mid{border-color:color-mix(in srgb,var(--prog) 40%,var(--line));background:color-mix(in srgb,var(--prog) 5%,var(--surface))}
.v2 .c.done h3{text-decoration:line-through;color:var(--muted)}
.v2 .wh{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted)}
.v2 .just{opacity:.6;transition:opacity 300ms ease-out}

.v2 .who-grid,.v2 .ags{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px;align-items:start}
.v2 .who,.v2 .ag{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.v2 .who-h,.v2 .ag h3{display:flex;align-items:center;gap:10px;margin:0;padding:10px 14px;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}
.v2 .who-h .num,.v2 .ag h3 .num{margin-left:auto;font-size:12px;color:var(--muted);font-weight:400}
.v2 .avs{display:flex}
.v2 .avs .av + .av{margin-left:-6px;box-shadow:0 0 0 2px var(--surface)}
.v2 .av{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:600 10.5px var(--mono);background:hsl(var(--ah) 85% 90%);color:hsl(var(--ah) 60% 28%)}
.v2 .av.sm{width:20px;height:20px;font-size:9px}
.v2 .av.q{background:var(--sunk);color:var(--muted)}
@media (prefers-color-scheme:dark){.v2 .av{background:hsl(var(--ah) 40% 22%);color:hsl(var(--ah) 80% 82%)}}
.v2 ul{list-style:none;margin:0;padding:0}
.v2 .ln{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;border-top:1px solid var(--line)}
.v2 .ln:first-child{border-top:0}
.v2 .ln .tick{margin-left:2px}
.v2 .ln-b{min-width:0;padding:11px 8px 11px 0;display:flex;flex-direction:column;gap:1px;font-size:14.5px}
.v2 .ln-t{font-weight:550;overflow-wrap:anywhere}
.v2 .ln-d{color:var(--muted);font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.v2 .ln-p{padding:13px 12px 0 0;font-size:11.5px;color:var(--muted);white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}
.v2 .ln.done .ln-t{text-decoration:line-through;color:var(--muted)}
.v2 .ln.note .tick i{border-style:dashed}
.v2 .ln.note .ln-d{-webkit-line-clamp:unset}
.v2 .more{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px 0 8px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);cursor:pointer;font-size:14px;font-weight:600}
.v2 .more svg{width:12px;height:12px;color:var(--muted);transition:transform 150ms var(--ease)}
.v2 .more[aria-expanded=true] svg{transform:rotate(90deg)}
.v2 .more .num{font-size:12px;color:var(--muted);font-weight:400}
.v2 .donel{margin-top:8px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);max-width:760px}
.v2 .empty{padding:56px 0;text-align:center;color:var(--muted)}
.v2 .btn{height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);cursor:pointer;font-size:14px}

/* places */
.v2 .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;align-items:start}
.v2 .tile{position:relative;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:16px;min-width:0;overflow:hidden}
.v2 .tile::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--area)}
.v2 .tile header{display:flex;align-items:center;gap:8px}
.v2 .tile h2{margin:0;font-size:17px;letter-spacing:-.01em;flex:1;min-width:0}
.v2 .what{margin:6px 0 0;color:var(--ink2);font-size:14px}
.v2 .tnum{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:14px 0 8px}
.v2 .tnum b{font-size:30px;line-height:1;letter-spacing:-.03em;font-weight:650}
.v2 .tnum > span{font:12px var(--mono);color:var(--muted)}
.v2 .lg{font:11.5px var(--mono)}
.v2 .lg.k-today{color:var(--now-ink)} .v2 .lg.k-inprogress{color:var(--prog-ink)} .v2 .lg.k-waiting{color:var(--wait-ink)}
.v2 .stk{display:flex;gap:2px;height:8px;border-radius:4px;overflow:hidden;background:var(--sunk)}
.v2 .stk i{display:block;min-width:4px}
.v2 .k-today{background:var(--now)} .v2 i.k-inprogress{background:var(--prog)} .v2 i.k-waiting{background:var(--wait)} .v2 i.k-open{background:var(--open)}
.v2 .lg.k-today,.v2 .lg.k-inprogress,.v2 .lg.k-waiting{background:none}
.v2 .kids{margin-top:12px;border-top:1px solid var(--line)}
.v2 .kids li{display:flex;align-items:center;gap:8px;min-height:36px;border-bottom:1px solid var(--line);font-size:14px}
.v2 .kids .kn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2 .kids .num{font-size:12px;color:var(--muted);min-width:18px;text-align:right}
.v2 .det{display:inline-flex;align-items:center;gap:6px;margin-top:12px;height:32px;padding:0 10px 0 6px;border:0;border-radius:6px;background:var(--sunk);cursor:pointer;font-size:13px;color:var(--ink2)}
.v2 .det svg{width:12px;height:12px;transition:transform 150ms var(--ease)}
.v2 .det[aria-expanded=true] svg{transform:rotate(90deg)}
.v2 .dx{margin-top:12px;font-size:13.5px;overflow-wrap:anywhere}
.v2 .dx h4{margin:14px 0 6px;font:500 12px var(--mono);color:var(--muted)}
.v2 .dx ul{display:grid;gap:6px}
.v2 .dx p{margin:0}
.v2 .note{color:var(--muted)}
.v2 .chips{display:flex;gap:4px;flex-wrap:wrap}

/* activity */
.v2 .tl{list-style:none;margin:8px 0 0;padding:0;max-width:760px}
.v2 .tl-day{font-size:12px;color:var(--muted);padding:20px 0 8px}
.v2 .tl-e{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.v2 .tl-day + .tl-e{border-top:0}
.v2 .tl-m{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px}
.v2 .tl-m .mono{font-size:11.5px;color:var(--muted)}
.v2 .tl-b p{margin:4px 0 0;font-size:14.5px;overflow-wrap:anywhere}
.v2 .tl-e.sup p{text-decoration:line-through;color:var(--muted)}
.v2 .tl-l{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:6px;font-size:13px;overflow-wrap:anywhere}

@media (max-width:859px){
  .v2 .top{height:48px;padding:0 16px}
  .v2 .pages{position:fixed;left:0;right:0;bottom:0;z-index:40;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;padding:4px 8px calc(4px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,1fr);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
  .v2 .pages button{flex-direction:column;justify-content:center;gap:3px;height:52px;font-size:11.5px;color:var(--muted)}
  .v2 .pages button.on{box-shadow:none;background:var(--sunk);color:var(--ink)}
  .v2 .pages button svg{width:20px;height:20px}
  .v2 .wrap{padding:0 12px calc(100px + env(safe-area-inset-bottom))}
  .v2 .hero h1{font-size:26px;margin:18px 0 14px}
  .v2 .sbar{gap:4px}
  .v2 .sb{min-width:52px}
  .v2 .sb b{font-size:21px}
  .v2 .sb span:last-child{font-size:10.5px;white-space:nowrap}
  .v2 .fbar{top:48px;flex-direction:column;align-items:stretch;gap:8px;margin:0 -12px 8px;padding:8px 12px}
  .v2 .q{flex:none}
  .v2 .cards,.v2 .who-grid,.v2 .ags,.v2 .tiles{grid-template-columns:minmax(0,1fr)}
  .v2 .ln{grid-template-columns:44px minmax(0,1fr)}
  .v2 .ln-p{grid-column:2;padding:0 12px 10px 0;margin-top:-6px}
}
