/* V1 Sidebar: monochrome, rounded 8, dense */
.v1{display:grid;grid-template-columns:256px minmax(0,1fr);min-height:100%}
.v1 .side{position:sticky;top:0;height:calc(100dvh - var(--band));overflow:auto;border-right:1px solid var(--line);padding:12px 10px 24px;background:var(--bg)}
.v1 .scrim{display:none}
.v1 hr{border:0;border-top:1px solid var(--line);margin:10px 6px}
.v1 .s-q{position:relative;display:flex;align-items:center;margin:0 0 10px}
.v1 .s-q svg{position:absolute;left:10px;width:15px;height:15px;color:var(--muted);pointer-events:none}
.v1 .s-q input{width:100%;height:36px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:16px var(--sans);padding:0 30px 0 32px;outline:0;transition:border-color 150ms ease-out}
.v1 .s-q input:focus{border-color:var(--ink)}
.v1 .s-q input::-webkit-search-cancel-button{display:none}
.v1 .s-q kbd{position:absolute;right:8px;font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 5px}
.v1 .s-list,.v1 .s-sub,.v1 .rows,.v1 .mrows,.v1 .lrows,.v1 ul.plain{list-style:none;margin:0;padding:0}
.v1 .s-t{display:flex;align-items:center}
.v1 .s-r{width:100%;display:flex;align-items:center;gap:10px;min-height:34px;padding:0 8px;border:0;border-radius:8px;background:none;cursor:pointer;text-align:left;color:var(--ink);font-size:14px;transition:background-color 150ms ease-out}
@media (hover:hover) and (pointer:fine){.v1 .s-r:hover{background:var(--hover)}}
.v1 .s-r.on,.v1 .s-r.on2{background:var(--sunk);box-shadow:inset 0 0 0 1px var(--line)}
.v1 .s-r.on .s-l,.v1 .s-r.on2 .s-l{font-weight:600}
.v1 .s-r.zero{color:var(--muted)}
.v1 .s-l{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v1 .s-n{font:12px var(--mono);color:var(--muted)}
.v1 .s-dis{flex:none;width:24px;height:34px;display:grid;place-items:center;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:6px;padding:0}
.v1 .s-dis svg{width:12px;height:12px;transition:transform 150ms var(--ease)}
.v1 .s-dis.ex svg{transform:rotate(90deg)}
.v1 .s-t .s-r{padding-left:4px}
.v1 .s-sub{margin:0 0 4px 24px}
.v1 .s-sub .s-r{min-height:30px;font-size:13.5px;padding-left:20px}
.v1 .s-list > li > .s-r{padding-left:32px}
.v1 .s-list > li > .s-r .g{margin-left:-22px}
/* view glyphs */
.v1 .g{flex:none;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--muted)}
.v1 .g-today{background:var(--now);border-color:var(--now)}
.v1 .g-inprogress{border-color:var(--prog);background:linear-gradient(90deg,var(--prog) 50%,transparent 50%)}
.v1 .g-waiting{border-color:var(--wait);border-style:dashed}
.v1 .g-open{border-color:var(--ink2)}
.v1 .g-done{background:var(--done);border-color:var(--done)}
.v1 .g-map{border-radius:3px;border-color:var(--ink2)}
.v1 .g-log{border-radius:2px;border:0;background:repeating-linear-gradient(var(--ink2) 0 1.5px,transparent 1.5px 4.5px)}
.v1 .g-all{border-color:var(--line2)}

.v1 .main{min-width:0;padding:0 28px 80px;max-width:920px;width:100%}
.v1 .mh{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0 12px;background:var(--bg);border-bottom:1px solid var(--line)}
.v1 .mh h1{margin:0;font-size:20px;letter-spacing:-.015em;font-weight:650}
.v1 .mh-n{font-size:13px;color:var(--muted)}
.v1 .scope{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 6px 0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:13px;cursor:pointer;max-width:100%}
.v1 .scope svg{width:14px;height:14px;color:var(--muted)}
@media (hover:hover) and (pointer:fine){.v1 .scope:hover{border-color:var(--line2)}}
.v1 .icon{width:40px;height:40px;display:grid;place-items:center;border:0;background:none;border-radius:8px;cursor:pointer;margin-left:-10px}
.v1 .icon svg{width:20px;height:20px}
.v1 .m-only{display:none}

.v1 .grp{margin-top:20px}
.v1 .grp h2{display:flex;align-items:center;gap:8px;margin:0 0 4px;padding:0 4px;font:600 13px var(--sans);color:var(--ink2)}
.v1 .grp h2 .n{font:12px var(--mono);color:var(--muted);font-weight:400}
.v1 .rows{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}
.v1 .rows.solo{margin-top:20px}
.v1 .r{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;border-top:1px solid var(--line);transition:opacity 300ms ease-out}
.v1 .r:first-child{border-top:0}
.v1 .r .tick{margin:0 0 0 2px}
.v1 .r-b{min-width:0;display:flex;flex-direction:column;gap:1px;padding:11px 8px 11px 2px;border:0;background:none;text-align:left;cursor:pointer;font-size:14.5px}
.v1 .r-t{font-weight:550;overflow-wrap:anywhere}
.v1 .r-d{color:var(--muted);font-size:13.5px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.v1 .r-m{display:flex;align-items:center;gap:6px;padding:11px 12px 0 0;min-height:40px}
.v1 .r-w{font:12px var(--mono);color:var(--muted);white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}
.v1 .r-x{grid-column:2 / -1;padding:0 14px 14px 2px;color:var(--ink2);font-size:14px}
.v1 .r-x p{margin:0 0 8px;max-width:65ch;overflow-wrap:anywhere}
.v1 .r-f{font-size:12px;color:var(--muted)}
.v1 .r.o{background:var(--sunk)}
.v1 .r.done .r-t{text-decoration:line-through;color:var(--muted)}
.v1 .r.just{opacity:.6}
.v1 .r.note .tick i{border-style:dashed}
.v1 .r.note .r-b{cursor:default}
@media (hover:hover) and (pointer:fine){.v1 .r:not(.o):hover{background:var(--hover)}}

.v1 .empty{padding:56px 0;text-align:center;color:var(--muted)}
.v1 .empty p{margin:0 0 14px}
.v1 .btn{height:36px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;font-size:14px}
.v1 .btn:active{transform:scale(.96)}

/* map rows */
.v1 .body > .mrows{margin-top:20px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}
.v1 .m{border-top:1px solid var(--line)}
.v1 .mrows > .m:first-child{border-top:0}
.v1 .m-b{width:100%;display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px 0 8px;border:0;background:none;cursor:pointer;text-align:left;font-size:14.5px}
.v1 .m-b .chev{width:20px;display:grid;place-items:center;color:var(--muted)}
.v1 .m-b .chev svg{width:12px;height:12px;transition:transform 150ms var(--ease)}
.v1 .m.o > .m-b .chev svg{transform:rotate(90deg)}
.v1 .m-n{flex:1;min-width:0;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v1 .m-c{font-size:12px;color:var(--muted);min-width:56px;text-align:right}
@media (hover:hover) and (pointer:fine){.v1 .m-b:hover{background:var(--hover)}}
.v1 .m-x{padding:0 14px 14px 38px;font-size:14px;color:var(--ink2)}
.v1 .m-what{margin:0 0 4px;color:var(--ink);max-width:65ch}
.v1 .m-st{margin:0 0 10px;color:var(--muted);max-width:65ch}
.v1 dl{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px 12px;margin:0}
.v1 dt{font:12px var(--mono);color:var(--muted);padding-top:2px}
.v1 dd{margin:0;display:flex;flex-wrap:wrap;gap:4px;min-width:0}
.v1 dd ul{display:grid;gap:4px;width:100%}
.v1 .note{color:var(--muted);font-size:13px}
.v1 .jobs li{display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}
.v1 .m-x .mrows{margin-top:12px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}
.v1 .m-x .mrows .m:first-child{border-top:0}

/* log rows */
.v1 .l-f{margin:16px 0 0}
.v1 select{height:36px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:16px var(--sans);padding:0 10px}
.v1 .lrows{margin-top:8px}
.v1 .l-day{font-size:12px;color:var(--muted);padding:16px 4px 6px}
.v1 .l{border:1px solid var(--line);border-radius:0;margin-top:-1px;background:var(--surface)}
.v1 .l-day + .l{border-radius:8px 8px 0 0}
.v1 .l:has(+ .l-day),.v1 .l:last-child{border-radius:0 0 8px 8px}
.v1 .l-day + .l:has(+ .l-day),.v1 .l-day + .l:last-child{border-radius:8px}
.v1 .l-b{width:100%;display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 12px;border:0;background:none;text-align:left;cursor:pointer;font-size:14px}
.v1 .l-bot{font-size:12px;color:var(--muted);padding-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v1 .l-w{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.v1 .l.o .l-w{-webkit-line-clamp:unset}
.v1 .l.sup .l-w{text-decoration:line-through;color:var(--muted)}
.v1 .l-x{padding:0 12px 12px 120px;display:grid;gap:4px;font-size:13px;overflow-wrap:anywhere}
@media (hover:hover) and (pointer:fine){.v1 .l-b:hover{background:var(--hover)}}

/* phone */
@media (max-width:859px){
  .v1{grid-template-columns:minmax(0,1fr)}
  .v1 .m-only{display:grid}
  .v1 .side{position:fixed;top:var(--band);left:0;bottom:0;height:auto;width:min(86vw,320px);z-index:50;border-right:1px solid var(--line);transform:translateX(-100%);visibility:hidden;
    transition:transform 260ms cubic-bezier(.32,.72,0,1),visibility 0s 260ms;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .v1.drawer .side{transform:none;visibility:visible;transition:transform 260ms cubic-bezier(.32,.72,0,1)}
  .v1 .scrim{display:block;position:fixed;inset:var(--band) 0 0 0;z-index:49;background:rgba(0,0,0,.32);opacity:0;pointer-events:none;transition:opacity 200ms ease-out}
  .v1.drawer .scrim{opacity:1;pointer-events:auto}
  .v1 .s-r{min-height:44px;font-size:15px}
  .v1 .s-dis{height:44px;width:32px}
  .v1 .main{padding:0 12px calc(96px + env(safe-area-inset-bottom))}
  .v1 .mh{padding:6px 0 8px;gap:8px}
  .v1 .mh h1{font-size:18px}
  .v1 .r{grid-template-columns:44px minmax(0,1fr)}
  .v1 .r-m{grid-column:2;padding:0 12px 10px 2px;min-height:0;flex-wrap:wrap}
  .v1 .r-m:empty{display:none}
  .v1 .r-b{padding-bottom:10px}
  .v1 .r-x{grid-column:1 / -1;padding-left:46px}
  .v1 .r-w{max-width:none}
  .v1 .l-b{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}
  .v1 .l-bot{grid-column:1 / -1}
  .v1 .l-x{padding-left:12px}
  .v1 .m-x{padding-left:14px}
  .v1 dl{grid-template-columns:1fr}
  .v1 dt{padding-top:6px}
  .v1 .tabs{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in srgb,var(--bg) 92%,transparent);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
  .v1 .tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;border:0;background:none;border-radius:8px;font-size:11.5px;color:var(--muted);cursor:pointer;position:relative}
  .v1 .tabs button.on{color:var(--ink);background:var(--sunk)}
  .v1 .tabs button .num{position:absolute;top:4px;right:calc(50% - 22px);font:10px var(--mono);color:var(--muted)}
  .v1 .tabs svg{width:16px;height:16px}
  .v1 .tabs .g{width:14px;height:14px}
}
