.auth-container{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-box{background:#fff;padding:2rem 3rem;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:400px}.auth-box h1{text-align:center;color:#667eea;margin-bottom:.5rem;font-size:2rem}.auth-box h2{text-align:center;color:#333;margin-bottom:2rem;font-size:1.5rem;font-weight:600}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s}.form-group input:focus{border-color:#667eea}.error-message{color:#e74c3c;margin-bottom:1rem;padding:.5rem;background:#fee;border-radius:4px;font-size:.9rem}.primary-button{width:100%;padding:.75rem;background:#667eea;color:#fff;border-radius:6px;font-size:1rem;font-weight:600;transition:background .3s}.primary-button:hover:not(:disabled){background:#5568d3}.primary-button:disabled{opacity:.6;cursor:not-allowed}.switch-auth{text-align:center;margin-top:1.5rem;color:#666}.link-button{background:none;color:#667eea;text-decoration:underline;font-size:inherit;padding:0;margin:0}.link-button:hover{color:#5568d3}.header{background:#fff;border-bottom:1px solid #e0e0e0;padding:0 2rem;height:60px;display:flex;align-items:center}.header-content{width:100%;display:flex;justify-content:space-between;align-items:center}.header-title{font-size:1.5rem;color:#667eea;margin:0;font-weight:700}.header-user{display:flex;align-items:center;gap:1rem}.username{color:#666;font-size:.9rem}.admin-badge{background:#667eea;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.logout-button{padding:.5rem 1rem;background:#f5f5f5;color:#666;border-radius:4px;font-size:.9rem;transition:background .3s}.logout-button:hover{background:#e0e0e0}.note-list-container{width:300px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;height:100vh}.note-list-header{padding:1rem;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;gap:.75rem}.new-note-button{width:100%;padding:.75rem;background:#667eea;color:#fff;border-radius:6px;font-size:1rem;font-weight:600;transition:background .3s}.new-note-button:hover{background:#5568d3}.search-container{position:relative;display:flex;align-items:center}.search-input{width:100%;padding:.5rem 2rem .5rem .75rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem;transition:border-color .2s}.search-input:focus{outline:none;border-color:#667eea}.clear-search-button{position:absolute;right:.5rem;background:transparent;border:none;color:#999;font-size:1.2rem;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.clear-search-button:hover{color:#333}.search-highlight{background-color:#ffeb3b;padding:.1em .2em;border-radius:2px;font-weight:600}.note-list{flex:1;overflow-y:auto}.empty-state{padding:2rem;text-align:center;color:#999}.note-item{padding:1rem;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .2s}.note-item:hover{background:#f9f9f9}.note-item.active{background:#f0f4ff;border-left:3px solid #667eea}.note-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.note-item-title{font-size:1rem;font-weight:600;color:#333;margin:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-button{background:transparent;color:#999;font-size:1.5rem;line-height:1;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s,color .2s}.note-item:hover .delete-button{opacity:1}.delete-button:hover{color:#e74c3c}.note-item-preview{font-size:.875rem;color:#666;margin-bottom:.5rem;line-height:1.4;max-height:3em;overflow:hidden;text-overflow:ellipsis}.empty-content{color:#ccc;font-style:italic}.note-item-date{font-size:.75rem;color:#999}.note-editor-container{flex:1;display:flex;flex-direction:column;background:#fff;height:100vh;overflow:hidden}.note-editor-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#999;font-size:1.2rem}.note-editor-header{padding:1rem 2rem;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;gap:1rem}.note-title-input{flex:1;font-size:1.5rem;font-weight:600;border:none;padding:.5rem;color:#333}.note-title-input::placeholder{color:#ccc}.save-status{display:flex;align-items:center;gap:.5rem}.saving{color:#667eea;font-size:.9rem}.saved{color:#27ae60;font-size:.9rem}.save-button{padding:.5rem 1rem;background:#667eea;color:#fff;border-radius:4px;font-size:.9rem;transition:background .3s}.save-button:hover{background:#5568d3}.toolbar{padding:.5rem 2rem;border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem;flex-wrap:wrap;background:#f9f9f9}.toolbar button,.toolbar label{padding:.5rem .75rem;background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:36px}.toolbar button:hover:not(:disabled),.toolbar label:hover{background:#f0f0f0;border-color:#667eea}.toolbar button.is-active{background:#667eea;color:#fff;border-color:#667eea}.toolbar button:disabled{opacity:.5;cursor:not-allowed}.image-upload-button{cursor:pointer}.note-editor-content{flex:1;overflow-y:auto;padding:2rem}.note-editor-content .ProseMirror{outline:none;min-height:100%;font-size:1rem;line-height:1.6;color:#333}.note-editor-content .ProseMirror p{margin:.5rem 0}.note-editor-content .ProseMirror h1{font-size:2rem;font-weight:700;margin:1.5rem 0 1rem;line-height:1.2}.note-editor-content .ProseMirror h2{font-size:1.5rem;font-weight:600;margin:1.25rem 0 .75rem;line-height:1.3}.note-editor-content .ProseMirror h3{font-size:1.25rem;font-weight:600;margin:1rem 0 .5rem;line-height:1.4}.note-editor-content .ProseMirror ul,.note-editor-content .ProseMirror ol{margin:.5rem 0;padding-left:2rem}.note-editor-content .ProseMirror li{margin:.25rem 0}.note-editor-content .ProseMirror blockquote{border-left:4px solid #667eea;padding-left:1rem;margin:1rem 0;color:#666;font-style:italic}.note-editor-content .ProseMirror code{background:#f5f5f5;padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.note-editor-content .ProseMirror pre{background:#f5f5f5;padding:1rem;border-radius:6px;overflow-x:auto;margin:1rem 0}.note-editor-content .ProseMirror pre code{background:none;padding:0}.note-editor-content .ProseMirror img{max-width:100%;height:auto;border-radius:6px;margin:1rem 0;display:block;cursor:pointer}.note-editor-content .ProseMirror img:hover{opacity:.9}.note-editor-content .ProseMirror p img{display:block;margin:1rem auto}.note-editor-content .ProseMirror figure{margin:1rem 0}.note-editor-content .ProseMirror figure img{width:100%;height:auto}.note-editor-content .ProseMirror hr{margin:2rem 0;border:none;border-top:2px solid #e0e0e0}.note-editor-content .ProseMirror table{border-collapse:collapse;margin:1rem 0;table-layout:fixed;width:100%;overflow:hidden}.note-editor-content .ProseMirror table td,.note-editor-content .ProseMirror table th{min-width:1em;border:1px solid #ddd;padding:.5rem;vertical-align:top;box-sizing:border-box;position:relative}.note-editor-content .ProseMirror table th{font-weight:600;text-align:left;background-color:#f5f5f5}.note-editor-content .ProseMirror table .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:#c8c8ff66;pointer-events:none}.note-editor-content .ProseMirror table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background-color:#adf;pointer-events:none}.note-editor-content .ProseMirror table p{margin:0}.toolbar button[title]{font-size:.85rem}.note-editor-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#adb5bd;pointer-events:none;height:0}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#666}.app-content{display:flex;flex:1;overflow:hidden}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333}#root{height:100vh;overflow:hidden}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea{font-family:inherit;outline:none}
