*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fff;--bg-sidebar:#f9fafb;--bg-hover:#f3f4f6;--bg-active:#fff;--border:#e5e7eb;--border-focus:#111827;--text:#111827;--text-muted:#6b7280;--text-light:#9ca3af;--text-placeholder:#d1d5db;--accent:#111827;--accent-hover:#374151;--danger:#ef4444;--danger-hover:#dc2626;--blue:#3b82f6;--blue-hover:#2563eb;--green:#22c55e;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f;--shadow-lg:0 10px 15px #0000001a, 0 4px 6px #0000000d;--radius:8px;--radius-sm:4px;--radius-lg:12px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"SF Mono", "Fira Code", "Cascadia Code", Consolas, monospace}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;height:100vh;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex}button{font-family:var(--font);cursor:pointer;background:0 0;border:none}input,textarea,select{font-family:var(--font)}.app-loading{height:100vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:14px;display:flex}.login-page{background:#f9fafb;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-container{width:100%;max-width:360px;padding:0 16px}.login-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:32px}.login-header{text-align:center;margin-bottom:28px}.login-header h1{color:var(--text);letter-spacing:-.3px;font-size:22px;font-weight:700}.login-header p{color:var(--text-muted);margin-top:4px;font-size:13px}.login-form{flex-direction:column;gap:14px;display:flex}.form-field label{color:var(--text);margin-bottom:5px;font-size:13px;font-weight:500;display:block}.form-field input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);background:var(--bg);outline:none;padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-field input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #11182714}.form-field input::placeholder{color:var(--text-light)}.login-error{color:var(--danger);border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;padding:9px 12px;font-size:13px}.btn-login{background:var(--accent);color:#fff;border-radius:var(--radius-sm);width:100%;margin-top:4px;padding:9px 16px;font-size:14px;font-weight:500;transition:background .15s}.btn-login:hover:not(:disabled){background:var(--accent-hover)}.btn-login:disabled{opacity:.5;cursor:not-allowed}.login-version{text-align:center;color:var(--text-light);margin-top:20px;font-size:11px}.app-layout{background:var(--bg);height:100vh;display:flex;position:relative;overflow:hidden}.btn-logout-float{z-index:100;color:var(--text-light);border-radius:var(--radius-sm);padding:4px 8px;font-size:12px;transition:color .15s,background .15s;position:fixed;top:10px;right:12px}.btn-logout-float:hover{color:var(--text-muted);background:var(--bg-hover)}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;width:256px;min-width:256px;height:100%;display:flex}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.sidebar-title{color:var(--text);font-size:15px;font-weight:600}.sidebar-actions{gap:2px;display:flex}.sidebar-btn{border-radius:var(--radius-sm);color:var(--text-muted);padding:6px;transition:background .15s,color .15s}.sidebar-btn:hover{color:var(--text);background:#e5e7eb}.sidebar-btn svg{display:block}.sidebar-content{flex:1;padding:8px;overflow-y:auto}.folder-item{margin-bottom:2px}.folder-row{border-radius:var(--radius-sm);cursor:pointer;justify-content:space-between;align-items:center;padding:6px 8px;transition:background .12s;display:flex}.folder-row:hover{background:var(--bg-hover)}.folder-row-left{flex:1;align-items:center;gap:6px;display:flex;overflow:hidden}.folder-row-left span{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.folder-row-actions{opacity:0;align-items:center;transition:opacity .15s;display:flex}.folder-row:hover .folder-row-actions{opacity:1}.icon-btn{border-radius:var(--radius-sm);color:var(--text-light);align-items:center;padding:3px;transition:background .12s,color .12s;display:flex}.icon-btn:hover{background:#e5e7eb}.icon-btn.add:hover{color:var(--blue)}.icon-btn.folder-add:hover{color:var(--green)}.icon-btn.delete:hover{color:var(--danger)}.icon-btn.move:hover{color:var(--blue)}.folder-children{border-left:2px solid #f3f4f6;margin-left:10px;padding-left:14px}.folder-empty{color:var(--text-light);padding:4px 8px;font-size:11px;font-style:italic}.note-item{border-radius:var(--radius-sm);cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:1px;padding:6px 8px;transition:background .12s;display:flex}.note-item:hover{background:var(--bg-hover)}.note-item.active{background:var(--bg-active);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.note-item-left{flex:1;align-items:center;gap:6px;display:flex;overflow:hidden}.note-item-left span{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.note-item-actions{opacity:0;align-items:center;transition:opacity .15s;display:flex}.note-item:hover .note-item-actions{opacity:1}.unorganized-section{border-top:1px solid #f3f4f6;margin-top:4px;padding-top:8px}.unorganized-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.08em;padding:4px 8px;font-size:10px;font-weight:600}.folder-input-wrapper{padding:4px 8px}.inline-input{border:1px solid var(--blue);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--text);outline:none;padding:5px 8px;font-size:13px}.subfolder-input-wrapper{padding-bottom:4px;padding-left:28px}.subfolder-input-wrapper .inline-input{border-color:var(--green)}.move-overlay{z-index:50;background:#0003;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.move-modal{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:220px;padding:16px}.move-modal h3{color:var(--text);margin-bottom:10px;font-size:14px;font-weight:600}.move-options{flex-direction:column;gap:2px;max-height:200px;display:flex;overflow-y:auto}.move-option{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text-muted);align-items:center;gap:8px;padding:6px 8px;font-size:13px;transition:background .12s;display:flex}.move-option:hover{background:var(--bg-hover);color:var(--text)}.editor-empty{height:100%;color:var(--text-light);flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.editor-wrapper{background:var(--bg);flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.editor-header{padding:28px 32px 16px}.editor-title-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.editor-title{color:var(--text);letter-spacing:-.5px;background:0 0;border:none;outline:none;flex:1;font-size:30px;font-weight:700}.editor-title::placeholder{color:var(--text-placeholder)}.editor-save-status{color:var(--text-light);white-space:nowrap;font-size:12px}.editor-meta{gap:16px;margin-top:8px;display:flex}.editor-meta span{color:var(--text-light);font-size:12px}.editor-body{flex:1;padding:0 32px 32px;overflow-y:auto}.tiptap-editor{min-height:400px;color:var(--text);outline:none;font-size:15px;line-height:1.7}.tiptap-editor p{margin-bottom:12px}.tiptap-editor p:last-child{margin-bottom:0}.tiptap-editor h1{letter-spacing:-.3px;margin:24px 0 12px;font-size:26px;font-weight:700}.tiptap-editor h2{margin:20px 0 10px;font-size:21px;font-weight:600}.tiptap-editor h3{margin:16px 0 8px;font-size:17px;font-weight:600}.tiptap-editor h4,.tiptap-editor h5,.tiptap-editor h6{margin:14px 0 6px;font-size:15px;font-weight:600}.tiptap-editor ul,.tiptap-editor ol{margin-bottom:12px;padding-left:24px}.tiptap-editor li{margin-bottom:4px}.tiptap-editor blockquote{border-left:3px solid var(--border);color:var(--text-muted);margin:16px 0;padding-left:16px}.tiptap-editor a{color:var(--blue);text-decoration:underline}.tiptap-editor code{font-family:var(--font-mono);color:#e11d48;background:#f3f4f6;border-radius:3px;padding:1px 5px;font-size:13px}.tiptap-editor pre{border-radius:var(--radius);background:#1e1e2e;margin:16px 0;padding:16px;overflow-x:auto}.tiptap-editor pre code{color:#cdd6f4;background:0 0;border-radius:0;padding:0;font-size:13px}.tiptap-editor table{border-collapse:collapse;width:100%;margin:16px 0;font-size:14px}.tiptap-editor table th,.tiptap-editor table td{border:1px solid var(--border);text-align:left;padding:8px 12px}.tiptap-editor table th{background:var(--bg-hover);font-weight:600}.tiptap-editor table tr:hover td{background:#fafafa}.tiptap-editor hr{border:none;border-top:1px solid var(--border);margin:20px 0}.tiptap-editor strong{font-weight:600}.tiptap-editor em{font-style:italic}.calendar-panel{background:var(--bg-sidebar);border-left:1px solid var(--border);flex-direction:column;width:300px;min-width:300px;height:100%;display:flex}.calendar-panel-header{border-bottom:1px solid var(--border);padding:14px 16px}.calendar-panel-header h2{color:var(--text-muted);font-size:14px;font-weight:600}.calendar-panel-body{flex:1;padding:12px;overflow-y:auto}.react-calendar{width:100%!important;font-family:var(--font)!important;background:0 0!important;border:none!important;font-size:12px!important}.react-calendar__navigation button{color:var(--text)!important;border-radius:var(--radius-sm)!important;font-size:12px!important;font-weight:600!important}.react-calendar__navigation button:hover,.react-calendar__navigation button:focus{background:var(--bg-hover)!important}.react-calendar__tile{border-radius:var(--radius-sm)!important;padding:6px 4px!important;font-size:12px!important}.react-calendar__tile:hover{background:var(--bg-hover)!important}.react-calendar__tile--active,.react-calendar__tile--active:hover{background:var(--accent)!important;color:#fff!important}.react-calendar__tile--now{color:var(--blue)!important;background:#eff6ff!important;font-weight:600!important}.calendar-dot{background:var(--blue);border-radius:50%;width:4px;height:4px;margin:2px auto 0}.calendar-notes{margin-top:14px}.calendar-notes h3{color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.calendar-note-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;margin-bottom:6px;padding:8px 10px;transition:background .12s}.calendar-note-item:hover{background:var(--bg-hover)}.calendar-note-title{color:var(--text);font-size:12px;font-weight:500}.calendar-note-time{color:var(--text-light);margin-top:2px;font-size:11px}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:500px;margin:0 16px;overflow:hidden}.modal-header{border-bottom:1px solid var(--border);background:var(--bg-sidebar);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-header-title{color:var(--blue);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.modal-close{color:var(--text-light);border-radius:50%;align-items:center;padding:4px;transition:background .12s,color .12s;display:flex}.modal-close:hover{background:var(--bg-hover);color:var(--text)}.modal-body{padding:16px}.modal-textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:120px;color:var(--text);resize:none;font-size:14px;font-family:var(--font);outline:none;padding:10px 12px;transition:border-color .15s}.modal-textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3b82f61a}.modal-textarea::placeholder{color:var(--text-light)}.modal-footer{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.btn-cancel{color:var(--text-muted);border-radius:var(--radius-sm);padding:7px 14px;font-size:13px;font-weight:500;transition:background .12s}.btn-cancel:hover{background:var(--bg-hover)}.btn-primary{color:#fff;background:var(--blue);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .12s;display:flex}.btn-primary:hover:not(:disabled){background:var(--blue-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.slash-menu{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:200px;padding:6px;overflow:hidden}.slash-menu-item{border-radius:var(--radius-sm);text-align:left;cursor:pointer;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:background .12s;display:flex}.slash-menu-item:hover,.slash-menu-item.active{background:var(--bg-hover)}.slash-menu-item-title{color:var(--text);font-size:13px;font-weight:500}.slash-menu-item-desc{color:var(--text-muted);margin-top:1px;font-size:11px}.slash-menu-empty{color:var(--text-muted);padding:10px;font-size:13px}.error-boundary{height:100%;color:var(--danger);background:#fef2f2;flex:1;justify-content:center;align-items:center;display:flex}.error-boundary h2{margin-bottom:6px;font-size:16px;font-weight:600}.error-boundary p{font-size:13px}.settings-page{background:#f9fafb;min-height:100vh;padding:32px 16px}.settings-container{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);max-width:560px;box-shadow:var(--shadow);margin:0 auto;padding:28px}.settings-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.settings-header-left{align-items:center;gap:12px;display:flex}.btn-back{color:var(--text-muted);border-radius:var(--radius-sm);align-items:center;padding:4px;transition:color .12s,background .12s;display:flex}.btn-back:hover{color:var(--text);background:var(--bg-hover)}.settings-header h1{color:var(--text);font-size:20px;font-weight:700}.btn-logout{color:var(--text-muted);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:6px 10px;font-size:13px;transition:color .12s,background .12s;display:flex}.btn-logout:hover{color:var(--danger);background:#fef2f2}.settings-form{flex-direction:column;gap:18px;display:flex}.settings-field label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.settings-field input,.settings-field select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);background:var(--bg);outline:none;padding:9px 12px;font-size:14px;transition:border-color .15s}.settings-field input:focus,.settings-field select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #11182714}.settings-field-hint{color:var(--text-light);margin-top:4px;font-size:11px}.settings-footer{justify-content:space-between;align-items:center;padding-top:8px;display:flex}.btn-save{background:var(--accent);color:#fff;border-radius:var(--radius-sm);padding:9px 18px;font-size:14px;font-weight:500;transition:background .12s}.btn-save:hover:not(:disabled){background:var(--accent-hover)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.settings-message{font-size:13px}.settings-message.success{color:var(--green)}.settings-message.error{color:var(--danger)}.react-calendar{background:#fff;border:1px solid #a0a096;width:350px;max-width:100%;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{margin:-.5em;display:flex}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar :before,.react-calendar :after{box-sizing:border-box}.react-calendar button{border:0;outline:none;margin:0}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{height:44px;margin-bottom:1em;display:flex}.react-calendar__navigation button{background:0 0;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{font:inherit;justify-content:center;align-items:center;font-size:.75em;font-weight:700;display:flex}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{text-align:center;max-width:100%;font:inherit;background:0 0;padding:10px 6.6667px;font-size:.833em}.react-calendar__tile:disabled{color:#ababab;background-color:#f0f0f0}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{color:#fff;background:#006edc}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}
