.tp-card{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:0 0 14px;border-radius:20px;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh3);border-inline-start:5px solid var(--c,#356D85)}
.tp-ic{flex:none;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--c,#356D85) 14%,var(--surface));color:var(--c,#356D85)}.tp-ic svg{width:22px;height:22px}
.tp-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tp-tx b{font-size:16px}.tp-tx small{color:var(--muted);font-size:13px}.tp-go{flex:none;color:var(--muted)}.tp-go svg{width:18px;height:18px}
.tp-aid{border-top:0;padding-top:0;margin:4px 0 14px}
.md-wd,.md-month{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.md-wd{margin:8px 0 6px;font-size:12px;color:var(--muted);text-align:center}
.md-c{display:block;aspect-ratio:1;border-radius:9px;border:0;padding:0;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer}span.md-c{cursor:default}.md-c.fut{opacity:.35}
.md-c.m0{background:#B5544A;box-shadow:none}.md-c.m1{background:#D98C5F;box-shadow:none}.md-c.m2{background:#D9BC5A;box-shadow:none}.md-c.m3{background:#86BE95;box-shadow:none}.md-c.m4{background:#2F7A5F;box-shadow:none}
.md-c.today{outline:2px solid var(--ink);outline-offset:2px}.md-c.sel{outline:2px solid var(--brand,#356D85);outline-offset:2px}
.md-year{display:flex;gap:2px;overflow-x:auto;padding:8px 0 6px}.md-year>div{display:flex;flex-direction:column;gap:2px;flex:1 0 9px}.md-year .md-c{border-radius:2.5px;min-width:9px}
.md-key{display:flex;flex-wrap:wrap;gap:10px;font-size:12.5px;color:var(--muted);margin:10px 0}.md-key span{display:inline-flex;align-items:center;gap:5px}.md-key i.md-c{width:12px;height:12px;border-radius:4px;display:inline-block;cursor:default}
.md-det{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:10px 12px}.md-det p{margin:4px 0 0}.md-note{white-space:pre-wrap}
.md-dist{display:flex;gap:8px;align-items:flex-end;margin:14px 0 6px}.md-dist div{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px}.md-dist i.md-c{width:70%;aspect-ratio:auto;border-radius:8px;cursor:default}.md-dist b{font-size:14px}.md-dist span{font-size:11.5px;color:var(--muted)}
.md-goal{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.md-goal label{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.md-goal input{width:22px;height:22px;flex:none}
.md-dots{display:flex;gap:3px;flex:none}.md-dots i{width:8px;height:8px;border-radius:50%;background:var(--line)}.md-dots i.on{background:var(--primary)}
.md-x{flex:none;background:none;border:0;color:var(--muted);font-size:22px;line-height:1;padding:4px 8px;cursor:pointer}
#md-sug{margin-top:12px}
.tp-form textarea,.tp-page input[maxlength]:not(#sl-newtag){width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;font-size:15px;background:var(--surface);color:var(--ink);margin-bottom:8px}.tp-page .sl-add input{margin-bottom:0}
.tp-range{display:flex;align-items:center;gap:12px;margin:10px 0}.tp-range input{flex:1;min-width:0;accent-color:var(--primary)}.tp-range output{flex:none;min-width:44px;text-align:center;font-weight:800;font-size:18px}
.tp-ends{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-top:-6px}
.tp-hints{margin:8px 0;padding-inline-start:20px;color:var(--muted);font-size:14px}.tp-hints li{margin-bottom:4px}
.tp-bars div{display:grid;grid-template-columns:110px 1fr 28px;align-items:center;gap:8px;margin-bottom:8px;font-size:14px}.tp-bars i{display:block;height:10px;border-radius:5px;background:var(--primary);min-width:6px}.tp-bars b{text-align:center}
.tp-list{display:flex;flex-direction:column;gap:8px}.tp-list a{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);text-decoration:none;color:var(--ink)}.tp-list small{color:var(--muted);font-size:12.5px}
.tp-spark{display:block;width:100%;height:70px;margin-top:10px}.tp-spark polyline{fill:none;stroke:var(--primary);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.tp-spark circle{fill:var(--primary)}.tp-spark .mid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.tp-pick{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:16px;text-decoration:none;color:#fff;background:var(--primary)}.tp-pick small{opacity:.85;font-size:12.5px}.tp-pick b{font-size:17px}
.tp-plan{display:flex;align-items:center;justify-content:center;gap:14px;margin:10px 0}.tp-plan b{font-size:16px}.tp-plan .btn-xs{min-width:44px}
.tp-prog{height:10px;border-radius:5px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}.tp-prog i{display:block;height:100%;background:var(--primary)}
.tp-cope{border-radius:18px;padding:22px 16px;text-align:center;background:color-mix(in srgb,var(--primary) 9%,var(--surface));border:1px solid var(--line)}.tp-cope p{margin:0;font-size:18px;line-height:1.9;font-weight:700}
.tp-exp{position:relative;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);margin-bottom:8px;display:flex;flex-direction:column;gap:4px}.tp-exp small{color:var(--muted)}.tp-exp p{margin:4px 0 0}.tp-exp .md-x{position:absolute;top:2px;inset-inline-end:2px}
.tp-new{margin-top:10px}.tp-new summary{cursor:pointer;font-weight:700;color:var(--primary);padding:6px 0}.tp-new .btn-block{margin-top:10px}
.ag-clock{font-size:54px;font-weight:300;text-align:center;margin:6px 0;direction:ltr;letter-spacing:2px}#ag-step{text-align:center;min-height:3.4em}.ag-new{margin-bottom:14px}.ag-plan p{margin:0 0 8px}
.tr-sym{font-weight:800;font-size:17px;margin:0 0 6px}.tr-alert{background:color-mix(in srgb,#B3261E 9%,var(--surface));border:1px solid color-mix(in srgb,#B3261E 35%,var(--line));border-radius:12px;padding:10px 12px}
.tr-res{display:flex;gap:10px;align-items:flex-end;margin:10px 0}.tr-res div{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}.tr-res i{display:block;width:60%;border-radius:8px;background:var(--brand,#356D85)}.tr-res b{font-size:14px}.tr-res span{font-size:11.5px;color:var(--muted)}
.tr-add input{margin-bottom:0}.tr-add #tr-p{flex:0 0 110px}.tp-page #tr-man .btn-xs,.tp-page .tp-form .btn-xs{margin-top:10px}
.qt-days{text-align:center;margin:6px 0 10px}.qt-days b{display:block;font-size:64px;line-height:1.05;font-weight:800;color:var(--primary)}.qt-days span{color:var(--muted);font-size:15px}
.qt-next{margin:12px 0 6px}.qt-fact{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));font-size:14px}.qt-hero .tr-alert{margin:12px 0 0}
.qt-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:8px 0 4px;text-align:center}.qt-week span{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.qt-week i{display:block;width:26px;height:26px;margin:0 auto;border-radius:50%;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.qt-week .now span{color:var(--ink);font-weight:800}
.qt-week i.u0,.qt-k.u0{background:#2F7A5F;box-shadow:none}.qt-week i.u1,.qt-k.u1{background:#D9BC5A;box-shadow:none}.qt-week i.u2,.qt-k.u2{background:#C98B6B;box-shadow:none}.qt-week i.p{outline:2px solid var(--primary);outline-offset:2px}
.qt-k{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.qt-k.p{outline:2px solid var(--primary);outline-offset:1px}
.qt-ok{display:flex;align-items:center;gap:8px;margin:10px 0;font-weight:700;color:var(--primary)}.qt-ok svg{flex:none;width:20px;height:20px}
.qt-if{display:flex;flex-direction:column;margin-bottom:10px;padding-inline-start:10px;border-inline-start:3px solid var(--line)}.tp-page .qt-if input:last-child{margin-bottom:0}
.qt-log{margin:0 0 14px}.qt-tip{margin-top:10px}#qt-rev .chips{margin-bottom:6px}.tp-form .sl-2 .btn{flex:1}
.tp-call{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px}.tp-call svg{width:18px;height:18px}.tp-cope small{display:block;color:var(--muted);font-size:12.5px;margin-bottom:6px}
.hv-now{margin:0 0 14px}.hv-now .btn-danger{display:flex;align-items:center;justify-content:center;gap:8px}.hv-now p{text-align:center;margin:8px 4px 0}
.hv-gr{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.hv-gr button{display:flex;align-items:center;gap:8px;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font:inherit;font-weight:700;cursor:pointer;text-align:start}.hv-gr button svg{flex:none;width:22px;height:22px;color:var(--primary)}.hv-gr button:last-child{grid-column:1/-1}
#hv-wave .chips{justify-content:center}#hv-wave .tp-cope{margin-bottom:10px}#hv-box .tp-plan{margin-bottom:0}
.hv-fig{margin:0;text-align:center}.hv-fig img,.hv-view img{display:block;max-width:100%;max-height:340px;margin:0 auto;border-radius:16px}.hv-fig figcaption{margin-top:8px;font-weight:700}
.hv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.hv-ph{aspect-ratio:1;padding:0;border:0;border-radius:12px;overflow:hidden;background:var(--surface-2);cursor:pointer}.hv-ph img{width:100%;height:100%;object-fit:cover;display:block}.hv-ph.on{outline:3px solid var(--primary);outline-offset:1px}
.hv-view{margin:0 0 12px;padding:10px;border-radius:16px;border:1px solid var(--line);background:var(--surface-2)}.hv-view img{margin-bottom:10px}
.hv-st{padding:10px 0;border-bottom:1px solid var(--line)}.hv-st:last-child{border-bottom:0}.hv-st h3{margin:0;font-size:16px}.hv-st p{margin:4px 0 0}.hv-st .sl-row{margin-bottom:0}.hv-st .sl-row a svg{width:18px;height:18px}
.hv-wipe{text-align:center;margin:0 0 10px}
#hv-plan .btn-block,#hv-photos .btn-block{margin-top:12px}.hv-grid{margin-top:10px}
.rs-bar{display:flex;align-items:center;gap:8px;max-width:640px;margin:0 auto 12px;padding:10px 12px;border-radius:16px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 30%,var(--line))}
.rs-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.rs-t small{color:var(--muted);font-size:12.5px}.rs-t b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rs-bar .btn{flex:none;margin:0}
@media print{.rs-bar{display:none}}
