*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.notes-list{margin-top:2rem}.notes-list h2{color:#fff;margin-bottom:1.5rem;font-size:1.5rem}.note-card{background-color:#fff;border-radius:8px;margin-bottom:1rem;padding:1.5rem;transition:box-shadow .2s,transform .2s;box-shadow:0 2px 4px #0000001a}.note-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.note-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.note-header h3{color:#333;flex:1;font-size:1.3rem;font-weight:600}.note-actions{gap:.5rem;display:flex}.edit-btn,.delete-btn{cursor:pointer;color:#666;background:0 0;border:none;padding:.25rem;font-size:1.5rem;line-height:1;transition:color .2s}.edit-btn:hover{color:#667eea}.delete-btn:hover{color:#dc3545}.note-content{color:#555;white-space:pre-wrap;margin-bottom:1rem;line-height:1.6}.note-meta{border-top:1px solid #eee;gap:1.5rem;padding-top:.75rem;display:flex}.note-meta small{color:#999;font-size:.85rem}.loading,.error,.empty-state{text-align:center;color:#fff;padding:3rem 1rem;font-size:1.1rem}.error{background-color:#dc35451a;border-radius:8px;padding:2rem}.error p{margin-bottom:1rem}.note-form-container{margin-bottom:2rem}.note-form{background-color:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.note-form h2{color:#333;margin-bottom:1.5rem;font-size:1.5rem}.form-error{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;margin-bottom:1rem;padding:.75rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;margin-bottom:.5rem;font-size:.95rem;font-weight:500;display:block}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:6px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.form-group textarea:disabled{cursor:not-allowed;background-color:#f5f5f5}.form-group textarea{resize:vertical;min-height:120px}.form-actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.cancel-btn,.submit-btn{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .2s,transform .1s}.cancel-btn{color:#fff;background-color:#6c757d}.cancel-btn:hover{background-color:#5a6268}.submit-btn{color:#fff;background-color:#667eea}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{background-color:#fffffff2;padding:1rem 0;box-shadow:0 2px 8px #0000001a}.header-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem;display:flex}.header-content h1{color:#333;font-size:1.8rem;font-weight:600}.user-info{align-items:center;gap:1rem;display:flex}.username{color:#555;font-weight:500}.logout-btn{color:#fff;cursor:pointer;background-color:#dc3545;border:none;border-radius:6px;padding:.5rem 1.5rem;font-size:.95rem;font-weight:500;transition:background-color .2s}.logout-btn:hover{background-color:#c82333}.app-main{flex:1;padding:2rem 0}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.actions{justify-content:flex-end;margin-bottom:2rem;display:flex}.create-btn{color:#fff;cursor:pointer;background-color:#28a745;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .2s}.create-btn:hover{background-color:#218838}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{text-align:center;background-color:#fff;border-radius:12px;width:100%;max-width:500px;padding:3rem;box-shadow:0 10px 40px #0000001a}.login-card h1{color:#333;margin-bottom:1rem;font-size:2.5rem}.login-card p{color:#666;margin-bottom:2rem;font-size:1.1rem}.login-btn{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:8px;padding:1rem 2rem;font-size:1.1rem;font-weight:600;transition:background-color .2s,transform .1s}.login-btn:hover{background-color:#5568d3;transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}
