:root{--bg:#f4f5f7;--line:#0000001a;--lineStrong:#00000029;--text:#0f172a;--muted:#0f172a94;--radius:16px;--radius2:14px;--shadow:0 10px 24px #00000014;--sideText:#ffffffe0;--sideMuted:#fff9;--blue:#2f6bff;--blueSoft:#2f6bff1f;--redSoft:#e5484d1f;--graySoft:#0206170f;--amberSoft:#f59e0b24;--rowh:46px}*,:before,:after{box-sizing:border-box}html,body{height:auto}body{background:radial-gradient(1200px 700px at 20% 0%, #2f6bff1f 0%, transparent 55%), var(--bg);color:var(--text);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Noto Sans JP,sans-serif;overflow:auto}.app{max-width:1500px;margin:0 auto;padding:14px}.topbar{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb3;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}.brand{align-items:center;gap:10px;min-width:320px;display:flex}.logo{color:#fff;background:linear-gradient(135deg,#2f6bfff2,#2f6bff8c);border-radius:12px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.brandText{line-height:1.05}.brandTitle{font-weight:900}.beta{color:#e5484de6;margin-left:6px;font-size:12px}.topActions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.searchFake{border:1px solid var(--line);background:#ffffff94;border-radius:999px;flex-wrap:wrap;align-items:center;gap:6px;min-width:240px;padding:6px 10px;display:flex}.searchIcon{opacity:.65}.searchInput{background:0 0;border:none;outline:none;flex:1;min-width:140px;font-size:13px}.searchChips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.searchChip{background:var(--blue);color:#fff;white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 8px 3px 10px;font-size:12px;font-weight:900;display:inline-flex}.searchChip button{color:#ffffffbf;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;font-size:13px;line-height:1;display:flex}.searchChip button:hover{color:#fff}.btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff9;border-radius:12px;padding:9px 12px;font-weight:800}.btn:hover{background:#ffffffd1}.btn.ghost{background:0 0}.btn.danger{color:#e5484df2;border-color:#e5484d40}.btn.mini{padding:8px 10px}.iconBtn{border:1px solid var(--line);cursor:pointer;background:#ffffff8c;border-radius:12px;width:36px;height:36px;font-weight:900}.iconBtn:hover{background:#ffffffd1}.btnPlus{color:#fff;cursor:pointer;background:#2f6bffeb;border:1px solid #2f6bff38;border-radius:12px;width:38px;height:38px;font-weight:950}.btnPlus:hover{filter:brightness(.96)}.btnPlus.small{width:34px;height:34px}.miniIcon{border:1px solid var(--line);cursor:pointer;background:#fff9;border-radius:10px;width:28px;height:28px;font-weight:900}.miniIcon:hover{background:#ffffffe6}.miniIcon.danger{color:#e5484deb;border-color:#e5484d2e}.chip{border:1px solid var(--line);cursor:pointer;background:#ffffffa6;border-radius:999px;padding:7px 10px;font-weight:900}.chip:hover{background:#ffffffe0}.chip.ghost{background:0 0}.layout{grid-template-columns:220px 1fr 340px;align-items:start;gap:12px;margin-top:12px;display:grid}.sidebar{border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(#121318 0%,#121318f5 100%);border:1px solid #ffffff0f;flex-direction:column;display:flex;overflow:hidden}.sideTop{padding:12px 12px 6px}.sideLabel{color:var(--sideMuted);letter-spacing:.08em;font-size:12px}.nav{flex-direction:column;gap:8px;padding:6px 10px 10px;display:flex}.navItem{width:100%;color:var(--sideText);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:10px;display:flex}.navItem:hover{background:#ffffff0f;border-color:#ffffff0f}.navItem.active{background:#2f6bff2e;border-color:#2f6bff47}.navIcon{filter:saturate(.85);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;place-items:center;width:28px;height:28px;font-size:16px;display:grid}.navItem.active .navIcon{filter:saturate(1.15);background:#ffffff1a;border-color:#fff3}.navText{letter-spacing:.02em;font-size:13px;font-weight:900}.sideBottom{border-top:1px solid #ffffff0f;margin-top:auto;padding:10px}.sideBottomRow{justify-content:space-between;gap:10px;display:flex}.c-top{background:#2f6bff1a}.c-client{background:#6366f11a}.c-project{background:#10b9811a}.c-note{background:#f59e0b1a}.c-todo{background:#22c55e1a}.c-export{background:#3b82f61a}.c-notice{background:#facc151a}.c-settings{background:#9ca3af1a}.main{min-width:0}.centerGrid{grid-template-columns:1fr 360px;gap:12px;display:grid}.centerRight{flex-direction:column;gap:12px;display:flex}.app.isCollapsed .centerGrid{grid-template-columns:1fr 420px}.right{border-radius:var(--radius);background:#02061708;border:1px solid #0000001a;flex-direction:column;gap:12px;padding:10px;display:flex}.panel{border-radius:var(--radius);border:1px solid var(--lineStrong);box-shadow:var(--shadow);background:#ffffffc7;min-width:0;overflow:hidden}.panelSoft{background:#ffffffad}.panelStrong{background:#ffffffc7}.panelHead{border-bottom:1px solid var(--line);background:#02061705;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.panelTitle{white-space:nowrap;font-weight:950}.panelHint{display:none}.panelTools{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.tinyLegend{color:var(--muted);font-size:12px}.datePill{border:1px solid var(--line);color:#020617b3;white-space:nowrap;background:#ffffff9e;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-weight:900;display:flex}#dateLabel{text-align:center;font-variant-numeric:tabular-nums;cursor:pointer;min-width:7em;font-size:13px;display:inline-block}#dateLabel:hover{opacity:.75}.viewToggle{background:#0206170f;border-radius:999px;gap:3px;padding:3px;display:flex}.viewToggle .chip{color:var(--muted);letter-spacing:.02em;background:0 0;border:none;padding:5px 10px;font-size:12px}.viewToggle .chip.active{color:var(--blue);background:#fff;box-shadow:0 1px 5px #0000001a}.plusWrap{position:relative}.plusMenu{z-index:20;background:#ffffffeb;border:1px solid #00000024;border-radius:14px;min-width:200px;position:absolute;top:46px;right:0;overflow:hidden;box-shadow:0 18px 40px #0000001f}.plusItem{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:10px 12px;font-weight:900}.plusItem:hover{background:#2f6bff1a}.calendarPanel{flex-direction:column;display:flex}.dayWrap{grid-template-columns:64px 1fr;gap:10px;padding:12px;display:grid}.timeCol{flex-direction:column;padding-top:2px;display:flex}.timeTick{height:var(--rowh);color:#0206178c;justify-content:flex-end;align-items:flex-start;padding-right:6px;font-size:12px;display:flex}.gridCol{border:1px solid var(--line);border-radius:var(--radius2);background:#ffffff94;position:relative;overflow:hidden}.gridLines .slot{height:var(--rowh);border-bottom:1px solid #00000012}.gridLines .slot:last-child{border-bottom:none}.eventsLayer{pointer-events:none;position:absolute;inset:0}.eventBlock{top:var(--top);height:var(--height);left:var(--left);width:var(--width);pointer-events:auto;background:#2f6bff1a;border:1px solid #2f6bff38;border-radius:14px;padding:10px 12px;position:absolute;overflow:hidden;box-shadow:0 8px 18px #2f6bff14}.eventBlock.faint{box-shadow:none;background:#0206170a;border-color:#0206171f}.evTitle{white-space:nowrap;text-overflow:ellipsis;font-weight:950;overflow:hidden}.evMeta{color:#02061799;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.weekView{overflow-x:auto}.weekHeader{border-bottom:1px solid var(--line);background:#fffffffa;display:flex}.weekTimeGutter{border-right:1px solid var(--line);flex-shrink:0;width:64px}.weekDayHeaders{flex:1;min-width:0;display:flex}.weekDayHeader{text-align:center;border-left:1px solid var(--line);cursor:pointer;flex:1;min-width:72px;padding:6px 4px;transition:background .12s}.weekDayHeader:hover{background:#2f6bff0f}.weekDayHeader.isSelected{background:var(--blueSoft)}.weekDayName{letter-spacing:.06em;color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.weekDayDate{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin:2px auto 0;font-size:15px;font-weight:950;display:flex}.weekDayHeader.isToday .weekDayDate{background:var(--blue);color:#fff}.weekBody{display:flex}.weekTimeCol{border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:64px;display:flex}.weekTimeTick{height:var(--rowh);color:#02061773;justify-content:flex-end;align-items:flex-start;padding-top:3px;padding-right:8px;font-size:11px;display:flex}.weekDaysCols{flex:1;min-width:0;display:flex}.weekDayCol{border-left:1px solid var(--line);flex:1;min-width:72px;position:relative}.weekDayCol.isToday{background:#2f6bff06}.weekSlots{position:relative}.weekSlot{height:var(--rowh);border-bottom:1px solid #0000000f}.weekEventsLayer{pointer-events:none;position:absolute;inset:0}.weekEventBlock{pointer-events:auto;cursor:pointer;background:#2f6bff21;border:1px solid #2f6bff40;border-radius:6px;padding:3px 5px;position:absolute;overflow:hidden}.weekEventBlock.faint{background:#0206170d;border-color:#0206171f}.weekEvTitle{white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:950;line-height:1.3;overflow:hidden}.weekEvTime{color:#02061785;margin-top:1px;font-size:10px}.list{flex-direction:column;gap:10px;padding:10px 12px 12px;display:flex}.dlItem{border:1px solid var(--line);border-radius:var(--radius2);background:#ffffffb3;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px;display:flex}.dlItem:hover{background:#ffffffdb}.dlItemDone{opacity:.42}.dlItemDone .dlTitle{text-decoration:line-through}.dlDoneLabel{color:#10b981e6;vertical-align:middle;background:#10b9811a;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:900;text-decoration:none;display:inline-block}.dlTitle{margin-top:6px;font-weight:950}.dlSub{color:var(--muted);margin-top:4px;font-size:12px}.dlLeft{cursor:pointer}.pill{border:1px solid var(--line);color:#020617b3;background:#fff9;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:950;display:inline-flex}.p-today{background:var(--redSoft);color:#e5484de6;border-color:#e5484d38}.p-soon{background:var(--blueSoft);color:#2f6bffeb;border-color:#2f6bff38}.p-later{background:var(--graySoft);color:#020617b3;border-color:#0206171f}.noteList{flex-direction:column;gap:10px;padding:10px 12px 12px;display:flex}.noteCard{border:1px solid var(--line);border-radius:var(--radius2);background:#ffffffb8;padding:10px}.noteTop{justify-content:space-between;align-items:center;gap:10px;display:flex}.noteTitle{font-weight:950}.noteMeta{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.bullet{color:#020617c7;font-size:13px}.todoPanel{flex-direction:column;display:flex}.todoControls{border-bottom:1px solid var(--line);background:#02061704;grid-template-columns:1.2fr .7fr .7fr auto;gap:8px;padding:10px 12px;display:grid}.input{border:1px solid var(--line);background:#ffffffb3;border-radius:12px;outline:none;width:100%;padding:10px}.input:focus{border-color:#2f6bff59}.todoScroll{border-top:1px solid #0000000a;max-height:520px;padding:10px 12px 12px;overflow:auto}.group{border:1px solid var(--line);border-radius:var(--radius2);background:#ffffffb3;margin-bottom:10px;overflow:hidden}.groupHead{cursor:pointer;background:#02061705;border:none;justify-content:space-between;align-items:center;width:100%;padding:10px;font-weight:950;display:flex}.groupBody{padding:8px 10px 10px;display:none}.group.open .groupBody{display:block}.gTitle{align-items:center;gap:8px;display:flex}.gCount{color:var(--muted);font-size:12px;font-weight:900}.gArrow{color:var(--muted);font-weight:950}.gToday{color:#e5484deb}.gTomorrow{color:#2f6bffeb}.gWeek,.gLater,.gDone{color:#020617b8}.todoRow{border-bottom:1px dashed #0000001a;justify-content:space-between;gap:10px;padding:10px 0;display:flex}.todoRow:last-child{border-bottom:none}.todoLeft{align-items:flex-start;gap:10px;display:flex}.todoLeft input{width:18px;height:18px;margin-top:4px}.todoTitle{align-items:center;gap:6px;font-weight:950;display:flex}.todoSub{color:var(--muted);margin-top:4px;font-size:12px}.todoRight{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.miniMeta{color:var(--muted);font-size:12px}.fromMark{color:#020617b8;background:#0206170a;border:1px solid #0206171a;border-radius:8px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:inline-flex}.emailMark{background:var(--amberSoft);color:#f59e0bf2;border-color:#f59e0b38}.tagRow{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.tag{color:#020617b3;background:#0206170a;border:1px solid #0206171a;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.empty{color:var(--muted);padding:8px 0;font-size:12px}.tagChip{color:#2f6bffe0;white-space:nowrap;background:#2f6bff1a;border:1px solid #2f6bff33;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:11px;font-weight:900;display:inline-flex}.tagChipFaint{color:#02061759;background:#0206170a;border-color:#0206171a}.tagChipDel{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;padding:0 1px;font-size:11px;line-height:1}.tagChipDel:hover{opacity:1}.noteEditorWrap{flex-direction:column;gap:12px;display:flex}.noteEditorMeta{grid-template-columns:1fr 1fr;gap:8px;display:grid}.noteEditorMeta .full{grid-column:1/-1}.noteEditorFixedTags{border:1.5px solid var(--line);box-sizing:border-box;background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:5px;width:100%;min-height:42px;padding:8px 10px;display:flex}.noteEditorFixedLabel{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:900}.ntTagInput{background:0 0;border:none;outline:none;flex:1;min-width:60px;padding:0;font-size:11px}.noteEditorRows{border:1px solid var(--line);border-radius:12px;max-height:340px;overflow:hidden auto}.neRow{border-bottom:1px solid #0000000f;grid-template-columns:1fr auto auto;align-items:stretch;min-height:40px;display:grid}.neRow.selectMode{grid-template-columns:22px 1fr auto}.neRow:last-child{border-bottom:none}.neTextInput{background:0 0;border:none;outline:none;width:100%;padding:8px 10px;font-size:13px}.neTextInput:focus{background:#2f6bff08}.neTagWrap{border-left:1px solid #0000000f;flex-wrap:wrap;align-items:center;gap:3px;min-width:100px;padding:5px 8px;display:flex}.neDelBtn{cursor:pointer;color:#e5484d8c;opacity:0;background:0 0;border:none;border-left:1px solid #0000000f;justify-content:center;align-items:center;width:22px;font-size:13px;transition:opacity .1s;display:flex}.neRow:hover .neDelBtn{opacity:1}.neDelBtn:hover{color:#e5484de6}.neAddRowBtn{cursor:pointer;width:100%;color:var(--blue);text-align:left;background:0 0;border:none;border-top:1px solid #0000000f;padding:9px 12px;font-size:12px;font-weight:900}.neAddRowBtn:hover{background:#2f6bff0d}.neSelectToggle{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:0 0;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:900}.neSelectToggle.active{color:#e5484de0;background:#e5484d14;border-color:#e5484d40}.todoReviewIntro{color:var(--muted);margin-bottom:14px;font-size:13px}.todoReviewItem{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:12px 14px}.todoReviewItem.skipped{opacity:.55}.todoReviewRowText{border-bottom:1px solid var(--line);align-items:baseline;gap:8px;margin-bottom:8px;padding-bottom:8px;font-size:13px;font-weight:900;display:flex}.todoReviewRowText .rowQuote{color:var(--muted);font-weight:400}.todoReviewGrid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.todoReviewGrid .full{grid-column:1/-1}.todoReviewGrid input{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:8px;padding:7px 10px;font-family:inherit;font-size:12px}.todoReviewToggle{cursor:pointer;align-items:center;gap:8px;font-size:12px;font-weight:900;display:flex}.todoReviewToggle input{width:16px;height:16px}.todoReviewAddBtn{border:1.5px dashed var(--line);width:100%;color:var(--blue);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:6px;margin-top:4px;padding:10px 12px;font-size:13px;font-weight:900;display:flex}.todoReviewAddBtn:hover{border-color:var(--blue);background:#2f6bff0d}.todoReviewRemoveBtn{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 4px;font-size:16px;line-height:1}.todoReviewRemoveBtn:hover{color:#e5484de6}.neRow.isSelected{background:#e5484d0d}.neCheckbox{cursor:pointer;border-right:1px solid #0000000f;justify-content:center;align-items:center;padding:0 4px;display:flex}.neCheckbox input{cursor:pointer;accent-color:#e5484dcc;width:15px;height:15px}.neBulkDeleteBtn{cursor:pointer;color:#e5484de0;text-align:left;background:#e5484d0f;border:none;border-top:1px solid #e5484d26;width:100%;padding:9px 12px;font-size:12px;font-weight:900}.neBulkDeleteBtn:hover{background:#e5484d1f}.memoControls{padding:10px 12px 0}.memoBox{flex-direction:column;gap:10px;padding:10px 12px 12px;display:flex}.memoItem{border:1px solid var(--line);border-radius:var(--radius2);background:#ffffffb8;padding:10px}.memoText{font-weight:900}.memoTime{color:var(--muted);margin-top:6px;font-size:12px}.modal{z-index:50;position:fixed;inset:0}.modalOverlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#02061759;position:absolute;inset:0}.modalCard{background:#fffffff2;border:1px solid #00000024;border-radius:18px;width:min(720px,100vw - 28px);margin:80px auto;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000038}.modalHead{background:#02061705;border-bottom:1px solid #0000001a;justify-content:space-between;align-items:center;padding:12px;display:flex}.modalTitle{font-weight:950}.modalBody{padding:12px}.modalFoot{background:#02061705;border-top:1px solid #0000001a;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.modalFoot>.modalFootRight{gap:10px;margin-left:auto;display:flex}.formGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.formGrid .full{grid-column:1/-1}.label{color:#0206179e;margin-bottom:6px;font-size:12px;font-weight:900}.field{flex-direction:column;display:flex}.switchRow{align-items:center;gap:10px;display:flex}.switchRow input{width:18px;height:18px}@media (width<=1280px){.layout{grid-template-columns:260px 1fr}.right{grid-column:1/-1}.centerGrid{grid-template-columns:1fr}.todoScroll{max-height:420px}}@media (width<=880px){.layout{grid-template-columns:1fr}.sidebar{order:2}.main{order:1}.right{order:3}.todoControls{grid-template-columns:1fr}}.app.isCollapsed .layout{grid-template-columns:76px 1fr 380px}.app.isCollapsed .navText,.app.isCollapsed .sideLabel,.app.isCollapsed .sideBottomRow{display:none}.app.isCollapsed .navItem{justify-content:center}.app.isCollapsed .nav{padding:10px 10px 12px}.vmSwitch{background:#0206170f;border-radius:10px;gap:2px;padding:3px;display:flex}.vmBtn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 9px;font-size:11px;font-weight:900;transition:all .12s}.vmBtn:hover{color:var(--text)}.vmBtn.active{color:var(--blue);background:#fff;box-shadow:0 1px 4px #0000001a}.vm-medium .clientGrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.vm-list .clientGrid{flex-direction:column;gap:3px;padding:8px 14px;display:flex}.vm-list .clientCard{border-radius:10px;flex-direction:row;align-items:center;gap:14px;padding:8px 12px;display:flex}.vm-list .clientCardName{flex-shrink:0;min-width:130px;margin-bottom:0;font-size:13px}.vm-list .clientCardMeta{display:none}.vm-list .clientCardTags{flex:1;margin-top:0}.vm-list .clientCardFooter{border-top:none;flex-shrink:0;margin-top:0;padding-top:0}.vm-content .clientGrid{flex-direction:column;gap:8px;display:flex}.vm-content .clientCard{display:block}.vm-content .clientCardLinks{border-top:1px solid var(--line);color:var(--muted);margin-top:10px;padding-top:8px;font-size:12px}.vm-list .projectStatusGroup{margin-bottom:10px}.vm-list .projectCard{border-radius:10px;flex-direction:row;align-items:center;gap:12px;margin-bottom:3px;padding:7px 12px;display:flex}.vm-list .projectCardHead{flex:1;align-items:center;gap:10px;display:flex}.vm-list .projectCardName{margin:0;font-size:13px}.vm-list .projectCardClient{margin:0}.vm-list .projectCardDesc{display:none}.vm-list .projectCardFooter{border:none;flex-shrink:0;gap:8px;margin:0;padding:0}.vm-content .projectCard{display:block}.vm-content .projectCardDesc{color:#020617b8;white-space:normal;margin-top:8px;font-size:13px;display:block!important}.vm-list .noteListRow{border-bottom:1px solid var(--line);border:none;border-bottom:1px solid #02061712;border-radius:0;padding:5px 14px}.vm-list .noteListRow:hover{background:#2f6bff0a}.vm-list .noteListTitle{font-size:13px;font-weight:900}.vm-list .noteListMeta{display:none}.vm-list .noteListRight{gap:6px}.vm-content .noteListRow{flex-direction:column;align-items:flex-start;gap:6px;padding:14px}.vm-content .noteListRight{align-self:flex-end}.vm-content .noteListPreview{color:#020617a6;flex-direction:column;gap:2px;width:100%;margin-top:4px;font-size:12px;line-height:1.6;display:flex}.contactsTable{border-collapse:collapse;width:100%;margin-top:4px;font-size:13px}.contactsTable th{text-align:left;color:var(--muted);border-bottom:2px solid var(--line);padding:4px 8px;font-size:11px;font-weight:900}.contactsTable td{vertical-align:top;border-bottom:1px solid #0206170f;padding:8px}.contactsTable tr:hover td{background:#2f6bff0a}.contactLink{color:var(--blue);font-size:12px;text-decoration:none}.contactLink:hover{text-decoration:underline}.mapLink{color:var(--blue);align-items:center;gap:4px;margin-left:8px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.mapLink:hover{text-decoration:underline}.contactEditorRow{grid-template-columns:1fr 1fr 1fr 1fr 28px;align-items:center;gap:6px;margin-bottom:6px;display:grid}.contactEditorRow .input{padding:7px 8px;font-size:12px}.clientViewHead{border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;background:#fff9;justify-content:space-between;align-items:center;gap:10px;padding:14px 14px 12px;display:flex}.clientGrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:14px;display:grid}.clientCard{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#ffffffc7;padding:16px 16px 14px;transition:box-shadow .15s,transform .1s}.clientCard:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0000001a}.clientCardName{margin-bottom:8px;font-size:15px;font-weight:950}.clientCardMeta{color:var(--muted);margin-top:6px;font-size:12px}.clientCardTags{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.clientCardFooter{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;font-size:12px;display:flex}.todoCountBadge{background:var(--blueSoft);color:var(--blue);border:1px solid #2f6bff33;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:900;display:inline-flex}.clientTabs{border-bottom:1px solid var(--line);background:#fff9;gap:2px;padding:0 14px;display:flex}.clientTab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:13px;font-weight:900;transition:color .12s}.clientTab:hover{color:var(--text)}.clientTab.active{color:var(--blue);border-bottom-color:var(--blue)}.clientTabBody{min-height:300px;padding:14px}.clientNoteList{flex-direction:column;gap:10px;display:flex}.clientNoteCard{border:1px solid var(--line);border-radius:var(--radius2);cursor:pointer;background:#ffffffc7;padding:12px 14px}.clientNoteCard:hover{background:#fffffff2}.clientNoteCardHead{justify-content:space-between;align-items:center;display:flex}.clientNoteCardTitle{font-weight:950}.clientNoteCardMeta{color:var(--muted);margin-top:4px;font-size:12px}.clientNoteCardRows{flex-direction:column;gap:4px;margin-top:8px;display:flex}.clientNoteRow{color:#020617b3;font-size:12px}.clientInfoGrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.clientInfoItem{flex-direction:column;gap:4px;display:flex}.clientInfoLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:900}.clientInfoValue{font-size:14px;font-weight:900}.clientInfoLink{color:var(--blue);font-size:14px;font-weight:900;text-decoration:none}.clientInfoLink:hover{text-decoration:underline}.clientLinksSection{margin-top:16px}.clientLinkItem{border:1px solid var(--line);background:#ffffffb3;border-radius:10px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 12px;display:flex}.clientLinkLabel{min-width:80px;color:var(--muted);font-size:12px;font-weight:900}.clientLinkUrl{color:var(--blue);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.clientEditorGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.clientEditorGrid .full{grid-column:1/-1}.linkRow{grid-template-columns:1fr 2fr auto;align-items:center;gap:6px;margin-bottom:6px;display:grid}.linkDelBtn{color:#e5484dcc;cursor:pointer;background:0 0;border:1px solid #e5484d33;border-radius:8px;width:28px;height:28px}.addLinkBtn{border:1px dashed var(--line);cursor:pointer;width:100%;color:var(--muted);background:0 0;border-radius:10px;padding:7px 12px;font-size:12px;font-weight:900}.calDeadlineRow{background:#e5484d0a;border-bottom:2px solid #e5484d33;flex-wrap:wrap;gap:6px;min-height:36px;padding:8px 14px;display:flex}.calDlWeekRow{grid-template-columns:64px repeat(7,1fr);width:100%;display:grid}.calDlCell{flex-wrap:wrap;gap:4px;padding:2px 3px;display:flex}.calDlChip{cursor:default;white-space:nowrap;letter-spacing:.01em;border-radius:8px;align-items:center;padding:4px 10px;font-size:12px;font-weight:900;display:inline-flex}.dl-overdue{color:#fff;background:#e5484de6;border:1px solid #b4283266}.dl-today{color:#fff;background:#e5484dbf;border:1px solid #b428324d}.dl-soon{color:#b46400f2;background:#f59e0b38;border:1px solid #f59e0b66}.dl-later{color:#1e46c8e6;background:#2f6bff1f;border:1px solid #2f6bff40}.projectStatusBadge{border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:900;display:inline-flex}.ps-active{background:var(--blueSoft);color:var(--blue);border:1px solid #2f6bff38}.ps-pending{background:var(--amberSoft);color:#f59e0be6;border:1px solid #f59e0b40}.ps-paused{background:var(--graySoft);color:#0206178c;border:1px solid #0206171f}.ps-won{color:#10b981e0;background:#10b9811a;border:1px solid #10b98138}.ps-lost{color:#e5484db3;background:#e5484d14;border:1px solid #e5484d2e}.projectStatusGroup{margin-bottom:20px}.projectGroupLabel{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:900;display:flex}.projectCard{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#ffffffc7;margin-bottom:8px;padding:14px 16px;transition:box-shadow .15s,transform .1s}.projectCard:hover{transform:translateY(-1px);box-shadow:0 8px 20px #00000017}.projectCardHead{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.projectCardName{font-size:14px;font-weight:950}.projectCardClient{color:var(--blue);margin-top:3px;font-size:12px;font-weight:900}.projectCardDesc{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:12px;overflow:hidden}.projectCardFooter{border-top:1px solid var(--line);color:var(--muted);gap:10px;margin-top:10px;padding-top:8px;font-size:12px;display:flex}.projectCardStat{align-items:center;gap:4px;display:flex}.noticeBadge{background:var(--red);color:#fff;pointer-events:none;border-radius:999px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 3px;font-size:9px;font-weight:900;display:flex;position:absolute;top:-4px;right:-4px}.noticeCard{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffc7;margin-bottom:10px;padding:14px 16px;transition:opacity .15s}.noticeCard.isRead{opacity:.55;background:#ffffff8c}.noticeCardHead{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.noticeCardTitle{align-items:center;gap:8px;font-weight:950;display:flex}.noticeCardDate{color:var(--muted);flex-shrink:0;font-size:12px}.noticeCardBody{color:#020617b8;margin-top:8px;font-size:13px;line-height:1.6}.noticeTypeBadge{border-radius:999px;padding:2px 7px;font-size:10px;font-weight:900}.ntype-update{background:var(--blueSoft);color:var(--blue);border:1px solid #2f6bff38}.ntype-warning{background:var(--amberSoft);color:#f59e0be6;border:1px solid #f59e0b40}.ntype-info{color:#10b981e0;background:#10b9811a;border:1px solid #10b98138}.unreadDot{background:var(--blue);border-radius:50%;flex-shrink:0;width:8px;height:8px}.tagMgrTable{border-collapse:collapse;width:100%;font-size:13px}.tagMgrTable th{text-align:left;color:var(--muted);border-bottom:2px solid var(--line);white-space:nowrap;padding:6px 10px;font-size:11px;font-weight:900}.tagMgrTable td{vertical-align:middle;border-bottom:1px solid #0206170f;padding:8px 10px}.tagMgrTable tr:hover td{background:#2f6bff0a}.tagMgrTag{font-size:13px;font-weight:900}.tagMgrCount{text-align:center;border-radius:10px;min-width:24px;margin:0 2px;padding:1px 7px;font-size:11px;font-weight:900;display:inline-block}.tagMgrCount.has{color:var(--blue);background:#2f6bff1a}.tagMgrCount.zero{color:var(--muted);background:#0206170d}.tagRenameForm{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.tagRenameInp{flex:1;min-width:140px;max-width:220px;font-size:13px!important}.tagSimilarBox{background:#f59e0b14;border:1px solid #f59e0b4d;border-radius:10px;margin-bottom:10px;padding:10px 14px}.tagSimilarTitle{color:#a06400e6;margin-bottom:8px;font-size:12px;font-weight:950}.tagSimilarRow{border-bottom:1px solid #f59e0b26;flex-wrap:wrap;align-items:center;gap:8px;padding:5px 0;display:flex}.tagSimilarRow:last-child{border-bottom:none}.draftBadge{color:#058c5af2;background:#10b98124;border:1px solid #10b9814d;border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:900;display:inline-flex}.draftRow{background:#10b9810d!important;border-left:3px solid #10b98173!important}.settingsSection{flex-direction:column;gap:10px;display:flex}.settingsSectionTitle{border-bottom:1px solid var(--line);margin-bottom:2px;padding-bottom:8px;font-size:14px;font-weight:950}.settingsRow{align-items:center;gap:14px;display:flex}.settingsLabel{color:#020617b8;min-width:120px;font-size:13px;font-weight:900}.todoListRow{border:1px solid var(--line);background:#ffffffc7;border-radius:12px;align-items:center;gap:10px;margin-bottom:6px;padding:10px 12px;transition:opacity .15s;display:flex}.todoListRow.isDone{opacity:.55}.todoListRow:hover{background:#fffffff5}.todoListCheck{cursor:pointer;accent-color:#2f6bffcc;flex-shrink:0;width:18px;height:18px}.todoListTitle{flex:1;min-width:0;font-weight:950}.todoListTitle.isDone{text-decoration:line-through}.todoListDueBadge{border:1px solid;border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:900}.due-today{color:#e5484de6;background:var(--redSoft);border-color:#e5484d38}.due-tomorrow{color:#2f6bffe6;background:var(--blueSoft);border-color:#2f6bff38}.due-week{color:#020617a6;background:var(--graySoft);border-color:#0206171f}.due-later{color:#02061780;background:0 0;border-color:#0206171a}.todoListClient{color:var(--blue);flex-shrink:0;font-size:11px;font-weight:900}.outputNoteCard{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffc7;margin-bottom:10px;padding:14px 16px}.outputNoteCardHead{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.outputNoteCardTitle{font-size:14px;font-weight:950}.outputNoteCardMeta{color:var(--muted);margin-top:3px;font-size:12px}.outputNoteCardBody{border-top:1px solid var(--line);flex-direction:column;gap:4px;margin-top:10px;padding-top:10px;display:flex}.outputNoteRow{color:#020617c7;font-size:13px}.outputNoteCardFoot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;display:flex}.fmtBtn{color:var(--blue);cursor:pointer;background:#2f6bff14;border:1px solid #2f6bff38;border-radius:12px;padding:7px 14px;font-size:12px;font-weight:900;transition:background .12s}.fmtBtn:hover{background:#2f6bff29}.fmtModalTabs{border-bottom:1px solid var(--line);margin-bottom:10px;display:flex}.fmtModalTab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:13px;font-weight:900}.fmtModalTab.active{color:var(--blue);border-bottom-color:var(--blue)}.fmtTextArea{border:1px solid var(--line);resize:none;width:100%;height:260px;color:var(--text);background:#02061705;border-radius:12px;outline:none;padding:12px;font-family:ui-monospace,monospace;font-size:12px;line-height:1.7}.fmtTextArea:focus{border-color:#2f6bff59}.copyBtn{color:#fff;cursor:pointer;background:#2f6bffe6;border:1px solid #2f6bff38;border-radius:12px;width:100%;margin-top:8px;padding:10px;font-size:13px;font-weight:900;transition:filter .12s}.copyBtn:hover{filter:brightness(.95)}.copyBtn.copied{background:#10b981d9;border-color:#10b9814d}.noteQuickFilters{border-bottom:1px solid var(--line);background:#fff9;flex-wrap:wrap;gap:6px;padding:10px 14px;display:flex}.qfChip{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:0 0;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:900;transition:all .12s}.qfChip:hover{color:var(--text);border-color:#2f6bff40}.qfChip.active{background:var(--blue);color:#fff;border-color:var(--blue)}.noteListRow{border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:background .1s;display:flex}.noteListRow:hover{background:#2f6bff0a}.noteListTitle{font-size:14px;font-weight:950}.noteListMeta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.noteListClient{color:var(--blue);font-size:12px;font-weight:900}.noteListRight{flex-shrink:0;align-items:center;gap:10px;display:flex}.noteExportedBadge{color:#10b981e6;background:#10b9811a;border:1px solid #10b98138;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:900}.noteDetailHead{border-bottom:1px solid var(--line);z-index:3;background:#ffffffb3;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;position:sticky;top:0}.noteDetailTitle{background:0 0;border:none;border-bottom:2px solid #0000;outline:none;flex:1;min-width:0;padding:2px 0;font-size:18px;font-weight:950;transition:border-color .15s}.noteDetailTitle:focus{border-bottom-color:var(--blue)}.exportBtn{color:#10b981e6;cursor:pointer;background:#10b98114;border:1px solid #10b98140;border-radius:12px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:900;transition:background .12s;display:inline-flex}.exportBtn:hover{background:#10b98129}.exportBtn.exported{cursor:default;color:#10b981cc;background:#10b98124}.searchClearBtn{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:14px;line-height:1}.searchClearBtn:hover{color:var(--text)}.searchRowGroup{border:1px solid var(--line);background:#ffffffe0;border-radius:12px;margin-bottom:8px;overflow:hidden}.searchRowGroupHead{border-bottom:1px solid var(--line);cursor:pointer;background:#02061708;align-items:baseline;gap:10px;padding:9px 14px;display:flex}.searchRowGroupHead:hover{background:#2f6bff0f}.searchRowGroupTitle{flex:1;min-width:0;font-size:13px;font-weight:950}.searchRowGroupMeta{color:var(--muted);white-space:nowrap;font-size:11px}.searchRowItem{border-bottom:1px solid #0206170d;align-items:flex-start;gap:10px;padding:8px 14px;display:flex}.searchRowItem:last-child{border-bottom:none}.searchRowText{flex:1;font-size:13px;line-height:1.5}.searchRowTags{flex-wrap:wrap;flex-shrink:0;gap:4px;padding-top:1px;display:flex}.searchRowTag{color:var(--blue);background:#2f6bff1a;border-radius:5px;padding:1px 6px;font-size:10px;font-weight:900}.searchRowTag.own{color:var(--muted);background:#02061712}.searchExportBar{background:#2f6bff0f;border:1px solid #2f6bff26;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:8px 12px;display:flex}.searchExportLabel{color:var(--blue);font-size:13px;font-weight:900}.searchExportBtn{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:900;display:flex}.searchExportBtn:hover{opacity:.85}.searchTypeSection{margin-bottom:22px}.searchTypeHead{border-bottom:2px solid var(--line);align-items:center;gap:8px;margin-bottom:10px;padding-bottom:6px;display:flex}.searchTypeIcon{font-size:15px}.searchTypeName{font-size:14px;font-weight:950}.searchTypeCount{color:var(--muted);background:#02061712;border-radius:20px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:900}.searchCard{border:1px solid var(--line);cursor:pointer;background:#ffffffe0;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:6px;padding:10px 12px;transition:box-shadow .12s;display:flex}.searchCard:hover{border-color:#2f6bff40;box-shadow:0 2px 10px #2f6bff1f}.searchCardMain{flex:1;min-width:0}.searchCardTitle{margin-bottom:3px;font-size:13px;font-weight:950}.searchCardSub{color:var(--muted);font-size:12px}.searchCardRows{border-top:1px solid #02061712;margin-top:6px;padding-top:6px}.searchCardRow{color:#020617cc;padding:2px 0;font-size:12px}.searchCardBadge{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.searchBadge{white-space:nowrap;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:900}.sb-blue{color:var(--blue);background:#2f6bff1a}.sb-red{color:#e5484de6;background:#e5484d1a}.sb-green{color:#10b981e6;background:#10b9811a}.sb-amber{color:#b46e00e6;background:#f59e0b1f}.sb-gray{color:var(--muted);background:#02061712}.searchHit{background:#ffd20080;border-radius:3px;font-weight:900}.searchEmpty{color:var(--muted);text-align:center;padding:40px 0;font-size:13px}
