*{box-sizing:border-box;margin:0;padding:0}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:linear-gradient(135deg,#667eea,#764ba2)}.app,body{min-height:100vh}.app{padding:20px}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh}.login-card{background:#fff;border-radius:12px;padding:40px;box-shadow:0 10px 40px rgba(0,0,0,.2);width:100%;max-width:400px}.login-card h2{margin-bottom:30px;color:#333;text-align:center;font-size:28px}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#555;font-weight:600;font-size:14px}.form-group input,.form-group textarea{padding:12px;border:2px solid #e1e1e1;border-radius:8px;font-size:16px;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group input:disabled,.form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group textarea{resize:vertical;font-family:inherit}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px rgba(102,126,234,.4)}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background:#c82333}.btn-sm{padding:8px 16px;font-size:14px}.error-message{padding:12px;font-size:14px}.error-banner,.error-message{background:#f8d7da;color:#721c24;border-radius:8px;border:1px solid #f5c6cb}.error-banner{padding:16px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.btn-close{background:none;border:none;font-size:24px;cursor:pointer;color:#721c24;padding:0 8px}.btn-close:hover{opacity:.7}.notes-container{max-width:1200px;margin:0 auto}.notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#fff;padding:20px 30px;border-radius:12px;box-shadow:0 5px 20px rgba(0,0,0,.1)}.notes-header h1{color:#333;font-size:32px}.header-actions{display:flex;gap:12px}.loading{padding:40px;font-size:18px}.empty-state,.loading{text-align:center;color:#fff;background:hsla(0,0%,100%,.2);border-radius:12px}.empty-state{padding:60px 20px}.empty-state p{font-size:20px}.note-form-container{background:#fff;padding:30px;border-radius:12px;margin-bottom:30px;box-shadow:0 5px 20px rgba(0,0,0,.1)}.note-form-container h3{color:#333;margin-bottom:20px;font-size:24px}.note-form{display:flex;flex-direction:column;gap:20px}.form-actions{display:flex;gap:12px}.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:20px;gap:20px}.note-item{background:#fff;border-radius:12px;padding:24px;box-shadow:0 5px 20px rgba(0,0,0,.1);transition:transform .3s,box-shadow .3s}.note-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,.15)}.note-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.note-header h3{color:#333;font-size:20px;flex:1 1;word-break:break-word}.note-actions{display:flex;gap:8px;flex-shrink:0}.note-body{color:#666;line-height:1.6;margin-bottom:12px;word-break:break-word;white-space:pre-wrap}.note-date{color:#999;font-size:12px;display:block}.auth-switch{text-align:center;margin-top:20px}.link-button{background:none;border:none;color:#007bff;text-decoration:underline;cursor:pointer;font-size:inherit}.link-button:hover{color:#0056b3}@media (max-width:768px){.notes-header{gap:20px;align-items:stretch}.header-actions,.notes-header{flex-direction:column}.notes-grid{grid-template-columns:1fr}.note-header{flex-direction:column;align-items:flex-start}.note-actions{width:100%}.note-actions button{flex:1 1}.form-actions{flex-direction:column}}