*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#f3f4f6;color:#1f2937}.app{min-height:100vh;display:flex;flex-direction:column}header{background:#2563eb;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}header h1{font-size:1.5rem}.logout-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;font-size:.875rem}.logout-btn:hover{background:#ffffff4d}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-box{background:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.login-box h1{text-align:center;margin-bottom:1.5rem;color:#2563eb}.form-container{max-width:600px;margin:2rem auto;background:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 2px 4px #0000001a}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;ring:2px;ring-color:rgba(37,99,235,.2)}.form-group textarea{resize:vertical}.button-group{display:flex;gap:1rem}button{padding:.75rem 1.5rem;border:none;border-radius:.375rem;font-size:1rem;cursor:pointer;font-weight:500;transition:all .2s}button[type=submit]{background:#2563eb;color:#fff;flex:1}button[type=submit]:hover:not(:disabled){background:#1d4ed8}button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.cancel-btn{background:#e5e7eb;color:#374151;flex:1}.cancel-btn:hover{background:#d1d5db}.error{background:#fee2e2;color:#991b1b;padding:.75rem;border-radius:.375rem;margin-bottom:1rem}.success{background:#dcfce7;color:#166534;padding:.75rem;border-radius:.375rem;margin-bottom:1rem}@media (max-width: 640px){.form-container{margin:1rem;padding:1.5rem}header{padding:1rem}.button-group{flex-direction:column}}
