._overlay_vb51c_1{z-index:100;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._dialog_vb51c_10{background:var(--panel);border-radius:10px;min-width:300px;max-width:420px;padding:18px;box-shadow:0 8px 24px #00000026}._title_vb51c_18{margin-bottom:6px;font-weight:600}._msg_vb51c_22{color:var(--text-muted);margin:6px 0 0;font-size:13px}._actions_vb51c_27{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}._panel_9mbd8_1{border-left:1px solid var(--border);background:var(--panel);flex-direction:column;gap:10px;width:340px;padding:14px;display:flex;overflow-y:auto}._header_9mbd8_12{justify-content:space-between;align-items:center;display:flex}._header_9mbd8_12 h3{margin:0;font-size:15px}._close_9mbd8_21{color:var(--text-muted);background:0 0;border:none;font-size:18px}._close_9mbd8_21:hover{color:var(--text)}._field_9mbd8_31{width:100%}._label_9mbd8_35{color:var(--text-muted);font-size:12px}._row_9mbd8_40{flex-wrap:wrap;align-items:center;gap:6px;display:flex}._prio_9mbd8_47{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius);padding:4px 10px}._prioActive_9mbd8_53{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, white);color:var(--accent)}._days_9mbd8_59{flex-direction:column;gap:4px;max-height:180px;display:flex;overflow-y:auto}._day_9mbd8_59{align-items:center;gap:6px;display:flex}._dayDate_9mbd8_71{width:90px;color:var(--text-muted);flex-shrink:0;font-size:12px}._dayBtn_9mbd8_77{border:1px solid var(--border);background:var(--panel);border-radius:6px;padding:2px 8px;font-size:12px}._dayBtnActive_9mbd8_84{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, white);color:var(--accent)}._error_9mbd8_90{color:var(--danger);margin:0;font-size:13px}._footer_9mbd8_96{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:auto;padding-top:12px;display:flex}._spacer_9mbd8_104{flex:1}._month_1ao4f_1{flex-direction:column;flex:1;min-height:0;display:flex}._weekRow_1ao4f_7{flex:1;grid-template-columns:repeat(7,1fr);min-height:0;display:grid}._weekHead_1ao4f_13{text-align:center;color:var(--text-muted);border-bottom:1px solid var(--border);padding:4px 0;font-size:12px}._dayCell_1ao4f_20{border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;min-width:0;min-height:0;padding:4px;overflow:hidden}._dayCell_1ao4f_20:nth-child(7n){border-right:none}._outMonth_1ao4f_32{background:#fafafa}._outMonth_1ao4f_32 ._dayNum_1ao4f_35{color:#c0c4cc}._today_1ao4f_38{background:color-mix(in srgb, var(--accent) 6%, white)}._dayNum_1ao4f_35{color:var(--text-muted);font-size:12px}._dayTasks_1ao4f_45{flex-direction:column;gap:2px;display:flex;overflow:hidden}._chip_1ao4f_51{color:#fff;text-align:left;border:none;border-radius:4px;width:100%;padding:2px 6px;font-size:12px;overflow:hidden}._chipCont_1ao4f_61{opacity:.55}._chipText_1ao4f_64{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}._more_1ao4f_71{color:var(--text-muted);text-align:left;background:0 0;border:none;padding:1px 4px;font-size:12px}._more_1ao4f_71:hover{color:var(--accent)}._weekGrid_1ao4f_83{background:var(--border);flex:1;grid-template-rows:1fr;grid-template-columns:repeat(7,1fr);gap:1px;min-height:0;display:grid}._col_1ao4f_92{background:var(--panel);cursor:pointer;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}._col_1ao4f_92._today_1ao4f_38{background:color-mix(in srgb, var(--accent) 6%, white)}._colHead_1ao4f_104{text-align:center;border-bottom:1px solid var(--border);flex-shrink:0;padding:6px 0}._colWeek_1ao4f_110{color:var(--text-muted);font-size:12px}._colDay_1ao4f_114{margin-left:4px;font-size:16px}._colTasks_1ao4f_118{flex-direction:column;flex:1;gap:4px;min-height:0;padding:6px;display:flex;overflow-y:auto}._dayView_1ao4f_128{flex:1;padding:12px}._dayHead_1ao4f_132{margin-bottom:10px;font-size:16px;font-weight:600}._dayTasks_1ao4f_45{flex-direction:column;gap:6px;display:flex}._dayItem_1ao4f_142{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:8px;padding:8px 10px;display:flex}._dayItem_1ao4f_142:hover{border-color:var(--accent)}._dot_1ao4f_155{border-radius:50%;flex-shrink:0;width:8px;height:8px}._range_1ao4f_161{color:var(--text-muted);margin-left:auto;font-size:12px}._empty_1ao4f_166{color:var(--text-muted);text-align:center;padding:20px}._wrap_1auo1_1{z-index:200;flex-direction:column;gap:8px;max-width:320px;display:flex;position:fixed;bottom:16px;right:16px}._toast_1auo1_11{color:#fff;cursor:pointer;background:#1f2328;border-radius:10px;padding:10px 14px;box-shadow:0 4px 16px #0003}._title_1auo1_19{margin-bottom:2px;font-size:13px;font-weight:600}._body_1auo1_24{opacity:.85;font-size:12px}._layout_1u1j0_1{height:100%;display:flex}._main_1u1j0_6{flex-direction:column;flex:1;min-width:0;display:flex}._topbar_1u1j0_13{border-bottom:1px solid var(--border);background:var(--panel);align-items:center;gap:12px;padding:8px 14px;display:flex}._viewSwitch_1u1j0_22{border:1px solid var(--border);border-radius:var(--radius);display:flex;overflow:hidden}._viewBtn_1u1j0_28{background:var(--panel);border:none;padding:5px 16px}._viewBtnActive_1u1j0_33{background:var(--accent);color:#fff}._nav_1u1j0_38{gap:6px;display:flex}._sync_1u1j0_43{color:var(--text-muted);font-size:12px}._syncOffline_1u1j0_47{color:#b45309}._syncError_1u1j0_50{color:var(--danger)}._viewport_1u1j0_54{flex:1;min-height:0;display:flex;overflow:auto}._loading_1u1j0_61{color:var(--text-muted);padding:16px}._emptyHint_1u1j0_66{background:color-mix(in srgb, var(--accent) 8%, white);color:var(--text-muted);border-bottom:1px solid var(--border);z-index:1;padding:6px 14px;font-size:12px;position:sticky;top:0}:root{--bg:#f5f6f8;--panel:#fff;--border:#e2e5ea;--text:#1f2328;--text-muted:#6b7280;--accent:#4f8cff;--danger:#e5484d;--done:#30b570;--radius:8px;--shadow:0 1px 3px #00000014;font-size:14px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}input,select,textarea,button{font:inherit}button{cursor:pointer}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:6px 8px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 40%, transparent);outline-offset:0;border-color:var(--accent)}.btn{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius);padding:6px 12px}.btn:hover{background:#f0f2f5}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(.95)}.btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.auth-form{background:var(--panel);max-width:320px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:10px;margin:20vh auto 0;padding:24px;display:flex}.auth-form h1{margin:0 0 4px;font-size:20px}.auth-hint{color:var(--text-muted);margin:0 0 4px;font-size:13px}.auth-error{color:var(--danger);margin:0;font-size:13px}.auth-form .btn-primary{margin-top:6px;padding:8px 12px}.sidebar{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;gap:4px;width:180px;padding:10px 8px;display:flex;overflow-y:auto}.sidebar-title{color:var(--text-muted);margin:4px 8px;font-size:12px}.sidebar-item{border-radius:var(--radius);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.sidebar-item:hover{background:#f0f2f5}.sidebar-item.selected{background:color-mix(in srgb, var(--accent) 12%, white)}.list-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sidebar-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sidebar-count{color:var(--text-muted);flex-shrink:0;font-size:12px}.sidebar-del{color:var(--text-muted);background:0 0;border:none;padding:0 2px;font-size:14px}.sidebar-del:hover{color:var(--danger)}.sidebar-add{gap:4px;margin-top:8px;padding:0 4px;display:flex}.sidebar-add input{flex:1;min-width:0}.sidebar-add button{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius);width:30px}
