:root{--bg:#f5f5f7;--surface:#fff;--text:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#aeaeb2;--border:#00000014;--border-strong:#00000024;--accent:#0071e3;--accent-tint:#0071e314;--red:#e0342b;--red-tint:#e0342b12;--orange:#c93400;--green:#1d7a35;--radius:12px;--radius-sm:8px;--sidebar-w:220px;-webkit-font-smoothing:antialiased;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px}*{box-sizing:border-box}html,body{background:var(--bg);margin:0;padding:0}body{min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}.shell{min-height:100dvh;display:flex}.sidebar{width:var(--sidebar-w);flex-direction:column;flex-shrink:0;gap:2px;height:100dvh;padding:28px 14px;display:flex;position:sticky;top:0}.sidebar-brand{letter-spacing:-.02em;padding:0 12px 18px;font-size:17px;font-weight:700}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);text-align:left;align-items:center;gap:10px;width:100%;padding:8px 12px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:#0000000b}.nav-item.active{color:var(--text);background:#0000000f}.nav-item svg{flex-shrink:0;width:18px;height:18px}.nav-badge{color:#fff;background:var(--red);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:12px;font-weight:600;display:inline-flex}.main{flex:1;min-width:0;max-width:860px;padding:40px 40px 64px}.tabbar{display:none}@media (width<=767px){.sidebar{display:none}.main{padding:20px 16px calc(84px + env(safe-area-inset-bottom));max-width:none}.tabbar{-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:40;background:#f9f9fbeb;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--text-tertiary);flex-direction:column;flex:1;align-items:center;gap:3px;padding:4px 0;font-size:10px;font-weight:500;display:flex}.tabbar button.active{color:var(--accent)}.tabbar svg{width:22px;height:22px}}.page-title{letter-spacing:-.025em;margin:0;font-size:28px;font-weight:700}.page-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:15px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);justify-content:space-between;align-items:center;margin:32px 0 10px;font-size:12px;font-weight:600;display:flex}.section-label:first-of-type{margin-top:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card+.card{margin-top:12px}.row{text-align:left;border-bottom:1px solid var(--border);align-items:center;gap:12px;width:100%;padding:13px 16px;transition:background .12s;display:flex;position:relative}.row:last-child{border-bottom:none}button.row:hover,.row.clickable:hover{background:#00000005}.row-main{flex:1;min-width:0}.row-title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.row-sub{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:13px;overflow:hidden}.row-side{text-align:right;color:var(--text-secondary);flex-shrink:0;align-items:center;gap:8px;font-size:13px;display:flex}.chevron{color:var(--text-tertiary);flex-shrink:0}.tag{color:var(--text-secondary);white-space:nowrap;background:#0000000d;border-radius:6px;align-items:center;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.tag.blue{background:var(--accent-tint);color:var(--accent)}.tag.green{color:var(--green);background:#1d7a3517}.tag.red{background:var(--red-tint);color:var(--red)}.tag.orange{color:var(--orange);background:#c9340014}.dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.btn{white-space:nowrap;border-radius:980px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:14px;font-weight:500;transition:opacity .15s,background .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{opacity:.88}.btn-secondary{color:var(--text);background:#0000000d}.btn-secondary:hover{background:#00000014}.btn-danger{color:var(--red);background:0 0;border-radius:980px;padding:7px 10px}.btn-danger:hover{background:var(--red-tint)}.btn-plain{color:var(--accent);border-radius:6px;padding:4px 6px;font-size:14px;font-weight:500}.btn-plain:hover{background:var(--accent-tint)}.icon-btn{width:30px;height:30px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:inline-flex}.icon-btn:hover{background:#0000000f}.field{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.field label{color:var(--text-secondary);font-size:13px;font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);appearance:none;outline:none;width:100%;padding:9px 11px;font-size:15px;transition:border-color .15s,box-shadow .15s}.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236e6e73' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:32px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0071e326}.field textarea{resize:vertical;min-height:68px}.field-grid{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}@media (width<=480px){.field-grid{grid-template-columns:1fr}}.toolbar{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.search{flex:1;min-width:160px;position:relative}.search input{border-radius:var(--radius-sm);background:#0000000d;border:none;outline:none;width:100%;padding:8px 12px 8px 32px;font-size:14px}.search input:focus{background:var(--surface);box-shadow:0 0 0 3px #0071e326}.search svg{width:14px;height:14px;color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.toolbar select{border-radius:var(--radius-sm);appearance:none;cursor:pointer;color:var(--text);background:#0000000d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236e6e73' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 9px center no-repeat;border:none;outline:none;padding:8px 28px 8px 12px;font-size:14px}.segmented{background:#0000000d;border-radius:9px;gap:2px;max-width:100%;padding:2px;display:inline-flex;overflow-x:auto}.segmented button{color:var(--text-secondary);white-space:nowrap;border-radius:7px;padding:5px 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001a}.overlay{z-index:50;background:#00000052;justify-content:center;align-items:center;animation:.18s fade-in;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:14px;flex-direction:column;width:min(520px,100vw - 32px);max-height:min(84dvh,720px);animation:.2s pop-in;display:flex;box-shadow:0 24px 60px #0000002e}@media (width<=767px){.overlay{align-items:flex-end}.sheet{border-radius:14px 14px 0 0;width:100vw;max-width:none;max-height:92dvh;animation:.24s cubic-bezier(.32,.72,0,1) slide-up}}.sheet-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.sheet-title{margin:0;font-size:17px;font-weight:600}.sheet-body{padding:4px 20px 8px;overflow-y:auto}.sheet-footer{flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px 18px;display:flex}.sheet-footer .btn-danger{margin-right:auto}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.97)}}@keyframes slide-up{0%{transform:translateY(40%)}}.empty{text-align:center;color:var(--text-secondary);padding:36px 20px;font-size:14px}.empty-title{color:var(--text);margin-bottom:3px;font-size:15px;font-weight:600}.check{border:1.5px solid var(--border-strong);color:#0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .15s;display:inline-flex}.check.done{background:var(--accent);border-color:var(--accent);color:#fff}.row-title.done{color:var(--text-tertiary);text-decoration:line-through}.quiet-note{color:var(--text-tertiary);padding:14px 16px;font-size:13px}.timeline-day{border-bottom:1px solid var(--border);gap:16px;padding:12px 16px;display:flex}.timeline-day:last-child{border-bottom:none}.timeline-date{text-align:left;flex-shrink:0;width:74px}.timeline-date .d1{font-size:13px;font-weight:600}.timeline-date .d2{color:var(--text-secondary);font-size:12px}.timeline-date.today .d1,.timeline-date.today .d2{color:var(--accent)}.timeline-events{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.inline-form{border-bottom:1px solid var(--border);gap:8px;padding:10px 16px;display:flex}.inline-form input{background:0 0;border:none;outline:none;flex:1;padding:2px 0;font-size:15px}.inline-form input::placeholder{color:var(--text-tertiary)}.stat-line{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:11px 16px;font-size:14px;display:flex}.stat-line:last-child{border-bottom:none}.stat-line .v{font-variant-numeric:tabular-nums;font-weight:600}.divider-label{color:var(--text-secondary);padding:12px 16px 6px;font-size:13px;font-weight:600}
