*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;color:#1f2937;background:#f3f4f6}h1{margin-top:0}button{font:inherit;cursor:pointer}main{max-width:360px;margin:10vh auto;padding:24px;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000001a}form{display:flex;flex-direction:column;gap:12px}input{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font:inherit}form button{padding:8px;border:0;border-radius:6px;background:#2563eb;color:#fff}.error{color:#dc2626}.link{background:none;border:0;color:#2563eb;padding:0}.layout{display:flex;min-height:100vh}.sidebar{width:240px;display:flex;flex-direction:column;background:#111827;color:#e5e7eb;padding:16px}.brand{font-weight:600;font-size:1.1rem;margin-bottom:24px}.sidebar nav{flex:1;display:flex;flex-direction:column;gap:4px}.nav-item{text-align:left;padding:8px 12px;border:0;border-radius:6px;background:none;color:inherit}.nav-item:hover{background:#1f2937}.nav-item.active{background:#2563eb;color:#fff}.user{display:grid;grid-template-columns:auto 1fr;gap:8px 10px;align-items:center;border-top:1px solid #374151;padding-top:12px}.avatar{width:36px;height:36px;border-radius:50%;background:#2563eb;display:grid;place-items:center;font-weight:600}.user-info{display:flex;flex-direction:column;min-width:0}.user-label{font-size:.75rem;color:#9ca3af}.user-email{font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout{grid-column:1 / -1;padding:6px;border:1px solid #374151;border-radius:6px;background:none;color:inherit}.logout:hover{background:#1f2937}.content{flex:1;padding:32px}
